summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexis Menard <alexis.menard@nokia.com>2009-05-12 12:11:55 (GMT)
committerAlexis Menard <alexis.menard@nokia.com>2009-05-12 12:11:55 (GMT)
commitf5ac9ac1387fb9aac7c74d686f0b247ac50746e1 (patch)
tree8efb9b6c1029f8b9c26b96fa5389b1b0623c5163
parentcb369071fa9b15e68f91d2883ee29f12c58fc803 (diff)
parentbc184432c49eb56254bc5db07c6af03718c6b0e7 (diff)
downloadQt-f5ac9ac1387fb9aac7c74d686f0b247ac50746e1.zip
Qt-f5ac9ac1387fb9aac7c74d686f0b247ac50746e1.tar.gz
Qt-f5ac9ac1387fb9aac7c74d686f0b247ac50746e1.tar.bz2
Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qt into kinetic-animations
-rw-r--r--FAQ.txt2
-rwxr-xr-xconfig.tests/unix/compile.test9
-rwxr-xr-xconfigure75
-rw-r--r--demos/qtdemo/xml/examples.xml7
-rw-r--r--dist/changes-4.5.2123
-rw-r--r--doc/doc.pri4
-rw-r--r--doc/src/activeqt.qdoc6
-rw-r--r--doc/src/datastreamformat.qdoc8
-rw-r--r--doc/src/deployment.qdoc2
-rw-r--r--doc/src/designer-manual.qdoc12
-rw-r--r--doc/src/examples.qdoc3
-rw-r--r--doc/src/examples/fancybrowser.qdoc51
-rw-r--r--doc/src/examples/flowlayout.qdoc115
-rw-r--r--doc/src/examples/googlechat.qdoc51
-rw-r--r--doc/src/examples/googlesuggest.qdoc51
-rw-r--r--doc/src/images/fancybrowser-example.pngbin0 -> 98031 bytes
-rw-r--r--doc/src/images/flowlayout-example.pngbin5054 -> 29350 bytes
-rw-r--r--doc/src/images/googlechat-example.pngbin0 -> 52624 bytes
-rw-r--r--doc/src/images/googlesuggest-example.pngbin0 -> 18809 bytes
-rw-r--r--doc/src/index.qdoc6
-rw-r--r--doc/src/known-issues.qdoc9
-rw-r--r--doc/src/layout.qdoc2
-rw-r--r--doc/src/licenses.qdoc18
-rw-r--r--doc/src/phonon-api.qdoc4
-rw-r--r--doc/src/porting4.qdoc1
-rw-r--r--doc/src/properties.qdoc7
-rw-r--r--doc/src/qmake-manual.qdoc7
-rw-r--r--doc/src/snippets/code/doc_src_properties.qdoc1
-rw-r--r--doc/src/snippets/code/doc_src_qtestlib.qdoc2
-rw-r--r--doc/src/snippets/code/src_qdbus_qdbusargument.cpp2
-rw-r--r--doc/src/snippets/sqldatabase/sqldatabase.cpp2
-rw-r--r--examples/examples.pro2
-rw-r--r--examples/graphicsview/elasticnodes/edge.cpp18
-rw-r--r--examples/itemviews/chart/pieview.cpp2
-rw-r--r--examples/layouts/flowlayout/flowlayout.cpp27
-rw-r--r--examples/layouts/flowlayout/flowlayout.h3
-rw-r--r--examples/layouts/flowlayout/window.cpp3
-rw-r--r--examples/layouts/flowlayout/window.h3
-rw-r--r--examples/network/googlesuggest/googlesuggest.cpp223
-rw-r--r--examples/network/googlesuggest/googlesuggest.h (renamed from util/install/win/pages/sidedecorationimpl.h)50
-rw-r--r--examples/network/googlesuggest/googlesuggest.pro9
-rw-r--r--examples/network/googlesuggest/main.cpp (renamed from doc/src/snippets/webkit/simple/main.cpp)16
-rw-r--r--examples/network/googlesuggest/searchbox.cpp69
-rw-r--r--examples/network/googlesuggest/searchbox.h (renamed from util/install/mac/licensedlgimpl.h)25
-rw-r--r--examples/network/network.pro1
-rw-r--r--examples/opengl/hellogl_es/hellogl_es.pro12
-rw-r--r--examples/opengl/hellogl_es2/hellogl_es2.pro6
-rw-r--r--examples/phonon/README2
-rw-r--r--examples/webkit/fancybrowser/fancybrowser.pro11
-rw-r--r--examples/webkit/fancybrowser/jquery.min.js19
-rw-r--r--examples/webkit/fancybrowser/jquery.qrc5
-rw-r--r--examples/webkit/fancybrowser/main.cpp (renamed from util/install/win/uninstaller/uninstallimpl.h)23
-rw-r--r--examples/webkit/fancybrowser/mainwindow.cpp167
-rw-r--r--examples/webkit/fancybrowser/mainwindow.h (renamed from util/install/win/dialogs/folderdlgimpl.h)41
-rw-r--r--examples/webkit/googlechat/form.ui214
-rw-r--r--examples/webkit/googlechat/googlechat.cpp163
-rw-r--r--examples/webkit/googlechat/googlechat.h (renamed from util/install/mac/licensedlgimpl.cpp)48
-rw-r--r--examples/webkit/googlechat/googlechat.pro11
-rw-r--r--examples/webkit/googlechat/main.cpp (renamed from util/install/win/archive.h)18
-rw-r--r--examples/webkit/webkit.pro4
-rw-r--r--mkspecs/common/mac-g++.conf8
-rw-r--r--mkspecs/features/moc.prf7
-rw-r--r--mkspecs/features/uic.prf10
-rw-r--r--mkspecs/macx-g++/qmake.conf4
-rw-r--r--mkspecs/macx-g++42/qmake.conf5
-rw-r--r--qmake/generators/win32/winmakefile.cpp18
-rw-r--r--qmake/project.cpp2
-rw-r--r--src/3rdparty/README5
-rw-r--r--src/3rdparty/phonon/ds9/mediaobject.cpp27
-rw-r--r--src/3rdparty/phonon/phonon/phononnamespace.h5
-rw-r--r--src/3rdparty/powervr/pvr2d.h502
-rw-r--r--src/3rdparty/powervr/wsegl.h240
-rw-r--r--src/3rdparty/webkit/ChangeLog8
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/ChangeLog57
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp1
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp8
-rw-r--r--src/3rdparty/webkit/VERSION2
-rw-r--r--src/3rdparty/webkit/WebCore/ChangeLog108
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp33
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp78
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageBufferQt.cpp59
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp5
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp74
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/WheelEventQt.cpp13
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp17
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp14
-rw-r--r--src/3rdparty/webkit/WebKit/qt/ChangeLog39
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/docs.pri15
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc (renamed from doc/src/qtwebkit.qdoc)6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdocconf195
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_build_snippet.qdoc (renamed from doc/src/snippets/code/doc_src_qtwebkit.qdoc)0
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_qwebview_snippet.cpp (renamed from doc/src/snippets/code/src_3rdparty_webkit_WebKit_qt_Api_qwebview.cpp)0
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/simple/main.cpp34
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/simple/simple.pro (renamed from doc/src/snippets/webkit/simple/simple.pro)0
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/webpage/main.cpp (renamed from doc/src/snippets/webkit/webpage/main.cpp)19
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/webpage/webpage.pro (renamed from doc/src/snippets/webkit/webpage/webpage.pro)0
-rw-r--r--src/activeqt/container/container.pro40
-rw-r--r--src/activeqt/control/control.pro30
-rw-r--r--src/corelib/arch/qatomic_mips.h106
-rw-r--r--src/corelib/codecs/qtsciicodec.cpp3
-rw-r--r--src/corelib/codecs/qutfcodec.cpp4
-rw-r--r--src/corelib/concurrent/qfutureinterface.h2
-rw-r--r--src/corelib/global/qfeatures.h54
-rw-r--r--src/corelib/global/qglobal.h8
-rw-r--r--src/corelib/global/qlibraryinfo.cpp107
-rw-r--r--src/corelib/io/qdatastream.cpp2
-rw-r--r--src/corelib/io/qdir.cpp47
-rw-r--r--src/corelib/io/qfsfileengine_unix.cpp2
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp11
-rw-r--r--src/corelib/io/qtemporaryfile.cpp273
-rw-r--r--src/corelib/io/qtextstream.cpp6
-rw-r--r--src/corelib/kernel/qcoreevent.cpp1
-rw-r--r--src/corelib/kernel/qeventdispatcher_glib.cpp3
-rw-r--r--src/corelib/kernel/qeventloop.cpp5
-rw-r--r--src/corelib/thread/qthread_unix.cpp3
-rw-r--r--src/corelib/thread/qthread_win.cpp3
-rw-r--r--src/corelib/tools/qbytearraymatcher.cpp3
-rw-r--r--src/corelib/tools/qbytearraymatcher.h7
-rw-r--r--src/corelib/tools/qhash.cpp223
-rw-r--r--src/corelib/tools/qlistdata.cpp8
-rw-r--r--src/corelib/tools/qstring.cpp4
-rw-r--r--src/corelib/tools/qstring.h2
-rw-r--r--src/corelib/tools/qvector.h2
-rw-r--r--src/dbus/qdbusintegrator.cpp13
-rw-r--r--src/dbus/qdbuspendingcall.cpp10
-rw-r--r--src/gui/dialogs/qabstractprintdialog.cpp2
-rw-r--r--src/gui/dialogs/qfiledialog.cpp280
-rw-r--r--src/gui/dialogs/qfiledialog_p.h2
-rw-r--r--src/gui/dialogs/qfilesystemmodel.h2
-rw-r--r--src/gui/dialogs/qfilesystemmodel_p.h12
-rw-r--r--src/gui/dialogs/qfontdialog_mac.mm73
-rw-r--r--src/gui/dialogs/qmessagebox.cpp57
-rw-r--r--src/gui/dialogs/qprintdialog_unix.cpp4
-rw-r--r--src/gui/dialogs/qsidebar.cpp25
-rw-r--r--src/gui/dialogs/qsidebar_p.h13
-rw-r--r--src/gui/embedded/qscreentransformed_qws.cpp16
-rw-r--r--src/gui/embedded/qscreenvfb_qws.cpp3
-rw-r--r--src/gui/embedded/qwindowsystem_qws.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp62
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h7
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp10
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp6
-rw-r--r--src/gui/image/qimagereader.cpp1
-rw-r--r--src/gui/image/qpixmap_x11.cpp2
-rw-r--r--src/gui/image/qpixmapcache.cpp11
-rw-r--r--src/gui/itemviews/qabstractitemview.cpp26
-rw-r--r--src/gui/itemviews/qabstractitemview_p.h1
-rw-r--r--src/gui/itemviews/qheaderview.cpp31
-rw-r--r--src/gui/itemviews/qheaderview_p.h3
-rw-r--r--src/gui/itemviews/qitemselectionmodel.cpp20
-rw-r--r--src/gui/itemviews/qlistview.cpp7
-rw-r--r--src/gui/itemviews/qsortfilterproxymodel.cpp9
-rw-r--r--src/gui/kernel/qapplication.cpp138
-rw-r--r--src/gui/kernel/qapplication_mac.mm32
-rw-r--r--src/gui/kernel/qapplication_qws.cpp69
-rw-r--r--src/gui/kernel/qapplication_win.cpp27
-rw-r--r--src/gui/kernel/qapplication_x11.cpp95
-rw-r--r--src/gui/kernel/qcocoaapplicationdelegate_mac.mm11
-rw-r--r--src/gui/kernel/qcocoaview_mac.mm98
-rw-r--r--src/gui/kernel/qcocoaview_mac_p.h3
-rw-r--r--src/gui/kernel/qcocoawindowdelegate_mac.mm17
-rw-r--r--src/gui/kernel/qevent.cpp13
-rw-r--r--src/gui/kernel/qlayout.cpp11
-rw-r--r--src/gui/kernel/qshortcutmap.cpp1
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac.mm35
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac_p.h1
-rw-r--r--src/gui/kernel/qt_mac.cpp2
-rw-r--r--src/gui/kernel/qwidget.cpp48
-rw-r--r--src/gui/kernel/qwidget_mac.mm170
-rw-r--r--src/gui/kernel/qwidget_p.h3
-rw-r--r--src/gui/kernel/qwidget_x11.cpp13
-rw-r--r--src/gui/painting/qbackingstore.cpp17
-rw-r--r--src/gui/painting/qblendfunctions.cpp173
-rw-r--r--src/gui/painting/qcolormap_win.cpp6
-rw-r--r--src/gui/painting/qdrawhelper.cpp95
-rw-r--r--src/gui/painting/qemulationpaintengine.cpp22
-rw-r--r--src/gui/painting/qmemrotate.cpp29
-rw-r--r--src/gui/painting/qmemrotate_p.h9
-rw-r--r--src/gui/painting/qpaintdevice_qws.cpp3
-rw-r--r--src/gui/painting/qpaintdevice_win.cpp5
-rw-r--r--src/gui/painting/qpaintdevice_x11.cpp216
-rw-r--r--src/gui/painting/qpaintengine.cpp4
-rw-r--r--src/gui/painting/qpaintengine_mac.cpp5
-rw-r--r--src/gui/painting/qpaintengine_p.h12
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp83
-rw-r--r--src/gui/painting/qpaintengine_x11.cpp30
-rw-r--r--src/gui/painting/qpainter.cpp356
-rw-r--r--src/gui/painting/qprintengine_win.cpp2
-rw-r--r--src/gui/painting/qprinter.cpp10
-rw-r--r--src/gui/painting/qtransform.cpp8
-rw-r--r--src/gui/painting/qwindowsurface_raster.cpp4
-rw-r--r--src/gui/styles/gtksymbols.cpp4
-rw-r--r--src/gui/styles/qgtkstyle.cpp5
-rw-r--r--src/gui/styles/qmacstyle_mac.mm101
-rw-r--r--src/gui/styles/qstylesheetstyle.cpp4
-rw-r--r--src/gui/text/qcssparser.cpp16
-rw-r--r--src/gui/text/qfont.cpp10
-rw-r--r--src/gui/text/qfontdatabase_win.cpp12
-rw-r--r--src/gui/text/qfontengine.cpp39
-rw-r--r--src/gui/text/qfontengine_ft.cpp53
-rw-r--r--src/gui/text/qfontengine_p.h2
-rw-r--r--src/gui/text/qtextcursor.cpp5
-rw-r--r--src/gui/text/qtextdocument.cpp2
-rw-r--r--src/gui/text/qtextformat.h6
-rw-r--r--src/gui/text/qtextlayout.cpp62
-rw-r--r--src/gui/text/qtextobject.cpp2
-rw-r--r--src/gui/text/qtexttable.cpp7
-rw-r--r--src/gui/util/qcompleter.cpp4
-rw-r--r--src/gui/widgets/qmainwindow.cpp3
-rw-r--r--src/gui/widgets/qmenu_wince.cpp16
-rw-r--r--src/gui/widgets/qplaintextedit.cpp2
-rw-r--r--src/gui/widgets/qtabbar.cpp9
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp8
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp3
-rw-r--r--src/network/access/qnetworkcookie.cpp49
-rw-r--r--src/network/access/qnetworkcookie_p.h1
-rw-r--r--src/network/access/qnetworkdiskcache.cpp8
-rw-r--r--src/network/kernel/qauthenticator.cpp9
-rw-r--r--src/network/kernel/qnetworkproxy.cpp22
-rw-r--r--src/network/socket/qlocalserver_unix.cpp6
-rw-r--r--src/network/socket/qlocalsocket_win.cpp2
-rw-r--r--src/network/ssl/qsslcipher.cpp2
-rw-r--r--src/network/ssl/qsslsocket_openssl_symbols.cpp9
-rw-r--r--src/opengl/qgl.cpp16
-rw-r--r--src/opengl/qglpixelbuffer_mac.mm3
-rw-r--r--src/opengl/qpaintengine_opengl.cpp15
-rw-r--r--src/opengl/qwindowsurface_gl.cpp2
-rw-r--r--src/plugins/gfxdrivers/directfb/directfb.pro40
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp130
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp41
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbmouse.h1
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp46
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h10
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp1329
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h2
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp52
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h4
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp462
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbscreen.h45
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp (renamed from src/plugins/gfxdrivers/directfb/qdirectfbsurface.cpp)69
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h (renamed from src/plugins/gfxdrivers/directfb/qdirectfbsurface.h)15
-rw-r--r--src/plugins/gfxdrivers/powervr/QWSWSEGL/QWSWSEGL.pro2
-rw-r--r--src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c68
-rw-r--r--src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h2
-rw-r--r--src/plugins/gfxdrivers/powervr/README9
-rw-r--r--src/plugins/gfxdrivers/powervr/powervr.pri2
-rw-r--r--src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.pro7
-rw-r--r--src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp24
-rw-r--r--src/plugins/qpluginbase.pri2
-rw-r--r--src/qbase.pri2
-rw-r--r--src/qt3support/dialogs/q3filedialog.cpp13
-rw-r--r--src/script/qscriptvalueiterator.cpp4
-rw-r--r--src/sql/drivers/ibase/qsql_ibase.cpp46
-rw-r--r--src/sql/drivers/mysql/qsql_mysql.cpp2
-rw-r--r--src/sql/drivers/oci/qsql_oci.cpp4
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.cpp14
-rw-r--r--src/src.pro2
-rw-r--r--src/svg/qsvgstyle.cpp1
-rw-r--r--src/svg/qsvgwidget.cpp16
-rw-r--r--src/testlib/qtestcase.cpp2
-rw-r--r--src/tools/uic/cpp/cppwriteinitialization.cpp14
-rw-r--r--src/xmlpatterns/expr/qapplytemplate.cpp3
-rw-r--r--src/xmlpatterns/functions/qsequencefns.cpp3
-rw-r--r--tests/arthur/common/images.qrc1
-rw-r--r--tests/arthur/common/images/borderimage.pngbin0 -> 826 bytes
-rw-r--r--tests/arthur/data/qps/borderimage.qps164
-rw-r--r--tests/arthur/data/qps/borderimage_qps.pngbin0 -> 91838 bytes
-rw-r--r--tests/auto/q3accel/q3accel.pro1
-rw-r--r--tests/auto/q3action/q3action.pro1
-rw-r--r--tests/auto/q3actiongroup/q3actiongroup.pro1
-rw-r--r--tests/auto/q3buttongroup/clickLock/clickLock.pro3
-rw-r--r--tests/auto/q3buttongroup/tst_q3buttongroup.pro1
-rw-r--r--tests/auto/q3canvas/q3canvas.pro1
-rw-r--r--tests/auto/q3checklistitem/q3checklistitem.pro1
-rw-r--r--tests/auto/q3combobox/q3combobox.pro1
-rw-r--r--tests/auto/q3cstring/q3cstring.pro1
-rw-r--r--tests/auto/q3databrowser/q3databrowser.pro1
-rw-r--r--tests/auto/q3dateedit/q3dateedit.pro1
-rw-r--r--tests/auto/q3datetimeedit/q3datetimeedit.pro1
-rw-r--r--tests/auto/q3deepcopy/q3deepcopy.pro1
-rw-r--r--tests/auto/q3dict/q3dict.pro1
-rw-r--r--tests/auto/q3dns/q3dns.pro1
-rw-r--r--tests/auto/q3dockwindow/q3dockwindow.pro1
-rw-r--r--tests/auto/q3filedialog/q3filedialog.pro1
-rw-r--r--tests/auto/q3frame/q3frame.pro1
-rw-r--r--tests/auto/q3groupbox/q3groupbox.pro1
-rw-r--r--tests/auto/q3hbox/q3hbox.pro1
-rw-r--r--tests/auto/q3header/q3header.pro1
-rw-r--r--tests/auto/q3iconview/q3iconview.pro1
-rw-r--r--tests/auto/q3listbox/q3listbox.pro3
-rw-r--r--tests/auto/q3listview/q3listview.pro1
-rw-r--r--tests/auto/q3listviewitemiterator/q3listviewitemiterator.pro1
-rw-r--r--tests/auto/q3mainwindow/q3mainwindow.pro1
-rw-r--r--tests/auto/q3popupmenu/q3popupmenu.pro1
-rw-r--r--tests/auto/q3process/q3process.pro1
-rw-r--r--tests/auto/q3process/tst/tst.pro3
-rw-r--r--tests/auto/q3progressbar/q3progressbar.pro1
-rw-r--r--tests/auto/q3progressdialog/q3progressdialog.pro1
-rw-r--r--tests/auto/q3ptrlist/q3ptrlist.pro1
-rw-r--r--tests/auto/q3richtext/q3richtext.pro1
-rw-r--r--tests/auto/q3scrollview/q3scrollview.pro3
-rw-r--r--tests/auto/q3semaphore/q3semaphore.pro1
-rw-r--r--tests/auto/q3serversocket/q3serversocket.pro1
-rw-r--r--tests/auto/q3socket/q3socket.pro1
-rw-r--r--tests/auto/q3socketdevice/q3socketdevice.pro1
-rw-r--r--tests/auto/q3sqlcursor/q3sqlcursor.pro1
-rw-r--r--tests/auto/q3sqlselectcursor/q3sqlselectcursor.pro1
-rw-r--r--tests/auto/q3stylesheet/q3stylesheet.pro1
-rw-r--r--tests/auto/q3tabdialog/q3tabdialog.pro1
-rw-r--r--tests/auto/q3table/q3table.pro1
-rw-r--r--tests/auto/q3textbrowser/q3textbrowser.pro1
-rw-r--r--tests/auto/q3textedit/q3textedit.pro1
-rw-r--r--tests/auto/q3textstream/q3textstream.pro1
-rw-r--r--tests/auto/q3timeedit/q3timeedit.pro1
-rw-r--r--tests/auto/q3toolbar/q3toolbar.pro1
-rw-r--r--tests/auto/q3uridrag/q3uridrag.pro3
-rw-r--r--tests/auto/q3urloperator/q3urloperator.pro3
-rw-r--r--tests/auto/q3valuelist/q3valuelist.pro3
-rw-r--r--tests/auto/q3valuevector/q3valuevector.pro3
-rw-r--r--tests/auto/q3widgetstack/q3widgetstack.pro3
-rw-r--r--tests/auto/qaccessibility/tst_qaccessibility.cpp6
-rw-r--r--tests/auto/qbytearraymatcher/qbytearraymatcher.pro4
-rw-r--r--tests/auto/qbytearraymatcher/tst_qbytearraymatcher.cpp124
-rw-r--r--tests/auto/qcompleter/tst_qcompleter.cpp46
-rw-r--r--tests/auto/qdbuspendingcall/tst_qdbuspendingcall.cpp73
-rw-r--r--tests/auto/qfiledialog/tst_qfiledialog.cpp129
-rw-r--r--tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp41
-rw-r--r--tests/auto/qgl/tst_qgl.cpp65
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp166
-rw-r--r--tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp85
-rw-r--r--tests/auto/qheaderview/tst_qheaderview.cpp24
-rw-r--r--tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp46
-rw-r--r--tests/auto/qlistview/tst_qlistview.cpp28
-rw-r--r--tests/auto/qlocalsocket/test/test.pro14
-rw-r--r--tests/auto/qlocalsocket/tst_qlocalsocket.cpp22
-rw-r--r--tests/auto/qmenu/tst_qmenu.cpp2
-rw-r--r--tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp8
-rw-r--r--tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp11
-rw-r--r--tests/auto/qnetworkproxy/tst_qnetworkproxy.cpp33
-rw-r--r--tests/auto/qpainter/tst_qpainter.cpp21
-rw-r--r--tests/auto/qpixmapcache/tst_qpixmapcache.cpp10
-rw-r--r--tests/auto/qprinter/tst_qprinter.cpp18
-rw-r--r--tests/auto/qscriptvalueiterator/tst_qscriptvalueiterator.cpp33
-rw-r--r--tests/auto/qsidebar/tst_qsidebar.cpp26
-rw-r--r--tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp18
-rw-r--r--tests/auto/qsqldatabase/tst_databases.h43
-rw-r--r--tests/auto/qsqldatabase/tst_qsqldatabase.cpp19
-rw-r--r--tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp3
-rw-r--r--tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp44
-rw-r--r--tests/auto/qtabbar/tst_qtabbar.cpp32
-rw-r--r--tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp31
-rw-r--r--tests/auto/qtemporaryfile/qtemporaryfile.pro3
-rw-r--r--tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp45
-rw-r--r--tests/auto/qtextcodec/tst_qtextcodec.cpp12
-rw-r--r--tests/auto/qtextdocumentfragment/tst_qtextdocumentfragment.cpp2
-rw-r--r--tests/auto/qtransform/tst_qtransform.cpp10
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp211
-rw-r--r--tests/auto/qxmlstream/XML-Test-Suite-LICENSE.txt59
-rw-r--r--tests/auto/utf8/tst_utf8.cpp309
-rw-r--r--tests/auto/utf8/utf8.pro3
-rw-r--r--tests/auto/windowsmobile/test/ddhelper.cpp121
-rw-r--r--tests/auto/windowsmobile/test/ddhelper.h21
-rw-r--r--tests/auto/windowsmobile/test/test.pro24
-rw-r--r--tests/auto/windowsmobile/test/testQMenuBar_current.pngbin0 -> 23702 bytes
-rw-r--r--tests/auto/windowsmobile/test/testSimpleWidget_current.pngbin0 -> 21940 bytes
-rw-r--r--tests/auto/windowsmobile/test/tst_windowsmobile.cpp191
-rw-r--r--tests/auto/windowsmobile/test/windowsmobile.qrc6
-rw-r--r--tests/auto/windowsmobile/testQMenuBar/main.cpp72
-rw-r--r--tests/auto/windowsmobile/testQMenuBar/testQMenuBar.pro2
-rw-r--r--tests/auto/windowsmobile/windowsmobile.pro9
-rw-r--r--tools/activeqt/activeqt.pro11
-rw-r--r--tools/assistant/compat/mainwindow.cpp24
-rw-r--r--tools/assistant/tools/assistant/assistant.qchbin366592 -> 368640 bytes
-rw-r--r--tools/assistant/tools/assistant/centralwidget.cpp487
-rw-r--r--tools/assistant/tools/assistant/centralwidget.h17
-rw-r--r--tools/assistant/tools/assistant/cmdlineparser.cpp9
-rw-r--r--tools/assistant/tools/assistant/cmdlineparser.h2
-rw-r--r--tools/assistant/tools/assistant/doc/HOWTO5
-rw-r--r--tools/assistant/tools/assistant/doc/assistant.qdocconf5
-rw-r--r--tools/assistant/tools/assistant/helpviewer.cpp13
-rw-r--r--tools/assistant/tools/assistant/helpviewer.h6
-rw-r--r--tools/assistant/tools/assistant/indexwindow.cpp2
-rw-r--r--tools/assistant/tools/assistant/main.cpp35
-rw-r--r--tools/assistant/tools/assistant/mainwindow.cpp116
-rw-r--r--tools/assistant/tools/assistant/mainwindow.h5
-rw-r--r--tools/assistant/tools/assistant/preferencesdialog.cpp175
-rw-r--r--tools/assistant/tools/assistant/searchwidget.cpp73
-rw-r--r--tools/assistant/tools/assistant/searchwidget.h4
-rw-r--r--tools/assistant/translations/qt_help.pro1
-rw-r--r--tools/assistant/translations/translations.pro1
-rw-r--r--tools/assistant/translations/translations_adp.pro1
-rw-r--r--tools/designer/src/components/propertyeditor/propertyeditor.cpp7
-rw-r--r--tools/designer/src/designer/versiondialog.cpp24
-rw-r--r--tools/designer/src/uitools/quiloader.cpp4
-rw-r--r--tools/designer/translations/translations.pro1
-rw-r--r--tools/linguist/linguist/linguist.pro1
-rw-r--r--tools/linguist/linguist/mainwindow.cpp24
-rw-r--r--tools/linguist/linguist/messageeditor.cpp7
-rw-r--r--tools/qdbus/qdbusviewer/qdbusviewer.cpp17
-rw-r--r--tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp6
-rw-r--r--tools/qdoc3/qdoc3.pro7
-rw-r--r--tools/qdoc3/test/assistant.qdocconf6
-rw-r--r--tools/qdoc3/test/carbide-eclipse-integration.qdocconf6
-rw-r--r--tools/qdoc3/test/designer.qdocconf6
-rw-r--r--tools/qdoc3/test/eclipse-integration.qdocconf2
-rw-r--r--tools/qdoc3/test/jambi.qdocconf4
-rw-r--r--tools/qdoc3/test/linguist.qdocconf6
-rw-r--r--tools/qdoc3/test/qmake.qdocconf6
-rw-r--r--tools/qdoc3/test/qt-build-docs.qdocconf17
-rw-r--r--tools/qdoc3/test/qt-html-templates.qdocconf3
-rw-r--r--tools/qdoc3/test/qt-inc.qdocconf7
-rw-r--r--tools/qdoc3/test/qt.qdocconf17
-rw-r--r--tools/qdoc3/test/standalone-eclipse-integration.qdocconf6
-rw-r--r--tools/qtconfig/mainwindow.cpp14
-rw-r--r--tools/tools.pro2
-rw-r--r--translations/assistant_adp_de.ts59
-rw-r--r--translations/assistant_adp_ja.ts56
-rw-r--r--translations/assistant_adp_pl.ts50
-rw-r--r--translations/assistant_adp_untranslated.ts60
-rw-r--r--translations/assistant_adp_zh_CN.ts43
-rw-r--r--translations/assistant_adp_zh_TW.ts223
-rw-r--r--translations/assistant_de.ts226
-rw-r--r--translations/assistant_ja.ts259
-rw-r--r--translations/assistant_pl.ts231
-rw-r--r--translations/assistant_untranslated.ts259
-rw-r--r--translations/assistant_zh_CN.ts219
-rw-r--r--translations/assistant_zh_TW.ts293
-rw-r--r--translations/designer_de.ts571
-rw-r--r--translations/designer_ja.ts729
-rw-r--r--translations/designer_pl.ts727
-rw-r--r--translations/designer_untranslated.ts556
-rw-r--r--translations/designer_zh_CN.ts704
-rw-r--r--translations/designer_zh_TW.ts1664
-rw-r--r--translations/linguist_de.ts147
-rw-r--r--translations/linguist_fr.ts152
-rw-r--r--translations/linguist_ja.ts140
-rw-r--r--translations/linguist_pl.ts145
-rw-r--r--translations/linguist_untranslated.ts150
-rw-r--r--translations/linguist_zh_CN.ts142
-rw-r--r--translations/linguist_zh_TW.ts477
-rw-r--r--translations/qt_ar.ts576
-rw-r--r--translations/qt_de.ts575
-rw-r--r--translations/qt_es.ts564
-rw-r--r--translations/qt_fr.ts579
-rw-r--r--translations/qt_help_de.ts28
-rw-r--r--translations/qt_help_ja.ts27
-rw-r--r--translations/qt_help_pl.ts28
-rw-r--r--translations/qt_help_untranslated.ts27
-rw-r--r--translations/qt_help_zh_CN.ts27
-rw-r--r--translations/qt_help_zh_TW.ts78
-rw-r--r--translations/qt_iw.ts578
-rw-r--r--translations/qt_ja_JP.ts570
-rw-r--r--translations/qt_pl.ts618
-rw-r--r--translations/qt_pt.ts564
-rw-r--r--translations/qt_ru.ts576
-rw-r--r--translations/qt_sk.ts570
-rw-r--r--translations/qt_sv.ts566
-rw-r--r--translations/qt_uk.ts564
-rw-r--r--translations/qt_untranslated.ts572
-rw-r--r--translations/qt_zh_CN.ts575
-rw-r--r--translations/qt_zh_TW.ts1892
-rw-r--r--translations/qtconfig_pl.ts40
-rw-r--r--translations/qtconfig_untranslated.ts33
-rw-r--r--translations/qtconfig_zh_CN.ts43
-rw-r--r--translations/qtconfig_zh_TW.ts203
-rw-r--r--translations/qvfb_pl.ts8
-rw-r--r--translations/qvfb_untranslated.ts7
-rw-r--r--translations/qvfb_zh_CN.ts4
-rw-r--r--translations/qvfb_zh_TW.ts70
-rw-r--r--util/install/archive/archive.pro9
-rw-r--r--util/install/archive/qarchive.cpp471
-rw-r--r--util/install/archive/qarchive.h138
-rw-r--r--util/install/configure_installer.cache30
-rw-r--r--util/install/install.pro9
-rw-r--r--util/install/keygen/keygen.pro13
-rw-r--r--util/install/keygen/keyinfo.cpp164
-rw-r--r--util/install/keygen/keyinfo.h123
-rw-r--r--util/install/keygen/main.cpp250
-rw-r--r--util/install/mac/licensedlg.ui134
-rw-r--r--util/install/mac/mac.pro11
-rw-r--r--util/install/mac/main.cpp117
-rw-r--r--util/install/mac/unpackage.icnsbin29372 -> 0 bytes
-rw-r--r--util/install/mac/unpackdlg.ui330
-rw-r--r--util/install/mac/unpackdlgimpl.cpp200
-rw-r--r--util/install/mac/unpackdlgimpl.h63
-rw-r--r--util/install/package/main.cpp397
-rw-r--r--util/install/package/package.pro25
-rw-r--r--util/install/win/archive.cpp115
-rw-r--r--util/install/win/dialogs/folderdlg.ui184
-rw-r--r--util/install/win/dialogs/folderdlgimpl.cpp119
-rw-r--r--util/install/win/environment.cpp362
-rw-r--r--util/install/win/environment.h73
-rw-r--r--util/install/win/globalinformation.cpp168
-rw-r--r--util/install/win/globalinformation.h93
-rw-r--r--util/install/win/install-edu.rc3
-rw-r--r--util/install/win/install-eval.rc3
-rw-r--r--util/install/win/install-noncommercial.rc4
-rw-r--r--util/install/win/install-qsa.rc5
-rw-r--r--util/install/win/install.icobin2998 -> 0 bytes
-rw-r--r--util/install/win/install.rc4
-rw-r--r--util/install/win/main.cpp100
-rw-r--r--util/install/win/pages/buildpage.ui92
-rw-r--r--util/install/win/pages/configpage.ui474
-rw-r--r--util/install/win/pages/finishpage.ui63
-rw-r--r--util/install/win/pages/folderspage.ui259
-rw-r--r--util/install/win/pages/licenseagreementpage.ui202
-rw-r--r--util/install/win/pages/licensepage.ui264
-rw-r--r--util/install/win/pages/optionspage.ui503
-rw-r--r--util/install/win/pages/pages.cpp349
-rw-r--r--util/install/win/pages/pages.h226
-rw-r--r--util/install/win/pages/progresspage.ui78
-rw-r--r--util/install/win/pages/sidedecoration.ui108
-rw-r--r--util/install/win/pages/sidedecorationimpl.cpp205
-rw-r--r--util/install/win/pages/winintropage.ui39
-rw-r--r--util/install/win/qt.arq3
-rw-r--r--util/install/win/resource.cpp162
-rw-r--r--util/install/win/resource.h77
-rw-r--r--util/install/win/setupwizardimpl.cpp2571
-rw-r--r--util/install/win/setupwizardimpl.h276
-rw-r--r--util/install/win/setupwizardimpl_config.cpp1564
-rw-r--r--util/install/win/shell.cpp472
-rw-r--r--util/install/win/shell.h87
-rw-r--r--util/install/win/uninstaller/quninstall.pro7
-rw-r--r--util/install/win/uninstaller/uninstall.ui167
-rw-r--r--util/install/win/uninstaller/uninstaller.cpp142
-rw-r--r--util/install/win/uninstaller/uninstallimpl.cpp75
-rw-r--r--util/install/win/win.pro136
-rw-r--r--util/qlalr/doc/qlalr.qdocconf2
-rwxr-xr-xutil/scripts/make_qfeatures_dot_h41
535 files changed, 21677 insertions, 23248 deletions
diff --git a/FAQ.txt b/FAQ.txt
index f20d10b..1d2266d 100644
--- a/FAQ.txt
+++ b/FAQ.txt
@@ -8,7 +8,7 @@ to Unix style line endings (LF). To avoid this problem, uncompress the file
again and give the option "-a" to unzip, which will then add the correct line
endings.
-Q: I'm running Windows XP and I downloaded the qt-win-eval-4.5.0-vs2008.exe
+Q: I'm running Windows XP and I downloaded the qt-win-eval-%VERSION%-vs2008.exe
version of Qt. However, when I try to run the examples I get an error saying:
"The application failed to start because the application configuration is
incorrect. Reinstalling the application may fix this problem.". I reinstalled
diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test
index b5afa18..ff51c91 100755
--- a/config.tests/unix/compile.test
+++ b/config.tests/unix/compile.test
@@ -14,6 +14,8 @@ shift 7
LFLAGS=""
INCLUDEPATH=""
CXXFLAGS=""
+MAC_ARCH_CXXFLAGS=""
+MAC_ARCH_LFLAGS=""
while [ "$#" -gt 0 ]; do
PARAM=$1
case $PARAM in
@@ -21,6 +23,11 @@ while [ "$#" -gt 0 ]; do
LFLAGS="$LFLAGS -framework \"$2\""
shift
;;
+ -arch)
+ MAC_ARCH_CXXFLAGS="$MAC_ARCH_CXXFLAGS -arch $2"
+ MAC_ARCH_LFLAGS="$MAC_ARCH_LFLAGS -arch $2"
+ shift
+ ;;
-F*|-m*|-x*)
LFLAGS="$LFLAGS $PARAM"
CXXFLAGS="$CXXFLAGS $PARAM"
@@ -53,7 +60,7 @@ test -d "$OUTDIR/$TEST" || mkdir -p "$OUTDIR/$TEST"
cd "$OUTDIR/$TEST"
make distclean >/dev/null 2>&1
-"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "LIBS*=$LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
+"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
if [ "$VERBOSE" = "yes" ]; then
make
diff --git a/configure b/configure
index 9f2b28d..bd77174 100755
--- a/configure
+++ b/configure
@@ -279,7 +279,7 @@ if [ "$COMMERCIAL_USER" = "ask" ]; then
if [ "$commercial" = "c" ]; then
COMMERCIAL_USER="yes"
break
- else [ "$commercial" = "o" ];
+ elif [ "$commercial" = "o" ]; then
COMMERCIAL_USER="no"
break
fi
@@ -668,6 +668,7 @@ CFG_INOTIFY=auto
CFG_RPATH=yes
CFG_FRAMEWORK=auto
CFG_MAC_ARCHS=
+MAC_ARCHS_COMMANDLINE=
CFG_MAC_DWARF2=auto
CFG_MAC_XARCH=auto
CFG_MAC_CARBON=yes
@@ -2698,8 +2699,9 @@ if [ "$QT_CROSS_COMPILE" = "yes" ]; then
fi
fi
-# check -arch arguments for validity.
+# process CFG_MAC_ARCHS
if [ "$PLATFORM_MAC" = "yes" ]; then
+# check -arch arguments for validity.
ALLOWED="x86 ppc x86_64 ppc64 i386"
for i in $CFG_MAC_ARCHS
do
@@ -2711,6 +2713,13 @@ if [ "$PLATFORM_MAC" = "yes" ]; then
# replace "i386" with "x86" to support configuring with -arch i386 as an alias for x86.
CFG_MAC_ARCHS="${CFG_MAC_ARCHS/i386/x86}"
+
+# Build commmand line arguments we can pass to the compiler during configure tests
+# by prefixing each arch with "-arch".
+ CFG_MAC_ARCHS_GCC_FORMAT="${CFG_MAC_ARCHS/x86/i386}"
+ for ARCH in $CFG_MAC_ARCHS_GCC_FORMAT; do
+ MAC_ARCHS_COMMANDLINE="$MAC_ARCHS_COMMANDLINE -arch $ARCH"
+ done
fi
# find the default framework value
@@ -3973,7 +3982,7 @@ if [ -n "$PERL" ] && [ -x "$relpath/bin/syncqt" ]; then
[ "$CFG_DEV" = "yes" ] && SYNCQT_OPTS="$SYNCQT_OPTS -check-includes"
if [ "$OPT_SHADOW" = "yes" ]; then
"$outpath/bin/syncqt" $SYNCQT_OPTS
- elif [ "$CFG_DEV" = "yes" ]; then
+ elif [ "$CFG_DEV" = "yes" ] || [ ! -d $relpath/include ]; then
QTDIR="$relpath" perl "$outpath/bin/syncqt" $SYNCQT_OPTS
fi
fi
@@ -4247,7 +4256,7 @@ if [ "$CFG_ZLIB" = "no" ]; then
ZLIB_FORCED=yes
fi
if [ "$CFG_ZLIB" = "auto" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/zlib "zlib" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/zlib "zlib" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
CFG_ZLIB=system
else
CFG_ZLIB=yes
@@ -4264,7 +4273,7 @@ if [ "$CFG_JPEG" = "auto" ]; then
fi
# detect jpeg
if [ "$CFG_LIBJPEG" = "auto" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libjpeg "libjpeg" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libjpeg "libjpeg" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
CFG_LIBJPEG=system
else
CFG_LIBJPEG=qt
@@ -4291,7 +4300,7 @@ fi
# detect tiff
if [ "$CFG_LIBTIFF" = "auto" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libtiff "libtiff" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libtiff "libtiff" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
CFG_LIBTIFF=system
else
CFG_LIBTIFF=qt
@@ -4308,7 +4317,7 @@ if [ "$CFG_MNG" = "auto" ]; then
fi
# detect mng
if [ "$CFG_LIBMNG" = "auto" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libmng "libmng" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libmng "libmng" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
CFG_LIBMNG=system
else
CFG_LIBMNG=qt
@@ -4317,7 +4326,7 @@ fi
# detect png
if [ "$CFG_LIBPNG" = "auto" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libpng "libpng" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/libpng "libpng" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
CFG_LIBPNG=system
else
CFG_LIBPNG=qt
@@ -4356,13 +4365,13 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
QT_CFLAGS_MYSQL=""
fi
else
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mysql_r "MySQL (thread-safe)" $QT_LFLAGS_MYSQL_R $L_FLAGS $QT_CFLAGS_MYSQL $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mysql_r "MySQL (thread-safe)" $QT_LFLAGS_MYSQL_R $L_FLAGS $QT_CFLAGS_MYSQL $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
QMakeVar add CONFIG use_libmysqlclient_r
if [ "$CFG_SQL_mysql" = "auto" ]; then
CFG_SQL_mysql=plugin
fi
QT_LFLAGS_MYSQL="$QT_LFLAGS_MYSQL_R"
- elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mysql "MySQL (thread-unsafe)" $QT_LFLAGS_MYSQL $L_FLAGS $QT_CFLAGS_MYSQL $I_FLAGS $l_FLAGS; then
+ elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/mysql "MySQL (thread-unsafe)" $QT_LFLAGS_MYSQL $L_FLAGS $QT_CFLAGS_MYSQL $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
if [ "$CFG_SQL_mysql" = "auto" ]; then
CFG_SQL_mysql=plugin
fi
@@ -4391,7 +4400,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
fi
[ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
[ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/psql "PostgreSQL" $QT_LFLAGS_PSQL $L_FLAGS $QT_CFLAGS_PSQL $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/psql "PostgreSQL" $QT_LFLAGS_PSQL $L_FLAGS $QT_CFLAGS_PSQL $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
if [ "$CFG_SQL_psql" = "auto" ]; then
CFG_SQL_psql=plugin
fi
@@ -4412,7 +4421,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
;;
odbc)
if [ "$CFG_SQL_odbc" != "no" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
if [ "$CFG_SQL_odbc" = "auto" ]; then
CFG_SQL_odbc=plugin
fi
@@ -4431,7 +4440,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
;;
oci)
if [ "$CFG_SQL_oci" != "no" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/oci "OCI" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/oci "OCI" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
if [ "$CFG_SQL_oci" = "auto" ]; then
CFG_SQL_oci=plugin
fi
@@ -4450,7 +4459,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
;;
tds)
if [ "$CFG_SQL_tds" != "no" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tds "TDS" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/tds "TDS" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
if [ "$CFG_SQL_tds" = "auto" ]; then
CFG_SQL_tds=plugin
fi
@@ -4469,7 +4478,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
;;
db2)
if [ "$CFG_SQL_db2" != "no" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/db2 "DB2" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/db2 "DB2" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
if [ "$CFG_SQL_db2" = "auto" ]; then
CFG_SQL_db2=plugin
fi
@@ -4488,7 +4497,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
;;
ibase)
if [ "$CFG_SQL_ibase" != "no" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ibase "InterBase" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ibase "InterBase" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
if [ "$CFG_SQL_ibase" = "auto" ]; then
CFG_SQL_ibase=plugin
fi
@@ -4507,7 +4516,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
;;
sqlite2)
if [ "$CFG_SQL_sqlite2" != "no" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite2 "SQLite2" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite2 "SQLite2" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
if [ "$CFG_SQL_sqlite2" = "auto" ]; then
CFG_SQL_sqlite2=plugin
fi
@@ -4532,7 +4541,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
QT_CFLAGS_SQLITE=`$PKG_CONFIG --cflags sqlite3 2>/dev/null`
QT_LFLAGS_SQLITE=`$PKG_CONFIG --libs sqlite3 2>/dev/null`
fi
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite "SQLite" $QT_LFLAGS_SQLITE $L_FLAGS $QT_CFLAGS_SQLITE $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/sqlite "SQLite" $QT_LFLAGS_SQLITE $L_FLAGS $QT_CFLAGS_SQLITE $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
if [ "$CFG_SQL_sqlite" = "auto" ]; then
CFG_SQL_sqlite=plugin
fi
@@ -4569,7 +4578,7 @@ done
# auto-detect NIS support
if [ "$CFG_NIS" != "no" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/nis "NIS" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/nis "NIS" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
CFG_NIS=yes
else
if [ "$CFG_NIS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
@@ -4586,7 +4595,7 @@ fi
# auto-detect CUPS support
if [ "$CFG_CUPS" != "no" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/cups "Cups" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/cups "Cups" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
CFG_CUPS=yes
else
if [ "$CFG_CUPS" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
@@ -4605,9 +4614,9 @@ fi
if [ "$CFG_ICONV" != "no" ]; then
if [ "$PLATFORM_QWS" = "yes" ]; then
CFG_ICONV=no
- elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/iconv" "POSIX iconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
CFG_ICONV=yes
- elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/gnu-libiconv" "GNU libiconv" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ elif "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" "$OPT_VERBOSE" "$relpath" "$outpath" "config.tests/unix/gnu-libiconv" "GNU libiconv" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
CFG_ICONV=gnu
else
if [ "$CFG_ICONV" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
@@ -4628,7 +4637,7 @@ if [ "$CFG_DBUS" != "no" ]; then
QT_CFLAGS_DBUS=`$PKG_CONFIG --cflags dbus-1 2>/dev/null`
QT_LIBS_DBUS=`$PKG_CONFIG --libs dbus-1 2>/dev/null`
fi
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/dbus "D-Bus" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_DBUS $QT_LIBS_DBUS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/dbus "D-Bus" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_DBUS $QT_LIBS_DBUS $MAC_ARCHS_COMMANDLINE; then
[ "$CFG_DBUS" = "auto" ] && CFG_DBUS=yes
QMakeVar set QT_CFLAGS_DBUS "$QT_CFLAGS_DBUS"
QMakeVar set QT_LIBS_DBUS "$QT_LIBS_DBUS"
@@ -4661,7 +4670,7 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
QT_CFLAGS_GLIB=`$PKG_CONFIG --cflags glib-2.0 gthread-2.0 2>/dev/null`
QT_LIBS_GLIB=`$PKG_CONFIG --libs glib-2.0 gthread-2.0 2>/dev/null`
fi
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/glib "Glib" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_GLIB $QT_LIBS_GLIB $X11TESTS_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/glib "Glib" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_GLIB $QT_LIBS_GLIB $X11TESTS_FLAGS ; then
CFG_GLIB=yes
QMakeVar set QT_CFLAGS_GLIB "$QT_CFLAGS_GLIB"
QMakeVar set QT_LIBS_GLIB "$QT_LIBS_GLIB"
@@ -5150,6 +5159,9 @@ if [ "$PLATFORM_QWS" = "yes" ]; then
QMakeVar set QT_CFLAGS_DIRECTFB "$QT_CFLAGS_DIRECTFB"
QMakeVar set QT_LIBS_DIRECTFB "$QT_LIBS_DIRECTFB"
fi
+ if [ "$CFG_QT3SUPPORT" = "yes" ]; then
+ QMakeVar set QT_DEFINES_DIRECTFB "QT3_SUPPORT"
+ fi
if ! "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/qws/directfb "DirectFB" $L_FLAGS $I_FLAGS $l_FLAGS $QT_CFLAGS_DIRECTFB $QT_LIBS_DIRECTFB; then
echo "The DirectFB screen driver functionality test failed!"
@@ -5188,7 +5200,7 @@ fi # QWS
[ "x$CFG_EMBEDDED" != "xno" ] && CFG_LIBFREETYPE="$CFG_QWS_FREETYPE"
[ "x$PLATFORM_MAC" = "xyes" ] && CFG_LIBFREETYPE=no
if [ "$CFG_LIBFREETYPE" = "auto" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/freetype "FreeType" $L_FLAGS $I_FLAGS $l_FLAGS ; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/freetype "FreeType" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
CFG_LIBFREETYPE=system
else
CFG_LIBFREETYPE=yes
@@ -5305,7 +5317,7 @@ fi
# find if the platform supports IPv6
if [ "$CFG_IPV6" != "no" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipv6 "IPv6" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/ipv6 "IPv6" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
CFG_IPV6=yes
else
if [ "$CFG_IPV6" = "yes" ] && [ "$CFG_CONFIGURE_EXIT_ON_ERROR" = "yes" ]; then
@@ -5436,7 +5448,7 @@ fi
# detect OpenSSL
if [ "$CFG_OPENSSL" != "no" ]; then
- if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/openssl "OpenSSL" $L_FLAGS $I_FLAGS $l_FLAGS; then
+ if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/openssl "OpenSSL" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_ARCHS_COMMANDLINE; then
if [ "$CFG_OPENSSL" = "auto" ]; then
CFG_OPENSSL=yes
fi
@@ -6004,10 +6016,11 @@ if [ "$CFG_EXCEPTIONS" = "no" ]; then
QMAKE_CONFIG="$QMAKE_CONFIG exceptions_off"
fi
-# On Mac, set the minimum deployment target using Xarch when that is supported (10.5 and up).
-# On 10.4 the deployment version is set to 10.3 globally using the QMAKE_MACOSX_DEPLOYMENT_TARGET env. variable
-# "-cocoa" on the command line means Cocoa is used in 32-bit mode also, in this case fall back on
-# QMAKE_MACOSX_DEPLOYMENT_TARGET which will be set to 10.5.
+# On Mac, set the minimum deployment target for the different architechtures
+# using the Xarch compiler option when supported (10.5 and up). On 10.4 the
+# deployment version is set to 10.3 globally using the QMAKE_MACOSX_DEPLOYMENT_TARGET
+# env. variable. "-cocoa" on the command line means Cocoa is used in 32-bit mode also,
+# in this case fall back on QMAKE_MACOSX_DEPLOYMENT_TARGET which will be set to 10.5.
if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_MAC_XARCH" != "no" ] && [ "$COMMANDLINE_MAC_COCOA" != "yes" ]; then
if echo "$CFG_MAC_ARCHS" | grep '\<x86\>' > /dev/null 2>&1; then
QMakeVar add QMAKE_CFLAGS "-Xarch_i386 -mmacosx-version-min=10.4"
diff --git a/demos/qtdemo/xml/examples.xml b/demos/qtdemo/xml/examples.xml
index 03b59f3..96a3e80 100644
--- a/demos/qtdemo/xml/examples.xml
+++ b/demos/qtdemo/xml/examples.xml
@@ -118,6 +118,7 @@
<example filename="threadedfortuneserver" name="Threaded Fort. Server" />
<example filename="torrent" name="Torrent Client" />
<example filename="securesocketclient" name="Secure Socket Client" />
+ <example filename="googlesuggest" name="Google Suggest" />
</category>
<category dirname="opengl" name="OpenGL">
<example filename="2dpainting" name="2D Painting" />
@@ -213,6 +214,12 @@
<example filename="wiggly" name="Wiggly" />
<example filename="windowflags" name="Window Flags" />
</category>
+ <category dirname="webkit" name="WebKit">
+ <example filename="formextractor" name="Form Extractor" />
+ <example filename="previewer" name="HTML Previewer" />
+ <example filename="fancybrowser" name="Fancy Browser" />
+ <example filename="googlechat" name="Google Chat" />
+ </category>
<category dirname="xml" name="XML">
<example filename="saxbookmarks" name="SAX Bookmarks" />
<example filename="dombookmarks" name="DOM Bookmarks" />
diff --git a/dist/changes-4.5.2 b/dist/changes-4.5.2
new file mode 100644
index 0000000..a772bf7
--- /dev/null
+++ b/dist/changes-4.5.2
@@ -0,0 +1,123 @@
+Qt 4.5.2 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 4.5.0. For more details,
+refer to the online documentation included in this distribution. The
+documentation is also available online:
+
+ http://doc.trolltech.com/4.5
+
+The Qt version 4.5 series is binary compatible with the 4.4.x series.
+Applications compiled for 4.4 will continue to run with 4.5.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Task Tracker:
+
+ http://www.qtsoftware.com/developer/task-tracker
+
+Each of these identifiers can be entered in the task tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* General *
+****************************************************************************
+
+General Improvements
+--------------------
+
+- Documentation and Examples
+
+Third party components
+----------------------
+
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+
+****************************************************************************
+* Database Drivers *
+****************************************************************************
+
+
+****************************************************************************
+* Platform Specific Changes *
+****************************************************************************
+
+Qt for Linux/X11
+----------------
+
+
+Qt for Windows
+--------------
+
+
+Qt for Mac OS X
+---------------
+
+
+Qt for Embedded Linux
+---------------------
+
+
+Qt for Windows CE
+-----------------
+
+
+****************************************************************************
+* Compiler Specific Changes *
+****************************************************************************
+
+
+****************************************************************************
+* Tools *
+****************************************************************************
+
+- Build System
+
+- Assistant
+
+
+- Designer
+
+
+- Linguist
+ - Linguist GUI
+
+ - lupdate
+
+ - lrelease
+
+
+- rcc
+
+
+- moc
+
+
+- uic
+
+
+- uic3
+
+
+- qmake
+
+
+- configure
+
+
+- qtconfig
+
+
+- qt3to4
+
+
+****************************************************************************
+* Plugins *
+****************************************************************************
+
+
+****************************************************************************
+* Important Behavior Changes *
+****************************************************************************
+
diff --git a/doc/doc.pri b/doc/doc.pri
index 6b77f88..a4c77fe 100644
--- a/doc/doc.pri
+++ b/doc/doc.pri
@@ -4,7 +4,7 @@
win32 {
QT_WINCONFIG = release/
- CONFIG(debug, debug|release) {
+ !CONFIG(release, debug|release) {
QT_WINCONFIG = debug/
}
}
@@ -24,7 +24,7 @@ $$unixstyle {
QDOC = cd $$QT_SOURCE_TREE/tools/qdoc3/test && QT_BUILD_TREE=$$QT_BUILD_TREE QT_SOURCE_TREE=$$QT_SOURCE_TREE $$QT_BUILD_TREE/tools/qdoc3/$${QT_WINCONFIG}qdoc3 $$DOCS_GENERATION_DEFINES
} else {
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/tools/qdoc3/$${QT_WINCONFIG}qdoc3.exe $$DOCS_GENERATION_DEFINES
- QDOC = $$replace(QDOC, "/", "\\\\")
+ QDOC = $$replace(QDOC, "/", "\\")
}
macx {
ADP_DOCS_QDOCCONF_FILE = qt-build-docs-with-xcode.qdocconf
diff --git a/doc/src/activeqt.qdoc b/doc/src/activeqt.qdoc
index ea13e59..473f815 100644
--- a/doc/src/activeqt.qdoc
+++ b/doc/src/activeqt.qdoc
@@ -73,7 +73,7 @@
To build the static libraries, change into the \c activeqt directory
(usually \c QTDIR/src/activeqt), and run \c qmake and your make
tool in both the \c container and the \c control subdirectory.
- The libraries \c qaxcontainer.lib and \c qaxserver.lib will be linked
+ The libraries \c qaxcontainer.lib and \c qaxserver.lib will be linked
into \c QTDIR/lib.
If you are using a shared configuration of Qt enter the \c plugin
@@ -81,8 +81,8 @@
plugin that integrates the QAxContainer module into \l{Qt
Designer}.
- The ActiveQt modules are part of the \l{Qt Full Framework Edition}. They
- are \e not part of the \l{Open Source Versions of Qt}.
+ The ActiveQt modules are part of the \l{Qt Full Framework Edition} and
+ the \l{Open Source Versions of Qt}.
\sa {QAxContainer Module}, {QAxServer Module}
*/
diff --git a/doc/src/datastreamformat.qdoc b/doc/src/datastreamformat.qdoc
index 3c651fb..15ac062 100644
--- a/doc/src/datastreamformat.qdoc
+++ b/doc/src/datastreamformat.qdoc
@@ -69,6 +69,10 @@
the application happens to be running on.
\table
+ \row \o bool
+ \o \list
+ \o boolean
+ \endlist
\row \o qint8
\o \list
\o signed byte
@@ -297,6 +301,10 @@
\o \list
\o Milliseconds since midnight (quint32)
\endlist
+ \row \o QUrl
+ \o \list
+ \o Holds an URL (QString)
+ \endlist
\row \o QVariant
\o \list
\o The type of the data (quint32)
diff --git a/doc/src/deployment.qdoc b/doc/src/deployment.qdoc
index d9f7c1a..bcfa93d 100644
--- a/doc/src/deployment.qdoc
+++ b/doc/src/deployment.qdoc
@@ -911,7 +911,7 @@
Then qApp->libraryPaths() would return something like this:
"C:/customPath/plugins "
- "C:/Qt/4.5.0/plugins"
+ "C:/Qt/%VERSION%/plugins"
"E:/myApplication/directory/"
The executable will look for the plugins in these directories and
diff --git a/doc/src/designer-manual.qdoc b/doc/src/designer-manual.qdoc
index e10a5be..03b74e6 100644
--- a/doc/src/designer-manual.qdoc
+++ b/doc/src/designer-manual.qdoc
@@ -344,10 +344,14 @@
of a QLineEdit or the width and height of item view widgets. This is where
the widget size constraints -- \l{QWidget::minimumSize()}{minimumSize} and
\l{QWidget::maximumSize()}{maximumSize} constraints come into play. These
- are properties you can set in the property editor. Alternatively, to use
- the current size as a size constraint value, choose one of the
- \gui{Size Constraint} options from the widget's context menu. The layout
- will then ensure that those constraints are met.
+ are properties you can set in the property editor. For example, to override
+ the default \l{QWidget::}{sizeHint()}, simply set
+ \l{QWidget::minimumSize()}{minimumSize} and \l{QWidget::maximumSize()}
+ {maximumSize} to the same value. Alternatively, to use the current size as
+ a size constraint value, choose one of the \gui{Size Constraint} options
+ from the widget's context menu. The layout will then ensure that those
+ constraints are met. To control the size of your widgets via code, you can
+ reimplement \l{QWidget::}{sizeHint()} in your code.
The screenshot below shows the breakdown of a basic user interface designed
using a grid. The coordinates on the screenshot show the position of each
diff --git a/doc/src/examples.qdoc b/doc/src/examples.qdoc
index b750aa0..06d7727 100644
--- a/doc/src/examples.qdoc
+++ b/doc/src/examples.qdoc
@@ -209,6 +209,7 @@
\o \l{network/loopback}{Loopback}
\o \l{network/threadedfortuneserver}{Threaded Fortune Server}\raisedaster
\o \l{network/torrent}{Torrent}
+ \o \l{network/googlesuggest}{Google Suggest}
\endlist
\section1 OpenGL
@@ -354,6 +355,8 @@
\list
\o \l{webkit/previewer}{Previewer}\raisedaster
\o \l{webkit/formextractor}{Form Extractor}
+ \o \l{webkit/googlechat}{Google Chat}
+ \o \l{webkit/fancybrowser}{Fancy Browser}
\endlist
\section1 Widgets
diff --git a/doc/src/examples/fancybrowser.qdoc b/doc/src/examples/fancybrowser.qdoc
new file mode 100644
index 0000000..9001c20
--- /dev/null
+++ b/doc/src/examples/fancybrowser.qdoc
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (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 either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example webkit/fancybrowser
+ \title Fancy Browser Example
+
+ The Fancy Browser example shows how to use jQuery with QtWebKit to
+ make a web browser with some special effects and content manipulation.
+
+ \image fancybrowser-example.png
+
+*/
diff --git a/doc/src/examples/flowlayout.qdoc b/doc/src/examples/flowlayout.qdoc
index 557ba39..3e7ec22 100644
--- a/doc/src/examples/flowlayout.qdoc
+++ b/doc/src/examples/flowlayout.qdoc
@@ -43,8 +43,117 @@
\example layouts/flowlayout
\title Flow Layout Example
- The Flow Layout example demonstrates a custom layout that arranges child widgets from
- left to right and top to bottom in a top-level widget.
+ The Flow Layout example demonstrates a custom layout that arranges child
+ widgets from left to right and top to bottom in a top-level widget.
+
+ \image flowlayout-example.png Screenshot of the Flow Layout example
+
+ The items are first laid out horizontally and then vertically when each line
+ in the layout runs out of space.
+
+ The Flowlayout class mainly uses QLayout and QWidgetItem, while the
+ Window uses QWidget and QLabel. We will only document the definition
+ and implementation of \c FlowLayout below.
+
+ \section1 FlowLayout Class Definition
+
+ The \c FlowLayout class inherits QLayout. It is a custom layout class
+ that arranges its child widgets horizontally and vertically.
+
+ \snippet examples/layouts/flowlayout/flowlayout.h 0
+
+ We reimplement functions inherited from QLayout. These functions add items to
+ the layout and handle their orientation and geometry.
+
+ We also declare two private methods, \c doLayout() and \c smartSpacing().
+ \c doLayout() lays out the layout items, while the \c
+ smartSpacing() function calculates the spacing between them.
+
+ \section1 FlowLayout Class Implementation
+
+ We start off by looking at the constructor:
+
+ \snippet examples/layouts/flowlayout/flowlayout.cpp 1
+
+ In the constructor we call \c setContentsMargins() to set the left, top,
+ right and bottom margin. By default, QLayout uses values provided by
+ the current style (see QStyle::PixelMetric).
+
+ \snippet examples/layouts/flowlayout/flowlayout.cpp 2
+
+ In this example we reimplement \c addItem(), which is a pure virtual
+ function. When using \c addItem() the ownership of the layout items is
+ transferred to the layout, and it is therefore the layout's
+ responsibility to delete them.
+
+ \snippet examples/layouts/flowlayout/flowlayout.cpp 3
+
+ \c addItem() is implemented to add items to the layout.
+
+ \snippet examples/layouts/flowlayout/flowlayout.cpp 4
+
+ We implement \c horizontalSpacing() and \c verticalSpacing() to get
+ hold of the spacing between the widgets inside the layout. If the value
+ is less than or equal to 0, this value will be used. If not,
+ \c smartSpacing() will be called to calculate the spacing.
+
+ \snippet examples/layouts/flowlayout/flowlayout.cpp 5
+
+ We then implement \c count() to return the number of items in the
+ layout. To navigate the list of items we use \c itemAt() and
+ takeAt() to remove and return items from the list. If an item is
+ removed, the remaining items will be renumbered. All three
+ functions are pure virtual functions from QLayout.
+
+ \snippet examples/layouts/flowlayout/flowlayout.cpp 6
+
+ \c expandingDirections() returns the \l{Qt::Orientation}s in which the
+ layout can make use of more space than its \c sizeHint().
+
+ \snippet examples/layouts/flowlayout/flowlayout.cpp 7
+
+ To adjust to widgets of which height is dependent on width, we implement \c
+ heightForWidth(). The function \c hasHeightForWidth() is used to test for this
+ dependency, and \c heightForWidth() passes the width on to \c doLayout() which
+ in turn uses the width as an argument for the layout rect, i.e., the bounds in
+ which the items are laid out. This rect does not include the layout margin().
+
+ \snippet examples/layouts/flowlayout/flowlayout.cpp 8
+
+ \c setGeometry() is normally used to do the actual layout, i.e., calculate
+ the geometry of the layout's items. In this example, it calls \c doLayout()
+ and passes the layout rect.
+
+ \c sizeHint() returns the preferred size of the layout and \c minimumSize()
+ returns the minimum size of the layout.
+
+ \snippet examples/layouts/flowlayout/flowlayout.cpp 9
+
+ \c doLayout() handles the layout if \c horizontalSpacing() or \c
+ verticalSpacing() don't return the default value. It uses
+ \c getContentsMargins() to calculate the area available to the
+ layout items.
+
+ \snippet examples/layouts/flowlayout/flowlayout.cpp 10
+
+ It then sets the proper amount of spacing for each widget in the
+ layout, based on the current style.
+
+ \snippet examples/layouts/flowlayout/flowlayout.cpp 11
+
+ The position of each item in the layout is then calculated by
+ adding the items width and the line height to the initial x and y
+ coordinates. This in turn lets us find out whether the next item
+ will fit on the current line or if it must be moved down to the next.
+ We also find the height of the current line based on the widgets height.
+
+ \snippet examples/layouts/flowlayout/flowlayout.cpp 12
+
+ \c smartSpacing() is designed to get the default spacing for either
+ the top-level layouts or the sublayouts. The default spacing for
+ top-level layouts, when the parent is a QWidget, will be determined
+ by querying the style. The default spacing for sublayouts, when
+ the parent is a QLayout, will be determined by querying the spacing
+ of the parent layout.
- \image flowlayout-example.png
*/
diff --git a/doc/src/examples/googlechat.qdoc b/doc/src/examples/googlechat.qdoc
new file mode 100644
index 0000000..f2d61cf
--- /dev/null
+++ b/doc/src/examples/googlechat.qdoc
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (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 either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example webkit/googlechat
+ \title Google Chat Example
+
+ The Google Chat example shows how to use implement a simple Google Chat
+ client with QtWebKit.
+
+ \image googlechat-example.png
+
+*/
diff --git a/doc/src/examples/googlesuggest.qdoc b/doc/src/examples/googlesuggest.qdoc
new file mode 100644
index 0000000..a9b09f9
--- /dev/null
+++ b/doc/src/examples/googlesuggest.qdoc
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (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 either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example network/googlesuggest
+ \title Google Suggest Example
+
+ The Google Suggest example shows how to use the network access manager
+ to get the list of suggested search terms from Google.
+
+ \image googlesuggest-example.png
+
+*/
diff --git a/doc/src/images/fancybrowser-example.png b/doc/src/images/fancybrowser-example.png
new file mode 100644
index 0000000..717ac9d
--- /dev/null
+++ b/doc/src/images/fancybrowser-example.png
Binary files differ
diff --git a/doc/src/images/flowlayout-example.png b/doc/src/images/flowlayout-example.png
index 27660d6..61abe1f 100644
--- a/doc/src/images/flowlayout-example.png
+++ b/doc/src/images/flowlayout-example.png
Binary files differ
diff --git a/doc/src/images/googlechat-example.png b/doc/src/images/googlechat-example.png
new file mode 100644
index 0000000..0338445
--- /dev/null
+++ b/doc/src/images/googlechat-example.png
Binary files differ
diff --git a/doc/src/images/googlesuggest-example.png b/doc/src/images/googlesuggest-example.png
new file mode 100644
index 0000000..4ef072a
--- /dev/null
+++ b/doc/src/images/googlesuggest-example.png
Binary files differ
diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc
index 49dfafd..4ead9e4 100644
--- a/doc/src/index.qdoc
+++ b/doc/src/index.qdoc
@@ -85,12 +85,6 @@
\endif
\endif
- \if defined(opensourceedition)
- \bold{Note:} This edition is for the development of \l{Qt
- Open Source Edition}{Free and Open Source} software only; see
- \l{Qt Commercial Editions}.
- \endif
-
\raw HTML
<table cellpadding="2" cellspacing="1" border="0" width="100%" bgcolor="#e5e5e5">
<tr>
diff --git a/doc/src/known-issues.qdoc b/doc/src/known-issues.qdoc
index 60fd63d..91e122f 100644
--- a/doc/src/known-issues.qdoc
+++ b/doc/src/known-issues.qdoc
@@ -60,11 +60,10 @@
\section2 Intel Compiler Support
- Although it is possible to build applications against Qt 4.5.0 using Intel
- CC 10, these applications will crash when run. A fix for this issue is
- scheduled for Qt 4.5.1. We recommend that developers who rely on this
- compiler wait until the fix is applied before upgrading to the Qt 4.5.x
- series of releases.
+ Although it is possible to build applications against Qt 4.5.x using Intel
+ CC 10, these applications will crash when run. We recommend that developers
+ who rely on this compiler wait until a fix is available before upgrading to
+ the Qt 4.5.x series of releases.
\section2 X11 Hardware Support
diff --git a/doc/src/layout.qdoc b/doc/src/layout.qdoc
index 38163c8..55dfd8b 100644
--- a/doc/src/layout.qdoc
+++ b/doc/src/layout.qdoc
@@ -371,7 +371,7 @@
should store the value in a local variable if you need it again
later within in the same function.
\o You should not call QLayoutItem::setGeometry() twice on the same
- item in the smae function. This call can be very expensive if the
+ item in the same function. This call can be very expensive if the
item has several child widgets, because the layout manager must do
a complete layout every time. Instead, calculate the geometry and
then set it. (This does not only apply to layouts, you should do
diff --git a/doc/src/licenses.qdoc b/doc/src/licenses.qdoc
index b42b882..1c3f6d2 100644
--- a/doc/src/licenses.qdoc
+++ b/doc/src/licenses.qdoc
@@ -239,6 +239,24 @@
\o Parts of the internal QImageSmoothScaler::scale() function use code
based on pnmscale.c by Jef Poskanzer.
\endlist
+
+ \hr
+
+ jQuery JavaScript Library v1.3.2
+ http://jquery.com/
+
+ Copyright (c) 2009 John Resig
+ Dual licensed under the MIT and GPL licenses.
+ http://docs.jquery.com/License
+
+ Sizzle CSS Selector Engine - v0.9.3
+ Copyright 2009, The Dojo Foundation
+ Released under the MIT, BSD, and GPL Licenses.
+ More information: http://sizzlejs.com/
+
+ \list
+ \o examples/webkit/fancybrowser/jquery.min.js
+ \endlist
*/
/*!
diff --git a/doc/src/phonon-api.qdoc b/doc/src/phonon-api.qdoc
index 3d04c68..501b5a5 100644
--- a/doc/src/phonon-api.qdoc
+++ b/doc/src/phonon-api.qdoc
@@ -4457,12 +4457,12 @@
*/
/*!
- \fn QList<int> Phonon::GlobalConfig::audioOutputDeviceListFor(Phonon::Category category, HideAdvancedDevicesOverride override = FromSettings) const
+ \fn QList<int> Phonon::GlobalConfig::audioOutputDeviceListFor(Phonon::Category category, int override = AdvancedDevicesFromSettings) const
\internal
*/
/*!
- \fn int Phonon::GlobalConfig::audioOutputDeviceFor(Phonon::Category category) const
+ \fn int Phonon::GlobalConfig::audioOutputDeviceFor(Phonon::Category category, int override = AdvancedDevicesFromSettings) const
\internal
*/
diff --git a/doc/src/porting4.qdoc b/doc/src/porting4.qdoc
index c8a9e2b..b93e139 100644
--- a/doc/src/porting4.qdoc
+++ b/doc/src/porting4.qdoc
@@ -457,6 +457,7 @@
\row \o QToolButton::offIconSet \o Use the \l{QIcon::Off}{off component} of QAbstractButton::icon instead.
\row \o QToolButton::onIconSet \o Use the \l{QIcon::On}{on component} of QAbstractButton::icon instead.
\row \o QWidget::microFocusHint \o N/A
+ \row \o QMimeSource::serialNumber () \o N/A
\endtable
\omit
diff --git a/doc/src/properties.qdoc b/doc/src/properties.qdoc
index 0775b12..d934f13 100644
--- a/doc/src/properties.qdoc
+++ b/doc/src/properties.qdoc
@@ -89,7 +89,12 @@
and QWidget::setCursor(), and it also has a \c RESET function,
QWidget::unsetCursor(), since no call to QWidget::setCursor() can
mean \e {reset to the context specific cursor}. The \c RESET
- function musrt return void and take no parameters.
+ function must return void and take no parameters.
+
+ \o A \c NOTIFY signal is optional. If defined, the signal will be
+ emitted whenever the value of the property changes. The signal must
+ take one parameter, which must be of the same type as the property; the
+ parameter will take the new value of the property.
\o The \c DESIGNABLE attribute indicates whether the property
should be visible in the property editor of GUI design tool (e.g.,
diff --git a/doc/src/qmake-manual.qdoc b/doc/src/qmake-manual.qdoc
index 39581a2..172bc60 100644
--- a/doc/src/qmake-manual.qdoc
+++ b/doc/src/qmake-manual.qdoc
@@ -932,6 +932,7 @@
\o \l{qmake Variable Reference#QT}{QT}
\o \l{qmake Variable Reference#RCC_DIR}{RCC_DIR}
\o \l{qmake Variable Reference#REQUIRES}{REQUIRES}
+ \o \l{qmake Variable Reference#RESOURCES}{RESOURCES}
\o \l{qmake Variable Reference#SOURCES}{SOURCES}
\o \l{qmake Variable Reference#SUBDIRS}{SUBDIRS}
\o \l{qmake Variable Reference#TARGET}{TARGET}
@@ -2420,6 +2421,12 @@
This is mainly used in Qt's build system for building the examples.
+ \section1 RESOURCES
+
+ This variable contains the name of the resource collection file (qrc)
+ for the application. Further information about the resource collection
+ file can be found at \l{The Qt Resource System}.
+
\section1 RES_FILE
This variable contains the name of the resource file for the application.
diff --git a/doc/src/snippets/code/doc_src_properties.qdoc b/doc/src/snippets/code/doc_src_properties.qdoc
index ba7f79b..377cc9c 100644
--- a/doc/src/snippets/code/doc_src_properties.qdoc
+++ b/doc/src/snippets/code/doc_src_properties.qdoc
@@ -3,6 +3,7 @@ Q_PROPERTY(type name
READ getFunction
[WRITE setFunction]
[RESET resetFunction]
+ [NOTIFY notifySignal]
[DESIGNABLE bool]
[SCRIPTABLE bool]
[STORED bool]
diff --git a/doc/src/snippets/code/doc_src_qtestlib.qdoc b/doc/src/snippets/code/doc_src_qtestlib.qdoc
index ff52b2f..a0e4944 100644
--- a/doc/src/snippets/code/doc_src_qtestlib.qdoc
+++ b/doc/src/snippets/code/doc_src_qtestlib.qdoc
@@ -61,7 +61,7 @@ void TestQString::toUpper()
//! [9]
-/myTestDirectory$ qmake -project "QT += testlib"
+/myTestDirectory$ qmake -project "CONFIG += qtestlib"
/myTestDirectory$ qmake
/myTestDirectory$ make
//! [9]
diff --git a/doc/src/snippets/code/src_qdbus_qdbusargument.cpp b/doc/src/snippets/code/src_qdbus_qdbusargument.cpp
index b982510..efd54ac 100644
--- a/doc/src/snippets/code/src_qdbus_qdbusargument.cpp
+++ b/doc/src/snippets/code/src_qdbus_qdbusargument.cpp
@@ -4,7 +4,7 @@ struct MyStructure
int count;
QString name;
};
-QT_DECLARE_METATYPE(MyStructure)
+Q_DECLARE_METATYPE(MyStructure)
// Marshall the MyStructure data into a D-Bus argument
QDBusArgument &operator<<(QDBusArgument &argument, const MyStructure &mystruct)
diff --git a/doc/src/snippets/sqldatabase/sqldatabase.cpp b/doc/src/snippets/sqldatabase/sqldatabase.cpp
index ae176ac..06afa0c 100644
--- a/doc/src/snippets/sqldatabase/sqldatabase.cpp
+++ b/doc/src/snippets/sqldatabase/sqldatabase.cpp
@@ -524,7 +524,7 @@ protected:
bool fetchLast() { return false; }
int size() { return 0; }
int numRowsAffected() { return 0; }
- QSqlRecord record() { return QSqlRecord(); }
+ QSqlRecord record() const { return QSqlRecord(); }
};
//! [47]
diff --git a/examples/examples.pro b/examples/examples.pro
index 60e8764..332a712 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -35,7 +35,7 @@ embedded:SUBDIRS += qws
}
contains(QT_CONFIG, opengl): SUBDIRS += opengl
contains(QT_CONFIG, dbus): SUBDIRS += dbus
-win32:!contains(QT_EDITION, OpenSource|Console):SUBDIRS += activeqt
+win32: SUBDIRS += activeqt
contains(QT_CONFIG, xmlpatterns): SUBDIRS += xmlpatterns
contains(DEFINES, QT_NO_CURSOR): SUBDIRS -= mainwindows
diff --git a/examples/graphicsview/elasticnodes/edge.cpp b/examples/graphicsview/elasticnodes/edge.cpp
index 4018c25..eb02143 100644
--- a/examples/graphicsview/elasticnodes/edge.cpp
+++ b/examples/graphicsview/elasticnodes/edge.cpp
@@ -93,11 +93,16 @@ void Edge::adjust()
QLineF line(mapFromItem(source, 0, 0), mapFromItem(dest, 0, 0));
qreal length = line.length();
- QPointF edgeOffset((line.dx() * 10) / length, (line.dy() * 10) / length);
prepareGeometryChange();
- sourcePoint = line.p1() + edgeOffset;
- destPoint = line.p2() - edgeOffset;
+
+ if (length > qreal(20.)) {
+ QPointF edgeOffset((line.dx() * 10) / length, (line.dy() * 10) / length);
+ sourcePoint = line.p1() + edgeOffset;
+ destPoint = line.p2() - edgeOffset;
+ } else {
+ sourcePoint = destPoint = line.p1();
+ }
}
QRectF Edge::boundingRect() const
@@ -119,12 +124,15 @@ void Edge::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
if (!source || !dest)
return;
- // Draw the line itself
QLineF line(sourcePoint, destPoint);
+ if (qFuzzyCompare(line.length(), qreal(0.)))
+ return;
+
+ // Draw the line itself
painter->setPen(QPen(Qt::black, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
painter->drawLine(line);
- // Draw the arrows if there's enough room
+ // Draw the arrows
double angle = ::acos(line.dx() / line.length());
if (line.dy() >= 0)
angle = TwoPi - angle;
diff --git a/examples/itemviews/chart/pieview.cpp b/examples/itemviews/chart/pieview.cpp
index 6b62f25..48f4073 100644
--- a/examples/itemviews/chart/pieview.cpp
+++ b/examples/itemviews/chart/pieview.cpp
@@ -254,7 +254,7 @@ void PieView::mousePressEvent(QMouseEvent *event)
QAbstractItemView::mousePressEvent(event);
origin = event->pos();
if (!rubberBand)
- rubberBand = new QRubberBand(QRubberBand::Rectangle, this);
+ rubberBand = new QRubberBand(QRubberBand::Rectangle, viewport());
rubberBand->setGeometry(QRect(origin, QSize()));
rubberBand->show();
}
diff --git a/examples/layouts/flowlayout/flowlayout.cpp b/examples/layouts/flowlayout/flowlayout.cpp
index c4032d0..263911d 100644
--- a/examples/layouts/flowlayout/flowlayout.cpp
+++ b/examples/layouts/flowlayout/flowlayout.cpp
@@ -42,7 +42,7 @@
#include <QtGui>
#include "flowlayout.h"
-
+//! [1]
FlowLayout::FlowLayout(QWidget *parent, int margin, int hSpacing, int vSpacing)
: QLayout(parent), m_hSpace(hSpacing), m_vSpace(vSpacing)
{
@@ -54,19 +54,25 @@ FlowLayout::FlowLayout(int margin, int hSpacing, int vSpacing)
{
setContentsMargins(margin, margin, margin, margin);
}
+//! [1]
+//! [2]
FlowLayout::~FlowLayout()
{
QLayoutItem *item;
while ((item = takeAt(0)))
delete item;
}
+//! [2]
+//! [3]
void FlowLayout::addItem(QLayoutItem *item)
{
itemList.append(item);
}
+//! [3]
+//! [4]
int FlowLayout::horizontalSpacing() const
{
if (m_hSpace >= 0) {
@@ -84,7 +90,9 @@ int FlowLayout::verticalSpacing() const
return smartSpacing(QStyle::PM_LayoutVerticalSpacing);
}
}
+//! [4]
+//! [5]
int FlowLayout::count() const
{
return itemList.size();
@@ -102,12 +110,16 @@ QLayoutItem *FlowLayout::takeAt(int index)
else
return 0;
}
+//! [5]
+//! [6]
Qt::Orientations FlowLayout::expandingDirections() const
{
return 0;
}
+//! [6]
+//! [7]
bool FlowLayout::hasHeightForWidth() const
{
return true;
@@ -118,7 +130,9 @@ int FlowLayout::heightForWidth(int width) const
int height = doLayout(QRect(0, 0, width, 0), true);
return height;
}
+//! [7]
+//! [8]
void FlowLayout::setGeometry(const QRect &rect)
{
QLayout::setGeometry(rect);
@@ -140,7 +154,9 @@ QSize FlowLayout::minimumSize() const
size += QSize(2*margin(), 2*margin());
return size;
}
+//! [8]
+//! [9]
int FlowLayout::doLayout(const QRect &rect, bool testOnly) const
{
int left, top, right, bottom;
@@ -149,7 +165,9 @@ int FlowLayout::doLayout(const QRect &rect, bool testOnly) const
int x = effectiveRect.x();
int y = effectiveRect.y();
int lineHeight = 0;
+//! [9]
+//! [10]
QLayoutItem *item;
foreach (item, itemList) {
QWidget *wid = item->widget();
@@ -161,6 +179,8 @@ int FlowLayout::doLayout(const QRect &rect, bool testOnly) const
if (spaceY == -1)
spaceY = wid->style()->layoutSpacing(
QSizePolicy::PushButton, QSizePolicy::PushButton, Qt::Vertical);
+//! [10]
+//! [11]
int nextX = x + item->sizeHint().width() + spaceX;
if (nextX - spaceX > effectiveRect.right() && lineHeight > 0) {
x = effectiveRect.x();
@@ -177,7 +197,8 @@ int FlowLayout::doLayout(const QRect &rect, bool testOnly) const
}
return y + lineHeight - rect.y() + bottom;
}
-
+//! [11]
+//! [12]
int FlowLayout::smartSpacing(QStyle::PixelMetric pm) const
{
QObject *parent = this->parent();
@@ -190,4 +211,4 @@ int FlowLayout::smartSpacing(QStyle::PixelMetric pm) const
return static_cast<QLayout *>(parent)->spacing();
}
}
-
+//! [12]
diff --git a/examples/layouts/flowlayout/flowlayout.h b/examples/layouts/flowlayout/flowlayout.h
index 9940e55..bab7f36 100644
--- a/examples/layouts/flowlayout/flowlayout.h
+++ b/examples/layouts/flowlayout/flowlayout.h
@@ -45,7 +45,7 @@
#include <QLayout>
#include <QRect>
#include <QWidgetItem>
-
+//! [0]
class FlowLayout : public QLayout
{
public:
@@ -74,5 +74,6 @@ private:
int m_hSpace;
int m_vSpace;
};
+//! [0]
#endif
diff --git a/examples/layouts/flowlayout/window.cpp b/examples/layouts/flowlayout/window.cpp
index 51d9886..b7d9eae 100644
--- a/examples/layouts/flowlayout/window.cpp
+++ b/examples/layouts/flowlayout/window.cpp
@@ -43,7 +43,7 @@
#include "flowlayout.h"
#include "window.h"
-
+//! [1]
Window::Window()
{
FlowLayout *flowLayout = new FlowLayout;
@@ -57,3 +57,4 @@ Window::Window()
setWindowTitle(tr("Flow Layout"));
}
+//! [1] \ No newline at end of file
diff --git a/examples/layouts/flowlayout/window.h b/examples/layouts/flowlayout/window.h
index ffd60af..77f8b6f 100644
--- a/examples/layouts/flowlayout/window.h
+++ b/examples/layouts/flowlayout/window.h
@@ -47,7 +47,7 @@
QT_BEGIN_NAMESPACE
class QLabel;
QT_END_NAMESPACE
-
+//! [0]
class Window : public QWidget
{
Q_OBJECT
@@ -55,5 +55,6 @@ class Window : public QWidget
public:
Window();
};
+//! [0]
#endif
diff --git a/examples/network/googlesuggest/googlesuggest.cpp b/examples/network/googlesuggest/googlesuggest.cpp
new file mode 100644
index 0000000..285a018
--- /dev/null
+++ b/examples/network/googlesuggest/googlesuggest.cpp
@@ -0,0 +1,223 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (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 either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore>
+#include <QtGui>
+#include <QtNetwork>
+
+#include "googlesuggest.h"
+
+#define GSUGGEST_URL "http://google.com/complete/search?output=toolbar&q=%1"
+
+GSuggestCompletion::GSuggestCompletion(QLineEdit *parent): QObject(parent), editor(parent)
+{
+ popup = new QTreeWidget;
+ popup->setColumnCount(2);
+ popup->setUniformRowHeights(true);
+ popup->setRootIsDecorated(false);
+ popup->setEditTriggers(QTreeWidget::NoEditTriggers);
+ popup->setSelectionBehavior(QTreeWidget::SelectRows);
+ popup->setFrameStyle(QFrame::Box | QFrame::Plain);
+ popup->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+
+ popup->header()->hide();
+ popup->installEventFilter(this);
+ popup->setMouseTracking(true);
+
+ connect(popup, SIGNAL(itemClicked(QTreeWidgetItem*, int)),
+ SLOT(doneCompletion()));
+
+ popup->setWindowFlags(Qt::Popup);
+ popup->setFocusPolicy(Qt::NoFocus);
+ popup->setFocusProxy(parent);
+
+ timer = new QTimer(this);
+ timer->setSingleShot(true);
+ timer->setInterval(500);
+ connect(timer, SIGNAL(timeout()), SLOT(autoSuggest()));
+ connect(editor, SIGNAL(textEdited(QString)), timer, SLOT(start()));
+
+ connect(&networkManager, SIGNAL(finished(QNetworkReply*)),
+ this, SLOT(handleNetworkData(QNetworkReply*)));
+
+}
+
+GSuggestCompletion::~GSuggestCompletion()
+{
+ delete popup;
+}
+
+bool GSuggestCompletion::eventFilter(QObject *obj, QEvent *ev)
+{
+ if (obj != popup)
+ return false;
+
+ if (ev->type() == QEvent::MouseButtonPress) {
+ popup->hide();
+ editor->setFocus();
+ return true;
+ }
+
+ if (ev->type() == QEvent::KeyPress) {
+
+ bool consumed = false;
+ int key = static_cast<QKeyEvent*>(ev)->key();
+ switch (key) {
+ case Qt::Key_Enter:
+ case Qt::Key_Return:
+ doneCompletion();
+ consumed = true;
+
+ case Qt::Key_Escape:
+ editor->setFocus();
+ popup->hide();
+ consumed = true;
+
+ case Qt::Key_Up:
+ case Qt::Key_Down:
+ case Qt::Key_Home:
+ case Qt::Key_End:
+ case Qt::Key_PageUp:
+ case Qt::Key_PageDown:
+ break;
+
+ default:
+ editor->setFocus();
+ editor->event(ev);
+ popup->hide();
+ break;
+ }
+
+ return consumed;
+ }
+
+ return false;
+}
+
+void GSuggestCompletion::showCompletion(const QStringList &choices, const QStringList &hits)
+{
+
+ if (choices.isEmpty() || choices.count() != hits.count())
+ return;
+
+ const QPalette &pal = editor->palette();
+ QColor color = pal.color(QPalette::Disabled, QPalette::WindowText);
+
+ popup->setUpdatesEnabled(false);
+ popup->clear();
+ for (int i = 0; i < choices.count(); ++i) {
+ QTreeWidgetItem * item;
+ item = new QTreeWidgetItem(popup);
+ item->setText(0, choices[i]);
+ item->setText(1, hits[i]);
+ item->setTextAlignment(1, Qt::AlignRight);
+ item->setTextColor(1, color);
+ }
+ popup->setCurrentItem(popup->topLevelItem(0));
+ popup->resizeColumnToContents(0);
+ popup->resizeColumnToContents(1);
+ popup->adjustSize();
+ popup->setUpdatesEnabled(true);
+
+ int h = popup->sizeHintForRow(0) * qMin(7, choices.count()) + 3;
+ popup->resize(popup->width(), h);
+
+ popup->move(editor->mapToGlobal(QPoint(0, editor->height())));
+ popup->setFocus();
+ popup->show();
+}
+
+void GSuggestCompletion::doneCompletion()
+{
+ timer->stop();
+ popup->hide();
+ editor->setFocus();
+ QTreeWidgetItem *item = popup->currentItem();
+ if (item) {
+ editor->setText(item->text(0));
+ QKeyEvent *e;
+ e = new QKeyEvent(QEvent::KeyPress, Qt::Key_Enter, Qt::NoModifier);
+ QApplication::postEvent(editor, e);
+ e = new QKeyEvent(QEvent::KeyRelease, Qt::Key_Enter, Qt::NoModifier);
+ QApplication::postEvent(editor, e);
+ }
+}
+
+void GSuggestCompletion::preventSuggest()
+{
+ timer->stop();
+}
+
+void GSuggestCompletion::autoSuggest()
+{
+ QString str = editor->text();
+ QString url = QString(GSUGGEST_URL).arg(str);
+ networkManager.get(QNetworkRequest(QString(url)));
+}
+
+void GSuggestCompletion::handleNetworkData(QNetworkReply *networkReply)
+{
+ QUrl url = networkReply->url();
+ if (!networkReply->error()) {
+ QStringList choices;
+ QStringList hits;
+
+ QString response(networkReply->readAll());
+ QXmlStreamReader xml(response);
+ while (!xml.atEnd()) {
+ xml.readNext();
+ if (xml.tokenType() == QXmlStreamReader::StartElement)
+ if (xml.name() == "suggestion") {
+ QStringRef str = xml.attributes().value("data");
+ choices << str.toString();
+ }
+ if (xml.tokenType() == QXmlStreamReader::StartElement)
+ if (xml.name() == "num_queries") {
+ QStringRef str = xml.attributes().value("int");
+ hits << str.toString();
+ }
+ }
+
+ showCompletion(choices, hits);
+ }
+
+ networkReply->deleteLater();
+}
diff --git a/util/install/win/pages/sidedecorationimpl.h b/examples/network/googlesuggest/googlesuggest.h
index f39e204..0267709 100644
--- a/util/install/win/pages/sidedecorationimpl.h
+++ b/examples/network/googlesuggest/googlesuggest.h
@@ -3,7 +3,7 @@
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Qt Software Information (qt-info@nokia.com)
**
-** This file is part of the utils of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -38,33 +38,43 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef SIDEDECORATIONIMPL_H
-#define SIDEDECORATIONIMPL_H
-#include "sidedecoration.h"
-#include "pages.h"
-#include <qpixmap.h>
-#include <qlabel.h>
+#ifndef GOOGLESUGGEST_H
+#define GOOGLESUGGEST_H
-class SideDecorationImpl : public SideDecoration
-{
+#include <QObject>
+#include <QNetworkAccessManager>
+
+QT_BEGIN_NAMESPACE
+class QLineEdit;
+class QNetworkReply;
+class QTimer;
+class QTreeWidget;
+QT_END_NAMESPACE
+
+class GSuggestCompletion : public QObject
+{
Q_OBJECT
public:
- SideDecorationImpl( QWidget* parent = 0, const char* name = 0, WindowFlags fl = 0 );
- ~SideDecorationImpl();
+ GSuggestCompletion(QLineEdit *parent = 0);
+ ~GSuggestCompletion();
+ bool eventFilter(QObject *obj, QEvent *ev);
+ void showCompletion(const QStringList &choices, const QStringList &hits);
public slots:
- void wizardPages( const QPtrList<Page>& );
- void wizardPageShowed( int );
- void wizardPageFailed( int );
+
+ void doneCompletion();
+ void preventSuggest();
+ void autoSuggest();
+ void handleNetworkData(QNetworkReply *networkReply);
private:
- QPixmap checkPix;
- QPixmap arrowPix;
- QPixmap crossPix;
- QPtrList<QLabel> bullets;
- int activeBullet;
+ QLineEdit *editor;
+ QTreeWidget *popup;
+ QTimer *timer;
+ QNetworkAccessManager networkManager;
};
-#endif // SIDEDECORATIONIMPL_H
+#endif // GOOGLESUGGEST_H
+
diff --git a/examples/network/googlesuggest/googlesuggest.pro b/examples/network/googlesuggest/googlesuggest.pro
new file mode 100644
index 0000000..afd600f
--- /dev/null
+++ b/examples/network/googlesuggest/googlesuggest.pro
@@ -0,0 +1,9 @@
+QT += network
+SOURCES = main.cpp searchbox.cpp googlesuggest.cpp
+HEADERS = searchbox.h googlesuggest.h
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/webkit/googlesuggest
+sources.files = $$SOURCES $$HEADERS *.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/webkit/googlesuggest
+INSTALLS += target sources
diff --git a/doc/src/snippets/webkit/simple/main.cpp b/examples/network/googlesuggest/main.cpp
index a6a4fc2..f8d9bc5 100644
--- a/doc/src/snippets/webkit/simple/main.cpp
+++ b/examples/network/googlesuggest/main.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Qt Software Information (qt-info@nokia.com)
**
-** This file is part of the documentation of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -40,17 +40,13 @@
****************************************************************************/
#include <QApplication>
-#include <QUrl>
-#include <QWebView>
-int main(int argc, char *argv[])
+#include "searchbox.h"
+
+int main(int argc, char * argv[])
{
QApplication app(argc, argv);
- QWidget *parent = 0;
-//! [Using QWebView]
- QWebView *view = new QWebView(parent);
- view->load(QUrl("http://qtsoftware.com/"));
- view->show();
-//! [Using QWebView]
+ SearchBox *searchEdit = new SearchBox;
+ searchEdit->show();
return app.exec();
}
diff --git a/examples/network/googlesuggest/searchbox.cpp b/examples/network/googlesuggest/searchbox.cpp
new file mode 100644
index 0000000..cd7b122
--- /dev/null
+++ b/examples/network/googlesuggest/searchbox.cpp
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (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 either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QDesktopServices>
+#include <QUrl>
+
+#include "searchbox.h"
+#include "googlesuggest.h"
+
+#define GSEARCH_URL "http://www.google.com/search?q=%1"
+
+
+SearchBox::SearchBox(QWidget *parent): QLineEdit(parent)
+{
+ completer = new GSuggestCompletion(this);
+
+ connect(this, SIGNAL(returnPressed()), SLOT(doSearch()));
+
+ setWindowTitle("Search with Google");
+
+ adjustSize();
+ resize(400, height());
+ setFocus();
+}
+
+void SearchBox::doSearch()
+{
+ completer->preventSuggest();
+ QString url = QString(GSEARCH_URL).arg(text());
+ QDesktopServices::openUrl(QUrl(url));
+}
diff --git a/util/install/mac/licensedlgimpl.h b/examples/network/googlesuggest/searchbox.h
index 90f8809..75ceffd 100644
--- a/util/install/mac/licensedlgimpl.h
+++ b/examples/network/googlesuggest/searchbox.h
@@ -3,7 +3,7 @@
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Qt Software Information (qt-info@nokia.com)
**
-** This file is part of the utils of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -38,18 +38,27 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef __LICENSEDLGIMPL_H__
-#define __LICENSEDLGIMPL_H__
-#include "licensedlg.h"
+#ifndef SEARCHBOX_H
+#define SEARCHBOX_H
-class LicenseDialogImpl : public LicenseDialog
+#include <QLineEdit>
+
+class GSuggestCompletion;
+
+class SearchBox: public QLineEdit
{
Q_OBJECT
public:
- LicenseDialogImpl( QWidget* parent = 0 );
- bool showLicense( bool licenseUs );
+ SearchBox(QWidget *parent = 0);
+
+protected slots:
+ void doSearch();
+
+private:
+ GSuggestCompletion *completer;
};
-#endif /* __LICENSEDLGIMPL_H__ */
+
+#endif // SEARCHBOX_H
diff --git a/examples/network/network.pro b/examples/network/network.pro
index 13b3116..8c45745 100644
--- a/examples/network/network.pro
+++ b/examples/network/network.pro
@@ -11,6 +11,7 @@ SUBDIRS = blockingfortuneclient \
http \
loopback \
threadedfortuneserver \
+ googlesuggest \
torrent
contains(QT_CONFIG, openssl):SUBDIRS += securesocketclient
diff --git a/examples/opengl/hellogl_es/hellogl_es.pro b/examples/opengl/hellogl_es/hellogl_es.pro
index 7459456..3168743 100644
--- a/examples/opengl/hellogl_es/hellogl_es.pro
+++ b/examples/opengl/hellogl_es/hellogl_es.pro
@@ -20,11 +20,13 @@ HEADERS += bubble.h
RESOURCES += texture.qrc
QT += opengl
-contains(QT_CONFIG,opengles1) {
- QMAKE_LIBS += "libGLES_CM.lib"
-}
-contains(QT_CONFIG,opengles1cl) {
- QMAKE_LIBS += "libGLES_CL.lib"
+wince*:{
+ contains(QT_CONFIG,opengles1) {
+ QMAKE_LIBS += "libGLES_CM.lib"
+ }
+ contains(QT_CONFIG,opengles1cl) {
+ QMAKE_LIBS += "libGLES_CL.lib"
+ }
}
# install
diff --git a/examples/opengl/hellogl_es2/hellogl_es2.pro b/examples/opengl/hellogl_es2/hellogl_es2.pro
index 92b4224..d5ad4b8 100644
--- a/examples/opengl/hellogl_es2/hellogl_es2.pro
+++ b/examples/opengl/hellogl_es2/hellogl_es2.pro
@@ -25,3 +25,9 @@ target.path = $$[QT_INSTALL_EXAMPLES]/opengl/hellogl_es2
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS hellogl_es2.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/opengl/hellogl_es2
INSTALLS += target sources
+
+
+wince*: {
+ QMAKE_LIBS += "libGLESv2.lib"
+
+} \ No newline at end of file
diff --git a/examples/phonon/README b/examples/phonon/README
index d0f4462..51213cb 100644
--- a/examples/phonon/README
+++ b/examples/phonon/README
@@ -1,4 +1,4 @@
-Qt usese the Phonon cross-platform multimedia framework to play common
+Qt uses the Phonon cross-platform multimedia framework to play common
multimedia formats.
Applications can be written to take advantage of the native multimedia
diff --git a/examples/webkit/fancybrowser/fancybrowser.pro b/examples/webkit/fancybrowser/fancybrowser.pro
new file mode 100644
index 0000000..3de3036
--- /dev/null
+++ b/examples/webkit/fancybrowser/fancybrowser.pro
@@ -0,0 +1,11 @@
+QT += webkit
+HEADERS = mainwindow.h
+SOURCES = main.cpp \
+ mainwindow.cpp
+RESOURCES = jquery.qrc
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/webkit/fancybrowser
+sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/webkit/fancybrowser
+INSTALLS += target sources
diff --git a/examples/webkit/fancybrowser/jquery.min.js b/examples/webkit/fancybrowser/jquery.min.js
new file mode 100644
index 0000000..b1ae21d
--- /dev/null
+++ b/examples/webkit/fancybrowser/jquery.min.js
@@ -0,0 +1,19 @@
+/*
+ * jQuery JavaScript Library v1.3.2
+ * http://jquery.com/
+ *
+ * Copyright (c) 2009 John Resig
+ * Dual licensed under the MIT and GPL licenses.
+ * http://docs.jquery.com/License
+ *
+ * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
+ * Revision: 6246
+ */
+(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
+/*
+ * Sizzle CSS Selector Engine - v0.9.3
+ * Copyright 2009, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ * More information: http://sizzlejs.com/
+ */
+(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file
diff --git a/examples/webkit/fancybrowser/jquery.qrc b/examples/webkit/fancybrowser/jquery.qrc
new file mode 100644
index 0000000..1022d68
--- /dev/null
+++ b/examples/webkit/fancybrowser/jquery.qrc
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/" >
+ <file>jquery.min.js</file>
+ </qresource>
+</RCC>
diff --git a/util/install/win/uninstaller/uninstallimpl.h b/examples/webkit/fancybrowser/main.cpp
index b3bff36..5936469 100644
--- a/util/install/win/uninstaller/uninstallimpl.h
+++ b/examples/webkit/fancybrowser/main.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Qt Software Information (qt-info@nokia.com)
**
-** This file is part of the utils of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -38,17 +38,14 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include "uninstall.h"
-class UninstallDlgImpl : public UninstallDlg
+#include <QtGui>
+#include "mainwindow.h"
+
+int main(int argc, char * argv[])
{
- Q_OBJECT
-public:
- UninstallDlgImpl( QWidget* parent = 0, const char* name = 0, bool modal = false, WindowFlags fl = 0 );
- ~UninstallDlgImpl();
-public slots:
- void cleanRegistry();
-private:
- void cleanRegistryHelper( const QString& key );
-
-};
+ QApplication app(argc, argv);
+ MainWindow *browser = new MainWindow;
+ browser->show();
+ return app.exec();
+}
diff --git a/examples/webkit/fancybrowser/mainwindow.cpp b/examples/webkit/fancybrowser/mainwindow.cpp
new file mode 100644
index 0000000..bf61f9c
--- /dev/null
+++ b/examples/webkit/fancybrowser/mainwindow.cpp
@@ -0,0 +1,167 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (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 either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+#include <QtWebKit>
+#include "mainwindow.h"
+
+MainWindow::MainWindow()
+{
+ progress = 0;
+
+ QFile file;
+ file.setFileName(":/jquery.min.js");
+ file.open(QIODevice::ReadOnly);
+ jQuery = file.readAll();
+ file.close();
+
+ view = new QWebView(this);
+ view->load(QUrl("http://www.google.com/ncr"));
+ connect(view, SIGNAL(loadFinished(bool)), SLOT(adjustLocation()));
+ connect(view, SIGNAL(titleChanged(const QString&)), SLOT(adjustTitle()));
+ connect(view, SIGNAL(loadProgress(int)), SLOT(setProgress(int)));
+ connect(view, SIGNAL(loadFinished(bool)), SLOT(finishLoading(bool)));
+
+ locationEdit = new QLineEdit(this);
+ locationEdit->setSizePolicy(QSizePolicy::Expanding, locationEdit->sizePolicy().verticalPolicy());
+ connect(locationEdit, SIGNAL(returnPressed()), SLOT(changeLocation()));
+
+ QToolBar *toolBar = addToolBar(tr("Navigation"));
+ toolBar->addAction(view->pageAction(QWebPage::Back));
+ toolBar->addAction(view->pageAction(QWebPage::Forward));
+ toolBar->addAction(view->pageAction(QWebPage::Reload));
+ toolBar->addAction(view->pageAction(QWebPage::Stop));
+ toolBar->addWidget(locationEdit);
+
+ QMenu *effectMenu = menuBar()->addMenu(tr("&Effect"));
+ effectMenu->addAction("Highlight all links", this, SLOT(highlightAllLinks()));
+
+ QAction *rotateAction = new QAction(this);
+ rotateAction->setIcon(style()->standardIcon(QStyle::SP_FileDialogDetailedView));
+ rotateAction->setCheckable(true);
+ rotateAction->setText(tr("Turn images upside down"));
+ connect(rotateAction, SIGNAL(toggled(bool)), this, SLOT(rotateImages(bool)));
+ effectMenu->addAction(rotateAction);
+
+ QMenu *toolsMenu = menuBar()->addMenu(tr("&Tools"));
+ toolsMenu->addAction(tr("Remove GIF images"), this, SLOT(removeGifImages()));
+ toolsMenu->addAction(tr("Remove all inline frames"), this, SLOT(removeInlineFrames()));
+ toolsMenu->addAction(tr("Remove all object elements"), this, SLOT(removeObjectElements()));
+ toolsMenu->addAction(tr("Remove all embedded elements"), this, SLOT(removeEmbeddedElements()));
+
+ setCentralWidget(view);
+}
+
+void MainWindow::adjustLocation()
+{
+ locationEdit->setText(view->url().toString());
+}
+
+void MainWindow::changeLocation()
+{
+ QUrl url = QUrl(locationEdit->text());
+ locationEdit->setText(url.toString());
+ view->load(url);
+ view->setFocus();
+}
+
+void MainWindow::adjustTitle()
+{
+ if (progress <= 0 || progress >= 100)
+ setWindowTitle(view->title());
+ else
+ setWindowTitle(QString("%1 (%2%)").arg(view->title()).arg(progress));
+}
+
+void MainWindow::setProgress(int p)
+{
+ progress = p;
+ adjustTitle();
+}
+
+void MainWindow::finishLoading(bool)
+{
+ progress = 100;
+ adjustTitle();
+ view->page()->mainFrame()->evaluateJavaScript(jQuery);
+}
+
+void MainWindow::highlightAllLinks()
+{
+ QString code = "$('a').each( function () { $(this).css('background-color', 'yellow') } )";
+ view->page()->mainFrame()->evaluateJavaScript(code);
+}
+
+void MainWindow::rotateImages(bool toggle)
+{
+ QString code = "$('img').each( function () { $(this).css('-webkit-transition', '-webkit-transform 2s') } )";
+ view->page()->mainFrame()->evaluateJavaScript(code);
+ if (toggle)
+ code = "$('img').each( function () { $(this).css('-webkit-transform', 'rotate(180deg)') } )";
+ else
+ code = "$('img').each( function () { $(this).css('-webkit-transform', 'rotate(0deg)') } )";
+ view->page()->mainFrame()->evaluateJavaScript(code);
+}
+
+void MainWindow::removeGifImages()
+{
+ QString code = "$('[src*=gif]').remove()";
+ view->page()->mainFrame()->evaluateJavaScript(code);
+}
+
+void MainWindow::removeInlineFrames()
+{
+ QString code = "$('iframe').remove()";
+ view->page()->mainFrame()->evaluateJavaScript(code);
+}
+
+void MainWindow::removeObjectElements()
+{
+ QString code = "$('object').remove()";
+ view->page()->mainFrame()->evaluateJavaScript(code);
+}
+
+void MainWindow::removeEmbeddedElements()
+{
+ QString code = "$('embed').remove()";
+ view->page()->mainFrame()->evaluateJavaScript(code);
+}
+
diff --git a/util/install/win/dialogs/folderdlgimpl.h b/examples/webkit/fancybrowser/mainwindow.h
index 25e13b5..9362ca7 100644
--- a/util/install/win/dialogs/folderdlgimpl.h
+++ b/examples/webkit/fancybrowser/mainwindow.h
@@ -3,7 +3,7 @@
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Qt Software Information (qt-info@nokia.com)
**
-** This file is part of the utils of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -38,28 +38,39 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef FOLDERDLGIMPL_H
-#define FOLDERDLGIMPL_H
-#include "folderdlg.h"
+#include <QMainWindow>
-class WinShell;
+QT_BEGIN_NAMESPACE
+class QWebView;
+class QLineEdit;
+QT_END_NAMESPACE
-class FolderDlgImpl : public FolderDlg
+class MainWindow : public QMainWindow
{
Q_OBJECT
+
public:
- FolderDlgImpl( QWidget* parent = NULL, const char* name = NULL, bool modal = false, WindowFlags f = 0 );
+ MainWindow();
+
+protected slots:
- void setup( QString, QString );
+ void adjustLocation();
+ void changeLocation();
+ void adjustTitle();
+ void setProgress(int p);
+ void finishLoading(bool);
- virtual void expandedDir( QListViewItem* );
- virtual void collapsedDir( QListViewItem* );
- virtual void selectedDir( QListViewItem* );
+ void highlightAllLinks();
+ void rotateImages(bool toggle);
+ void removeGifImages();
+ void removeInlineFrames();
+ void removeObjectElements();
+ void removeEmbeddedElements();
- QString getFolderName();
private:
- void ScanFolder( QString folderPath, QListViewItem* parent );
+ QString jQuery;
+ QWebView *view;
+ QLineEdit *locationEdit;
+ int progress;
};
-
-#endif // FOLDERDLGIMPL_H
diff --git a/examples/webkit/googlechat/form.ui b/examples/webkit/googlechat/form.ui
new file mode 100644
index 0000000..3b9fb82
--- /dev/null
+++ b/examples/webkit/googlechat/form.ui
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>286</width>
+ <height>413</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Google Talk Client</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QStackedWidget" name="stackedWidget">
+ <property name="currentIndex">
+ <number>1</number>
+ </property>
+ <widget class="QWidget" name="page_3">
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <spacer name="verticalSpacer_4">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>170</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="statusLabel">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="progressBar">
+ <property name="value">
+ <number>24</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_5">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>169</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="page">
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <spacer name="verticalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>119</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="userNameLabel">
+ <property name="text">
+ <string>Google username:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="userNameEdit"/>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>17</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="passwordLabel">
+ <property name="text">
+ <string>Password:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="passwordEdit">
+ <property name="echoMode">
+ <enum>QLineEdit::Password</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>118</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="loginButton">
+ <property name="text">
+ <string>Login</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="page_2">
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QWebView" name="webView">
+ <property name="url">
+ <url>
+ <string>about:blank</string>
+ </url>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>QWebView</class>
+ <extends>QWidget</extends>
+ <header>QtWebKit/QWebView</header>
+ </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/examples/webkit/googlechat/googlechat.cpp b/examples/webkit/googlechat/googlechat.cpp
new file mode 100644
index 0000000..9ac2cd2
--- /dev/null
+++ b/examples/webkit/googlechat/googlechat.cpp
@@ -0,0 +1,163 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (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 either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+#include <QtWebKit>
+
+#include "googlechat.h"
+
+#define GOOGLECHAT_URL "http://talkgadget.google.com/talkgadget/m"
+
+GoogleChat::GoogleChat(): QWidget() {
+ form.setupUi(this);
+ setFixedSize(320, 480);
+
+ form.userNameEdit->setFocus();
+ connect(form.userNameEdit, SIGNAL(textChanged(QString)), SLOT(adjustLoginButton()));
+ connect(form.userNameEdit, SIGNAL(returnPressed()), SLOT(inputPassword()));
+
+ connect(form.passwordEdit, SIGNAL(textChanged(QString)), SLOT(adjustLoginButton()));
+ connect(form.passwordEdit, SIGNAL(returnPressed()), SLOT(doLogin()));
+
+ form.loginButton->setEnabled(false);
+ connect(form.loginButton, SIGNAL(clicked()), SLOT(doLogin()));
+
+ connect(form.webView, SIGNAL(loadFinished(bool)), SLOT(initialPage(bool)));
+ connect(form.webView, SIGNAL(loadProgress(int)),
+ form.progressBar, SLOT(setValue(int)));
+ form.webView->setUrl((QUrl(GOOGLECHAT_URL)));
+ form.webView->setContextMenuPolicy(Qt::PreventContextMenu);
+
+ showStatus("Wait...");
+}
+
+void GoogleChat::showStatus(const QString &msg) {
+ form.statusLabel->setText(msg);
+ form.stackedWidget->setCurrentIndex(0);
+}
+
+void GoogleChat::showError(const QString &msg) {
+ form.progressBar->hide();
+ showStatus(QString("Error: %1").arg(msg));
+}
+
+QString GoogleChat::evalJS(const QString &js) {
+ QWebFrame *frame = form.webView->page()->mainFrame();
+ return frame->evaluateJavaScript(js).toString();
+}
+
+void GoogleChat::adjustLoginButton() {
+ userName = form.userNameEdit->text();
+ password = form.passwordEdit->text();
+ bool ok = !userName.isEmpty() && !password.isEmpty();
+ form.loginButton->setEnabled(ok);
+}
+
+void GoogleChat::inputPassword() {
+ if (!form.userNameEdit->text().isEmpty())
+ form.passwordEdit->setFocus();
+}
+
+void GoogleChat::doLogin() {
+ userName = form.userNameEdit->text();
+ password = form.passwordEdit->text();
+ bool ok = !userName.isEmpty() && !password.isEmpty();
+ if (!ok)
+ return;
+
+ form.progressBar->setValue(0);
+ form.progressBar->show();
+ connect(form.webView, SIGNAL(loadFinished(bool)), SLOT(loginPage(bool)));
+ connect(form.webView, SIGNAL(loadProgress(int)),
+ form.progressBar, SLOT(setValue(int)));
+ showStatus("Logging in...");
+
+ QString userEmail = userName + "@gmail.com";
+ evalJS(QString("document.getElementById('Email').value = \"%1\";").arg(userEmail));
+ evalJS(QString("document.getElementById('Passwd').value = \"%1\";").arg(password));
+ evalJS("document.getElementById('gaia_loginform').submit();");
+}
+
+void GoogleChat::initialPage(bool ok) {
+ if (ok) {
+ QString s1 = evalJS("document.getElementById('Email').name");
+ QString s2 = evalJS("document.getElementById('Passwd').name");
+ QString s3 = evalJS("document.getElementById('gaia_loginform').id");
+ if (s1 == "Email" && s2 == "Passwd" && s3 == "gaia_loginform") {
+ form.stackedWidget->setCurrentIndex(1);
+ form.webView->disconnect();
+ return;
+ }
+ }
+
+ showError("SERVICE unavailable.");
+}
+
+void GoogleChat::hideElements()
+{
+ evalJS("var e = document.getElementsByClassName('footer-footer')[0]; e.parentElement.removeChild(e)");
+ evalJS("var e = document.getElementsByClassName('title-bar-bg title-bar')[0]; e.parentElement.removeChild(e)");
+ QTimer::singleShot(2000, this, SLOT(hideElements()));
+}
+
+void GoogleChat::loginPage(bool ok) {
+ QString location = form.webView->url().toString();
+ if (!ok) {
+ if (location.indexOf("CheckCookie"))
+ return;
+ showError("Service unavailable");
+ } else {
+ // check for any error message
+ QString c = evalJS("document.getElementsByClassName('errormsg').length");
+ if (c == "0") {
+ form.stackedWidget->setCurrentIndex(2);
+ QTimer::singleShot(500, this, SLOT(hideElements()));
+ return;
+ }
+
+ QString err = "Unknown login failure.";
+ if (c == "1") {
+ err = evalJS("document.getElementsByClassName('errormsg')[0].textContent");
+ err = err.simplified();
+ }
+ showError(err);
+ }
+}
diff --git a/util/install/mac/licensedlgimpl.cpp b/examples/webkit/googlechat/googlechat.h
index ed2998a..c92632c 100644
--- a/util/install/mac/licensedlgimpl.cpp
+++ b/examples/webkit/googlechat/googlechat.h
@@ -3,7 +3,7 @@
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Qt Software Information (qt-info@nokia.com)
**
-** This file is part of the utils of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -38,28 +38,34 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include "licensedlgimpl.h"
-#include <qfile.h>
-#include <qtextview.h>
-LicenseDialogImpl::LicenseDialogImpl( QWidget *parent )
- : LicenseDialog( parent )
-{
-}
+#include <QWidget>
+
+#include "ui_form.h"
-bool LicenseDialogImpl::showLicense( bool licenseUs )
+class GoogleChat: public QWidget
{
- QFile f;
- QString path = "qt-mac-commercial-3.0.0.app/Contents/Qt/LICENSE";
- if (licenseUs)
- path.append( "-US" );
- f.setName( path );
- if ( !f.open( IO_ReadOnly ) )
- return false;
-
- QTextStream ts( &f );
- licenseText->setText( ts.read() );
- return true;
-}
+ Q_OBJECT
+
+public:
+ GoogleChat();
+
+protected:
+ void showStatus(const QString &msg);
+ void showError(const QString &msg);
+ QString evalJS(const QString &js);
+
+private slots:
+ void adjustLoginButton();
+ void inputPassword();
+ void doLogin();
+ void initialPage(bool ok);
+ void loginPage(bool ok);
+ void hideElements();
+private:
+ Ui::Form form;
+ QString userName;
+ QString password;
+};
diff --git a/examples/webkit/googlechat/googlechat.pro b/examples/webkit/googlechat/googlechat.pro
new file mode 100644
index 0000000..14b7085
--- /dev/null
+++ b/examples/webkit/googlechat/googlechat.pro
@@ -0,0 +1,11 @@
+QT += webkit
+HEADERS = googlechat.h
+SOURCES = main.cpp \
+ googlechat.cpp
+FORMS = form.ui
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/webkit/googlechat
+sources.files = $$SOURCES $$HEADERS $$FORMS *.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/webkit/googlechat
+INSTALLS += target sources
diff --git a/util/install/win/archive.h b/examples/webkit/googlechat/main.cpp
index d470a27..26feeea 100644
--- a/util/install/win/archive.h
+++ b/examples/webkit/googlechat/main.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Qt Software Information (qt-info@nokia.com)
**
-** This file is part of the utils of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -38,12 +38,14 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef ARCHIVE_H
-#define ARCHIVE_H
-#include <qstring.h>
-#include "resource.h"
+#include <QtGui>
+#include "googlechat.h"
-bool addArchive( const QString &name );
-
-#endif
+int main(int argc, char * argv[])
+{
+ QApplication app(argc, argv);
+ GoogleChat *chat = new GoogleChat;
+ chat->show();
+ return app.exec();
+}
diff --git a/examples/webkit/webkit.pro b/examples/webkit/webkit.pro
index 3777eec..225816a 100644
--- a/examples/webkit/webkit.pro
+++ b/examples/webkit/webkit.pro
@@ -1,6 +1,8 @@
TEMPLATE = subdirs
SUBDIRS += formextractor \
- previewer
+ previewer \
+ fancybrowser \
+ googlechat
# install
target.path = $$[QT_INSTALL_EXAMPLES]/webkit
diff --git a/mkspecs/common/mac-g++.conf b/mkspecs/common/mac-g++.conf
index b764b26..eaae1aa 100644
--- a/mkspecs/common/mac-g++.conf
+++ b/mkspecs/common/mac-g++.conf
@@ -46,10 +46,10 @@ QMAKE_CXXFLAGS_DWARF2 += $$QMAKE_CFLAGS_DWARF2
QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
-QMAKE_LINK = g++
-QMAKE_LINK_SHLIB = g++
-QMAKE_LINK_C = gcc
-QMAKE_LINK_C_SHLIB = gcc
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_LINK_SHLIB = $$QMAKE_CXX
+QMAKE_LINK_C = $$QMAKE_CC
+QMAKE_LINK_C_SHLIB = $$QMAKE_CC
QMAKE_LFLAGS += -headerpad_max_install_names
QMAKE_LFLAGS_RELEASE +=
QMAKE_LFLAGS_DEBUG +=
diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf
index 7c4ff28..60508c8 100644
--- a/mkspecs/features/moc.prf
+++ b/mkspecs/features/moc.prf
@@ -47,7 +47,12 @@ win32:count($$list($$INCPATH), 40, >) {
defineReplace(mocCmd) {
!isEmpty(WIN_INCLUDETEMP) {
- return($$QMAKE_MOC $(DEFINES) @$$WIN_INCLUDETEMP $$join(QMAKE_COMPILER_DEFINES, " -D", -D) $$1 -o $$2)
+ RET =
+ if(contains(TEMPLATE, "vc.*")|contains(TEMPLATE_PREFIX, "vc")) {
+ RET += $$mocinclude.commands
+ }
+ RET += $$QMAKE_MOC $(DEFINES) @$$WIN_INCLUDETEMP $$join(QMAKE_COMPILER_DEFINES, " -D", -D) $$1 -o $$2
+ return($$RET)
}
return($$QMAKE_MOC $(DEFINES) $(INCPATH) $$join(QMAKE_COMPILER_DEFINES, " -D", -D) $$1 -o $$2)
}
diff --git a/mkspecs/features/uic.prf b/mkspecs/features/uic.prf
index 0c7fb1b..d2985f9 100644
--- a/mkspecs/features/uic.prf
+++ b/mkspecs/features/uic.prf
@@ -34,10 +34,12 @@ isEmpty(QMAKE_MOD_UIC):QMAKE_MOD_UIC = ui_
INCREDIBUILD_XGE += uic
}
-ui_dir_short = $$UI_HEADERS_DIR
-win32:ui_dir_short ~= s,^.:,/,
-contains(ui_dir_short, ^[/\\\\].*):INCLUDEPATH += $$UI_HEADERS_DIR
-else:INCLUDEPATH += $$OUT_PWD/$$UI_HEADERS_DIR
+!isEmpty(FORMS)|!isEmpty(FORMS3) {
+ ui_dir_short = $$UI_HEADERS_DIR
+ win32:ui_dir_short ~= s,^.:,/,
+ contains(ui_dir_short, ^[/\\\\].*):INCLUDEPATH += $$UI_HEADERS_DIR
+ else:INCLUDEPATH += $$OUT_PWD/$$UI_HEADERS_DIR
+}
# Backwards compatibility: Make shadow builds with default UI_DIR work
# if the user did not add the source dir explicitly.
diff --git a/mkspecs/macx-g++/qmake.conf b/mkspecs/macx-g++/qmake.conf
index 64ef801..4355073 100644
--- a/mkspecs/macx-g++/qmake.conf
+++ b/mkspecs/macx-g++/qmake.conf
@@ -12,9 +12,9 @@ CONFIG += qt warn_on release app_bundle incremental global_init_link_order lib
QT += core gui
QMAKE_INCREMENTAL_STYLE = sublib
-include(../common/mac-g++.conf)
-
QMAKE_CC = gcc
QMAKE_CXX = g++
+include(../common/mac-g++.conf)
+
load(qt_config)
diff --git a/mkspecs/macx-g++42/qmake.conf b/mkspecs/macx-g++42/qmake.conf
index e6a3120..06bbdcb 100644
--- a/mkspecs/macx-g++42/qmake.conf
+++ b/mkspecs/macx-g++42/qmake.conf
@@ -12,10 +12,9 @@ CONFIG += qt warn_on release app_bundle incremental global_init_link_order lib
QT += core gui
QMAKE_INCREMENTAL_STYLE = sublib
-include(../common/mac-g++.conf)
-
-
QMAKE_CC = gcc-4.2
QMAKE_CXX = g++-4.2
+include(../common/mac-g++.conf)
+
load(qt_config)
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
index 60a27be..87f55cf 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -432,9 +432,21 @@ void Win32MakefileGenerator::processRcFileVar()
writeRcFile = rcFile.readAll() != rcString;
rcFile.close();
}
- if (writeRcFile && rcFile.open(QFile::WriteOnly)) {
- rcFile.write(rcString);
- rcFile.close();
+ if (writeRcFile) {
+ bool ok;
+ ok = rcFile.open(QFile::WriteOnly);
+ if (!ok) {
+ // The file can't be opened... try creating the containing
+ // directory first (needed for clean shadow builds)
+ QDir().mkpath(QFileInfo(rcFile).path());
+ ok = rcFile.open(QFile::WriteOnly);
+ }
+ if (!ok) {
+ ::fprintf(stderr, "Cannot open for writing: %s", rcFile.fileName().toLatin1().constData());
+ ::exit(1);
+ }
+ rcFile.write(rcString);
+ rcFile.close();
}
if (project->values("QMAKE_WRITE_DEFAULT_RC").isEmpty())
project->values("RC_FILE").insert(0, rcFile.fileName());
diff --git a/qmake/project.cpp b/qmake/project.cpp
index eef32db..00bb2f0 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -57,7 +57,7 @@
#include <unistd.h>
#include <sys/utsname.h>
#elif defined(Q_OS_WIN32)
-#include <Windows.h>
+#include <windows.h>
#endif
#include <stdio.h>
#include <stdlib.h>
diff --git a/src/3rdparty/README b/src/3rdparty/README
index 2be1036..ef05674 100644
--- a/src/3rdparty/README
+++ b/src/3rdparty/README
@@ -20,3 +20,8 @@ have been removed:
Some patches are applied from time to time. Recent patches can be
found in the patches subdirectory.
+
+
+The pvr2d.h & wsegl.h in the powervr directory are required for building
+the PowerVR plugin on Qt for Embedded Linux. These headers are for SGX
+based SoCs, but may also work on MBX SoCs.
diff --git a/src/3rdparty/phonon/ds9/mediaobject.cpp b/src/3rdparty/phonon/ds9/mediaobject.cpp
index 93a19b0..1d0b69d 100644
--- a/src/3rdparty/phonon/ds9/mediaobject.cpp
+++ b/src/3rdparty/phonon/ds9/mediaobject.cpp
@@ -519,6 +519,15 @@ namespace Phonon
qSwap(m_graphs[0], m_graphs[1]); //swap the graphs
+ if (currentGraph()->mediaSource().type() != Phonon::MediaSource::Invalid &&
+ catchComError(currentGraph()->renderResult())) {
+ setState(Phonon::ErrorState);
+ return;
+ }
+
+ //we need to play the next media
+ play();
+
//we tell the video widgets to switch now to the new source
#ifndef QT_NO_PHONON_VIDEO
for (int i = 0; i < m_videoWidgets.count(); ++i) {
@@ -527,15 +536,6 @@ namespace Phonon
#endif //QT_NO_PHONON_VIDEO
emit currentSourceChanged(currentGraph()->mediaSource());
-
- if (currentGraph()->isLoading()) {
- //will simply tell that when loading is finished
- //it should start the playback
- play();
- }
-
-
-
emit metaDataChanged(currentGraph()->metadata());
if (nextGraph()->hasVideo() != currentGraph()->hasVideo()) {
@@ -548,15 +548,6 @@ namespace Phonon
#ifndef QT_NO_PHONON_MEDIACONTROLLER
setTitles(currentGraph()->titles());
#endif //QT_NO_PHONON_MEDIACONTROLLER
-
- //this manages only gapless transitions
- if (currentGraph()->mediaSource().type() != Phonon::MediaSource::Invalid) {
- if (catchComError(currentGraph()->renderResult())) {
- setState(Phonon::ErrorState);
- } else {
- play();
- }
- }
}
Phonon::State MediaObject::state() const
diff --git a/src/3rdparty/phonon/phonon/phononnamespace.h b/src/3rdparty/phonon/phonon/phononnamespace.h
index 0bbf4f4..2492ee6 100644
--- a/src/3rdparty/phonon/phonon/phononnamespace.h
+++ b/src/3rdparty/phonon/phonon/phononnamespace.h
@@ -25,6 +25,11 @@
#include "phonon_export.h"
+#ifdef __QT_SYNCQT__
+// Tell syncqt to create a "Global" header here
+#pragma qt_class(Phonon::Global)
+#endif
+
/**
* Helper macro that can be used like
* \code
diff --git a/src/3rdparty/powervr/pvr2d.h b/src/3rdparty/powervr/pvr2d.h
new file mode 100644
index 0000000..07f28c7
--- /dev/null
+++ b/src/3rdparty/powervr/pvr2d.h
@@ -0,0 +1,502 @@
+/*!****************************************************************************
+@File pvr2d.h
+@Title PVR2D external header file
+@Author Imagination Technologies
+@Copyright Copyright (c) by Imagination Technologies Limited.
+ This specification is protected by copyright laws and contains
+ material proprietary to Imagination Technologies Limited.
+ You may use and distribute this specification free of charge for implementing
+ the functionality therein, without altering or removing any trademark, copyright,
+ or other notice from the specification.
+@Platform Generic
+@Description PVR2D definitions for PVR2D clients
+******************************************************************************/
+
+
+/******************************************************************************
+Modifications :-
+$Log: pvr2d.h $
+******************************************************************************/
+
+#ifndef _PVR2D_H_
+#define _PVR2D_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* PVR2D Platform-specific definitions */
+#define PVR2D_EXPORT
+#define PVR2D_IMPORT
+
+
+#define PVR2D_REV_MAJOR 2
+#define PVR2D_REV_MINOR 1
+
+typedef enum
+{
+ PVR2D_FALSE = 0,
+ PVR2D_TRUE
+} PVR2D_BOOL;
+
+
+/* error codes */
+typedef enum
+{
+ PVR2D_OK = 0,
+ PVR2DERROR_INVALID_PARAMETER = -1,
+ PVR2DERROR_DEVICE_UNAVAILABLE = -2,
+ PVR2DERROR_INVALID_CONTEXT = -3,
+ PVR2DERROR_MEMORY_UNAVAILABLE = -4,
+ PVR2DERROR_DEVICE_NOT_PRESENT = -5,
+ PVR2DERROR_IOCTL_ERROR = -6,
+ PVR2DERROR_GENERIC_ERROR = -7,
+ PVR2DERROR_BLT_NOTCOMPLETE = -8,
+ PVR2DERROR_HW_FEATURE_NOT_SUPPORTED = -9,
+ PVR2DERROR_NOT_YET_IMPLEMENTED = -10,
+ PVR2DERROR_MAPPING_FAILED = -11
+}PVR2DERROR;
+
+
+/* pixel formats */
+typedef enum
+{
+ PVR2D_1BPP = 0,
+ PVR2D_RGB565,
+ PVR2D_ARGB4444,
+ PVR2D_RGB888,
+ PVR2D_ARGB8888,
+ PVR2D_ARGB1555,
+ PVR2D_ALPHA8,
+ PVR2D_ALPHA4,
+ PVR2D_PAL2,
+ PVR2D_PAL4,
+ PVR2D_PAL8,
+ PVR2D_VGAEMU
+
+}PVR2DFORMAT;
+
+
+/* wrap surface type */
+typedef enum
+{
+ PVR2D_WRAPFLAG_NONCONTIGUOUS = 0,
+ PVR2D_WRAPFLAG_CONTIGUOUS = 1,
+
+}PVR2DWRAPFLAGS;
+
+/* flags for control information of additional blits */
+typedef enum
+{
+ PVR2D_BLIT_DISABLE_ALL = 0x0000, /* disable all additional controls */
+ PVR2D_BLIT_CK_ENABLE = 0x0001, /* enable colour key */
+ PVR2D_BLIT_GLOBAL_ALPHA_ENABLE = 0x0002, /* enable standard global alpha */
+ PVR2D_BLIT_PERPIXEL_ALPHABLEND_ENABLE = 0x0004, /* enable per-pixel alpha bleding */
+ PVR2D_BLIT_PAT_SURFACE_ENABLE = 0x0008, /* enable pattern surf (disable fill) */
+ PVR2D_BLIT_FULLY_SPECIFIED_ALPHA_ENABLE = 0x0010, /* enable fully specified alpha */
+ PVR2D_BLIT_ROT_90 = 0x0020, /* apply 90 degree rotation to the blt */
+ PVR2D_BLIT_ROT_180 = 0x0040, /* apply 180 degree rotation to the blt */
+ PVR2D_BLIT_ROT_270 = 0x0080, /* apply 270 degree rotation to the blt */
+ PVR2D_BLIT_COPYORDER_TL2BR = 0x0100, /* copy order overrides */
+ PVR2D_BLIT_COPYORDER_BR2TL = 0x0200,
+ PVR2D_BLIT_COPYORDER_TR2BL = 0x0400,
+ PVR2D_BLIT_COPYORDER_BL2TR = 0x0800,
+ PVR2D_BLIT_COLKEY_SOURCE = 0x1000, /* Key colour is on the source surface */
+ PVR2D_BLIT_COLKEY_DEST = 0x2000 /* Key colour is on the destination surface */
+
+} PVR2DBLITFLAGS;
+
+/* standard alpha-blending functions, AlphaBlendingFunc field of PVR2DBLTINFO */
+typedef enum
+{
+ PVR2D_ALPHA_OP_SRC_DSTINV = 1, /* source alpha : Cdst = Csrc*Asrc + Cdst*(1-Asrc) */
+ PVR2D_ALPHA_OP_SRCP_DSTINV = 2 /* premultiplied source alpha : Cdst = Csrc + Cdst*(1-Asrc) */
+} PVR2D_ALPHABLENDFUNC;
+
+/* blend ops for fully specified alpha */
+typedef enum
+{
+ PVR2D_BLEND_OP_ZERO = 0,
+ PVR2D_BLEND_OP_ONE = 1,
+ PVR2D_BLEND_OP_SRC = 2,
+ PVR2D_BLEND_OP_DST = 3,
+ PVR2D_BLEND_OP_GLOBAL = 4,
+ PVR2D_BLEND_OP_SRC_PLUS_GLOBAL = 5,
+ PVR2D_BLEND_OP_DST_PLUS_GLOBAL = 6
+}PVR2D_BLEND_OP;
+
+
+typedef void* PVR2D_HANDLE;
+
+
+/* Fully specified alpha blend : pAlpha field of PVR2DBLTINFO structure */
+/* a fully specified Alpha Blend operation is defined as */
+/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (ALPHA_3 * DST (ALPHA)) */
+/* DST (RGB) = (ALPHA_2 * SRC (RGB)) + (ALPHA_4 * DST (RGB)) */
+/* if the pre-multiplication stage is enabled then the equations become the following: */
+/* PRE_MUL = ((SRC(A)) * (Global Alpha Value)) */
+/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (PRE_MUL * DST (ALPHA)) */
+/* DST (RGB) = (ALPHA_2 * SRC (RGB)) + (PRE_MUL * DST (RGB)) */
+/* if the transparent source alpha stage is enabled then a source alpha of zero forces the */
+/* source to be transparent for that pixel regardless of the blend equation being used. */
+typedef struct _PVR2D_ALPHABLT
+{
+ PVR2D_BLEND_OP eAlpha1;
+ PVR2D_BOOL bAlpha1Invert;
+ PVR2D_BLEND_OP eAlpha2;
+ PVR2D_BOOL bAlpha2Invert;
+ PVR2D_BLEND_OP eAlpha3;
+ PVR2D_BOOL bAlpha3Invert;
+ PVR2D_BLEND_OP eAlpha4;
+ PVR2D_BOOL bAlpha4Invert;
+ PVR2D_BOOL bPremulAlpha; /* enable pre-multiplication stage */
+ PVR2D_BOOL bTransAlpha; /* enable transparent source alpha stage */
+ PVR2D_BOOL bUpdateAlphaLookup; /* enable and update the 1555-Lookup alpha table */
+ unsigned char uAlphaLookup0; /* 8 bit alpha when A=0 in a 1555-Lookup surface */
+ unsigned char uAlphaLookup1; /* 8 bit alpha when A=1 in a 1555-Lookup surface */
+ unsigned char uGlobalRGB; /* Global Alpha Value for RGB, 0=transparent 255=opaque */
+ unsigned char uGlobalA; /* Global Alpha Value for Alpha */
+
+} PVR2D_ALPHABLT, *PPVR2D_ALPHABLT;
+
+
+/* surface memory info structure */
+typedef struct _PVR2DMEMINFO
+{
+ void *pBase;
+ unsigned long ui32MemSize;
+ unsigned long ui32DevAddr;
+ unsigned long ulFlags;
+ void *hPrivateData;
+ void *hPrivateMapData;
+
+}PVR2DMEMINFO, *PPVR2DMEMINFO;
+
+
+#define PVR2D_MAX_DEVICE_NAME 20
+
+typedef struct _PVR2DDEVICEINFO
+{
+ unsigned long ulDevID;
+ char szDeviceName[PVR2D_MAX_DEVICE_NAME];
+}PVR2DDEVICEINFO;
+
+
+typedef struct _PVR2DISPLAYINFO
+{
+ unsigned long ulMaxFlipChains;
+ unsigned long ulMaxBuffersInChain;
+ PVR2DFORMAT eFormat;
+ unsigned long ulWidth;
+ unsigned long ulHeight;
+ long lStride;
+ unsigned long ulMinFlipInterval;
+ unsigned long ulMaxFlipInterval;
+
+}PVR2DDISPLAYINFO;
+
+
+typedef struct _PVR2DBLTINFO
+{
+ unsigned long CopyCode; /* rop code */
+ unsigned long Colour; /* fill colour */
+ unsigned long ColourKey; /* colour key */
+ unsigned char GlobalAlphaValue; /* global alpha blending */
+ unsigned char AlphaBlendingFunc; /* per-pixel alpha-blending function */
+
+ PVR2DBLITFLAGS BlitFlags; /* additional blit control information */
+
+ PVR2DMEMINFO *pDstMemInfo; /* destination memory */
+ unsigned long DstOffset; /* byte offset from start of allocation to destination surface pixel 0,0 */
+ long DstStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
+ long DstX, DstY; /* pixel offset from start of dest surface to start of blt rectangle */
+ long DSizeX,DSizeY; /* blt size */
+ PVR2DFORMAT DstFormat; /* dest format */
+ unsigned long DstSurfWidth; /* size of dest surface in pixels */
+ unsigned long DstSurfHeight; /* size of dest surface in pixels */
+
+ PVR2DMEMINFO *pSrcMemInfo; /* source mem, (source fields are also used for patterns) */
+ unsigned long SrcOffset; /* byte offset from start of allocation to src/pat surface pixel 0,0 */
+ long SrcStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
+ long SrcX, SrcY; /* pixel offset from start of surface to start of source rectangle */
+ /* for patterns this is the start offset within the pattern */
+ long SizeX,SizeY; /* source rectangle size or pattern size in pixels */
+ PVR2DFORMAT SrcFormat; /* source/pattern format */
+ PVR2DMEMINFO *pPalMemInfo; /* source/pattern palette memory containing argb8888 colour table */
+ unsigned long PalOffset; /* byte offset from start of allocation to start of palette */
+ unsigned long SrcSurfWidth; /* size of source surface in pixels */
+ unsigned long SrcSurfHeight; /* size of source surface in pixels */
+
+ PVR2DMEMINFO *pMaskMemInfo; /* mask memory, 1bpp format implied */
+ unsigned long MaskOffset; /* byte offset from start of allocation to mask surface pixel 0,0 */
+ long MaskStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */
+ long MaskX, MaskY; /* mask rect top left (mask size = blt size) */
+ unsigned long MaskSurfWidth; /* size of mask surface in pixels */
+ unsigned long MaskSurfHeight; /* size of mask surface in pixels */
+
+ PPVR2D_ALPHABLT pAlpha; /* fully specified alpha blend */
+
+}PVR2DBLTINFO, *PPVR2DBLTINFO;
+
+typedef struct _PVR2DRECT
+{
+ long left, top;
+ long right, bottom;
+} PVR2DRECT;
+
+typedef struct
+{
+ PVR2DMEMINFO *pSurfMemInfo; /* surface memory */
+ unsigned long SurfOffset; /* byte offset from start of allocation to destination surface pixel 0,0 */
+ long Stride; /* signed stride */
+ PVR2DFORMAT Format;
+ unsigned long SurfWidth; /* surface size in pixels */
+ unsigned long SurfHeight;
+
+} PVR2D_SURFACE, *PPVR2D_SURFACE;
+
+typedef struct
+{
+ unsigned long *pUseCode; /* USSE code */
+ unsigned long UseCodeSize; /* usse code size in bytes */
+
+} PVR2D_USECODE, *PPVR2D_USECODE;
+
+typedef struct
+{
+ PVR2D_SURFACE sDst; /* destination surface */
+ PVR2D_SURFACE sSrc; /* source surface */
+ PVR2DRECT rcDest; /* destination rectangle */
+ PVR2DRECT rcSource; /* source rectangle */
+ PVR2D_HANDLE hUseCode; /* custom USE code (NULL implies source copy) */
+ unsigned long UseParams[2]; /* per-blt params for use code */
+
+} PVR2D_3DBLT, *PPVR2D_3DBLT;
+
+
+#define MAKE_COPY_BLIT(src,soff,dest,doff,sx,sy,dx,dy,sz)
+
+typedef void* PVR2DCONTEXTHANDLE;
+typedef void* PVR2DFLIPCHAINHANDLE;
+
+
+// CopyCode field of PVR2DBLTINFO structure:
+// the CopyCode field of the PVR2DBLTINFO structure should contain a rop3 or rop4 code.
+// a rop3 is an 8 bit code that describes a blt with three inputs : source dest and pattern
+// rop4 is a 16 bit code that describes a blt with four inputs : source dest pattern and mask
+// common rop3 codes are defined below
+// a colour fill blt is processed in the pattern channel as a constant colour with a rop code of 0xF0
+// PVR2D_BLIT_PAT_SURFACE_ENABLE defines whether the pattern channel is a surface or a fill colour.
+// a rop4 is defined by two rop3 codes, and the 1 bit-per-pixel mask surface defines which is used.
+// a common rop4 is 0xAAF0 which is the mask copy blt used for text glyphs.
+// CopyCode is taken to be a rop4 when pMaskMemInfo is non zero, otherwise it is assumed to be a rop3
+// use the PVR2DMASKROP4 macro below to construct a rop4 from two rop3's
+// rop3a is the rop used when mask pixel = 1, and rop3b when mask = 0
+#define PVR2DROP4(rop3b, rop3a) ((rop3b<<8)|rop3a)
+
+/* common rop codes */
+#define PVR2DROPclear 0x00 /* 0 (whiteness) */
+#define PVR2DROPset 0xFF /* 1 (blackness) */
+#define PVR2DROPnoop 0xAA /* dst (used for masked blts) */
+
+/* source and dest rop codes */
+#define PVR2DROPand 0x88 /* src AND dst */
+#define PVR2DROPandReverse 0x44 /* src AND NOT dst */
+#define PVR2DROPcopy 0xCC /* src (used for source copy and alpha blts) */
+#define PVR2DROPandInverted 0x22 /* NOT src AND dst */
+#define PVR2DROPxor 0x66 /* src XOR dst */
+#define PVR2DROPor 0xEE /* src OR dst */
+#define PVR2DROPnor 0x11 /* NOT src AND NOT dst */
+#define PVR2DROPequiv 0x99 /* NOT src XOR dst */
+#define PVR2DROPinvert 0x55 /* NOT dst */
+#define PVR2DROPorReverse 0xDD /* src OR NOT dst */
+#define PVR2DROPcopyInverted 0x33 /* NOT src */
+#define PVR2DROPorInverted 0xBB /* NOT src OR dst */
+#define PVR2DROPnand 0x77 /* NOT src OR NOT dst */
+
+/* pattern rop codes */
+#define PVR2DPATROPand 0xA0 /* pat AND dst */
+#define PVR2DPATROPandReverse 0x50 /* pat AND NOT dst */
+#define PVR2DPATROPcopy 0xF0 /* pat (used for solid color fills and pattern blts) */
+#define PVR2DPATROPandInverted 0x0A /* NOT pat AND dst */
+#define PVR2DPATROPxor 0x5A /* pat XOR dst */
+#define PVR2DPATROPor 0xFA /* pat OR dst */
+#define PVR2DPATROPnor 0x05 /* NOT pat AND NOT dst */
+#define PVR2DPATROPequiv 0xA5 /* NOT pat XOR dst */
+#define PVR2DPATROPinvert 0x55 /* NOT dst */
+#define PVR2DPATROPorReverse 0xF5 /* pat OR NOT dst */
+#define PVR2DPATROPcopyInverted 0x0F /* NOT pat */
+#define PVR2DPATROPorInverted 0xAF /* NOT pat OR dst */
+#define PVR2DPATROPnand 0x5F /* NOT pat OR NOT dst */
+
+/* common rop4 codes */
+#define PVR2DROP4MaskedCopy PVR2DROP4(PVR2DROPnoop,PVR2DROPcopy) /* masked source copy blt (used for rounded window corners etc) */
+#define PVR2DROP4MaskedFill PVR2DROP4(PVR2DROPnoop,PVR2DPATROPcopy) /* masked colour fill blt (used for text) */
+
+/* Legacy support */
+#define PVR2DROP3_PATMASK PVR2DPATROPcopy
+#define PVR2DROP3_SRCMASK PVR2DROPcopy
+
+/* pixmap memory alignment */
+#define PVR2D_ALIGNMENT_4 4 /* DWORD alignment */
+#define PVR2D_ALIGNMENT_ANY 0 /* no alignment */
+#define PVR2D_ALIGNMENT_PALETTE 16 /* 16 byte alignment is required for palettes */
+
+/* Heap number for PVR2DGetFrameBuffer */
+#define PVR2D_FB_PRIMARY_SURFACE 0
+
+#define PVR2D_PRESENT_PROPERTY_SRCSTRIDE (1 << 0)
+#define PVR2D_PRESENT_PROPERTY_DSTSIZE (1 << 1)
+#define PVR2D_PRESENT_PROPERTY_DSTPOS (1 << 2)
+#define PVR2D_PRESENT_PROPERTY_CLIPRECTS (1 << 3)
+#define PVR2D_PRESENT_PROPERTY_INTERVAL (1 << 4)
+
+
+#define PVR2D_CREATE_FLIPCHAIN_SHARED (1 << 0)
+#define PVR2D_CREATE_FLIPCHAIN_QUERY (1 << 1)
+
+/* Functions that the library exports */
+
+PVR2D_IMPORT
+int PVR2DEnumerateDevices(PVR2DDEVICEINFO *pDevInfo);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DCreateDeviceContext(unsigned long ulDevID,
+ PVR2DCONTEXTHANDLE* phContext,
+ unsigned long ulFlags);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DDestroyDeviceContext(PVR2DCONTEXTHANDLE hContext);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DGetDeviceInfo(PVR2DCONTEXTHANDLE hContext,
+ PVR2DDISPLAYINFO *pDisplayInfo);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DGetScreenMode(PVR2DCONTEXTHANDLE hContext,
+ PVR2DFORMAT *pFormat,
+ long *plWidth,
+ long *plHeight,
+ long *plStride,
+ int *piRefreshRate);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DGetFrameBuffer(PVR2DCONTEXTHANDLE hContext,
+ int nHeap,
+ PVR2DMEMINFO **ppsMemInfo);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DMemAlloc(PVR2DCONTEXTHANDLE hContext,
+ unsigned long ulBytes,
+ unsigned long ulAlign,
+ unsigned long ulFlags,
+ PVR2DMEMINFO **ppsMemInfo);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DMemWrap(PVR2DCONTEXTHANDLE hContext,
+ void *pMem,
+ unsigned long ulFlags,
+ unsigned long ulBytes,
+ unsigned long alPageAddress[],
+ PVR2DMEMINFO **ppsMemInfo);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DMemMap(PVR2DCONTEXTHANDLE hContext,
+ unsigned long ulFlags,
+ void *hPrivateMapData,
+ PVR2DMEMINFO **ppsDstMem);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DMemFree(PVR2DCONTEXTHANDLE hContext,
+ PVR2DMEMINFO *psMemInfo);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DBlt(PVR2DCONTEXTHANDLE hContext,
+ PVR2DBLTINFO *pBltInfo);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DBltClipped(PVR2DCONTEXTHANDLE hContext,
+ PVR2DBLTINFO *pBltInfo,
+ unsigned long ulNumClipRects,
+ PVR2DRECT *pClipRects);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DQueryBlitsComplete(PVR2DCONTEXTHANDLE hContext,
+ PVR2DMEMINFO *pMemInfo,
+ unsigned int uiWaitForComplete);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DSetPresentBltProperties(PVR2DCONTEXTHANDLE hContext,
+ unsigned long ulPropertyMask,
+ long lSrcStride,
+ unsigned long ulDstWidth,
+ unsigned long ulDstHeight,
+ long lDstXPos,
+ long lDstYPos,
+ unsigned long ulNumClipRects,
+ PVR2DRECT *pClipRects,
+ unsigned long ulSwapInterval);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DPresentBlt(PVR2DCONTEXTHANDLE hContext,
+ PVR2DMEMINFO *pMemInfo,
+ long lRenderID);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DCreateFlipChain(PVR2DCONTEXTHANDLE hContext,
+ unsigned long ulFlags,
+ unsigned long ulNumBuffers,
+ unsigned long ulWidth,
+ unsigned long ulHeight,
+ PVR2DFORMAT eFormat,
+ long *plStride,
+ unsigned long *pulFlipChainID,
+ PVR2DFLIPCHAINHANDLE *phFlipChain);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DDestroyFlipChain(PVR2DCONTEXTHANDLE hContext,
+ PVR2DFLIPCHAINHANDLE hFlipChain);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DGetFlipChainBuffers(PVR2DCONTEXTHANDLE hContext,
+ PVR2DFLIPCHAINHANDLE hFlipChain,
+ unsigned long *pulNumBuffers,
+ PVR2DMEMINFO *psMemInfo[]);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DSetPresentFlipProperties(PVR2DCONTEXTHANDLE hContext,
+ PVR2DFLIPCHAINHANDLE hFlipChain,
+ unsigned long ulPropertyMask,
+ long lDstXPos,
+ long lDstYPos,
+ unsigned long ulNumClipRects,
+ PVR2DRECT *pClipRects,
+ unsigned long ulSwapInterval);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DPresentFlip(PVR2DCONTEXTHANDLE hContext,
+ PVR2DFLIPCHAINHANDLE hFlipChain,
+ PVR2DMEMINFO *psMemInfo,
+ long lRenderID);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DGetAPIRev(long *lRevMajor, long *lRevMinor);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DLoadUseCode (const PVR2DCONTEXTHANDLE hContext, const unsigned char *pUseCode,
+ const unsigned long UseCodeSize, PVR2D_HANDLE *pUseCodeHandle);
+PVR2D_IMPORT
+PVR2DERROR PVR2DFreeUseCode (const PVR2DCONTEXTHANDLE hContext, const PVR2D_HANDLE hUseCodeHandle);
+
+PVR2D_IMPORT
+PVR2DERROR PVR2DBlt3D (const PVR2DCONTEXTHANDLE hContext, const PPVR2D_3DBLT pBlt3D);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _PVR2D_H_ */
+
+/******************************************************************************
+ End of file (pvr2d.h)
+******************************************************************************/
diff --git a/src/3rdparty/powervr/wsegl.h b/src/3rdparty/powervr/wsegl.h
new file mode 100644
index 0000000..0490607
--- /dev/null
+++ b/src/3rdparty/powervr/wsegl.h
@@ -0,0 +1,240 @@
+/******************************************************************************
+ Name : wsegl.h
+ Copyright : Copyright (c) Imagination Technologies Limited.
+ This specification is protected by copyright laws and contains
+ material proprietary to Imagination Technologies Limited.
+ You may use and distribute this specification free of charge for implementing
+ the functionality therein, without altering or removing any trademark, copyright,
+ or other notice from the specification.
+ Platform : ANSI
+*****************************************************************************/
+
+
+#if !defined(__WSEGL_H__)
+#define __WSEGL_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+// WSEGL Platform-specific definitions
+*/
+#define WSEGL_EXPORT
+#define WSEGL_IMPORT
+
+/*
+// WSEGL API Version Number
+*/
+
+#define WSEGL_VERSION 1
+#define WSEGL_DEFAULT_DISPLAY 0
+#define WSEGL_DEFAULT_NATIVE_ENGINE 0
+
+#define WSEGL_FALSE 0
+#define WSEGL_TRUE 1
+#define WSEGL_NULL 0
+
+#define WSEGL_UNREFERENCED_PARAMETER(param) (param) = (param)
+
+/*
+// WSEGL handles
+*/
+typedef void *WSEGLDisplayHandle;
+typedef void *WSEGLDrawableHandle;
+
+/*
+// Display capability type
+*/
+typedef enum WSEGLCapsType_TAG
+{
+ WSEGL_NO_CAPS = 0,
+ WSEGL_CAP_MIN_SWAP_INTERVAL = 1, /* System default value = 1 */
+ WSEGL_CAP_MAX_SWAP_INTERVAL = 2, /* System default value = 1 */
+ WSEGL_CAP_WINDOWS_USE_HW_SYNC = 3, /* System default value = 0 (FALSE) */
+ WSEGL_CAP_PIXMAPS_USE_HW_SYNC = 4, /* System default value = 0 (FALSE) */
+
+} WSEGLCapsType;
+
+/*
+// Display capability
+*/
+typedef struct WSEGLCaps_TAG
+{
+ WSEGLCapsType eCapsType;
+ unsigned long ui32CapsValue;
+
+} WSEGLCaps;
+
+/*
+// Drawable type
+*/
+#define WSEGL_NO_DRAWABLE 0x0
+#define WSEGL_DRAWABLE_WINDOW 0x1
+#define WSEGL_DRAWABLE_PIXMAP 0x2
+
+
+/*
+// Pixel format of display/drawable
+*/
+typedef enum WSEGLPixelFormat_TAG
+{
+ WSEGL_PIXELFORMAT_565 = 0,
+ WSEGL_PIXELFORMAT_4444 = 1,
+ WSEGL_PIXELFORMAT_8888 = 2,
+ WSEGL_PIXELFORMAT_1555 = 3
+
+} WSEGLPixelFormat;
+
+/*
+// Transparent of display/drawable
+*/
+typedef enum WSEGLTransparentType_TAG
+{
+ WSEGL_OPAQUE = 0,
+ WSEGL_COLOR_KEY = 1,
+
+} WSEGLTransparentType;
+
+/*
+// Display/drawable configuration
+*/
+typedef struct WSEGLConfig_TAG
+{
+ /*
+ // Type of drawables this configuration applies to -
+ // OR'd values of drawable types.
+ */
+ unsigned long ui32DrawableType;
+
+ /* Pixel format */
+ WSEGLPixelFormat ePixelFormat;
+
+ /* Native Renderable - set to WSEGL_TRUE if native renderable */
+ unsigned long ulNativeRenderable;
+
+ /* FrameBuffer Level Parameter */
+ unsigned long ulFrameBufferLevel;
+
+ /* Native Visual ID */
+ unsigned long ulNativeVisualID;
+
+ /* Native Visual */
+ void *hNativeVisual;
+
+ /* Transparent Type */
+ WSEGLTransparentType eTransparentType;
+
+ /* Transparent Color - only used if transparent type is COLOR_KEY */
+ unsigned long ulTransparentColor; /* packed as 0x00RRGGBB */
+
+
+} WSEGLConfig;
+
+/*
+// WSEGL errors
+*/
+typedef enum WSEGLError_TAG
+{
+ WSEGL_SUCCESS = 0,
+ WSEGL_CANNOT_INITIALISE = 1,
+ WSEGL_BAD_NATIVE_DISPLAY = 2,
+ WSEGL_BAD_NATIVE_WINDOW = 3,
+ WSEGL_BAD_NATIVE_PIXMAP = 4,
+ WSEGL_BAD_NATIVE_ENGINE = 5,
+ WSEGL_BAD_DRAWABLE = 6,
+ WSEGL_BAD_CONFIG = 7,
+ WSEGL_OUT_OF_MEMORY = 8
+
+} WSEGLError;
+
+/*
+// Drawable orientation (in degrees anti-clockwise)
+*/
+typedef enum WSEGLRotationAngle_TAG
+{
+ WSEGL_ROTATE_0 = 0,
+ WSEGL_ROTATE_90 = 1,
+ WSEGL_ROTATE_180 = 2,
+ WSEGL_ROTATE_270 = 3
+
+} WSEGLRotationAngle;
+
+/*
+// Drawable information required by OpenGL-ES driver
+*/
+typedef struct WSEGLDrawableParams_TAG
+{
+ /* Width in pixels of the drawable */
+ unsigned long ui32Width;
+
+ /* Height in pixels of the drawable */
+ unsigned long ui32Height;
+
+ /* Stride in pixels of the drawable */
+ unsigned long ui32Stride;
+
+ /* Pixel format of the drawable */
+ WSEGLPixelFormat ePixelFormat;
+
+ /* User space cpu virtual address of the drawable */
+ void *pvLinearAddress;
+
+ /* HW address of the drawable */
+ unsigned long ui32HWAddress;
+
+ /* Private data for the drawable */
+ void *hPrivateData;
+
+} WSEGLDrawableParams;
+
+
+/*
+// Table of function pointers that is returned by WSEGL_GetFunctionTablePointer()
+//
+// The first entry in the table is the version number of the wsegl.h header file that
+// the module has been written against, and should therefore be set to WSEGL_VERSION
+*/
+typedef struct WSEGL_FunctionTable_TAG
+{
+ unsigned long ui32WSEGLVersion;
+
+ WSEGLError (*pfnWSEGL_IsDisplayValid)(NativeDisplayType);
+
+ WSEGLError (*pfnWSEGL_InitialiseDisplay)(NativeDisplayType, WSEGLDisplayHandle *, const WSEGLCaps **, WSEGLConfig **);
+
+ WSEGLError (*pfnWSEGL_CloseDisplay)(WSEGLDisplayHandle);
+
+ WSEGLError (*pfnWSEGL_CreateWindowDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativeWindowType, WSEGLRotationAngle *);
+
+ WSEGLError (*pfnWSEGL_CreatePixmapDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativePixmapType, WSEGLRotationAngle *);
+
+ WSEGLError (*pfnWSEGL_DeleteDrawable)(WSEGLDrawableHandle);
+
+ WSEGLError (*pfnWSEGL_SwapDrawable)(WSEGLDrawableHandle, unsigned long);
+
+ WSEGLError (*pfnWSEGL_SwapControlInterval)(WSEGLDrawableHandle, unsigned long);
+
+ WSEGLError (*pfnWSEGL_WaitNative)(WSEGLDrawableHandle, unsigned long);
+
+ WSEGLError (*pfnWSEGL_CopyFromDrawable)(WSEGLDrawableHandle, NativePixmapType);
+
+ WSEGLError (*pfnWSEGL_CopyFromPBuffer)(void *, unsigned long, unsigned long, unsigned long, WSEGLPixelFormat, NativePixmapType);
+
+ WSEGLError (*pfnWSEGL_GetDrawableParameters)(WSEGLDrawableHandle, WSEGLDrawableParams *, WSEGLDrawableParams *);
+
+
+} WSEGL_FunctionTable;
+
+
+WSEGL_IMPORT const WSEGL_FunctionTable *WSEGL_GetFunctionTablePointer(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __WSEGL_H__ */
+
+/******************************************************************************
+ End of file (wsegl.h)
+******************************************************************************/
diff --git a/src/3rdparty/webkit/ChangeLog b/src/3rdparty/webkit/ChangeLog
index ec8242d..76cfc80 100644
--- a/src/3rdparty/webkit/ChangeLog
+++ b/src/3rdparty/webkit/ChangeLog
@@ -1,3 +1,11 @@
+2009-04-24 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Added support for generating API docs in the Qt build using "make docs"
+
+ * WebKit.pro: Include docs.pri for "make docs" target.
+
2008-12-19 Marco Barisione <marco.barisione@collabora.co.uk>
Reviewed by Holger Freyther.
diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
index fe85bb9..3321570 100644
--- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog
+++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
@@ -1,3 +1,60 @@
+2009-01-22 Oliver Hunt <oliver@apple.com>
+
+ Reviewed by Geoff Garen.
+
+ <rdar://problem/6516853> (r39682-r39736) JSFunFuzz: crash on "(function(){({ x2: x }), })()"
+ <https://bugs.webkit.org/show_bug.cgi?id=23479>
+
+ Automatic semicolon insertion was resulting in this being accepted in the initial
+ nodeless parsing, but subsequent reparsing for code generation would fail, leading
+ to a crash. The solution is to ensure that reparsing a function performs parsing
+ in the same state as the initial parse. We do this by modifying the saved source
+ ranges to include rather than exclude the opening and closing braces.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::reparseForExceptionInfoIfNecessary): add an assertion for successful recompile
+ * parser/Lexer.h:
+ (JSC::Lexer::sourceCode): include rather than exclude braces.
+ * parser/Nodes.h:
+ (JSC::FunctionBodyNode::toSourceString): No need to append braces anymore.
+
+2009-01-21 Alexey Proskuryakov <ap@webkit.org>
+
+ Suggested by Oliver Hunt. Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=23456
+ Function argument names leak
+
+ * parser/Nodes.cpp: (JSC::FunctionBodyNode::~FunctionBodyNode): Destruct parameter names.
+
+2009-01-22 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fix for https://bugs.webkit.org/show_bug.cgi?id=23461 LayoutTests/
+ fast/js/numeric-conversion.html is broken, and corresponding
+ <rdar://problem/6514842>
+
+ The basic problem here is that parseInt(Infinity) should be NaN,
+ but we were returning 0. NaN matches Safari 3.2.1 and Firefox.
+
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::globalFuncParseInt):
+
+2009-01-13 Beth Dakin <bdakin@apple.com>
+
+ Reviewed by Darin Adler and Oliver Hunt.
+
+ <rdar://problem/6489314> REGRESSION: Business widget's front side
+ fails to render correctly when flipping widget
+
+ The problem here is that parseInt was parsing NaN as 0. This patch
+ corrects that by parsing NaN as NaN. This matches our old behavior
+ and Firefox.
+
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::globalFuncParseInt):
+
2009-02-13 Adam Treat <adam.treat@torchmobile.com>
Reviewed by George Staikos.
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp
index 91fb1c0..9207c8a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecode/CodeBlock.cpp
@@ -1397,6 +1397,7 @@ void CodeBlock::reparseForExceptionInfoIfNecessary(CallFrame* callFrame)
case FunctionCode: {
FunctionBodyNode* ownerFunctionBodyNode = static_cast<FunctionBodyNode*>(m_ownerNode);
RefPtr<FunctionBodyNode> newFunctionBody = m_globalData->parser->reparse<FunctionBodyNode>(m_globalData, ownerFunctionBodyNode);
+ ASSERT(newFunctionBody);
newFunctionBody->finishParsing(ownerFunctionBodyNode->copyParameters(), ownerFunctionBodyNode->parameterCount());
CodeBlock& newCodeBlock = newFunctionBody->bytecodeForExceptionInfoReparse(scopeChain);
ASSERT(newCodeBlock.m_exceptionInfo);
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h b/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h
index cb553af..afcf09f 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h
@@ -88,7 +88,7 @@ namespace JSC {
bool sawError() const { return m_error; }
void clear();
- SourceCode sourceCode(int openBrace, int closeBrace, int firstLine) { return SourceCode(m_source->provider(), openBrace + 1, closeBrace, firstLine); }
+ SourceCode sourceCode(int openBrace, int closeBrace, int firstLine) { return SourceCode(m_source->provider(), openBrace, closeBrace + 1, firstLine); }
private:
friend class JSGlobalData;
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
index bdc5d2f..201af28 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
@@ -2552,6 +2552,8 @@ FunctionBodyNode::FunctionBodyNode(JSGlobalData* globalData, SourceElements* chi
FunctionBodyNode::~FunctionBodyNode()
{
ASSERT(!m_refCount);
+ for (size_t i = 0; i < m_parameterCount; ++i)
+ m_parameters[i].~Identifier();
fastFree(m_parameters);
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h
index f8512f7..20885c3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h
@@ -2205,7 +2205,7 @@ namespace JSC {
void finishParsing(const SourceCode&, ParameterNode*);
void finishParsing(Identifier* parameters, size_t parameterCount);
- UString toSourceString() const JSC_FAST_CALL { return UString("{") + source().toString() + UString("}"); }
+ UString toSourceString() const JSC_FAST_CALL { return source().toString(); }
// These objects are ref/deref'd a lot in the scope chain, so this is a faster ref/deref.
// If the virtual machine changes so this doesn't happen as much we can change back.
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
index f12d2f3..ecdddcf 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
@@ -302,9 +302,11 @@ JSValuePtr globalFuncParseInt(ExecState* exec, JSObject*, JSValuePtr, const ArgL
if (JSImmediate::isImmediate(value))
return value;
double d = value->uncheckedGetNumber();
- if (!isfinite(d))
- return JSImmediate::zeroImmediate();
- return jsNumber(exec, floor(d));
+ if (isfinite(d))
+ return jsNumber(exec, floor(d));
+ if (isnan(d) || isinf(d))
+ return jsNaN(&exec->globalData());
+ return JSImmediate::zeroImmediate();
}
return jsNumber(exec, parseInt(value->toString(exec), radix));
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index bfaefa2..26ce489 100644
--- a/src/3rdparty/webkit/VERSION
+++ b/src/3rdparty/webkit/VERSION
@@ -8,4 +8,4 @@ The commit imported was from the
and has the sha1 checksum
- 450331808bfe11b1472c213a8cb311190355c2de
+ a6ebe3865025e2bb4d767a79435af4daf5a9b4db
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog
index 9be6e72..00bd427 100644
--- a/src/3rdparty/webkit/WebCore/ChangeLog
+++ b/src/3rdparty/webkit/WebCore/ChangeLog
@@ -1,3 +1,111 @@
+2009-03-13 Adam Bergkvist <adam.bergkvist@ericsson.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24349
+ [QT] HTTP status text is never set
+
+ Set HTTP status text to the reason phrase attribute of QNetworkReply.
+
+ * platform/network/qt/QNetworkReplyHandler.cpp:
+ (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
+
+2009-03-02 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Holger Freyther.
+
+ Added putImageData to Qt. Discussed with Ariya Hidayat.
+
+ [Qt] lacks putImageData support in Canvas
+ https://bugs.webkit.org/show_bug.cgi?id=22186
+
+ * platform/graphics/qt/ImageBufferQt.cpp:
+ (WebCore::ImageBuffer::putImageData):
+
+2009-03-01 Larry Ewing <lewing@novell.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24080
+ NPN_GetValue casting to the wrong type and writing outside bounds
+
+ Make sure to cast the value to the correct type so that only
+ memory owned by the value is written to.
+
+ * plugins/gtk/PluginViewGtk.cpp (PluginView::getValueStatic):
+ * plugins/qt/PluginViewQt.cpp (PluginView::getValueStatic):
+ * plugins/mac/PluginViewMac.cpp (PluginView::getValueStatic):
+ (PluginView::getValue):
+
+2009-02-27 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24229
+ If an image has no alpha channel there is no reason to use SourceOver.
+
+ * platform/graphics/qt/ImageQt.cpp:
+ (WebCore::Image::drawPattern):
+ (WebCore::BitmapImage::draw):
+
+2009-02-27 Zack Rusin <zack@kde.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ Qt: be more reasonable about scrolled lines
+
+ cMouseWheelPixelsPerLineStep is currently a constant set to 13.3. it doesn't
+ match our metrics meaning that Qt scrolls by ~2 lines by default which is quite
+ irritating. so lets scroll vertically by the Qt set number of lines * Qt default
+ single step scroll
+
+ * platform/qt/WheelEventQt.cpp:
+
+2009-02-25 Dirk Schulze <krit@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ Ported arcTo to Qt. Qt has no native support for arcTo. This changes
+ calculate the behavior of arcTo and draws it with lineTo and arc.
+
+ [QT] implement Canvas arcTo
+ https://bugs.webkit.org/show_bug.cgi?id=23873
+
+ * platform/graphics/qt/PathQt.cpp:
+ (WebCore::Path::addArcTo):
+
+2009-03-12 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24498
+ Fix the Qt port to use the same algorithm for drawing dashed and dotted
+ borders as the other ports. This makes the Qt port pixel-for-pixel perfect
+ compared to border drawing with Apple's canonical mac port and much closer
+ to konqueror and firefox behavior.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::GraphicsContext::drawLine):
+
+2009-03-09 Adam Treat <adam.treat@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=24463
+ WebCore::qstring is detaching and copying twice for every single
+ WebCore::TextRun that is processed and drawn. This elevates this method
+ to one of the top-ten most expensive methods in all of QtWebKit according
+ to profiling. This changes the method so that QString only detaches
+ when absolutely necessary.
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::qstring):
+ (WebCore::fixSpacing):
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+
2009-02-04 Simon Hausmann <simon.hausmann@nokia.com>
Unreviewed Qt build fix.
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
index deeea99..4e78083 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
@@ -37,20 +37,27 @@
#if QT_VERSION >= 0x040400
namespace WebCore {
-static QString qstring(const TextRun& run)
+static const QString qstring(const TextRun& run)
{
- QString string((QChar *)run.characters(), run.length());
- QChar *uc = string.data();
+ //We don't detach
+ return QString::fromRawData((const QChar *)run.characters(), run.length());
+}
+
+static const QString fixSpacing(const QString &string)
+{
+ //Only detach if we're actually changing something
+ QString possiblyDetached = string;
for (int i = 0; i < string.length(); ++i) {
- if (Font::treatAsSpace(uc[i].unicode()))
- uc[i] = 0x20;
- else if (Font::treatAsZeroWidthSpace(uc[i].unicode()))
- uc[i] = 0x200c;
+ const QChar c = string.at(i);
+ if (c.unicode() != 0x20 && Font::treatAsSpace(c.unicode())) {
+ possiblyDetached[i] = 0x20; //detach
+ } else if (c.unicode() != 0x200c && Font::treatAsZeroWidthSpace(c.unicode())) {
+ possiblyDetached[i] = 0x200c; //detach
+ }
}
- return string;
+ return possiblyDetached;
}
-
static QTextLine setupLayout(QTextLayout* layout, const TextRun& style)
{
int flags = style.rtl() ? Qt::TextForceRightToLeft : Qt::TextForceLeftToRight;
@@ -75,7 +82,7 @@ void Font::drawComplexText(GraphicsContext* ctx, const TextRun& run, const Float
Color color = ctx->fillColor();
p->setPen(QColor(color));
- QString string = qstring(run);
+ const QString string = fixSpacing(qstring(run));
// text shadow
IntSize shadowSize;
@@ -144,7 +151,7 @@ float Font::floatWidthForComplexText(const TextRun& run) const
{
if (!run.length())
return 0;
- QString string = qstring(run);
+ const QString string = fixSpacing(qstring(run));
QTextLayout layout(string, font());
QTextLine line = setupLayout(&layout, run);
int w = int(line.naturalTextWidth());
@@ -157,7 +164,7 @@ float Font::floatWidthForComplexText(const TextRun& run) const
int Font::offsetForPositionForComplexText(const TextRun& run, int position, bool includePartialGlyphs) const
{
- QString string = qstring(run);
+ const QString string = fixSpacing(qstring(run));
QTextLayout layout(string, font());
QTextLine line = setupLayout(&layout, run);
return line.xToCursor(position);
@@ -165,7 +172,7 @@ int Font::offsetForPositionForComplexText(const TextRun& run, int position, bool
FloatRect Font::selectionRectForComplexText(const TextRun& run, const IntPoint& pt, int h, int from, int to) const
{
- QString string = qstring(run);
+ const QString string = fixSpacing(qstring(run));
QTextLayout layout(string, font());
QTextLine line = setupLayout(&layout, run);
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
index 936c1ea..6c90ea3 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
@@ -470,13 +470,21 @@ void GraphicsContext::drawLine(const IntPoint& point1, const IntPoint& point2)
if (paintingDisabled())
return;
+ StrokeStyle style = strokeStyle();
+ Color color = strokeColor();
+ if (style == NoStroke || !color.alpha())
+ return;
+
+ float width = strokeThickness();
+
FloatPoint p1 = point1;
FloatPoint p2 = point2;
+ bool isVerticalLine = (p1.x() == p2.x());
QPainter *p = m_data->p();
const bool antiAlias = p->testRenderHint(QPainter::Antialiasing);
p->setRenderHint(QPainter::Antialiasing, m_data->antiAliasingForRectsAndLines);
- adjustLineToPixelBoundaries(p1, p2, strokeThickness(), strokeStyle());
+ adjustLineToPixelBoundaries(p1, p2, width, style);
IntSize shadowSize;
int shadowBlur;
@@ -489,8 +497,76 @@ void GraphicsContext::drawLine(const IntPoint& point1, const IntPoint& point2)
p->restore();
}
+ int patWidth = 0;
+ switch (style) {
+ case NoStroke:
+ case SolidStroke:
+ break;
+ case DottedStroke:
+ patWidth = (int)width;
+ break;
+ case DashedStroke:
+ patWidth = 3 * (int)width;
+ break;
+ }
+
+ if (patWidth) {
+ p->save();
+
+ // Do a rect fill of our endpoints. This ensures we always have the
+ // appearance of being a border. We then draw the actual dotted/dashed line.
+ if (isVerticalLine) {
+ p->fillRect(FloatRect(p1.x() - width / 2, p1.y() - width, width, width), color);
+ p->fillRect(FloatRect(p2.x() - width / 2, p2.y(), width, width), color);
+ } else {
+ p->fillRect(FloatRect(p1.x() - width, p1.y() - width / 2, width, width), color);
+ p->fillRect(FloatRect(p2.x(), p2.y() - width / 2, width, width), color);
+ }
+
+ // Example: 80 pixels with a width of 30 pixels.
+ // Remainder is 20. The maximum pixels of line we could paint
+ // will be 50 pixels.
+ int distance = (isVerticalLine ? (point2.y() - point1.y()) : (point2.x() - point1.x())) - 2*(int)width;
+ int remainder = distance % patWidth;
+ int coverage = distance - remainder;
+ int numSegments = coverage / patWidth;
+
+ float patternOffset = 0.0f;
+ // Special case 1px dotted borders for speed.
+ if (patWidth == 1)
+ patternOffset = 1.0f;
+ else {
+ bool evenNumberOfSegments = numSegments % 2 == 0;
+ if (remainder)
+ evenNumberOfSegments = !evenNumberOfSegments;
+ if (evenNumberOfSegments) {
+ if (remainder) {
+ patternOffset += patWidth - remainder;
+ patternOffset += remainder / 2;
+ } else
+ patternOffset = patWidth / 2;
+ } else {
+ if (remainder)
+ patternOffset = (patWidth - remainder)/2;
+ }
+ }
+
+ QVector<qreal> dashes;
+ dashes << qreal(patWidth) / width << qreal(patWidth) / width;
+
+ QPen pen = p->pen();
+ pen.setWidthF(width);
+ pen.setCapStyle(Qt::FlatCap);
+ pen.setDashPattern(dashes);
+ pen.setDashOffset(patternOffset / width);
+ p->setPen(pen);
+ }
+
p->drawLine(p1, p2);
+ if (patWidth)
+ p->restore();
+
p->setRenderHint(QPainter::Antialiasing, antiAlias);
}
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageBufferQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageBufferQt.cpp
index d1009b5..29a02d4 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageBufferQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageBufferQt.cpp
@@ -1,6 +1,7 @@
/*
* Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
* Copyright (C) 2008 Holger Hans Peter Freyther
+ * Copyright (C) 2009 Dirk Schulze <krit@webkit.org>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -31,7 +32,6 @@
#include "GraphicsContext.h"
#include "ImageData.h"
#include "MIMETypeRegistry.h"
-#include "NotImplemented.h"
#include "StillImageQt.h"
#include <QBuffer>
@@ -111,9 +111,7 @@ PassRefPtr<ImageData> ImageBuffer::getImageData(const IntRect& rect) const
endy = m_size.height();
int numRows = endy - originy;
- QImage image = m_data.m_pixmap.toImage();
- if (image.format() != QImage::Format_ARGB32)
- image = image.convertToFormat(QImage::Format_ARGB32);
+ QImage image = m_data.m_pixmap.toImage().convertToFormat(QImage::Format_ARGB32);
ASSERT(!image.isNull());
unsigned destBytesPerRow = 4 * rect.width();
@@ -134,9 +132,58 @@ PassRefPtr<ImageData> ImageBuffer::getImageData(const IntRect& rect) const
return result;
}
-void ImageBuffer::putImageData(ImageData*, const IntRect&, const IntPoint&)
+void ImageBuffer::putImageData(ImageData* source, const IntRect& sourceRect, const IntPoint& destPoint)
{
- notImplemented();
+ ASSERT(sourceRect.width() > 0);
+ ASSERT(sourceRect.height() > 0);
+
+ int originx = sourceRect.x();
+ int destx = destPoint.x() + sourceRect.x();
+ ASSERT(destx >= 0);
+ ASSERT(destx < m_size.width());
+ ASSERT(originx >= 0);
+ ASSERT(originx <= sourceRect.right());
+
+ int endx = destPoint.x() + sourceRect.right();
+ ASSERT(endx <= m_size.width());
+
+ int numColumns = endx - destx;
+
+ int originy = sourceRect.y();
+ int desty = destPoint.y() + sourceRect.y();
+ ASSERT(desty >= 0);
+ ASSERT(desty < m_size.height());
+ ASSERT(originy >= 0);
+ ASSERT(originy <= sourceRect.bottom());
+
+ int endy = destPoint.y() + sourceRect.bottom();
+ ASSERT(endy <= m_size.height());
+ int numRows = endy - desty;
+
+ unsigned srcBytesPerRow = 4 * source->width();
+
+ bool isPainting = m_data.m_painter->isActive();
+ if (isPainting)
+ m_data.m_painter->end();
+
+ QImage image = m_data.m_pixmap.toImage().convertToFormat(QImage::Format_ARGB32);
+ ASSERT(!image.isNull());
+
+ unsigned char* srcRows = source->data()->data() + originy * srcBytesPerRow + originx * 4;
+ for (int y = 0; y < numRows; ++y) {
+ quint32* scanLine = reinterpret_cast<quint32*>(image.scanLine(y + desty));
+ for (int x = 0; x < numColumns; x++) {
+ int basex = x * 4;
+ scanLine[x + destx] = reinterpret_cast<quint32*>(srcRows + basex)[0];
+ }
+
+ srcRows += srcBytesPerRow;
+ }
+
+ m_data.m_pixmap = QPixmap::fromImage(image);
+
+ if (isPainting)
+ m_data.m_painter->begin(&m_data.m_pixmap);
}
// We get a mimeType here but QImageWriter does not support mimetypes but
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp
index be7d1e0..e266c07 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageQt.cpp
@@ -109,6 +109,8 @@ void Image::drawPattern(GraphicsContext* ctxt, const FloatRect& tileRect, const
ctxt->save();
ctxt->setCompositeOperation(op);
QPainter* p = ctxt->platformContext();
+ if (!pixmap.hasAlpha() && p->compositionMode() == QPainter::CompositionMode_SourceOver)
+ p->setCompositionMode(QPainter::CompositionMode_Source);
p->setBrushOrigin(phase);
p->fillRect(destRect, b);
ctxt->restore();
@@ -146,6 +148,9 @@ void BitmapImage::draw(GraphicsContext* ctxt, const FloatRect& dst,
QPainter* painter(ctxt->platformContext());
+ if (!image->hasAlpha() && painter->compositionMode() == QPainter::CompositionMode_SourceOver)
+ painter->setCompositionMode(QPainter::CompositionMode_Source);
+
// Test using example site at
// http://www.meyerweb.com/eric/css/edge/complexspiral/demo.html
painter->drawPixmap(dst, *image, src);
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp
index 90b342e..e68be2b 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/PathQt.cpp
@@ -1,6 +1,7 @@
/*
- * Copyright (C) 2006 Zack Rusin <zack@kde.org>
- * 2006 Rob Buis <buis@kde.org>
+ * Copyright (C) 2006 Zack Rusin <zack@kde.org>
+ * 2006 Rob Buis <buis@kde.org>
+ * 2009 Dirk Schulze <krit@webkit.org>
*
* All rights reserved.
*
@@ -139,9 +140,72 @@ void Path::addBezierCurveTo(const FloatPoint& cp1, const FloatPoint& cp2, const
void Path::addArcTo(const FloatPoint& p1, const FloatPoint& p2, float radius)
{
- //FIXME: busted
- qWarning("arcTo is busted");
- m_path->arcTo(p1.x(), p1.y(), p2.x(), p2.y(), radius, 90);
+ FloatPoint p0(m_path->currentPosition());
+
+ if ((p1.x() == p0.x() && p1.y() == p0.y()) || (p1.x() == p2.x() && p1.y() == p2.y()) || radius == 0.f) {
+ m_path->lineTo(p1);
+ return;
+ }
+
+ FloatPoint p1p0((p0.x() - p1.x()),(p0.y() - p1.y()));
+ FloatPoint p1p2((p2.x() - p1.x()),(p2.y() - p1.y()));
+ float p1p0_length = sqrtf(p1p0.x() * p1p0.x() + p1p0.y() * p1p0.y());
+ float p1p2_length = sqrtf(p1p2.x() * p1p2.x() + p1p2.y() * p1p2.y());
+
+ double cos_phi = (p1p0.x() * p1p2.x() + p1p0.y() * p1p2.y()) / (p1p0_length * p1p2_length);
+ // all points on a line logic
+ if (cos_phi == -1) {
+ m_path->lineTo(p1);
+ return;
+ }
+ if (cos_phi == 1) {
+ // add infinite far away point
+ unsigned int max_length = 65535;
+ double factor_max = max_length / p1p0_length;
+ FloatPoint ep((p0.x() + factor_max * p1p0.x()), (p0.y() + factor_max * p1p0.y()));
+ m_path->lineTo(ep);
+ return;
+ }
+
+ float tangent = radius / tan(acos(cos_phi) / 2);
+ float factor_p1p0 = tangent / p1p0_length;
+ FloatPoint t_p1p0((p1.x() + factor_p1p0 * p1p0.x()), (p1.y() + factor_p1p0 * p1p0.y()));
+
+ FloatPoint orth_p1p0(p1p0.y(), -p1p0.x());
+ float orth_p1p0_length = sqrt(orth_p1p0.x() * orth_p1p0.x() + orth_p1p0.y() * orth_p1p0.y());
+ float factor_ra = radius / orth_p1p0_length;
+
+ // angle between orth_p1p0 and p1p2 to get the right vector orthographic to p1p0
+ double cos_alpha = (orth_p1p0.x() * p1p2.x() + orth_p1p0.y() * p1p2.y()) / (orth_p1p0_length * p1p2_length);
+ if (cos_alpha < 0.f)
+ orth_p1p0 = FloatPoint(-orth_p1p0.x(), -orth_p1p0.y());
+
+ FloatPoint p((t_p1p0.x() + factor_ra * orth_p1p0.x()), (t_p1p0.y() + factor_ra * orth_p1p0.y()));
+
+ // calculate angles for addArc
+ orth_p1p0 = FloatPoint(-orth_p1p0.x(), -orth_p1p0.y());
+ float sa = acos(orth_p1p0.x() / orth_p1p0_length);
+ if (orth_p1p0.y() < 0.f)
+ sa = 2 * piDouble - sa;
+
+ // anticlockwise logic
+ bool anticlockwise = false;
+
+ float factor_p1p2 = tangent / p1p2_length;
+ FloatPoint t_p1p2((p1.x() + factor_p1p2 * p1p2.x()), (p1.y() + factor_p1p2 * p1p2.y()));
+ FloatPoint orth_p1p2((t_p1p2.x() - p.x()),(t_p1p2.y() - p.y()));
+ float orth_p1p2_length = sqrtf(orth_p1p2.x() * orth_p1p2.x() + orth_p1p2.y() * orth_p1p2.y());
+ float ea = acos(orth_p1p2.x() / orth_p1p2_length);
+ if (orth_p1p2.y() < 0)
+ ea = 2 * piDouble - ea;
+ if ((sa > ea) && ((sa - ea) < piDouble))
+ anticlockwise = true;
+ if ((sa < ea) && ((ea - sa) > piDouble))
+ anticlockwise = true;
+
+ m_path->lineTo(t_p1p0);
+
+ addArc(p, radius, sa, ea, anticlockwise);
}
void Path::closeSubpath()
diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
index 2de2125..2c730a6 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
@@ -269,8 +269,10 @@ void QNetworkReplyHandler::sendResponseIfNeeded()
const bool isLocalFileReply = (m_reply->url().scheme() == QLatin1String("file"));
int statusCode = m_reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
- if (!isLocalFileReply)
+ if (!isLocalFileReply) {
response.setHTTPStatusCode(statusCode);
+ response.setHTTPStatusText(m_reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toByteArray().constData());
+ }
else if (m_reply->error() == QNetworkReply::ContentNotFoundError)
response.setHTTPStatusCode(404);
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/WheelEventQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/WheelEventQt.cpp
index cc8acd2..b25ae7a 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/WheelEventQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/WheelEventQt.cpp
@@ -21,7 +21,9 @@
#include "PlatformWheelEvent.h"
#include "PlatformMouseEvent.h"
+#include "Scrollbar.h"
+#include <qapplication.h>
#include <QWheelEvent>
namespace WebCore {
@@ -54,9 +56,14 @@ PlatformWheelEvent::PlatformWheelEvent(QWheelEvent* e)
m_deltaY = (e->delta() / 120);
}
- // FIXME: retrieve the user setting for the number of lines to scroll on each wheel event
- m_deltaX *= horizontalLineMultiplier();
- m_deltaY *= verticalLineMultiplier();
+ m_deltaX *= QApplication::wheelScrollLines();
+ // use the same single scroll step as QTextEdit (in
+ // QTextEditPrivate::init [h,v]bar->setSingleStep )
+ // and divide by the default WebKit scroll step to
+ // get the Qt mouse wheel scroll behavior
+ static const float cDefaultQtScrollStep = 20.f;
+ m_deltaY *= QApplication::wheelScrollLines() *
+ (cDefaultQtScrollStep / cMouseWheelPixelsPerLineStep);
}
#endif // QT_NO_WHEELEVENT
diff --git a/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp b/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp
index 1d7d570..3229922 100644
--- a/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp
@@ -220,11 +220,11 @@ NPError PluginView::getValueStatic(NPNVariable variable, void* value)
switch (variable) {
case NPNVToolkit:
- *((uint32 *)value) = 0;
+ *static_cast<uint32*>(value) = 0;
return NPERR_NO_ERROR;
case NPNVjavascriptEnabledBool:
- *((uint32 *)value) = true;
+ *static_cast<NPBool*>(value) = true;
return NPERR_NO_ERROR;
default:
@@ -275,7 +275,7 @@ NPError PluginView::getValue(NPNVariable variable, void* value)
}
case NPNVsupportsCoreGraphicsBool:
- *((uint32 *)value) = true;
+ *static_cast<NPBool*>(value) = true;
return NPERR_NO_ERROR;
default:
diff --git a/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp b/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp
index 5aa8933..c8dd0e5 100644
--- a/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp
@@ -301,15 +301,15 @@ NPError PluginView::getValueStatic(NPNVariable variable, void* value)
{
switch (variable) {
case NPNVToolkit:
- *((uint32 *)value) = 0;
+ *static_cast<uint32*>(value) = 0;
return NPERR_NO_ERROR;
case NPNVSupportsXEmbedBool:
- *((uint32 *)value) = true;
+ *static_cast<NPBool*>(value) = true;
return NPERR_NO_ERROR;
case NPNVjavascriptEnabledBool:
- *((uint32 *)value) = true;
+ *static_cast<NPBool*>(value) = true;
return NPERR_NO_ERROR;
default:
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
index e17306d..01b68eb 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
@@ -1095,7 +1095,7 @@ QVariant QWebPage::inputMethodQuery(Qt::InputMethodQuery property) const
This enum describes the types of action which can be performed on the web page.
Actions only have an effect when they are applicable. The availability of
- actions can be be determined by checking \l{QAction::}{enabled()} on the
+ actions can be be determined by checking \l{QAction::}{isEnabled()} on the
action returned by \l{QWebPage::}{action()}.
One method of enabling the text editing, cursor movement, and text selection actions
@@ -1198,18 +1198,18 @@ QVariant QWebPage::inputMethodQuery(Qt::InputMethodQuery property) const
Suppose we have a \c Thumbnail class as follows:
- \snippet doc/src/snippets/webkit/webpage/main.cpp 0
+ \snippet webkitsnippets/webpage/main.cpp 0
The \c Thumbnail's constructor takes in a \a url. We connect our QWebPage
object's \l{QWebPage::}{loadFinished()} signal to our private slot,
\c render().
- \snippet doc/src/snippets/webkit/webpage/main.cpp 1
+ \snippet webkitsnippets/webpage/main.cpp 1
The \c render() function shows how we can paint a thumbnail using a
QWebPage object.
- \snippet doc/src/snippets/webkit/webpage/main.cpp 2
+ \snippet webkitsnippets/webpage/main.cpp 2
We begin by setting the \l{QWebPage::viewportSize()}{viewportSize} and
then we instantiate a QImage object, \c image, with the same size as our
@@ -1450,9 +1450,16 @@ void QWebPage::triggerAction(WebAction action, bool checked)
openNewWindow(url, frame);
break;
}
- case CopyLinkToClipboard:
+ case CopyLinkToClipboard: {
+#if defined(Q_WS_X11)
+ bool oldSelectionMode = Pasteboard::generalPasteboard()->isSelectionMode();
+ Pasteboard::generalPasteboard()->setSelectionMode(true);
+ editor->copyURL(d->hitTestResult.linkUrl(), d->hitTestResult.linkText());
+ Pasteboard::generalPasteboard()->setSelectionMode(oldSelectionMode);
+#endif
editor->copyURL(d->hitTestResult.linkUrl(), d->hitTestResult.linkText());
break;
+ }
case OpenImageInNewWindow:
openNewWindow(d->hitTestResult.imageUrl(), frame);
break;
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
index a843eba..9753f4f 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebview.cpp
@@ -86,7 +86,7 @@ public:
Qt Widgets, the show() function must be invoked in order to display
QWebView. The snippet below illustrates this:
- \snippet doc/src/snippets/webkit/simple/main.cpp Using QWebView
+ \snippet webkitsnippets/simple/main.cpp Using QWebView
Alternatively, setUrl() can also be used to load a web site. If you have
the HTML content readily available, you can use setHtml() instead.
@@ -325,7 +325,7 @@ void QWebView::setContent(const QByteArray &data, const QString &mimeType, const
It is equivalent to
- \snippet doc/src/snippets/code/src_3rdparty_webkit_WebKit_qt_Api_qwebview.cpp 0
+ \snippet webkitsnippets/qtwebkit_qwebview_snippet.cpp 0
*/
QWebHistory *QWebView::history() const
{
@@ -337,7 +337,7 @@ QWebHistory *QWebView::history() const
It is equivalent to
- \snippet doc/src/snippets/code/src_3rdparty_webkit_WebKit_qt_Api_qwebview.cpp 1
+ \snippet webkitsnippets/qtwebkit_qwebview_snippet.cpp 1
\sa QWebSettings::globalSettings()
*/
@@ -429,7 +429,7 @@ QAction *QWebView::pageAction(QWebPage::WebAction action) const
The following example triggers the copy action and therefore copies any
selected text to the clipboard.
- \snippet doc/src/snippets/code/src_3rdparty_webkit_WebKit_qt_Api_qwebview.cpp 2
+ \snippet webkitsnippets/qtwebkit_qwebview_snippet.cpp 2
\sa pageAction()
*/
@@ -606,7 +606,7 @@ void QWebView::print(QPrinter *printer) const
It is equivalent to
- \snippet doc/src/snippets/code/src_3rdparty_webkit_WebKit_qt_Api_qwebview.cpp 3
+ \snippet webkitsnippets/qtwebkit_qwebview_snippet.cpp 3
\sa reload(), pageAction(), loadFinished()
*/
@@ -622,7 +622,7 @@ void QWebView::stop()
It is equivalent to
- \snippet doc/src/snippets/code/src_3rdparty_webkit_WebKit_qt_Api_qwebview.cpp 4
+ \snippet webkitsnippets/qtwebkit_qwebview_snippet.cpp 4
\sa forward(), pageAction()
*/
@@ -638,7 +638,7 @@ void QWebView::back()
It is equivalent to
- \snippet doc/src/snippets/code/src_3rdparty_webkit_WebKit_qt_Api_qwebview.cpp 5
+ \snippet webkitsnippets/qtwebkit_qwebview_snippet.cpp 5
\sa back(), pageAction()
*/
diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog
index 5a23200..c3bd633 100644
--- a/src/3rdparty/webkit/WebKit/qt/ChangeLog
+++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog
@@ -1,3 +1,42 @@
+2009-04-24 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Rubber-stamped by Ariya Hidayat.
+
+ Fix qdoc warning about link to QAction::isEnabled.
+
+ * Api/qwebpage.cpp:
+
+2009-04-24 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Ariya Hidayat.
+
+ Added support for generating API docs in the Qt build using "make docs"
+
+ Added code snippets and overview from the Qt sources references in the API docs.
+
+ * Api/qwebpage.cpp: Adjust paths to snippets.
+ * Api/qwebview.cpp: Ditto.
+ * docs/docs.pri: Added.
+ * docs/qtwebkit.qdoc: Added.
+ * docs/qtwebkit.qdocconf: Added.
+ * docs/webkitsnippets/qtwebkit_build_snippet.qdoc: Added.
+ * docs/webkitsnippets/qtwebkit_qwebview_snippet.cpp: Added.
+ * docs/webkitsnippets/simple/main.cpp: Added.
+ * docs/webkitsnippets/simple/simple.pro: Added.
+ * docs/webkitsnippets/webpage/main.cpp: Added.
+ * docs/webkitsnippets/webpage/webpage.pro: Added.
+
+2009-03-02 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
+
+ Reviewed by George Staikos.
+
+ https://bugs.webkit.org/show_bug.cgi?id=21230
+ On X11 match the behavior of Firefox and also copy the url to the
+ clipboard selection when the action Copy Link Location is executed.
+
+ * Api/qwebpage.cpp:
+ (QWebPage::triggerAction):
+
2009-03-07 Adam Treat <adam.treat@torchmobile.com>
Reviewed by Cameron Zwarich.
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/docs.pri b/src/3rdparty/webkit/WebKit/qt/docs/docs.pri
new file mode 100644
index 0000000..4a8c165
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/docs/docs.pri
@@ -0,0 +1,15 @@
+include(../../../WebKit.pri)
+
+unix {
+ QDOC = SRCDIR=$$PWD/../../.. OUTPUT_DIR=$$OUTPUT_DIR $$(QTDIR)/tools/qdoc3/qdoc3
+} else {
+ QDOC = $$(QTDIR)\tools\qdoc3\release\qdoc3.exe
+}
+
+unix {
+docs.commands = $$QDOC $$PWD/qtwebkit.qdocconf
+} else {
+docs.commands = \"$$QDOC $$PWD/qtwebkit.qdocconf\"
+}
+
+QMAKE_EXTRA_TARGETS += docs
diff --git a/doc/src/qtwebkit.qdoc b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc
index 0092950..06305e0 100644
--- a/doc/src/qtwebkit.qdoc
+++ b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc
@@ -59,7 +59,7 @@
project file ensures that an application is compiled and linked
appropriately:
- \snippet doc/src/snippets/code/doc_src_qtwebkit.qdoc 0
+ \snippet webkitsnippets/qtwebkit_build_snippet.qdoc 0
This line is necessary because only the QtCore and QtGui modules are used
in the default build process.
@@ -67,7 +67,7 @@
To include the definitions of the module's classes, use the following
directive:
- \snippet doc/src/snippets/code/doc_src_qtwebkit.qdoc 1
+ \snippet webkitsnippets/qtwebkit_build_snippet.qdoc 1
\section1 Architecture
@@ -75,7 +75,7 @@
widget it can be embedded into your forms or a graphics view, and it
provides convenience functions for downloading and rendering web sites.
- \snippet snippets/webkit/simple/main.cpp Using QWebView
+ \snippet webkitsnippets/simple/main.cpp Using QWebView
QWebView acts as a view onto Web pages, each of which is represented by an
instance of the QWebPage class. QWebPage provides access to the document
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdocconf b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdocconf
new file mode 100644
index 0000000..e60e586
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdocconf
@@ -0,0 +1,195 @@
+# Run qdoc from the directory that contains this file.
+
+project = qtwebkit
+description = "Qt WebKit API Documentation"
+
+headerdirs = $SRCDIR/WebKit/qt/Api
+sourcedirs = $SRCDIR/WebKit/qt/Api $SRCDIR/WebKit/qt/docs
+outputdir = $OUTPUT_DIR/doc/html
+outputformats = HTML
+sources.fileextensions = "*.cpp *.doc *.qdoc *.h"
+exampledirs = $SRCDIR/WebKit/qt/docs
+
+indexes = $QTDIR/doc/html/qt.index
+
+# macros.qdocconf
+
+macro.aring.HTML = "&aring;"
+macro.Auml.HTML = "&Auml;"
+macro.author = "\\bold{Author:}"
+macro.br.HTML = "<br />"
+macro.BR.HTML = "<br />"
+macro.aacute.HTML = "&aacute;"
+macro.eacute.HTML = "&eacute;"
+macro.iacute.HTML = "&iacute;"
+macro.gui = "\\bold"
+macro.hr.HTML = "<hr />"
+macro.key = "\\bold"
+macro.menu = "\\bold"
+macro.note = "\\bold{Note:}"
+macro.oslash.HTML = "&oslash;"
+macro.ouml.HTML = "&ouml;"
+macro.QA = "\\e{Qt Assistant}"
+macro.QD = "\\e{Qt Designer}"
+macro.QL = "\\e{Qt Linguist}"
+macro.param = "\\e"
+macro.raisedaster.HTML = "<sup>*</sup>"
+macro.reg.HTML = "<sup>&reg;</sup>"
+macro.return = "Returns"
+macro.starslash = "\\c{*/}"
+macro.uuml.HTML = "&uuml;"
+macro.mdash.HTML = "&mdash;"
+
+# compat.qdocconf
+
+alias.i = e
+alias.include = input
+
+macro.0 = "\\\\0"
+macro.b = "\\\\b"
+macro.n = "\\\\n"
+macro.r = "\\\\r"
+macro.i = "\\o"
+macro.i11 = "\\o{1,1}"
+macro.i12 = "\\o{1,2}"
+macro.i13 = "\\o{1,3}"
+macro.i14 = "\\o{1,4}"
+macro.i15 = "\\o{1,5}"
+macro.i16 = "\\o{1,6}"
+macro.i17 = "\\o{1,7}"
+macro.i18 = "\\o{1,8}"
+macro.i19 = "\\o{1,9}"
+macro.i21 = "\\o{2,1}"
+macro.i31 = "\\o{3,1}"
+macro.i41 = "\\o{4,1}"
+macro.i51 = "\\o{5,1}"
+macro.i61 = "\\o{6,1}"
+macro.i71 = "\\o{7,1}"
+macro.i81 = "\\o{8,1}"
+macro.i91 = "\\o{9,1}"
+macro.img = "\\image"
+macro.endquote = "\\endquotation"
+
+spurious = "Missing comma in .*" \
+ "Missing pattern .*"
+
+# Doxygen compatibility commands
+
+macro.see = "\\sa"
+macro.function = "\\fn"
+
+# qt-cpp-ignore.qdocconf
+
+Cpp.ignoretokens = QAXFACTORY_EXPORT \
+ QDESIGNER_COMPONENTS_LIBRARY \
+ QDESIGNER_EXTENSION_LIBRARY \
+ QDESIGNER_SDK_LIBRARY \
+ QDESIGNER_SHARED_LIBRARY \
+ QDESIGNER_UILIB_LIBRARY \
+ QM_EXPORT_CANVAS \
+ QM_EXPORT_DNS \
+ QM_EXPORT_DOM \
+ QM_EXPORT_FTP \
+ QM_EXPORT_HTTP \
+ QM_EXPORT_ICONVIEW \
+ QM_EXPORT_NETWORK \
+ QM_EXPORT_OPENGL \
+ QM_EXPORT_SQL \
+ QM_EXPORT_TABLE \
+ QM_EXPORT_WORKSPACE \
+ QM_EXPORT_XML \
+ QT_ASCII_CAST_WARN \
+ QT_ASCII_CAST_WARN_CONSTRUCTOR \
+ QT_BEGIN_HEADER \
+ QT_DESIGNER_STATIC \
+ QT_END_HEADER \
+ QT_FASTCALL \
+ QT_WIDGET_PLUGIN_EXPORT \
+ Q_COMPAT_EXPORT \
+ Q_CORE_EXPORT \
+ Q_EXPLICIT \
+ Q_EXPORT \
+ Q_EXPORT_CODECS_CN \
+ Q_EXPORT_CODECS_JP \
+ Q_EXPORT_CODECS_KR \
+ Q_EXPORT_PLUGIN \
+ Q_GFX_INLINE \
+ Q_GUI_EXPORT \
+ Q_GUI_EXPORT_INLINE \
+ Q_GUI_EXPORT_STYLE_CDE \
+ Q_GUI_EXPORT_STYLE_COMPACT \
+ Q_GUI_EXPORT_STYLE_MAC \
+ Q_GUI_EXPORT_STYLE_MOTIF \
+ Q_GUI_EXPORT_STYLE_MOTIFPLUS \
+ Q_GUI_EXPORT_STYLE_PLATINUM \
+ Q_GUI_EXPORT_STYLE_POCKETPC \
+ Q_GUI_EXPORT_STYLE_SGI \
+ Q_GUI_EXPORT_STYLE_WINDOWS \
+ Q_GUI_EXPORT_STYLE_WINDOWSXP \
+ QHELP_EXPORT \
+ Q_INLINE_TEMPLATE \
+ Q_INTERNAL_WIN_NO_THROW \
+ Q_NETWORK_EXPORT \
+ Q_OPENGL_EXPORT \
+ Q_OUTOFLINE_TEMPLATE \
+ Q_SQL_EXPORT \
+ Q_SVG_EXPORT \
+ Q_SCRIPT_EXPORT \
+ Q_TESTLIB_EXPORT \
+ Q_TYPENAME \
+ Q_XML_EXPORT \
+ Q_XMLSTREAM_EXPORT \
+ Q_XMLPATTERNS_EXPORT \
+ QDBUS_EXPORT \
+ QT_BEGIN_NAMESPACE \
+ QT_BEGIN_INCLUDE_NAMESPACE \
+ QT_END_NAMESPACE \
+ QT_END_INCLUDE_NAMESPACE \
+ PHONON_EXPORT \
+ EXTENSIONSYSTEM_EXPORT
+Cpp.ignoredirectives = Q_DECLARE_HANDLE \
+ Q_DECLARE_INTERFACE \
+ Q_DECLARE_METATYPE \
+ Q_DECLARE_OPERATORS_FOR_FLAGS \
+ Q_DECLARE_PRIVATE \
+ Q_DECLARE_PUBLIC \
+ Q_DECLARE_SHARED \
+ Q_DECLARE_TR_FUNCTIONS \
+ Q_DECLARE_TYPEINFO \
+ Q_DISABLE_COPY \
+ QT_FORWARD_DECLARE_CLASS \
+ Q_DUMMY_COMPARISON_OPERATOR \
+ Q_ENUMS \
+ Q_FLAGS \
+ Q_INTERFACES \
+ __attribute__ \
+ K_DECLARE_PRIVATE \
+ PHONON_OBJECT \
+ PHONON_HEIR
+
+
+
+HTML.style = "" \
+ "h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }"\
+ "a:link { color: #004faf; text-decoration: none }"\
+ "a:visited { color: #672967; text-decoration: none }"\
+ "td.postheader { font-family: sans-serif }"\
+ "tr.address { font-family: sans-serif }"\
+ "body { background: #ffffff; color: black }"\
+ "table tr.odd { background: #f0f0f0; color: black; }"\
+ "table tr.even { background: #e4e4e4; color: black; }"\
+ "table.annotated th { padding: 3px; text-align: left }"\
+ "table.annotated td { padding: 3px; } "\
+ "table tr pre { padding-top: none; padding-bottom: none; padding-left: none; padding-right: none; border: none; background: none }"\
+ "tr.qt-style { background: #a2c511; color: black }"\
+ "body pre { padding: 0.2em; border: #e7e7e7 1px solid; background: #f1f1f1; color: black }"\
+ "span.preprocessor, span.preprocessor a { color: darkblue; }"\
+ "span.comment { color: darkred; font-style: italic }"\
+ "span.string,span.char { color: darkgreen; }"\
+ ".title { text-align: center }"\
+ ".subtitle { font-size: 0.8em }"\
+ ".small-subtitle { font-size: 0.65em }"
+
+HTML.postheader = ""
+
+HTML.footer = ""
diff --git a/doc/src/snippets/code/doc_src_qtwebkit.qdoc b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_build_snippet.qdoc
index d4fc2bd..d4fc2bd 100644
--- a/doc/src/snippets/code/doc_src_qtwebkit.qdoc
+++ b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_build_snippet.qdoc
diff --git a/doc/src/snippets/code/src_3rdparty_webkit_WebKit_qt_Api_qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_qwebview_snippet.cpp
index f04cd29..f04cd29 100644
--- a/doc/src/snippets/code/src_3rdparty_webkit_WebKit_qt_Api_qwebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_qwebview_snippet.cpp
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/simple/main.cpp b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/simple/main.cpp
new file mode 100644
index 0000000..82f5b6c
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/simple/main.cpp
@@ -0,0 +1,34 @@
+/*
+ Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ 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.
+*/
+
+#include <QApplication>
+#include <QUrl>
+#include <QWebView>
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+ QWidget *parent = 0;
+//! [Using QWebView]
+ QWebView *view = new QWebView(parent);
+ view->load(QUrl("http://qtsoftware.com/"));
+ view->show();
+//! [Using QWebView]
+ return app.exec();
+}
diff --git a/doc/src/snippets/webkit/simple/simple.pro b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/simple/simple.pro
index 61cd3bf..61cd3bf 100644
--- a/doc/src/snippets/webkit/simple/simple.pro
+++ b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/simple/simple.pro
diff --git a/doc/src/snippets/webkit/webpage/main.cpp b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/webpage/main.cpp
index b433ac2..b91bc30 100644
--- a/doc/src/snippets/webkit/webpage/main.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/webpage/main.cpp
@@ -1,3 +1,22 @@
+/*
+ Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ 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.
+*/
+
#include <QtGui>
#include <QWebPage>
#include <QWebFrame>
diff --git a/doc/src/snippets/webkit/webpage/webpage.pro b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/webpage/webpage.pro
index fcad03b..fcad03b 100644
--- a/doc/src/snippets/webkit/webpage/webpage.pro
+++ b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/webpage/webpage.pro
diff --git a/src/activeqt/container/container.pro b/src/activeqt/container/container.pro
index ceedacf..d654f92 100644
--- a/src/activeqt/container/container.pro
+++ b/src/activeqt/container/container.pro
@@ -21,25 +21,21 @@ LIBS += -lole32 -loleaut32
!wince*:LIBS += -luser32 -lgdi32 -ladvapi32
win32-g++:LIBS += -luuid
-contains(QT_EDITION, OpenSource|Console) {
- message( "You are not licensed to use ActiveQt." )
-} else {
- HEADERS = ../control/qaxaggregated.h \
- qaxbase.h \
- qaxwidget.h \
- qaxobject.h \
- qaxscript.h \
- qaxselect.h \
- ../shared/qaxtypes.h
-
- SOURCES = qaxbase.cpp \
- qaxdump.cpp \
- qaxwidget.cpp \
- qaxobject.cpp \
- qaxscript.cpp \
- qaxscriptwrapper.cpp \
- qaxselect.cpp \
- ../shared/qaxtypes.cpp
-
- FORMS = qaxselect.ui
-}
+HEADERS = ../control/qaxaggregated.h \
+ qaxbase.h \
+ qaxwidget.h \
+ qaxobject.h \
+ qaxscript.h \
+ qaxselect.h \
+ ../shared/qaxtypes.h
+
+SOURCES = qaxbase.cpp \
+ qaxdump.cpp \
+ qaxwidget.cpp \
+ qaxobject.cpp \
+ qaxscript.cpp \
+ qaxscriptwrapper.cpp \
+ qaxselect.cpp \
+ ../shared/qaxtypes.cpp
+
+FORMS = qaxselect.ui
diff --git a/src/activeqt/control/control.pro b/src/activeqt/control/control.pro
index 65b0251..bf3647e 100644
--- a/src/activeqt/control/control.pro
+++ b/src/activeqt/control/control.pro
@@ -24,20 +24,16 @@ win32-borland:DEFINES += QT_NEEDS_QMAIN
LIBS += -luser32 -lole32 -loleaut32 -lgdi32
win32-g++:LIBS += -luuid
-contains(QT_EDITION, OpenSource|Console) {
- message( "You are not licensed to use ActiveQt." )
-} else {
- HEADERS = qaxaggregated.h \
- qaxbindable.h \
- qaxfactory.h \
- ../shared/qaxtypes.h
-
- SOURCES = qaxserver.cpp \
- qaxserverbase.cpp \
- qaxbindable.cpp \
- qaxfactory.cpp \
- qaxservermain.cpp \
- qaxserverdll.cpp \
- qaxmain.cpp \
- ../shared/qaxtypes.cpp
-}
+HEADERS = qaxaggregated.h \
+ qaxbindable.h \
+ qaxfactory.h \
+ ../shared/qaxtypes.h
+
+SOURCES = qaxserver.cpp \
+ qaxserverbase.cpp \
+ qaxbindable.cpp \
+ qaxfactory.cpp \
+ qaxservermain.cpp \
+ qaxserverdll.cpp \
+ qaxmain.cpp \
+ ../shared/qaxtypes.cpp
diff --git a/src/corelib/arch/qatomic_mips.h b/src/corelib/arch/qatomic_mips.h
index b263aab..ea9954b 100644
--- a/src/corelib/arch/qatomic_mips.h
+++ b/src/corelib/arch/qatomic_mips.h
@@ -103,16 +103,25 @@ Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::isFetchAndAddWaitFree()
#if defined(Q_CC_GNU) && !defined(Q_OS_IRIX)
+#if _MIPS_SIM == _ABIO32
+#define SET_MIPS2 ".set mips2\n\t"
+#else
+#define SET_MIPS2
+#endif
+
inline bool QBasicAtomicInt::ref()
{
register int originalValue;
register int newValue;
- asm volatile("0:\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "0:\n"
"ll %[originalValue], %[_q_value]\n"
"addiu %[newValue], %[originalValue], %[one]\n"
"sc %[newValue], %[_q_value]\n"
"beqz %[newValue], 0b\n"
"nop\n"
+ ".set pop\n"
: [originalValue] "=&r" (originalValue),
[_q_value] "+m" (_q_value),
[newValue] "=&r" (newValue)
@@ -125,12 +134,15 @@ inline bool QBasicAtomicInt::deref()
{
register int originalValue;
register int newValue;
- asm volatile("0:\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "0:\n"
"ll %[originalValue], %[_q_value]\n"
"addiu %[newValue], %[originalValue], %[minusOne]\n"
"sc %[newValue], %[_q_value]\n"
"beqz %[newValue], 0b\n"
"nop\n"
+ ".set pop\n"
: [originalValue] "=&r" (originalValue),
[_q_value] "+m" (_q_value),
[newValue] "=&r" (newValue)
@@ -143,7 +155,9 @@ inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue)
{
register int result;
register int tempValue;
- asm volatile("0:\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "0:\n"
"ll %[result], %[_q_value]\n"
"xor %[result], %[result], %[expectedValue]\n"
"bnez %[result], 0f\n"
@@ -153,6 +167,7 @@ inline bool QBasicAtomicInt::testAndSetRelaxed(int expectedValue, int newValue)
"beqz %[tempValue], 0b\n"
"nop\n"
"0:\n"
+ ".set pop\n"
: [result] "=&r" (result),
[tempValue] "=&r" (tempValue),
[_q_value] "+m" (_q_value)
@@ -166,7 +181,9 @@ inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue)
{
register int result;
register int tempValue;
- asm volatile("0:\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "0:\n"
"ll %[result], %[_q_value]\n"
"xor %[result], %[result], %[expectedValue]\n"
"bnez %[result], 0f\n"
@@ -177,6 +194,7 @@ inline bool QBasicAtomicInt::testAndSetAcquire(int expectedValue, int newValue)
"nop\n"
"sync\n"
"0:\n"
+ ".set pop\n"
: [result] "=&r" (result),
[tempValue] "=&r" (tempValue),
[_q_value] "+m" (_q_value)
@@ -190,7 +208,9 @@ inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue)
{
register int result;
register int tempValue;
- asm volatile("sync\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "sync\n"
"0:\n"
"ll %[result], %[_q_value]\n"
"xor %[result], %[result], %[expectedValue]\n"
@@ -201,6 +221,7 @@ inline bool QBasicAtomicInt::testAndSetRelease(int expectedValue, int newValue)
"beqz %[tempValue], 0b\n"
"nop\n"
"0:\n"
+ ".set pop\n"
: [result] "=&r" (result),
[tempValue] "=&r" (tempValue),
[_q_value] "+m" (_q_value)
@@ -219,12 +240,15 @@ inline int QBasicAtomicInt::fetchAndStoreRelaxed(int newValue)
{
register int originalValue;
register int tempValue;
- asm volatile("0:\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "0:\n"
"ll %[originalValue], %[_q_value]\n"
"move %[tempValue], %[newValue]\n"
"sc %[tempValue], %[_q_value]\n"
"beqz %[tempValue], 0b\n"
"nop\n"
+ ".set pop\n"
: [originalValue] "=&r" (originalValue),
[tempValue] "=&r" (tempValue),
[_q_value] "+m" (_q_value)
@@ -237,13 +261,16 @@ inline int QBasicAtomicInt::fetchAndStoreAcquire(int newValue)
{
register int originalValue;
register int tempValue;
- asm volatile("0:\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "0:\n"
"ll %[originalValue], %[_q_value]\n"
"move %[tempValue], %[newValue]\n"
"sc %[tempValue], %[_q_value]\n"
"beqz %[tempValue], 0b\n"
"nop\n"
"sync\n"
+ ".set pop\n"
: [originalValue] "=&r" (originalValue),
[tempValue] "=&r" (tempValue),
[_q_value] "+m" (_q_value)
@@ -256,13 +283,16 @@ inline int QBasicAtomicInt::fetchAndStoreRelease(int newValue)
{
register int originalValue;
register int tempValue;
- asm volatile("sync\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "sync\n"
"0:\n"
"ll %[originalValue], %[_q_value]\n"
"move %[tempValue], %[newValue]\n"
"sc %[tempValue], %[_q_value]\n"
"beqz %[tempValue], 0b\n"
"nop\n"
+ ".set pop\n"
: [originalValue] "=&r" (originalValue),
[tempValue] "=&r" (tempValue),
[_q_value] "+m" (_q_value)
@@ -280,12 +310,15 @@ inline int QBasicAtomicInt::fetchAndAddRelaxed(int valueToAdd)
{
register int originalValue;
register int newValue;
- asm volatile("0:\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "0:\n"
"ll %[originalValue], %[_q_value]\n"
"addu %[newValue], %[originalValue], %[valueToAdd]\n"
"sc %[newValue], %[_q_value]\n"
"beqz %[newValue], 0b\n"
"nop\n"
+ ".set pop\n"
: [originalValue] "=&r" (originalValue),
[_q_value] "+m" (_q_value),
[newValue] "=&r" (newValue)
@@ -298,13 +331,16 @@ inline int QBasicAtomicInt::fetchAndAddAcquire(int valueToAdd)
{
register int originalValue;
register int newValue;
- asm volatile("0:\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "0:\n"
"ll %[originalValue], %[_q_value]\n"
"addu %[newValue], %[originalValue], %[valueToAdd]\n"
"sc %[newValue], %[_q_value]\n"
"beqz %[newValue], 0b\n"
"nop\n"
"sync\n"
+ ".set pop\n"
: [originalValue] "=&r" (originalValue),
[_q_value] "+m" (_q_value),
[newValue] "=&r" (newValue)
@@ -317,13 +353,16 @@ inline int QBasicAtomicInt::fetchAndAddRelease(int valueToAdd)
{
register int originalValue;
register int newValue;
- asm volatile("sync\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "sync\n"
"0:\n"
"ll %[originalValue], %[_q_value]\n"
"addu %[newValue], %[originalValue], %[valueToAdd]\n"
"sc %[newValue], %[_q_value]\n"
"beqz %[newValue], 0b\n"
"nop\n"
+ ".set pop\n"
: [originalValue] "=&r" (originalValue),
[_q_value] "+m" (_q_value),
[newValue] "=&r" (newValue)
@@ -350,7 +389,9 @@ Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelaxed(T *expectedValu
{
register T *result;
register T *tempValue;
- asm volatile("0:\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "0:\n"
LLP" %[result], %[_q_value]\n"
"xor %[result], %[result], %[expectedValue]\n"
"bnez %[result], 0f\n"
@@ -360,6 +401,7 @@ Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelaxed(T *expectedValu
"beqz %[tempValue], 0b\n"
"nop\n"
"0:\n"
+ ".set pop\n"
: [result] "=&r" (result),
[tempValue] "=&r" (tempValue),
[_q_value] "+m" (_q_value)
@@ -374,7 +416,9 @@ Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetAcquire(T *expectedValu
{
register T *result;
register T *tempValue;
- asm volatile("0:\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "0:\n"
LLP" %[result], %[_q_value]\n"
"xor %[result], %[result], %[expectedValue]\n"
"bnez %[result], 0f\n"
@@ -385,6 +429,7 @@ Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetAcquire(T *expectedValu
"nop\n"
"sync\n"
"0:\n"
+ ".set pop\n"
: [result] "=&r" (result),
[tempValue] "=&r" (tempValue),
[_q_value] "+m" (_q_value)
@@ -399,7 +444,9 @@ Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelease(T *expectedValu
{
register T *result;
register T *tempValue;
- asm volatile("sync\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "sync\n"
"0:\n"
LLP" %[result], %[_q_value]\n"
"xor %[result], %[result], %[expectedValue]\n"
@@ -410,6 +457,7 @@ Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelease(T *expectedValu
"beqz %[tempValue], 0b\n"
"nop\n"
"0:\n"
+ ".set pop\n"
: [result] "=&r" (result),
[tempValue] "=&r" (tempValue),
[_q_value] "+m" (_q_value)
@@ -430,12 +478,15 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue)
{
register T *originalValue;
register T *tempValue;
- asm volatile("0:\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "0:\n"
LLP" %[originalValue], %[_q_value]\n"
"move %[tempValue], %[newValue]\n"
SCP" %[tempValue], %[_q_value]\n"
"beqz %[tempValue], 0b\n"
"nop\n"
+ ".set pop\n"
: [originalValue] "=&r" (originalValue),
[tempValue] "=&r" (tempValue),
[_q_value] "+m" (_q_value)
@@ -449,13 +500,16 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue)
{
register T *originalValue;
register T *tempValue;
- asm volatile("0:\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "0:\n"
LLP" %[originalValue], %[_q_value]\n"
"move %[tempValue], %[newValue]\n"
SCP" %[tempValue], %[_q_value]\n"
"beqz %[tempValue], 0b\n"
"nop\n"
"sync\n"
+ ".set pop\n"
: [originalValue] "=&r" (originalValue),
[tempValue] "=&r" (tempValue),
[_q_value] "+m" (_q_value)
@@ -469,13 +523,16 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue)
{
register T *originalValue;
register T *tempValue;
- asm volatile("sync\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "sync\n"
"0:\n"
LLP" %[originalValue], %[_q_value]\n"
"move %[tempValue], %[newValue]\n"
SCP" %[tempValue], %[_q_value]\n"
"beqz %[tempValue], 0b\n"
"nop\n"
+ ".set pop\n"
: [originalValue] "=&r" (originalValue),
[tempValue] "=&r" (tempValue),
[_q_value] "+m" (_q_value)
@@ -495,12 +552,15 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueTo
{
register T *originalValue;
register T *newValue;
- asm volatile("0:\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "0:\n"
LLP" %[originalValue], %[_q_value]\n"
"addu %[newValue], %[originalValue], %[valueToAdd]\n"
SCP" %[newValue], %[_q_value]\n"
"beqz %[newValue], 0b\n"
"nop\n"
+ ".set pop\n"
: [originalValue] "=&r" (originalValue),
[_q_value] "+m" (_q_value),
[newValue] "=&r" (newValue)
@@ -514,13 +574,16 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueTo
{
register T *originalValue;
register T *newValue;
- asm volatile("0:\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "0:\n"
LLP" %[originalValue], %[_q_value]\n"
"addu %[newValue], %[originalValue], %[valueToAdd]\n"
SCP" %[newValue], %[_q_value]\n"
"beqz %[newValue], 0b\n"
"nop\n"
"sync\n"
+ ".set pop\n"
: [originalValue] "=&r" (originalValue),
[_q_value] "+m" (_q_value),
[newValue] "=&r" (newValue)
@@ -534,13 +597,16 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueTo
{
register T *originalValue;
register T *newValue;
- asm volatile("sync\n"
+ asm volatile(".set push\n"
+ SET_MIPS2
+ "sync\n"
"0:\n"
LLP" %[originalValue], %[_q_value]\n"
"addu %[newValue], %[originalValue], %[valueToAdd]\n"
SCP" %[newValue], %[_q_value]\n"
"beqz %[newValue], 0b\n"
"nop\n"
+ ".set pop\n"
: [originalValue] "=&r" (originalValue),
[_q_value] "+m" (_q_value),
[newValue] "=&r" (newValue)
diff --git a/src/corelib/codecs/qtsciicodec.cpp b/src/corelib/codecs/qtsciicodec.cpp
index 14d2c9c..0ec0567 100644
--- a/src/corelib/codecs/qtsciicodec.cpp
+++ b/src/corelib/codecs/qtsciicodec.cpp
@@ -180,8 +180,7 @@ QByteArray QTsciiCodec::name() const
*/
int QTsciiCodec::mibEnum() const
{
- /* There is no MIBEnum for TSCII now */
- return -3197;
+ return 2107;
}
static const int UnToTsLast = 124; // 125 items -- so the last will be 124
diff --git a/src/corelib/codecs/qutfcodec.cpp b/src/corelib/codecs/qutfcodec.cpp
index 281bf75..1ac592e 100644
--- a/src/corelib/codecs/qutfcodec.cpp
+++ b/src/corelib/codecs/qutfcodec.cpp
@@ -413,9 +413,7 @@ QByteArray QUtf16Codec::name() const
QList<QByteArray> QUtf16Codec::aliases() const
{
- QList<QByteArray> list;
- list << "ISO-10646-UCS-2";
- return list;
+ return QList<QByteArray>();
}
int QUtf16BECodec::mibEnum() const
diff --git a/src/corelib/concurrent/qfutureinterface.h b/src/corelib/concurrent/qfutureinterface.h
index 85d03c9..345bebe 100644
--- a/src/corelib/concurrent/qfutureinterface.h
+++ b/src/corelib/concurrent/qfutureinterface.h
@@ -165,6 +165,8 @@ public:
QFutureInterface &operator=(const QFutureInterface &other)
{
+ if (referenceCountIsOne())
+ resultStore().clear();
QFutureInterfaceBase::operator=(other);
return *this;
}
diff --git a/src/corelib/global/qfeatures.h b/src/corelib/global/qfeatures.h
index 6d55f7c..2189723 100644
--- a/src/corelib/global/qfeatures.h
+++ b/src/corelib/global/qfeatures.h
@@ -120,6 +120,9 @@
// QMovie
//#define QT_NO_MOVIE
+// QNetworkInterface
+//#define QT_NO_NETWORKINTERFACE
+
// QNetworkProxy
//#define QT_NO_NETWORKPROXY
@@ -198,12 +201,12 @@
// Qt Prerendered Font Format
//#define QT_NO_QWS_QPF
-// Raster Paint Engine callback functions
-//#define QT_NO_RASTERCALLBACKS
-
// Qt Prerendered Font Format 2
//#define QT_NO_QWS_QPF2
+// Raster Paint Engine callback functions
+//#define QT_NO_RASTERCALLBACKS
+
// Resize Handler
//#define QT_NO_RESIZEHANDLER
@@ -273,9 +276,6 @@
// HtmlParser
//#define QT_NO_TEXTHTMLPARSER
-// OdfWriter
-//#define QT_NO_TEXTODFWRITER
-
// QTextStream
//#define QT_NO_TEXTSTREAM
@@ -316,6 +316,11 @@
#define QT_NO_BUTTONGROUP
#endif
+// QClipboard
+#if !defined(QT_NO_CLIPBOARD) && (defined(QT_NO_QWS_PROPERTIES))
+#define QT_NO_CLIPBOARD
+#endif
+
// Codecs
#if !defined(QT_NO_CODECS) && (defined(QT_NO_TEXTCODEC))
#define QT_NO_CODECS
@@ -376,11 +381,6 @@
#define QT_NO_PHONON_VOLUMESLIDER
#endif
-// QPrinter
-#if !defined(QT_NO_PRINTER) && (defined(QT_NO_TEXTSTREAM))
-#define QT_NO_PRINTER
-#endif
-
// QProcess
#if !defined(QT_NO_PROCESS) && (defined(QT_NO_THREAD))
#define QT_NO_PROCESS
@@ -481,11 +481,6 @@
#define QT_NO_XMLSTREAMWRITER
#endif
-// Odf Writer
-#if !defined(QT_NO_TEXTODFWRITER) && (defined(QT_NO_XMLSTREAMWRITER))
-#define QT_NO_TEXTODFWRITER
-#endif
-
// Context menu
#if !defined(QT_NO_CONTEXTMENU) && (defined(QT_NO_MENU))
#define QT_NO_CONTEXTMENU
@@ -511,11 +506,21 @@
#define QT_NO_LIBRARY
#endif
+// QPrinter
+#if !defined(QT_NO_PRINTER) && (defined(QT_NO_TEXTSTREAM) || defined(QT_NO_PICTURE))
+#define QT_NO_PRINTER
+#endif
+
// QScrollArea
#if !defined(QT_NO_SCROLLAREA) && (defined(QT_NO_SCROLLBAR))
#define QT_NO_SCROLLAREA
#endif
+// OdfWriter
+#if !defined(QT_NO_TEXTODFWRITER) && (defined(QT_NO_XMLSTREAMWRITER))
+#define QT_NO_TEXTODFWRITER
+#endif
+
// QToolButton
#if !defined(QT_NO_TOOLBUTTON) && (defined(QT_NO_ICON) || defined(QT_NO_ACTION))
#define QT_NO_TOOLBUTTON
@@ -636,16 +641,6 @@
#define QT_NO_WHATSTHIS
#endif
-// QClipboard
-#if !defined(QT_NO_CLIPBOARD) && (defined(QT_NO_QWS_PROPERTIES))
-#define QT_NO_CLIPBOARD
-#endif
-
-// Common UNIX Printing System
-#if !defined(QT_NO_CUPS) && (defined(QT_NO_PRINTER) || defined(QT_NO_LIBRARY))
-#define QT_NO_CUPS
-#endif
-
// QDirModel
#if !defined(QT_NO_DIRMODEL) && (defined(QT_NO_ITEMVIEWS))
#define QT_NO_DIRMODEL
@@ -726,6 +721,11 @@
#define QT_NO_COMPLETER
#endif
+// Common UNIX Printing System
+#if !defined(QT_NO_CUPS) && (defined(QT_NO_PRINTER) || defined(QT_NO_LIBRARY))
+#define QT_NO_CUPS
+#endif
+
// QDataWidgetMapper
#if !defined(QT_NO_DATAWIDGETMAPPER) && (defined(QT_NO_ITEMVIEWS) || defined(QT_NO_PROPERTIES))
#define QT_NO_DATAWIDGETMAPPER
@@ -757,7 +757,7 @@
#endif
// QPrintPreviewWidget
-#if !defined(QT_NO_PRINTPREVIEWWIDGET) && (defined(QT_NO_GRAPHICSVIEW) || defined(QT_NO_PRINTER) || defined(QT_NO_PICTURE))
+#if !defined(QT_NO_PRINTPREVIEWWIDGET) && (defined(QT_NO_GRAPHICSVIEW) || defined(QT_NO_PRINTER))
#define QT_NO_PRINTPREVIEWWIDGET
#endif
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index 025442a..a0ea68c 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -44,11 +44,11 @@
#include <stddef.h>
-#define QT_VERSION_STR "4.5.1"
+#define QT_VERSION_STR "4.5.2"
/*
QT_VERSION is (major << 16) + (minor << 8) + patch.
*/
-#define QT_VERSION 0x040501
+#define QT_VERSION 0x040502
/*
can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0))
*/
@@ -2281,9 +2281,9 @@ QT3_SUPPORT Q_CORE_EXPORT const char *qInstallPathSysconf();
| QT_MODULE_GRAPHICSVIEW \
| QT_MODULE_HELP \
| QT_MODULE_TEST \
- | QT_MODULE_DBUS)
-#define QT_EDITION_DESKTOP (QT_EDITION_OPENSOURCE \
+ | QT_MODULE_DBUS \
| QT_MODULE_ACTIVEQT)
+#define QT_EDITION_DESKTOP (QT_EDITION_OPENSOURCE)
#define QT_EDITION_UNIVERSAL QT_EDITION_DESKTOP
#define QT_EDITION_ACADEMIC QT_EDITION_DESKTOP
#define QT_EDITION_EDUCATIONAL QT_EDITION_DESKTOP
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index ada08c7..29e356e 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -485,100 +485,27 @@ QT_END_NAMESPACE
#if defined(Q_CC_GNU) && defined(Q_OS_LINUX) && !defined(QT_LINUXBASE) && !defined(QT_BOOTSTRAPPED)
-# include <sys/syscall.h>
-# include <unistd.h>
-
-static const char boilerplate[] =
- "This is the QtCore library version " QT_VERSION_STR "\n"
- "Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).\n"
- "Contact: Qt Software Information (qt-info@nokia.com)\n"
- "\n"
- "Build key: " QT_BUILD_KEY;
-
-extern "C" {
-void qt_core_init_boilerplate() __attribute__((noreturn));
-}
+# include <stdio.h>
+# include <stdlib.h>
-# if defined(QT_ARCH_I386)
-#define sysinit() (void)0
-#define syswrite(msg, len) \
- ({ int res; \
- asm volatile ("movl %%ebx, %%edi\n" \
- "movl $1, %%ebx\n" \
- "int $0x80\n" \
- "movl %%edi, %%ebx\n" \
- : "=a" (res) : "0" (SYS_write), "c" (msg), "d" (len) : "edi"); res; })
-#define sysexit(c) \
- asm ("xor %%ebx, %%ebx\n" \
- "int $0x80\n" \
- : : "a" (SYS_exit)); _exit(c)
-
-# elif defined(QT_ARCH_X86_64)
-#define sysinit() (void)0
-#define syswrite(msg, len) \
- ({ int res; \
- asm volatile ("syscall\n" \
- : "=a" (res) : "0" (SYS_write), "D" (1), "S" (msg), "d" (len) : "rcx"); res; })
-#define sysexit(c) \
- asm ("syscall\n" \
- : : "a" (SYS_exit), "D" (0)); _exit(c)
-
-# elif defined(QT_ARCH_IA64)
-#define sysinit() \
- asm volatile ("{.mlx\n" \
- " nop.m 0\n" \
- " movl r2 = @pcrel(boilerplate);;" \
- "}\n" \
- "{.mii\n" \
- " mov r10 = @ltoffx(boilerplate)\n" \
- " mov r1 = ip\n" \
- " adds r2 = -16, r2\n;;\n" \
- "}\n" \
- " add r1 = r2, r1;;\n" \
- " sub r1 = r1, r10;;\n" \
- : : : "r2", "r10")
-#define syswrite(msg, len) \
- ({ const char *_msg = msg; \
- asm ("mov out0=%1\n" \
- "mov out1=%2\n" \
- "mov out2=%3\n" \
- ";;\n" \
- "mov r15=%0\n" \
- "break 0x100000;;\n" \
- : : "I" (SYS_write), "I" (1), "r" (_msg), "r" (len)); })
-#define sysexit(c) \
- asm ("mov out0=%1\n" \
- ";;\n" \
- "mov r15=%0\n" \
- "break 0x100000;;\n" \
- : : "I" (SYS_exit), "O" (0)); write(1, 0, 0); _exit(c)
-# else
-#define sysinit() (void)0
-#define syswrite(msg, len) (msg); (len)
-#define sysexit(c) __builtin_exit(c)
-# endif
-
-#define sysputs(msg) syswrite(msg, -1 + sizeof(msg))
-#define sysendl() syswrite("\n", 1)
-#define print_qt_configure(_which) \
- ({const char *which = _which; \
- which += 12; \
- int len = 0; \
- while (which[len]) ++len; \
- syswrite(which, len); })
+extern const char qt_core_interpreter[] __attribute__((section(".interp")))
+ = "/lib/ld-linux.so.2";
+extern "C"
void qt_core_init_boilerplate()
{
- sysinit();
- sysputs(boilerplate);
- sysputs("\nInstallation prefix: ");
- print_qt_configure(qt_configure_prefix_path_str);
- sysputs("\nLibrary path: ");
- print_qt_configure(qt_configure_libraries_path_str);
- sysputs("\nInclude path: ");
- print_qt_configure(qt_configure_headers_path_str);
- sysendl();
- sysexit(0);
+ printf("This is the QtCore library version " QT_VERSION_STR "\n"
+ "Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).\n"
+ "Contact: Qt Software Information (qt-info@nokia.com)\n"
+ "\n"
+ "Build key: " QT_BUILD_KEY "\n"
+ "Installation prefix: %s\n"
+ "Library path: %s\n"
+ "Include path: %s\n",
+ qt_configure_prefix_path_str + 12,
+ qt_configure_libraries_path_str + 12,
+ qt_configure_headers_path_str + 12);
+ exit(0);
}
#endif
diff --git a/src/corelib/io/qdatastream.cpp b/src/corelib/io/qdatastream.cpp
index 9990696..b203899 100644
--- a/src/corelib/io/qdatastream.cpp
+++ b/src/corelib/io/qdatastream.cpp
@@ -514,7 +514,7 @@ void QDataStream::setByteOrder(ByteOrder bo)
\value Qt_4_2 Version 8 (Qt 4.2)
\value Qt_4_3 Version 9 (Qt 4.3)
\value Qt_4_4 Version 10 (Qt 4.4)
- \value Qt_4_5 Version 10 (Qt 4.5)
+ \value Qt_4_5 Version 11 (Qt 4.5)
\omitvalue Qt_4_6
\sa setVersion(), version()
diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp
index 6d75c59..b7861ba 100644
--- a/src/corelib/io/qdir.cpp
+++ b/src/corelib/io/qdir.cpp
@@ -50,6 +50,7 @@
#include "qstring.h"
#include "qregexp.h"
#include "qvector.h"
+#include "qalgorithms.h"
#ifdef QT_BUILD_CORE_LIB
# include "qresource.h"
#endif
@@ -190,32 +191,28 @@ QDirPrivate::~QDirPrivate()
/* For sorting */
struct QDirSortItem {
- QString filename_cache;
- QString suffix_cache;
+ mutable QString filename_cache;
+ mutable QString suffix_cache;
QFileInfo item;
};
-static int qt_cmp_si_sort_flags;
-#if defined(Q_C_CALLBACKS)
-extern "C" {
-#endif
-#ifdef Q_OS_WINCE
-static int __cdecl qt_cmp_si(const void *n1, const void *n2)
-#else
-static int qt_cmp_si(const void *n1, const void *n2)
-#endif
-{
- if (!n1 || !n2)
- return 0;
+class QDirSortItemComparator {
+ int qt_cmp_si_sort_flags;
+public:
+ QDirSortItemComparator(int flags) : qt_cmp_si_sort_flags(flags) {}
+ bool operator()(const QDirSortItem &, const QDirSortItem &);
+};
- QDirSortItem* f1 = (QDirSortItem*)n1;
- QDirSortItem* f2 = (QDirSortItem*)n2;
+bool QDirSortItemComparator::operator()(const QDirSortItem &n1, const QDirSortItem &n2)
+{
+ const QDirSortItem* f1 = &n1;
+ const QDirSortItem* f2 = &n2;
if ((qt_cmp_si_sort_flags & QDir::DirsFirst) && (f1->item.isDir() != f2->item.isDir()))
- return f1->item.isDir() ? -1 : 1;
+ return f1->item.isDir();
if ((qt_cmp_si_sort_flags & QDir::DirsLast) && (f1->item.isDir() != f2->item.isDir()))
- return f1->item.isDir() ? 1 : -1;
+ return !f1->item.isDir();
int r = 0;
int sortBy = (qt_cmp_si_sort_flags & QDir::SortByMask)
@@ -264,18 +261,11 @@ static int qt_cmp_si(const void *n1, const void *n2)
: f1->filename_cache.compare(f2->filename_cache);
}
- if (r == 0) // Enforce an order - the order the items appear in the array
- r = (char*)n1 - (char*)n2;
-
if (qt_cmp_si_sort_flags & QDir::Reversed)
- return -r;
- return r;
+ return r > 0;
+ return r < 0;
}
-#if defined(Q_C_CALLBACKS)
-}
-#endif
-
inline void QDirPrivate::sortFileList(QDir::SortFlags sort, QStringList &l,
QStringList *names, QFileInfoList *infos) const
{
@@ -292,9 +282,8 @@ inline void QDirPrivate::sortFileList(QDir::SortFlags sort, QStringList &l,
path += QLatin1Char('/');
si[i].item = QFileInfo(path + l.at(i));
}
- qt_cmp_si_sort_flags = sort;
if ((sort & QDir::SortByMask) != QDir::Unsorted)
- qsort(si, i, sizeof(si[0]), qt_cmp_si);
+ qStableSort(si, si+i, QDirSortItemComparator(sort));
// put them back in the list(s)
for (int j = 0; j<i; j++) {
if(infos)
diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp
index 0d88b06..18b92e2 100644
--- a/src/corelib/io/qfsfileengine_unix.cpp
+++ b/src/corelib/io/qfsfileengine_unix.cpp
@@ -780,7 +780,7 @@ QString QFSFileEngine::fileName(FileName file) const
#endif
if (len > 0) {
QString ret;
- if (S_ISDIR(d->st.st_mode) && s[0] != '/') {
+ if (d->doStat() && S_ISDIR(d->st.st_mode) && s[0] != '/') {
QDir parent(d->filePath);
parent.cdUp();
ret = parent.path();
diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp
index 522be20..63506c2 100644
--- a/src/corelib/io/qfsfileengine_win.cpp
+++ b/src/corelib/io/qfsfileengine_win.cpp
@@ -346,8 +346,15 @@ bool QFSFileEnginePrivate::uncListSharesOnServer(const QString &server, QStringL
static bool isUncRoot(const QString &server)
{
QString localPath = QDir::toNativeSeparators(server);
- QStringList parts = localPath.split(QLatin1Char('\\'), QString::SkipEmptyParts);
- return localPath.startsWith(QLatin1String("\\\\")) && parts.count() <= 1;
+ if (!localPath.startsWith(QLatin1String("\\\\")))
+ return false;
+
+ int idx = localPath.indexOf(QLatin1Char('\\'), 2);
+ if (idx == -1 || idx + 1 == localPath.length())
+ return true;
+
+ localPath = localPath.right(localPath.length() - idx - 1).trimmed();
+ return localPath.isEmpty();
}
static bool isUncPath(const QString &path)
diff --git a/src/corelib/io/qtemporaryfile.cpp b/src/corelib/io/qtemporaryfile.cpp
index 6a7b067..6a9125c 100644
--- a/src/corelib/io/qtemporaryfile.cpp
+++ b/src/corelib/io/qtemporaryfile.cpp
@@ -105,100 +105,100 @@ QT_BEGIN_NAMESPACE
*/
static int _gettemp(char *path, int *doopen, int domkdir, int slen)
{
- char *start, *trv, *suffp;
- QT_STATBUF sbuf;
- int rval;
+ char *start, *trv, *suffp;
+ QT_STATBUF sbuf;
+ int rval;
#if defined(Q_OS_WIN)
int pid;
#else
- pid_t pid;
+ pid_t pid;
#endif
- if (doopen && domkdir) {
- errno = EINVAL;
- return(0);
- }
-
- for (trv = path; *trv; ++trv)
- ;
- trv -= slen;
- suffp = trv;
- --trv;
- if (trv < path) {
- errno = EINVAL;
- return (0);
- }
+ if (doopen && domkdir) {
+ errno = EINVAL;
+ return 0;
+ }
+
+ for (trv = path; *trv; ++trv)
+ ;
+ trv -= slen;
+ suffp = trv;
+ --trv;
+ if (trv < path) {
+ errno = EINVAL;
+ return 0;
+ }
#if defined(Q_OS_WIN) && defined(_MSC_VER) && _MSC_VER >= 1400
- pid = _getpid();
+ pid = _getpid();
#else
- pid = getpid();
+ pid = getpid();
#endif
- while (trv >= path && *trv == 'X' && pid != 0) {
- *trv-- = (pid % 10) + '0';
- pid /= 10;
- }
+ while (trv >= path && *trv == 'X' && pid != 0) {
+ *trv-- = (pid % 10) + '0';
+ pid /= 10;
+ }
#ifndef S_ISDIR
-#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
#endif
- while (trv >= path && *trv == 'X') {
- char c;
-
- // CHANGE arc4random() -> random()
- pid = (qrand() & 0xffff) % (26+26);
- if (pid < 26)
- c = pid + 'A';
- else
- c = (pid - 26) + 'a';
- *trv-- = c;
- }
- start = trv + 1;
-
- /*
- * check the target directory; if you have six X's and it
- * doesn't exist this runs for a *very* long time.
- */
- if (doopen || domkdir) {
- for (;; --trv) {
- if (trv <= path)
- break;
- if (*trv == '/') {
- *trv = '\0';
+ while (trv >= path && *trv == 'X') {
+ char c;
+
+ // CHANGE arc4random() -> random()
+ pid = (qrand() & 0xffff) % (26+26);
+ if (pid < 26)
+ c = pid + 'A';
+ else
+ c = (pid - 26) + 'a';
+ *trv-- = c;
+ }
+ start = trv + 1;
+
+ /*
+ * check the target directory; if you have six X's and it
+ * doesn't exist this runs for a *very* long time.
+ */
+ if (doopen || domkdir) {
+ for (;; --trv) {
+ if (trv <= path)
+ break;
+ if (*trv == '/') {
+ *trv = '\0';
#if defined (Q_OS_WIN) && !defined(Q_OS_WINCE)
- if (trv - path == 2 && path[1] == ':') {
- // Special case for Windows drives
- // (e.g., "C:" => "C:\").
- // ### Better to use a Windows
- // call for this.
- char drive[] = "c:\\";
- drive[0] = path[0];
- rval = QT_STAT(drive, &sbuf);
- } else
+ if (trv - path == 2 && path[1] == ':') {
+ // Special case for Windows drives
+ // (e.g., "C:" => "C:\").
+ // ### Better to use a Windows
+ // call for this.
+ char drive[] = "c:\\";
+ drive[0] = path[0];
+ rval = QT_STAT(drive, &sbuf);
+ } else
#endif
- rval = QT_STAT(path, &sbuf);
- *trv = '/';
- if (rval != 0)
- return(0);
- if (!S_ISDIR(sbuf.st_mode)) {
- errno = ENOTDIR;
- return(0);
- }
- break;
- }
- }
- }
-
- for (;;) {
- if (doopen) {
+ rval = QT_STAT(path, &sbuf);
+ *trv = '/';
+ if (rval != 0)
+ return 0;
+ if (!S_ISDIR(sbuf.st_mode)) {
+ errno = ENOTDIR;
+ return 0;
+ }
+ break;
+ }
+ }
+ }
+
+ for (;;) {
+ if (doopen) {
#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE) && defined(_MSC_VER) && _MSC_VER >= 1400
- if (_sopen_s(doopen, path, QT_OPEN_CREAT|O_EXCL|QT_OPEN_RDWR|QT_OPEN_BINARY
-#ifdef QT_LARGEFILE_SUPPORT
- |QT_OPEN_LARGEFILE
-#endif
- , _SH_DENYNO, _S_IREAD | _S_IWRITE)== 0)
-#else
-#if defined(Q_OS_WINCE)
+ if (_sopen_s(doopen, path, QT_OPEN_CREAT|O_EXCL|QT_OPEN_RDWR|QT_OPEN_BINARY
+# ifdef QT_LARGEFILE_SUPPORT
+ |QT_OPEN_LARGEFILE
+# endif
+ , _SH_DENYNO, _S_IREAD | _S_IWRITE)== 0)
+#else // WIN && !CE
+# if defined(Q_OS_WINCE)
QString targetPath;
if (QDir::isAbsolutePath(QString::fromLatin1(path)))
targetPath = QLatin1String(path);
@@ -207,72 +207,82 @@ static int _gettemp(char *path, int *doopen, int domkdir, int slen)
if ((*doopen =
QT_OPEN(targetPath.toLocal8Bit(), O_CREAT|O_EXCL|O_RDWR
-#else
- if ((*doopen =
- open(path, QT_OPEN_CREAT|O_EXCL|QT_OPEN_RDWR
-#endif
-#ifdef QT_LARGEFILE_SUPPORT
- |QT_OPEN_LARGEFILE
-#endif
+# else // CE
+ if ((*doopen =
+ open(path, QT_OPEN_CREAT|O_EXCL|QT_OPEN_RDWR
+# endif
+# ifdef QT_LARGEFILE_SUPPORT
+ |QT_OPEN_LARGEFILE
+# endif
# if defined(Q_OS_WINCE)
- |_O_BINARY
+ |_O_BINARY
# elif defined(Q_OS_WIN)
- |O_BINARY
+ |O_BINARY
+# endif
+# ifdef O_CLOEXEC
+ // supported on Linux >= 2.6.23; avoids one extra system call
+ // and avoids a race condition: if another thread forks, we could
+ // end up leaking a file descriptor...
+ |O_CLOEXEC
# endif
- , 0600)) >= 0)
+ , 0600)) >= 0)
+#endif // WIN && !CE
+ {
+#if defined(Q_OS_UNIX) && !defined(O_CLOEXEC)
+ fcntl(*doopen, F_SETFD, FD_CLOEXEC);
#endif
-
- return(1);
- if (errno != EEXIST)
- return(0);
- } else if (domkdir) {
+ return 1;
+ }
+ if (errno != EEXIST)
+ return 0;
+ } else if (domkdir) {
#ifdef Q_OS_WIN
- if (QT_MKDIR(path) == 0)
+ if (QT_MKDIR(path) == 0)
#else
- if (mkdir(path, 0700) == 0)
+ if (mkdir(path, 0700) == 0)
#endif
- return(1);
- if (errno != EEXIST)
- return(0);
- }
+ return 1;
+ if (errno != EEXIST)
+ return 0;
+ }
#ifndef Q_OS_WIN
- else if (QT_LSTAT(path, &sbuf))
- return(errno == ENOENT ? 1 : 0);
+ else if (QT_LSTAT(path, &sbuf))
+ return (errno == ENOENT) ? 1 : 0;
#else
- if (!QFileInfo(QLatin1String(path)).exists())
- return 1;
+ if (!QFileInfo(QLatin1String(path)).exists())
+ return 1;
#endif
- /* tricky little algorwwithm for backward compatibility */
- for (trv = start;;) {
- if (!*trv)
- return (0);
- if (*trv == 'Z') {
- if (trv == suffp)
- return (0);
- *trv++ = 'a';
- } else {
- if (isdigit(*trv))
- *trv = 'a';
- else if (*trv == 'z') /* inc from z to A */
- *trv = 'A';
- else {
- if (trv == suffp)
- return (0);
- ++*trv;
- }
- break;
- }
+ /* tricky little algorwwithm for backward compatibility */
+ for (trv = start;;) {
+ if (!*trv)
+ return 0;
+ if (*trv == 'Z') {
+ if (trv == suffp)
+ return 0;
+ *trv++ = 'a';
+ } else {
+ if (isdigit(*trv))
+ *trv = 'a';
+ else if (*trv == 'z') /* inc from z to A */
+ *trv = 'A';
+ else {
+ if (trv == suffp)
+ return 0;
+ ++*trv;
}
+ break;
+ }
}
- /*NOTREACHED*/
+ }
+ /*NOTREACHED*/
}
#ifndef Q_WS_WIN
static int qt_mkstemps(char *path, int slen)
{
- int fd = 0;
- return (_gettemp(path, &fd, 0, slen) ? fd : -1);
+ int fd = 0;
+ return (_gettemp(path, &fd, 0, slen) ? fd : -1);
}
#endif
@@ -284,6 +294,8 @@ public:
QTemporaryFileEngine(const QString &file) : QFSFileEngine(file) { }
~QTemporaryFileEngine();
+ void setFileName(const QString &file);
+
bool open(QIODevice::OpenMode flags);
bool remove();
bool close();
@@ -294,6 +306,13 @@ QTemporaryFileEngine::~QTemporaryFileEngine()
QFSFileEngine::close();
}
+void QTemporaryFileEngine::setFileName(const QString &file)
+{
+ // Really close the file, so we don't leak
+ QFSFileEngine::close();
+ QFSFileEngine::setFileName(file);
+}
+
bool QTemporaryFileEngine::open(QIODevice::OpenMode openMode)
{
Q_D(QFSFileEngine);
diff --git a/src/corelib/io/qtextstream.cpp b/src/corelib/io/qtextstream.cpp
index ed9d0aa..1167671 100644
--- a/src/corelib/io/qtextstream.cpp
+++ b/src/corelib/io/qtextstream.cpp
@@ -67,8 +67,10 @@ static const int QTEXTSTREAM_BUFFERSIZE = 16384;
\snippet doc/src/snippets/code/src_corelib_io_qtextstream.cpp 1
Note that you cannot use QTextStream::atEnd(), which returns true when you
- have reached the end of the data stream, with stdin.
-
+ have reached the end of the data stream, with stdin. The reason for this is
+ that as long as stdin doesn't give any input to the QTextStream, \c atEnd()
+ will return true even if the stdin is open and waiting for more characters.
+
Besides using QTextStream's constructors, you can also set the
device or string QTextStream operates on by calling setDevice() or
setString(). You can seek to a position by calling seek(), and
diff --git a/src/corelib/kernel/qcoreevent.cpp b/src/corelib/kernel/qcoreevent.cpp
index fa2e7b0..d6b0174 100644
--- a/src/corelib/kernel/qcoreevent.cpp
+++ b/src/corelib/kernel/qcoreevent.cpp
@@ -260,6 +260,7 @@ QT_BEGIN_NAMESPACE
\omitvalue ApplicationActivated
\omitvalue ApplicationDeactivated
\omitvalue MacGLWindowChange
+ \omitvalue MacGLClearDrawable
\omitvalue NetworkReplyUpdated
\omitvalue FutureCallOut
\omitvalue CocoaRequestModal
diff --git a/src/corelib/kernel/qeventdispatcher_glib.cpp b/src/corelib/kernel/qeventdispatcher_glib.cpp
index 3fd768a..3c5b277 100644
--- a/src/corelib/kernel/qeventdispatcher_glib.cpp
+++ b/src/corelib/kernel/qeventdispatcher_glib.cpp
@@ -42,6 +42,7 @@
#include "qeventdispatcher_glib_p.h"
#include "qeventdispatcher_unix_p.h"
+#include <private/qmutexpool_p.h>
#include <private/qthread_p.h>
#include "qcoreapplication.h"
@@ -224,6 +225,8 @@ QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(GMainContext *context)
: mainContext(context)
{
if (qgetenv("QT_NO_THREADED_GLIB").isEmpty()) {
+ static int dummyValue = 0; // only used for its address
+ QMutexLocker locker(QMutexPool::instance()->get(&dummyValue));
if (!g_thread_supported())
g_thread_init(NULL);
}
diff --git a/src/corelib/kernel/qeventloop.cpp b/src/corelib/kernel/qeventloop.cpp
index 92bdf73..600f787 100644
--- a/src/corelib/kernel/qeventloop.cpp
+++ b/src/corelib/kernel/qeventloop.cpp
@@ -188,8 +188,9 @@ int QEventLoop::exec(ProcessEventsFlags flags)
d->threadData->eventLoops.push(this);
// remove posted quit events when entering a new event loop
- if (qApp->thread() == thread())
- QCoreApplication::removePostedEvents(qApp, QEvent::Quit);
+ QCoreApplication *app = QCoreApplication::instance();
+ if (app && app->thread() == thread())
+ QCoreApplication::removePostedEvents(app, QEvent::Quit);
#if defined(QT_NO_EXCEPTIONS)
while (!d->exit)
diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp
index f602821..8f1c698 100644
--- a/src/corelib/thread/qthread_unix.cpp
+++ b/src/corelib/thread/qthread_unix.cpp
@@ -180,8 +180,7 @@ void *QThreadPrivate::start(void *arg)
data->quitNow = false;
// ### TODO: allow the user to create a custom event dispatcher
- if (QCoreApplication::instance())
- createEventDispatcher(data);
+ createEventDispatcher(data);
emit thr->started();
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
diff --git a/src/corelib/thread/qthread_win.cpp b/src/corelib/thread/qthread_win.cpp
index 27193c6..7094e3d 100644
--- a/src/corelib/thread/qthread_win.cpp
+++ b/src/corelib/thread/qthread_win.cpp
@@ -292,8 +292,7 @@ unsigned int __stdcall QThreadPrivate::start(void *arg)
data->quitNow = false;
// ### TODO: allow the user to create a custom event dispatcher
- if (QCoreApplication::instance())
- createEventDispatcher(data);
+ createEventDispatcher(data);
#if !defined(QT_NO_DEBUG) && defined(Q_CC_MSVC) && !defined(Q_OS_WINCE)
// sets the name of the current thread.
diff --git a/src/corelib/tools/qbytearraymatcher.cpp b/src/corelib/tools/qbytearraymatcher.cpp
index cd4cf90..211d190 100644
--- a/src/corelib/tools/qbytearraymatcher.cpp
+++ b/src/corelib/tools/qbytearraymatcher.cpp
@@ -120,6 +120,7 @@ QByteArrayMatcher::QByteArrayMatcher()
: d(0)
{
p.p = 0;
+ p.l = 0;
qMemSet(p.q_skiptable, 0, sizeof(p.q_skiptable));
}
@@ -170,7 +171,7 @@ QByteArrayMatcher::~QByteArrayMatcher()
QByteArrayMatcher &QByteArrayMatcher::operator=(const QByteArrayMatcher &other)
{
q_pattern = other.q_pattern;
- qMemCopy(p.q_skiptable, other.p.q_skiptable, sizeof(p.q_skiptable));
+ qMemCopy(&p, &other.p, sizeof(p));
return *this;
}
diff --git a/src/corelib/tools/qbytearraymatcher.h b/src/corelib/tools/qbytearraymatcher.h
index d7f2366..633e92c 100644
--- a/src/corelib/tools/qbytearraymatcher.h
+++ b/src/corelib/tools/qbytearraymatcher.h
@@ -67,7 +67,12 @@ public:
int indexIn(const QByteArray &ba, int from = 0) const;
int indexIn(const char *str, int len, int from = 0) const;
- inline QByteArray pattern() const { return q_pattern; }
+ inline QByteArray pattern() const
+ {
+ if (q_pattern.isNull())
+ return QByteArray((const char*)p.p, p.l);
+ return q_pattern;
+ }
private:
QByteArrayMatcherPrivate *d;
diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp
index 540f43d..b2512e1 100644
--- a/src/corelib/tools/qhash.cpp
+++ b/src/corelib/tools/qhash.cpp
@@ -91,7 +91,7 @@ static uint hash(const QChar *p, int n)
uint qHash(const QByteArray &key)
{
- return hash(reinterpret_cast<const uchar *>(key.data()), key.size());
+ return hash(reinterpret_cast<const uchar *>(key.constData()), key.size());
}
uint qHash(const QString &key)
@@ -107,7 +107,7 @@ uint qHash(const QStringRef &key)
uint qHash(const QBitArray &bitArray)
{
int m = bitArray.d.size() - 1;
- uint result = hash(reinterpret_cast<const uchar *>(bitArray.d.data()), qMax(0, m));
+ uint result = hash(reinterpret_cast<const uchar *>(bitArray.d.constData()), qMax(0, m));
// deal with the last 0 to 7 bits manually, because we can't trust that
// the padding is initialized to 0 in bitArray.d
@@ -379,6 +379,107 @@ void QHashData::checkSanity()
#endif
/*!
+ \fn uint qHash(const QPair<T1, T2> &key)
+ \relates QHash
+ \since 4.3
+
+ Returns the hash value for the \a key.
+
+ Types \c T1 and \c T2 must be supported by qHash().
+*/
+
+/*! \fn uint qHash(char key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*! \fn uint qHash(uchar key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*! \fn uint qHash(signed char key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*! \fn uint qHash(ushort key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*! \fn uint qHash(short key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*! \fn uint qHash(uint key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*! \fn uint qHash(int key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*! \fn uint qHash(ulong key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*! \fn uint qHash(long key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*! \fn uint qHash(quint64 key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*! \fn uint qHash(qint64 key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*! \fn uint qHash(QChar key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*! \fn uint qHash(const QByteArray &key)
+ \fn uint qHash(const QBitArray &key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*! \fn uint qHash(const QString &key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*! \fn uint qHash(const T *key)
+ \relates QHash
+
+ Returns the hash value for the \a key.
+*/
+
+/*!
\class QHash
\brief The QHash class is a template class that provides a hash-table-based dictionary.
@@ -401,7 +502,7 @@ void QHashData::checkSanity()
key. With QHash, the items are arbitrarily ordered.
\i The key type of a QMap must provide operator<(). The key
type of a QHash must provide operator==() and a global
- \l{qHash()}{qHash}(Key) function.
+ \l{qHash()} {hash} function.
\endlist
Here's an example QHash with QString keys and \c int values:
@@ -732,7 +833,6 @@ void QHashData::checkSanity()
*/
/*! \fn const T QHash::value(const Key &key, const T &defaultValue) const
-
\overload
If the hash contains no item with the given \a key, the function returns
@@ -1490,121 +1590,6 @@ void QHashData::checkSanity()
\sa operator+=(), operator-()
*/
-/*! \fn uint qHash(char key)
- \relates QHash
-
- Returns the hash value for the \a key.
-*/
-
-/*! \fn uint qHash(uchar key)
- \relates QHash
- \overload
-
- Returns the hash value for the \a key.
-*/
-
-/*! \fn uint qHash(signed char key)
- \relates QHash
- \overload
-
- Returns the hash value for the \a key.
-*/
-
-/*! \fn uint qHash(ushort key)
- \relates QHash
- \overload
-
- Returns the hash value for the \a key.
-*/
-
-/*! \fn uint qHash(short key)
- \relates QHash
- \overload
-
- Returns the hash value for the \a key.
-*/
-
-/*! \fn uint qHash(uint key)
- \relates QHash
- \overload
-
- Returns the hash value for the \a key.
-*/
-
-/*! \fn uint qHash(int key)
- \relates QHash
- \overload
-
- Returns the hash value for the \a key.
-*/
-
-/*! \fn uint qHash(ulong key)
- \relates QHash
- \overload
-
- Returns the hash value for the \a key.
-*/
-
-/*! \fn uint qHash(long key)
- \relates QHash
- \overload
-
- Returns the hash value for the \a key.
-*/
-
-/*! \fn uint qHash(quint64 key)
- \relates QHash
- \overload
-
- Returns the hash value for the \a key.
-*/
-
-/*! \fn uint qHash(qint64 key)
- \relates QHash
- \overload
-
- Returns the hash value for the \a key.
-*/
-
-/*! \fn uint qHash(QChar key)
- \relates QHash
- \overload
-
- Returns the hash value for the \a key.
-*/
-
-/*! \fn uint qHash(const QByteArray &key)
- \fn uint qHash(const QBitArray &key)
- \relates QHash
- \overload
-
- Returns the hash value for the \a key.
-*/
-
-/*! \fn uint qHash(const QString &key)
- \relates QHash
- \overload
-
- Returns the hash value for the \a key.
-*/
-
-/*! \fn uint qHash(const T *key)
- \relates QHash
- \overload
-
- Returns the hash value for the \a key.
-*/
-
-/*!
- \fn uint qHash(const QPair<T1, T2> &key)
- \relates QHash
- \since 4.3
-
- Returns the hash value for the \a key.
-
- Types \c T1 and \c T2 must be supported by qHash().
-*/
-
/*! \fn QDataStream &operator<<(QDataStream &out, const QHash<Key, T>& hash)
\relates QHash
diff --git a/src/corelib/tools/qlistdata.cpp b/src/corelib/tools/qlistdata.cpp
index d7c39a7..d40b6b6 100644
--- a/src/corelib/tools/qlistdata.cpp
+++ b/src/corelib/tools/qlistdata.cpp
@@ -764,6 +764,10 @@ void **QListData::erase(void **xi)
This function requires the value type to have an implementation of
\c operator==().
+ Note that QList uses 0-based indexes, just like C++ arrays. Negative
+ indexes are not supported with the exception of the value mentioned
+ above.
+
\sa lastIndexOf(), contains()
*/
@@ -780,6 +784,10 @@ void **QListData::erase(void **xi)
This function requires the value type to have an implementation of
\c operator==().
+ Note that QList uses 0-based indexes, just like C++ arrays. Negative
+ indexes are not supported with the exception of the value mentioned
+ above.
+
\sa indexOf()
*/
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index 375d672..c3649e3 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -743,7 +743,9 @@ int QString::grow(int size)
/*!
\since 4.2
- Returns a copy of the \a string string encoded in ucs4.
+ Returns a copy of the \a string, where the encoding of \a string depends on
+ the size of wchar. If wchar is 4 bytes, the \a string is interpreted as ucs-4,
+ if wchar is 2 bytes it is interpreted as ucs-2.
If \a size is -1 (default), the \a string has to be 0 terminated.
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h
index 1493dce..69c4f2f 100644
--- a/src/corelib/tools/qstring.h
+++ b/src/corelib/tools/qstring.h
@@ -113,7 +113,7 @@ public:
int capacity() const;
inline void reserve(int size);
- inline void squeeze() { if (d->size < d->alloc) realloc(); d->capacity = 0;}
+ inline void squeeze() { if (d->size < d->alloc || d->ref != 1) realloc(); d->capacity = 0;}
inline const QChar *unicode() const;
inline QChar *data();
diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h
index 3fd52ee..1f047b8 100644
--- a/src/corelib/tools/qvector.h
+++ b/src/corelib/tools/qvector.h
@@ -315,7 +315,7 @@ void QVector<T>::detach_helper()
{ realloc(d->size, d->alloc); }
template <typename T>
void QVector<T>::reserve(int asize)
-{ if (asize > d->alloc) realloc(d->size, asize); d->capacity = 1; }
+{ if (asize > d->alloc || d->ref != 1) realloc(d->size, asize); d->capacity = 1; }
template <typename T>
void QVector<T>::resize(int asize)
{ realloc(asize, (asize > d->alloc || (!d->capacity && asize < d->size && asize < (d->alloc >> 1))) ?
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index 8c701f5..f40a45f 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -1102,7 +1102,7 @@ void QDBusConnectionPrivate::socketWrite(int fd)
}
for (int i = 0; i < pendingWatches.size(); ++i)
- if (!q_dbus_watch_handle(pendingWatches[i], DBUS_WATCH_READABLE))
+ if (!q_dbus_watch_handle(pendingWatches[i], DBUS_WATCH_WRITABLE))
qDebug("OUT OF MEM");
}
@@ -1125,12 +1125,7 @@ void QDBusConnectionPrivate::objectDestroyed(QObject *obj)
void QDBusConnectionPrivate::relaySignal(QObject *obj, const QMetaObject *mo, int signalId,
const QVariantList &args)
{
- int mciid = mo->indexOfClassInfo(QCLASSINFO_DBUS_INTERFACE);
- Q_ASSERT(mciid != -1);
-
- QMetaClassInfo mci = mo->classInfo(mciid);
- Q_ASSERT(mci.value());
- const char *interface = mci.value();
+ QString interface = qDBusInterfaceFromMetaObject(mo);
QMetaMethod mm = mo->method(signalId);
QByteArray memberName = mm.signature();
@@ -1146,12 +1141,12 @@ void QDBusConnectionPrivate::relaySignal(QObject *obj, const QMetaObject *mo, in
}
QDBusReadLocker locker(RelaySignalAction, this);
- QDBusMessage message = QDBusMessage::createSignal(QLatin1String("/"), QLatin1String(interface),
+ QDBusMessage message = QDBusMessage::createSignal(QLatin1String("/"), interface,
QLatin1String(memberName));
message.setArguments(args);
DBusMessage *msg = QDBusMessagePrivate::toDBusMessage(message);
if (!msg) {
- qWarning("QDBusConnection: Could not emit signal %s.%s", interface, memberName.constData());
+ qWarning("QDBusConnection: Could not emit signal %s.%s", qPrintable(interface), memberName.constData());
return;
}
diff --git a/src/dbus/qdbuspendingcall.cpp b/src/dbus/qdbuspendingcall.cpp
index 9753bbe..955f4a0 100644
--- a/src/dbus/qdbuspendingcall.cpp
+++ b/src/dbus/qdbuspendingcall.cpp
@@ -432,9 +432,14 @@ inline void QDBusPendingCallWatcherPrivate::_q_finished()
QDBusPendingCallWatcher::QDBusPendingCallWatcher(const QDBusPendingCall &call, QObject *parent)
: QObject(*new QDBusPendingCallWatcherPrivate, parent), QDBusPendingCall(call)
{
- if (d) {
- if (!d->watcherHelper)
+ if (d) { // QDBusPendingCall::d
+ if (!d->watcherHelper) {
d->watcherHelper = new QDBusPendingCallWatcherHelper;
+ if (isFinished()) {
+ // cause a signal emission anyways
+ QMetaObject::invokeMethod(d->watcherHelper, "finished", Qt::QueuedConnection);
+ }
+ }
d->watcherHelper->add(this);
}
}
@@ -464,6 +469,7 @@ void QDBusPendingCallWatcher::waitForFinished()
d->waitForFinished();
// our signals were queued, so deliver them
+ QCoreApplication::sendPostedEvents(d->watcherHelper, QEvent::MetaCall);
QCoreApplication::sendPostedEvents(this, QEvent::MetaCall);
}
}
diff --git a/src/gui/dialogs/qabstractprintdialog.cpp b/src/gui/dialogs/qabstractprintdialog.cpp
index 0dc16c9..5ed8852 100644
--- a/src/gui/dialogs/qabstractprintdialog.cpp
+++ b/src/gui/dialogs/qabstractprintdialog.cpp
@@ -400,7 +400,7 @@ void QAbstractPrintDialogPrivate::setPrinter(QPrinter *newPrinter)
QAbstractPrintDialog::setEnabledOptions() and
QAbstractPrintDialog::addEnabledOption() have no effect.
- In Qt 4.4, it was possible to use the satic functions to show a sheet on
+ In Qt 4.4, it was possible to use the static functions to show a sheet on
Mac OS X. This is no longer supported in Qt 4.5. If you want this
functionality, use QPrintDialog::open().
diff --git a/src/gui/dialogs/qfiledialog.cpp b/src/gui/dialogs/qfiledialog.cpp
index f70669c..eeb2743 100644
--- a/src/gui/dialogs/qfiledialog.cpp
+++ b/src/gui/dialogs/qfiledialog.cpp
@@ -96,9 +96,8 @@ Q_GUI_EXPORT _qt_filedialog_save_filename_hook qt_filedialog_save_filename_hook
order to select one or many files or a directory.
The easiest way to create a QFileDialog is to use the static
- functions. On Windows, these static functions will call the native
- Windows file dialog, and on Mac OS X these static function will call
- the native Mac OS X file dialog.
+ functions. On Windows, Mac OS X, KDE and GNOME, these static functions will
+ call the native file dialog when possible.
\snippet doc/src/snippets/code/src_gui_dialogs_qfiledialog.cpp 0
@@ -216,7 +215,7 @@ Q_GUI_EXPORT _qt_filedialog_save_filename_hook qt_filedialog_save_filename_hook
are resolved.
\value DontConfirmOverwrite Don't ask for confirmation if an existing file is selected.
By default confirmation is requested.
- \value DontUseNativeDialog Don't use the native file dialog. By default on Mac OS X and Windows,
+ \value DontUseNativeDialog Don't use the native file dialog. By default on Mac OS X,
the native file dialog is used unless you use a subclass of QFileDialog that contains the
Q_OBJECT macro.
\value ReadOnly Indicates that the model is readonly.
@@ -693,7 +692,10 @@ void QFileDialog::setVisible(bool visible)
*/
void QFileDialogPrivate::_q_goToUrl(const QUrl &url)
{
- QModelIndex idx = model->index(url.toLocalFile());
+ //The shortcut in the side bar may have a parent that is not fetched yet (e.g. an hidden file)
+ //so we force the fetching
+ QFileSystemModelPrivate::QFileSystemNode *node = model->d_func()->node(url.toLocalFile(), true);
+ QModelIndex idx = model->d_func()->index(node);
_q_enterDirectory(idx);
}
@@ -1437,6 +1439,8 @@ void QFileDialog::setIconProvider(QFileIconProvider *provider)
{
Q_D(QFileDialog);
d->model->setIconProvider(provider);
+ //It forces the refresh of all entries in the side bar, then we can get new icons
+ d->qFileDialogUi->sidebar->setUrls(d->qFileDialogUi->sidebar->urls());
}
/*!
@@ -1533,52 +1537,51 @@ extern QString qt_win_get_existing_directory(const QFileDialogArgs &args);
#endif
/*!
- This is a convenience static function that returns an existing file
- selected by the user. If the user presses Cancel, it returns a null
- string.
+ This is a convenience static function that returns an existing file
+ selected by the user. If the user presses Cancel, it returns a null string.
- \snippet doc/src/snippets/code/src_gui_dialogs_qfiledialog.cpp 8
+ \snippet doc/src/snippets/code/src_gui_dialogs_qfiledialog.cpp 8
- The function creates a modal file dialog with the given \a parent widget.
- If the parent is not 0, the dialog will be shown centered over the
- parent widget.
+ The function creates a modal file dialog with the given \a parent widget.
+ If \a parent is not 0, the dialog will be shown centered over the parent
+ widget.
- The file dialog's working directory will be set to \a dir. If \a
- dir includes a file name, the file will be selected. Only files
- that match the given \a filter are shown. The filter selected is
- set to \a selectedFilter. The parameters \a dir, \a
- selectedFilter, and \a filter may be empty strings. If you want
- multiple filters, separate them with ';;', for example:
+ The file dialog's working directory will be set to \a dir. If \a dir
+ includes a file name, the file will be selected. Only files that match the
+ given \a filter are shown. The filter selected is set to \a selectedFilter.
+ The parameters \a dir, \a selectedFilter, and \a filter may be empty
+ strings. If you want multiple filters, separate them with ';;', for
+ example:
- \code
+ \code
"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"
- \endcode
+ \endcode
- The \a options argument holds various
- options about how to run the dialog, see the QFileDialog::Option enum for
- more information on the flags you can pass.
+ The \a options argument holds various options about how to run the dialog,
+ see the QFileDialog::Option enum for more information on the flags you can
+ pass.
- The dialog's caption is set to \a caption. If \a caption is not
- specified then a default caption will be used.
+ The dialog's caption is set to \a caption. If \a caption is not specified
+ then a default caption will be used.
- Under Windows and Mac OS X, this static function will use the native
- file dialog and not a QFileDialog.
+ On Windows and Mac OS X, this static function will use the native file
+ dialog and not a QFileDialog.
- Note that on Windows the dialog will spin a blocking modal event loop
- that will not dispatch any QTimers, and if parent is not 0 then it will
- position the dialog just under the parent's title bar.
+ On Windows the dialog will spin a blocking modal event loop that will not
+ dispatch any QTimers, and if \a parent is not 0 then it will position the
+ dialog just below the parent's title bar.
- Under Unix/X11, the normal behavior of the file dialog is to resolve
- and follow symlinks. For example, if \c{/usr/tmp} is a symlink to
- \c{/var/tmp}, the file dialog will change to \c{/var/tmp} after
- entering \c{/usr/tmp}. If \a options includes DontResolveSymlinks,
- the file dialog will treat symlinks as regular directories.
+ On Unix/X11, the normal behavior of the file dialog is to resolve and
+ follow symlinks. For example, if \c{/usr/tmp} is a symlink to \c{/var/tmp},
+ the file dialog will change to \c{/var/tmp} after entering \c{/usr/tmp}. If
+ \a options includes DontResolveSymlinks, the file dialog will treat
+ symlinks as regular directories.
- \warning Do not delete \a parent during the execution of the dialog.
- If you want to do this, you should create the dialog
- yourself using one of the QFileDialog constructors.
+ \warning Do not delete \a parent during the execution of the dialog. If you
+ want to do this, you should create the dialog yourself using one of the
+ QFileDialog constructors.
- \sa getOpenFileNames(), getSaveFileName(), getExistingDirectory()
+ \sa getOpenFileNames(), getSaveFileName(), getExistingDirectory()
*/
QString QFileDialog::getOpenFileName(QWidget *parent,
const QString &caption,
@@ -1621,54 +1624,53 @@ QString QFileDialog::getOpenFileName(QWidget *parent,
}
/*!
- This is a convenience static function that will return one or more
- existing files selected by the user.
+ This is a convenience static function that will return one or more existing
+ files selected by the user.
- \snippet doc/src/snippets/code/src_gui_dialogs_qfiledialog.cpp 9
+ \snippet doc/src/snippets/code/src_gui_dialogs_qfiledialog.cpp 9
- This function creates a modal file dialog with the given \a parent
- widget. If the parent is not 0, the dialog will be shown centered
- over the parent widget.
+ This function creates a modal file dialog with the given \a parent widget.
+ If \a parent is not 0, the dialog will be shown centered over the parent
+ widget.
- The file dialog's working directory will be set to \a dir. If \a
- dir includes a file name, the file will be selected. The filter
- is set to \a filter so that only those files which match the filter
- are shown. The filter selected is set to \a selectedFilter. The parameters
- \a dir, \a selectedFilter and \a filter may be empty strings. If you
- need multiple filters, separate them with ';;', for instance:
+ The file dialog's working directory will be set to \a dir. If \a dir
+ includes a file name, the file will be selected. The filter is set to
+ \a filter so that only those files which match the filter are shown. The
+ filter selected is set to \a selectedFilter. The parameters \a dir,
+ \a selectedFilter and \a filter may be empty strings. If you need multiple
+ filters, separate them with ';;', for instance:
- \code
+ \code
"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"
- \endcode
+ \endcode
- The dialog's caption is set to \a caption. If \a caption is not
- specified then a default caption will be used.
+ The dialog's caption is set to \a caption. If \a caption is not specified
+ then a default caption will be used.
- Under Windows and Mac OS X, this static function will use the native
- file dialog and not a QFileDialog. On Mac OS X, the \a dir argument
- is ignored, the native dialog always displays the last visited directory.
+ On Windows and Mac OS X, this static function will use the native file
+ dialog and not a QFileDialog.
- Note that on Windows the dialog will spin a blocking modal event loop
- that will not dispatch any QTimers, and if parent is not 0 then it will
- position the dialog just under the parent's title bar.
+ On Windows the dialog will spin a blocking modal event loop that will not
+ dispatch any QTimers, and if \a parent is not 0 then it will position the
+ dialog just below the parent's title bar.
- Under Unix/X11, the normal behavior of the file dialog is to resolve
- and follow symlinks. For example, if \c{/usr/tmp} is a symlink to
- \c{/var/tmp}, the file dialog will change to \c{/var/tmp} after
- entering \c{/usr/tmp}. The \a options argument holds various
- options about how to run the dialog, see the QFileDialog::Option enum for
- more information on the flags you can pass.
+ On Unix/X11, the normal behavior of the file dialog is to resolve and
+ follow symlinks. For example, if \c{/usr/tmp} is a symlink to \c{/var/tmp},
+ the file dialog will change to \c{/var/tmp} after entering \c{/usr/tmp}.
+ The \a options argument holds various options about how to run the dialog,
+ see the QFileDialog::Option enum for more information on the flags you can
+ pass.
- Note that if you want to iterate over the list of files, you should
- iterate over a copy. For example:
+ \note If you want to iterate over the list of files, you should iterate
+ over a copy. For example:
\snippet doc/src/snippets/code/src_gui_dialogs_qfiledialog.cpp 10
- \warning Do not delete \a parent during the execution of the dialog.
- If you want to do this, you should create the dialog
- yourself using one of the QFileDialog constructors.
+ \warning Do not delete \a parent during the execution of the dialog. If you
+ want to do this, you should create the dialog yourself using one of the
+ QFileDialog constructors.
- \sa getOpenFileName(), getSaveFileName(), getExistingDirectory()
+ \sa getOpenFileName(), getSaveFileName(), getExistingDirectory()
*/
QStringList QFileDialog::getOpenFileNames(QWidget *parent,
const QString &caption,
@@ -1712,54 +1714,54 @@ QStringList QFileDialog::getOpenFileNames(QWidget *parent,
}
/*!
- This is a convenience static function that will return a file name
- selected by the user. The file does not have to exist.
+ This is a convenience static function that will return a file name selected
+ by the user. The file does not have to exist.
- It creates a modal file dialog with the given \a parent widget. If the
- parent is not 0, the dialog will be shown centered over the parent
- widget.
+ It creates a modal file dialog with the given \a parent widget. If
+ \a parent is not 0, the dialog will be shown centered over the parent
+ widget.
- \snippet doc/src/snippets/code/src_gui_dialogs_qfiledialog.cpp 11
+ \snippet doc/src/snippets/code/src_gui_dialogs_qfiledialog.cpp 11
- The file dialog's working directory will be set to \a dir. If \a
- dir includes a file name, the file will be selected. Only files that
- match the \a filter are shown. The filter selected is set to
- \a selectedFilter. The parameters \a dir, \a selectedFilter, and
- \a filter may be empty strings. Multiple filters are separated with ';;'.
- For instance:
+ The file dialog's working directory will be set to \a dir. If \a dir
+ includes a file name, the file will be selected. Only files that match the
+ \a filter are shown. The filter selected is set to \a selectedFilter. The
+ parameters \a dir, \a selectedFilter, and \a filter may be empty strings.
+ Multiple filters are separated with ';;'. For instance:
- \code
+ \code
"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"
- \endcode
+ \endcode
- The \a options argument holds various
- options about how to run the dialog, see the QFileDialog::Option enum for
- more information on the flags you can pass.
+ The \a options argument holds various options about how to run the dialog,
+ see the QFileDialog::Option enum for more information on the flags you can
+ pass.
- The default filter can be chosen by setting \a selectedFilter to the desired value.
+ The default filter can be chosen by setting \a selectedFilter to the
+ desired value.
- The dialog's caption is set to \a caption. If \a caption is not
- specified then a default caption will be used.
+ The dialog's caption is set to \a caption. If \a caption is not specified,
+ a default caption will be used.
- Under Windows and Mac OS X, this static function will use the native
- file dialog and not a QFileDialog.
+ On Windows and Mac OS X, this static function will use the native file
+ dialog and not a QFileDialog.
- Note that on Windows the dialog will spin a blocking modal event loop
- that will not dispatch any QTimers, and if parent is not 0 then it will
- position the dialog just under the parent's title bar.
- On Mac OS X, the filter argument is ignored.
+ On Windows the dialog will spin a blocking modal event loop that will not
+ dispatch any QTimers, and if \a parent is not 0 then it will position the
+ dialog just below the parent's title bar. On Mac OS X, with its native file
+ dialog, the filter argument is ignored.
- Under Unix/X11, the normal behavior of the file dialog is to resolve
- and follow symlinks. For example, if \c{/usr/tmp} is a symlink to
- \c{/var/tmp}, the file dialog will change to \c{/var/tmp} after
- entering \c{/usr/tmp}. If \a options includes DontResolveSymlinks,
- the file dialog will treat symlinks as regular directories.
+ On Unix/X11, the normal behavior of the file dialog is to resolve and
+ follow symlinks. For example, if \c{/usr/tmp} is a symlink to \c{/var/tmp},
+ the file dialog will change to \c{/var/tmp} after entering \c{/usr/tmp}. If
+ \a options includes DontResolveSymlinks the file dialog will treat symlinks
+ as regular directories.
- \warning Do not delete \a parent during the execution of the dialog.
- If you want to do this, you should create the dialog
- yourself using one of the QFileDialog constructors.
+ \warning Do not delete \a parent during the execution of the dialog. If you
+ want to do this, you should create the dialog yourself using one of the
+ QFileDialog constructors.
- \sa getOpenFileName(), getOpenFileNames(), getExistingDirectory()
+ \sa getOpenFileName(), getOpenFileNames(), getExistingDirectory()
*/
QString QFileDialog::getSaveFileName(QWidget *parent,
const QString &caption,
@@ -1805,46 +1807,43 @@ QString QFileDialog::getSaveFileName(QWidget *parent,
}
/*!
- This is a convenience static function that will return an existing
- directory selected by the user.
+ This is a convenience static function that will return an existing
+ directory selected by the user.
- \snippet doc/src/snippets/code/src_gui_dialogs_qfiledialog.cpp 12
+ \snippet doc/src/snippets/code/src_gui_dialogs_qfiledialog.cpp 12
- This function creates a modal file dialog with the given \a parent
- widget. If the parent is not 0, the dialog will be shown centered over
- the parent widget.
+ This function creates a modal file dialog with the given \a parent widget.
+ If \a parent is not 0, the dialog will be shown centered over the parent
+ widget.
- The dialog's working directory is set to \a dir, and the caption is
- set to \a caption. Either of these may be an empty string in which case
- the current directory and a default caption will be used
- respectively.
+ The dialog's working directory is set to \a dir, and the caption is set to
+ \a caption. Either of these may be an empty string in which case the
+ current directory and a default caption will be used respectively.
- The \a options argument holds various
- options about how to run the dialog, see the QFileDialog::Option enum for
- more information on the flags you can pass. Note that \l{QFileDialog::}{ShowDirsOnly}
- must be set to ensure a native file dialog.
+ The \a options argument holds various options about how to run the dialog,
+ see the QFileDialog::Option enum for more information on the flags you can
+ pass. To ensure a native file dialog, \l{QFileDialog::}{ShowDirsOnly} must
+ be set.
- Under Windows and Mac OS X, this static function will use the native
- file dialog and not a QFileDialog. On Mac OS X, the \a dir argument
- is ignored, the native dialog always displays the last visited directory.
- On Windows CE, if the device has no native file dialog, a QFileDialog
- will be used.
+ On Windows and Mac OS X, this static function will use the native file
+ dialog and not a QFileDialog. On Windows CE, if the device has no native
+ file dialog, a QFileDialog will be used.
- Under Unix/X11, the normal behavior of the file dialog is to resolve
- and follow symlinks. For example, if \c{/usr/tmp} is a symlink to
- \c{/var/tmp}, the file dialog will change to \c{/var/tmp} after
- entering \c{/usr/tmp}. If \a options includes DontResolveSymlinks,
- the file dialog will treat symlinks as regular directories.
+ On Unix/X11, the normal behavior of the file dialog is to resolve and
+ follow symlinks. For example, if \c{/usr/tmp} is a symlink to \c{/var/tmp},
+ the file dialog will change to \c{/var/tmp} after entering \c{/usr/tmp}. If
+ \a options includes DontResolveSymlinks, the file dialog will treat
+ symlinks as regular directories.
- Note that on Windows the dialog will spin a blocking modal event loop
- that will not dispatch any QTimers, and if parent is not 0 then it will
- position the dialog just under the parent's title bar.
+ On Windows the dialog will spin a blocking modal event loop that will not
+ dispatch any QTimers, and if \a parent is not 0 then it will position the
+ dialog just below the parent's title bar.
- \warning Do not delete \a parent during the execution of the dialog.
- If you want to do this, you should create the dialog
- yourself using one of the QFileDialog constructors.
+ \warning Do not delete \a parent during the execution of the dialog. If you
+ want to do this, you should create the dialog yourself using one of the
+ QFileDialog constructors.
- \sa getOpenFileName(), getOpenFileNames(), getSaveFileName()
+ \sa getOpenFileName(), getOpenFileNames(), getSaveFileName()
*/
QString QFileDialog::getExistingDirectory(QWidget *parent,
const QString &caption,
@@ -2143,7 +2142,6 @@ void QFileDialogPrivate::createWidgets()
#ifndef QT_NO_COMPLETER
completer = new QFSCompletor(model, q);
qFileDialogUi->fileNameEdit->setCompleter(completer);
- completer->sourceModel = model;
QObject::connect(qFileDialogUi->fileNameEdit, SIGNAL(textChanged(QString)),
q, SLOT(_q_autoCompleteFileName(QString)));
#endif // QT_NO_COMPLETER
@@ -2793,7 +2791,7 @@ void QFileDialogPrivate::_q_enterDirectory(const QModelIndex &index)
{
Q_Q(QFileDialog);
// My Computer or a directory
- QModelIndex sourceIndex = mapToSource(index);
+ QModelIndex sourceIndex = index.model() == proxyModel ? mapToSource(index) : index;
QString path = sourceIndex.data(QFileSystemModel::FilePathRole).toString();
if (path.isEmpty() || model->isDir(sourceIndex)) {
q->setDirectory(path);
diff --git a/src/gui/dialogs/qfiledialog_p.h b/src/gui/dialogs/qfiledialog_p.h
index dc24390..ab4199e 100644
--- a/src/gui/dialogs/qfiledialog_p.h
+++ b/src/gui/dialogs/qfiledialog_p.h
@@ -97,7 +97,7 @@ class Ui_QFileDialog;
*/
class QFSCompletor : public QCompleter {
public:
- QFSCompletor(QAbstractItemModel *model, QObject *parent = 0) : QCompleter(model, parent), proxyModel(0), sourceModel(0)
+ QFSCompletor(QFileSystemModel *model, QObject *parent = 0) : QCompleter(model, parent), proxyModel(0), sourceModel(model)
{
#ifdef Q_OS_WIN
setCaseSensitivity(Qt::CaseInsensitive);
diff --git a/src/gui/dialogs/qfilesystemmodel.h b/src/gui/dialogs/qfilesystemmodel.h
index 52ecaf9..995268b 100644
--- a/src/gui/dialogs/qfilesystemmodel.h
+++ b/src/gui/dialogs/qfilesystemmodel.h
@@ -158,6 +158,8 @@ private:
Q_PRIVATE_SLOT(d_func(), void _q_performDelayedSort())
Q_PRIVATE_SLOT(d_func(), void _q_fileSystemChanged(const QString &path, const QList<QPair<QString, QFileInfo> > &))
Q_PRIVATE_SLOT(d_func(), void _q_resolvedName(const QString &fileName, const QString &resolvedName))
+
+ friend class QFileDialogPrivate;
};
inline bool QFileSystemModel::rmdir(const QModelIndex &aindex) const
diff --git a/src/gui/dialogs/qfilesystemmodel_p.h b/src/gui/dialogs/qfilesystemmodel_p.h
index 77c35a2..0a1265a 100644
--- a/src/gui/dialogs/qfilesystemmodel_p.h
+++ b/src/gui/dialogs/qfilesystemmodel_p.h
@@ -163,7 +163,11 @@ public:
info->icon = iconProvider->icon(QFileInfo(path));
QHash<QString, QFileSystemNode *>::const_iterator iterator;
for(iterator = children.constBegin() ; iterator != children.constEnd() ; ++iterator) {
- iterator.value()->updateIcon(iconProvider, path + QLatin1Char('/') + iterator.value()->fileName);
+ //On windows the root (My computer) has no path so we don't want to add a / for nothing (e.g. /C:/)
+ if (!path.isEmpty())
+ iterator.value()->updateIcon(iconProvider, path + QLatin1Char('/') + iterator.value()->fileName);
+ else
+ iterator.value()->updateIcon(iconProvider, iterator.value()->fileName);
}
}
@@ -172,7 +176,11 @@ public:
info->displayType = iconProvider->type(QFileInfo(path));
QHash<QString, QFileSystemNode *>::const_iterator iterator;
for(iterator = children.constBegin() ; iterator != children.constEnd() ; ++iterator) {
- iterator.value()->retranslateStrings(iconProvider, path + QLatin1Char('/') + iterator.value()->fileName);
+ //On windows the root (My computer) has no path so we don't want to add a / for nothing (e.g. /C:/)
+ if (!path.isEmpty())
+ iterator.value()->retranslateStrings(iconProvider, path + QLatin1Char('/') + iterator.value()->fileName);
+ else
+ iterator.value()->retranslateStrings(iconProvider, iterator.value()->fileName);
}
}
diff --git a/src/gui/dialogs/qfontdialog_mac.mm b/src/gui/dialogs/qfontdialog_mac.mm
index d6ddfa3..50917a1 100644
--- a/src/gui/dialogs/qfontdialog_mac.mm
+++ b/src/gui/dialogs/qfontdialog_mac.mm
@@ -87,7 +87,6 @@ const int StyleMask = NSTitledWindowMask | NSClosableWindowMask | NSResizableWin
NSButton *mOkButton;
NSButton *mCancelButton;
QFontDialogPrivate *mPriv;
- NSFont *mCocoaFont;
QFont *mQtFont;
BOOL mPanelHackedWithButtons;
CGFloat mDialogExtraWidth;
@@ -119,6 +118,29 @@ const int StyleMask = NSTitledWindowMask | NSClosableWindowMask | NSResizableWin
- (void)cleanUpAfterMyself;
@end
+static QFont qfontForCocoaFont(NSFont *cocoaFont, const QFont &resolveFont)
+{
+ QFont newFont;
+ if (cocoaFont) {
+ int pSize = qRound([cocoaFont pointSize]);
+ QString family(QCFString::toQString(reinterpret_cast<CFStringRef>([cocoaFont familyName])));
+ QString typeface(QCFString::toQString(reinterpret_cast<CFStringRef>([cocoaFont fontName])));
+// qDebug() << "original family" << family << "typeface" << typeface << "psize" << pSize;
+ int hyphenPos = typeface.indexOf(QLatin1Char('-'));
+ if (hyphenPos != -1) {
+ typeface.remove(0, hyphenPos + 1);
+ } else {
+ typeface = QLatin1String("Normal");
+ }
+// qDebug() << " massaged family" << family << "typeface" << typeface << "psize" << pSize;
+ newFont = QFontDatabase().font(family, typeface, pSize);
+ newFont.setUnderline(resolveFont.underline());
+ newFont.setStrikeOut(resolveFont.strikeOut());
+
+ }
+ return newFont;
+}
+
@implementation QCocoaFontPanelDelegate
- (id)initWithFontPanel:(NSFontPanel *)panel
stolenContentView:(NSView *)stolenContentView
@@ -134,7 +156,6 @@ const int StyleMask = NSTitledWindowMask | NSClosableWindowMask | NSResizableWin
mOkButton = okButton;
mCancelButton = cancelButton;
mPriv = priv;
- mCocoaFont = 0;
mPanelHackedWithButtons = (okButton != 0);
mDialogExtraWidth = extraWidth;
mDialogExtraHeight = extraHeight;
@@ -155,42 +176,14 @@ const int StyleMask = NSTitledWindowMask | NSClosableWindowMask | NSResizableWin
- (void)dealloc
{
- if (mCocoaFont)
- [mCocoaFont release];
delete mQtFont;
[super dealloc];
}
- (void)changeFont:(id)sender
{
- Q_UNUSED(sender);
-
- QFont newFont;
-
- if (mCocoaFont)
- [mCocoaFont autorelease];
NSFont *dummyFont = [NSFont userFontOfSize:12.0];
- mCocoaFont = [sender convertFont:dummyFont];
- if (mCocoaFont) {
- [mCocoaFont retain];
-
- int pSize = qRound([mCocoaFont pointSize]);
- QString family(QCFString::toQString(reinterpret_cast<CFStringRef>([mCocoaFont familyName])));
- QString typeface(QCFString::toQString(reinterpret_cast<CFStringRef>([mCocoaFont fontName])));
-// qDebug() << "original family" << family << "typeface" << typeface << "psize" << pSize;
- int hyphenPos = typeface.indexOf(QLatin1Char('-'));
- if (hyphenPos != -1) {
- typeface.remove(0, hyphenPos + 1);
- } else {
- typeface = QLatin1String("Normal");
- }
-// qDebug() << " massaged family" << family << "typeface" << typeface << "psize" << pSize;
- newFont = QFontDatabase().font(family, typeface, pSize);
- newFont.setUnderline(mQtFont->underline());
- newFont.setStrikeOut(mQtFont->strikeOut());
- }
-
- [self setQtFont:newFont];
+ [self setQtFont:qfontForCocoaFont([sender convertFont:dummyFont], *mQtFont)];
if (mPriv)
mPriv->updateSampleFont(*mQtFont);
}
@@ -317,6 +310,9 @@ const int StyleMask = NSTitledWindowMask | NSClosableWindowMask | NSResizableWin
- (void)onOkClicked
{
Q_ASSERT(mPanelHackedWithButtons);
+ NSFontManager *fontManager = [NSFontManager sharedFontManager];
+ [self setQtFont:qfontForCocoaFont([fontManager convertFont:[fontManager selectedFont]],
+ *mQtFont)];
[[mStolenContentView window] close];
[self finishOffWithCode:NSOKButton];
}
@@ -357,8 +353,8 @@ const int StyleMask = NSTitledWindowMask | NSClosableWindowMask | NSResizableWin
- (void)setQtFont:(const QFont &)newFont
{
- delete mQtFont;
- mQtFont = new QFont(newFont);
+ delete mQtFont;
+ mQtFont = new QFont(newFont);
}
- (QFont)qtFont
@@ -374,16 +370,7 @@ const int StyleMask = NSTitledWindowMask | NSClosableWindowMask | NSResizableWin
mModalSession = 0;
}
- // temporary hack to work around bug in deleteLater() in Qt/Mac Cocoa
-#if 1
- bool deleteDialog = mPriv->fontDialog()->testAttribute(Qt::WA_DeleteOnClose);
- mPriv->fontDialog()->setAttribute(Qt::WA_DeleteOnClose, false);
-#endif
mPriv->done((code == NSOKButton) ? QDialog::Accepted : QDialog::Rejected);
-#if 1
- if (deleteDialog)
- delete mPriv->fontDialog();
-#endif
} else {
[NSApp stopModalWithCode:code];
}
@@ -404,6 +391,7 @@ const int StyleMask = NSTitledWindowMask | NSClosableWindowMask | NSResizableWin
}
[mFontPanel setDelegate:nil];
[[NSFontManager sharedFontManager] setDelegate:nil];
+ [[NSFontManager sharedFontManager] setTarget:nil];
}
@end
@@ -527,6 +515,7 @@ void *QFontDialogPrivate::openCocoaFontPanel(const QFont &initial,
extraHeight:dialogExtraHeight];
[ourPanel setDelegate:delegate];
[[NSFontManager sharedFontManager] setDelegate:delegate];
+ [[NSFontManager sharedFontManager] setTarget:delegate];
setFont(delegate, initial);
// hack to get correct initial layout
diff --git a/src/gui/dialogs/qmessagebox.cpp b/src/gui/dialogs/qmessagebox.cpp
index 1967837..5e59501 100644
--- a/src/gui/dialogs/qmessagebox.cpp
+++ b/src/gui/dialogs/qmessagebox.cpp
@@ -280,6 +280,9 @@ void QMessageBoxPrivate::updateSize()
int hardLimit = screenSize.width() - (q->frameGeometry().width() - q->geometry().width());
#else
int hardLimit = qMin(screenSize.width() - 480, 1000); // can never get bigger than this
+ // on small screens allows the messagebox be the same size as the screen
+ if (screenSize.width() <= 1024)
+ hardLimit = screenSize.width();
#endif
#ifdef Q_WS_MAC
int softLimit = qMin(screenSize.width()/2, 420);
@@ -1680,7 +1683,7 @@ void QMessageBox::aboutQt(QWidget *parent, const QString &title)
{
#ifdef Q_WS_MAC
static QPointer<QMessageBox> oldMsgBox;
-
+
if (oldMsgBox) {
oldMsgBox->show();
oldMsgBox->raise();
@@ -1692,29 +1695,35 @@ void QMessageBox::aboutQt(QWidget *parent, const QString &title)
QString translatedTextAboutQt;
translatedTextAboutQt = QMessageBox::tr(
"<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://qtsoftware.com/qt/\">qtsoftware.com/qt/</a> for more information.</p>"
- )
-#if QT_EDITION != QT_EDITION_OPENSOURCE
- .arg(QMessageBox::tr("<p>This program uses Qt version %1.</p>"))
-#else
- .arg(QMessageBox::tr("<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://qtsoftware.com/company/model/\">qtsoftware.com/company/model/</a> "
- "for an overview of Qt licensing.</p>"))
-#endif
-
- .arg(QLatin1String(QT_VERSION_STR));
+ "<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://www.qtsoftware.com/products/licensing\">www.qtsoftware.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://www.qtsoftware.com/qt/\">www.qtsoftware.com/qt</a> "
+ "for more information.</p>"
+ ).arg(QLatin1String(QT_VERSION_STR));
QMessageBox *msgBox = new QMessageBox(parent);
msgBox->setAttribute(Qt::WA_DeleteOnClose);
diff --git a/src/gui/dialogs/qprintdialog_unix.cpp b/src/gui/dialogs/qprintdialog_unix.cpp
index 76c22d0..87a4e65 100644
--- a/src/gui/dialogs/qprintdialog_unix.cpp
+++ b/src/gui/dialogs/qprintdialog_unix.cpp
@@ -727,7 +727,9 @@ void QUnixPrintWidgetPrivate::updateWidget()
widget.printers->removeItem(widget.printers->count()-1); // remove separator
filePrintersAdded = false;
}
- if (printer && filePrintersAdded && printer->printerName().isEmpty()) {
+ if (printer && filePrintersAdded && (printer->outputFormat() != QPrinter::NativeFormat
+ || printer->printerName().isEmpty()))
+ {
if (printer->outputFormat() == QPrinter::PdfFormat)
widget.printers->setCurrentIndex(widget.printers->count() - 2);
else if (printer->outputFormat() == QPrinter::PostScriptFormat)
diff --git a/src/gui/dialogs/qsidebar.cpp b/src/gui/dialogs/qsidebar.cpp
index 1bd2b7d..26108d7 100644
--- a/src/gui/dialogs/qsidebar.cpp
+++ b/src/gui/dialogs/qsidebar.cpp
@@ -55,6 +55,18 @@
QT_BEGIN_NAMESPACE
+void QSideBarDelegate::initStyleOption(QStyleOptionViewItem *option,
+ const QModelIndex &index) const
+{
+ QStyledItemDelegate::initStyleOption(option,index);
+ QVariant value = index.data(QUrlModel::EnabledRole);
+ if (value.isValid()) {
+ //If the bookmark/entry is not enabled then we paint it in gray
+ if (!qvariant_cast<bool>(value))
+ option->state &= ~QStyle::State_Enabled;
+ }
+}
+
/*!
QUrlModel lets you have indexes from a QFileSystemModel to a list. When QFileSystemModel
changes them QUrlModel will automatically update.
@@ -88,9 +100,6 @@ Qt::ItemFlags QUrlModel::flags(const QModelIndex &index) const
if (index.data(Qt::DecorationRole).isNull())
flags &= ~Qt::ItemIsEnabled;
- if (invalidUrls.contains(index.data(UrlRole).toUrl()))
- flags &= ~Qt::ItemIsEnabled;
-
return flags;
}
@@ -193,6 +202,11 @@ void QUrlModel::setUrl(const QModelIndex &index, const QUrl &url, const QModelIn
newName = QFileInfo(url.toLocalFile()).fileName();
if (!invalidUrls.contains(url))
invalidUrls.append(url);
+ //The bookmark is invalid then we set to false the EnabledRole
+ setData(index, false, EnabledRole);
+ } else {
+ //The bookmark is valid then we set to true the EnabledRole
+ setData(index, true, EnabledRole);
}
// Make sure that we have at least 32x32 images
@@ -234,7 +248,11 @@ void QUrlModel::addUrls(const QList<QUrl> &list, int row, bool move)
if (!url.isValid() || url.scheme() != QLatin1String("file"))
continue;
for (int j = 0; move && j < rowCount(); ++j) {
+#if defined(Q_OS_WIN)
+ if (index(j, 0).data(UrlRole).toUrl().toLocalFile().toLower() == url.toLocalFile().toLower()) {
+#else
if (index(j, 0).data(UrlRole) == url) {
+#endif
removeRow(j);
if (j <= row)
row--;
@@ -356,6 +374,7 @@ void QSidebar::init(QFileSystemModel *model, const QList<QUrl> &newUrls)
urlModel = new QUrlModel(this);
urlModel->setFileSystemModel(model);
setModel(urlModel);
+ setItemDelegate(new QSideBarDelegate(this));
connect(selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),
this, SLOT(clicked(const QModelIndex &)));
diff --git a/src/gui/dialogs/qsidebar_p.h b/src/gui/dialogs/qsidebar_p.h
index ecbbb37..56fd6d4 100644
--- a/src/gui/dialogs/qsidebar_p.h
+++ b/src/gui/dialogs/qsidebar_p.h
@@ -55,6 +55,7 @@
#include <qlistwidget.h>
#include <qstandarditemmodel.h>
+#include <qstyleditemdelegate.h>
#include <qurl.h>
#ifndef QT_NO_FILEDIALOG
@@ -62,13 +63,23 @@
QT_BEGIN_NAMESPACE
class QFileSystemModel;
+
+class QSideBarDelegate : public QStyledItemDelegate
+{
+ public:
+ QSideBarDelegate(QWidget *parent = 0) : QStyledItemDelegate(parent) {}
+ void initStyleOption(QStyleOptionViewItem *option,
+ const QModelIndex &index) const;
+};
+
class Q_AUTOTEST_EXPORT QUrlModel : public QStandardItemModel
{
Q_OBJECT
public:
enum Roles {
- UrlRole = Qt::UserRole + 1
+ UrlRole = Qt::UserRole + 1,
+ EnabledRole = Qt::UserRole + 2
};
QUrlModel(QObject *parent = 0);
diff --git a/src/gui/embedded/qscreentransformed_qws.cpp b/src/gui/embedded/qscreentransformed_qws.cpp
index f988789..e22ea1f 100644
--- a/src/gui/embedded/qscreentransformed_qws.cpp
+++ b/src/gui/embedded/qscreentransformed_qws.cpp
@@ -400,7 +400,19 @@ void QTransformedScreen::blit(const QImage &image, const QPoint &topLeft,
#endif
#if defined(QT_QWS_DEPTH_16) || defined(QT_QWS_DEPTH_15) || defined(QT_QWS_DEPTH_12)
case 16:
+#if defined QT_QWS_ROTATE_BGR
+ if (pixelType() == BGRPixel && image.depth() == 16) {
+ SET_BLIT_FUNC(qbgr565, quint16, trans, func);
+ break;
+ } //fall-through here!!!
+#endif
case 15:
+#if defined QT_QWS_ROTATE_BGR
+ if (pixelType() == BGRPixel && image.format() == QImage::Format_RGB555) {
+ SET_BLIT_FUNC(qbgr555, qrgb555, trans, func);
+ break;
+ } //fall-through here!!!
+#endif
case 12:
if (image.depth() == 16)
SET_BLIT_FUNC(quint16, quint16, trans, func);
@@ -410,7 +422,9 @@ void QTransformedScreen::blit(const QImage &image, const QPoint &topLeft,
#endif
#ifdef QT_QWS_DEPTH_8
case 8:
- if (image.depth() == 16)
+ if (image.format() == QImage::Format_RGB444)
+ SET_BLIT_FUNC(quint8, qrgb444, trans, func);
+ else if (image.depth() == 16)
SET_BLIT_FUNC(quint8, quint16, trans, func);
else
SET_BLIT_FUNC(quint8, quint32, trans, func);
diff --git a/src/gui/embedded/qscreenvfb_qws.cpp b/src/gui/embedded/qscreenvfb_qws.cpp
index abbe73b..accfe1f 100644
--- a/src/gui/embedded/qscreenvfb_qws.cpp
+++ b/src/gui/embedded/qscreenvfb_qws.cpp
@@ -310,6 +310,9 @@ bool QVFbScreen::connect(const QString &displaySpec)
connected = this;
+ if (qgetenv("QT_QVFB_BGR").toInt())
+ pixeltype = BGRPixel;
+
return true;
}
diff --git a/src/gui/embedded/qwindowsystem_qws.cpp b/src/gui/embedded/qwindowsystem_qws.cpp
index dffebf2..fdcd193 100644
--- a/src/gui/embedded/qwindowsystem_qws.cpp
+++ b/src/gui/embedded/qwindowsystem_qws.cpp
@@ -4044,7 +4044,7 @@ void QWSServer::setDesktopBackground(const QImage &img)
*/
void QWSServer::setDesktopBackground(const QColor &c)
{
- setDesktopBackground(QBrush(c));
+ setBackground(QBrush(c));
}
#endif //QT3_SUPPORT
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index df140e3..ce4b443 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -1230,8 +1230,8 @@ void QGraphicsItem::setFlags(GraphicsItemFlags flags)
return;
// Flags that alter the geometry of the item (or its children).
- int geomChangeFlagsMask = (ItemClipsChildrenToShape | ItemClipsToShape | ItemIgnoresTransformations);
- bool fullUpdate = (flags & geomChangeFlagsMask) != (d_ptr->flags & geomChangeFlagsMask);
+ const quint32 geomChangeFlagsMask = (ItemClipsChildrenToShape | ItemClipsToShape | ItemIgnoresTransformations);
+ bool fullUpdate = (quint32(flags) & geomChangeFlagsMask) != (d_ptr->flags & geomChangeFlagsMask);
if (fullUpdate)
d_ptr->fullUpdateHelper(false, true);
@@ -1926,7 +1926,7 @@ void QGraphicsItem::setOpacity(qreal opacity)
itemChange(ItemOpacityHasChanged, newOpacity);
// Update.
- d_ptr->fullUpdateHelper();
+ d_ptr->fullUpdateHelper(/*childrenOnly=*/false, /*maybeDirtyClipPath=*/false, /*ignoreOpacity=*/true);
}
/*!
@@ -3472,10 +3472,16 @@ bool QGraphicsItem::contains(const QPointF &point) const
}
/*!
- Returns true if this item collides with \a other; otherwise returns false.
- The ways items collide is determined by \a mode. The default value for \a
- mode is Qt::IntersectsItemShape; \a other collides with this item if it
- either intersects, contains, or is contained by this item's shape.
+
+ Returns true if this item collides with \a other; otherwise
+ returns false.
+
+ The \a mode is applied to \a other, and the resulting shape or
+ bounding rectangle is then compared to this item's shape. The
+ default value for \a mode is Qt::IntersectsItemShape; \a other
+ collides with this item if it either intersects, contains, or is
+ contained by this item's shape (see Qt::ItemSelectionMode for
+ details).
The default implementation is based on shape intersection, and it calls
shape() on both items. Because the complexity of arbitrary shape-shape
@@ -3530,6 +3536,11 @@ bool QGraphicsItem::collidesWithItem(const QGraphicsItem *other, Qt::ItemSelecti
Qt::IntersectsItemShape; \a path collides with this item if it either
intersects, contains, or is contained by this item's shape.
+ Note that this function checks whether the item's shape or
+ bounding rectangle (depending on \a mode) is contained within \a
+ path, and not whether \a path is contained within the items shape
+ or bounding rectangle.
+
\sa collidesWithItem(), contains(), shape()
*/
bool QGraphicsItem::collidesWithPath(const QPainterPath &path, Qt::ItemSelectionMode mode) const
@@ -3570,11 +3581,12 @@ bool QGraphicsItem::collidesWithPath(const QPainterPath &path, Qt::ItemSelection
/*!
Returns a list of all items that collide with this item.
- The way collisions are detected is determined by \a mode. The default
- value for \a mode is Qt::IntersectsItemShape; All items whose shape
- intersects or is contained by this item's shape are returned.
+ The way collisions are detected is determined by applying \a mode
+ to items that are compared to this item, i.e., each item's shape
+ or bounding rectangle is checked against this item's shape. The
+ default value for \a mode is Qt::IntersectsItemShape.
- \sa QGraphicsScene::collidingItems(), collidesWithItem()
+ \sa collidesWithItem()
*/
QList<QGraphicsItem *> QGraphicsItem::collidingItems(Qt::ItemSelectionMode mode) const
{
@@ -3858,9 +3870,8 @@ void QGraphicsItem::setBoundingRegionGranularity(qreal granularity)
\internal
Returns true if we can discard an update request; otherwise false.
*/
-bool QGraphicsItemPrivate::discardUpdateRequest(bool ignoreClipping,
- bool ignoreVisibleBit,
- bool ignoreDirtyBit) const
+bool QGraphicsItemPrivate::discardUpdateRequest(bool ignoreClipping, bool ignoreVisibleBit,
+ bool ignoreDirtyBit, bool ignoreOpacity) const
{
// No scene, or if the scene is updating everything, means we have nothing
// to do. The only exception is if the scene tracks the growing scene rect.
@@ -3869,7 +3880,7 @@ bool QGraphicsItemPrivate::discardUpdateRequest(bool ignoreClipping,
|| !scene
|| (scene->d_func()->updateAll && scene->d_func()->hasSceneRect)
|| (!ignoreClipping && (childrenClippedToShape() && isClippedAway()))
- || (childrenCombineOpacity() && isFullyTransparent());
+ || (!ignoreOpacity && childrenCombineOpacity() && isFullyTransparent());
}
/*!
@@ -3899,11 +3910,10 @@ void QGraphicsItemPrivate::updateHelper(const QRectF &rect, bool force, bool may
Propagates updates to \a item and all its children.
*/
-void QGraphicsItemPrivate::fullUpdateHelper(bool childrenOnly, bool maybeDirtyClipPath)
+void QGraphicsItemPrivate::fullUpdateHelper(bool childrenOnly, bool maybeDirtyClipPath, bool ignoreOpacity)
{
- if (discardUpdateRequest(/*ignoreClipping=*/maybeDirtyClipPath,
- /*ignoreVisibleBit=*/false,
- /*ignoreDirtyBit=*/true)) {
+ if (discardUpdateRequest(/*ignoreClipping=*/maybeDirtyClipPath, /*ignoreVisibleBit=*/false,
+ /*ignoreDirtyBit=*/true, ignoreOpacity)) {
return;
}
@@ -4187,17 +4197,29 @@ bool QGraphicsItemPrivate::isProxyWidget() const
*/
void QGraphicsItem::update(const QRectF &rect)
{
- if ((rect.isEmpty() && !rect.isNull()) || d_ptr->discardUpdateRequest())
+ if (rect.isEmpty() && !rect.isNull())
return;
if (CacheMode(d_ptr->cacheMode) != NoCache) {
QGraphicsItemCache *cache = d_ptr->extraItemCache();
+ if (d_ptr->discardUpdateRequest(/* ignoreVisibleBit = */ false,
+ /* ignoreClipping = */ false,
+ /* ignoreDirtyBit = */ true)) {
+ return;
+ }
+
+ // Invalidate cache.
if (rect.isNull()) {
cache->allExposed = true;
cache->exposed.clear();
} else {
cache->exposed.append(rect);
}
+ // Only invalidate cache; item is already dirty.
+ if (d_ptr->dirty)
+ return;
+ } else if (d_ptr->discardUpdateRequest()) {
+ return;
}
// Effectively the same as updateHelper(rect);
diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h
index d2cbf25..e8ab63d 100644
--- a/src/gui/graphicsview/qgraphicsitem_p.h
+++ b/src/gui/graphicsview/qgraphicsitem_p.h
@@ -174,11 +174,10 @@ public:
void setPosHelper(const QPointF &pos);
void setVisibleHelper(bool newVisible, bool explicitly, bool update = true);
void setEnabledHelper(bool newEnabled, bool explicitly, bool update = true);
- bool discardUpdateRequest(bool ignoreClipping = false,
- bool ignoreVisibleBit = false,
- bool ignoreDirtyBit = false) const;
+ bool discardUpdateRequest(bool ignoreClipping = false, bool ignoreVisibleBit = false,
+ bool ignoreDirtyBit = false, bool ignoreOpacity = false) const;
void updateHelper(const QRectF &rect = QRectF(), bool force = false, bool maybeDirtyClipPath = false);
- void fullUpdateHelper(bool childrenOnly = false, bool maybeDirtyClipPath = false);
+ void fullUpdateHelper(bool childrenOnly = false, bool maybeDirtyClipPath = false, bool ignoreOpacity = false);
void updateEffectiveOpacity();
void resolveEffectiveOpacity(qreal effectiveParentOpacity);
void resolveDepth(int parentDepth);
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index 9881960..13f70e5 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -697,12 +697,6 @@ void QGraphicsScenePrivate::_q_removeItemLater(QGraphicsItem *item)
{
Q_Q(QGraphicsScene);
- if (QGraphicsItem *parent = item->d_func()->parent) {
- parent->itemChange(QGraphicsItem::ItemChildRemovedChange,
- qVariantFromValue<QGraphicsItem *>(item));
- parent->d_func()->children.removeAll(item);
- }
-
// Clear focus on the item to remove any reference in the focusWidget
// chain.
item->clearFocus();
@@ -4896,9 +4890,11 @@ void QGraphicsScenePrivate::drawItemHelper(QGraphicsItem *item, QPainter *painte
if (newCacheIndent != deviceData->cacheIndent || deviceRect.size() != pix.size()) {
QPoint diff = newCacheIndent - deviceData->cacheIndent;
QPixmap newPix(deviceRect.size());
+ // ### Investigate removing this fill (test with Plasma and
+ // graphicssystem raster).
+ newPix.fill(Qt::transparent);
if (!pix.isNull()) {
QPainter newPixPainter(&newPix);
- newPixPainter.setCompositionMode(QPainter::CompositionMode_Source);
newPixPainter.drawPixmap(-diff, pix);
newPixPainter.end();
}
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp
index b5a1bdf..05e4907 100644
--- a/src/gui/graphicsview/qgraphicsview.cpp
+++ b/src/gui/graphicsview/qgraphicsview.cpp
@@ -1071,8 +1071,12 @@ QList<QGraphicsItem *> QGraphicsViewPrivate::findItems(const QRegion &exposedReg
QList<QGraphicsItem *> itemList(scene->items());
int i = 0;
while (i < itemList.size()) {
+ const QGraphicsItem *item = itemList.at(i);
// But we only want to include items that are visible
- if (!itemList.at(i)->isVisible())
+ // The following check is basically the same as item->d_ptr->isInvisible(), except
+ // that we don't check whether the item clips children to shape or propagates its
+ // opacity (we loop through all items, so those checks are wrong in this context).
+ if (!item->isVisible() || item->d_ptr->isClippedAway() || item->d_ptr->isFullyTransparent())
itemList.removeAt(i);
else
++i;
diff --git a/src/gui/image/qimagereader.cpp b/src/gui/image/qimagereader.cpp
index 5de39d9..7f36be9 100644
--- a/src/gui/image/qimagereader.cpp
+++ b/src/gui/image/qimagereader.cpp
@@ -1337,6 +1337,7 @@ QByteArray QImageReader::imageFormat(QIODevice *device)
\row \o TIFF \o Tagged Image File Format
\row \o XBM \o X11 Bitmap
\row \o XPM \o X11 Pixmap
+ \row \o SVG \o Scalable Vector Graphics
\endtable
Reading and writing SVG files is supported through Qt's
diff --git a/src/gui/image/qpixmap_x11.cpp b/src/gui/image/qpixmap_x11.cpp
index ff7c1b6..38916c7 100644
--- a/src/gui/image/qpixmap_x11.cpp
+++ b/src/gui/image/qpixmap_x11.cpp
@@ -1437,7 +1437,7 @@ QImage QX11PixmapData::toImage() const
// we may have to swap the byte order
if ((QSysInfo::ByteOrder == QSysInfo::LittleEndian && xi->byte_order == MSBFirst)
- || (QSysInfo::ByteOrder == QSysInfo::BigEndian))
+ || (QSysInfo::ByteOrder == QSysInfo::BigEndian && xi->byte_order == LSBFirst))
{
for (int i=0; i < image.height(); i++) {
uint *p = (uint*)image.scanLine(i);
diff --git a/src/gui/image/qpixmapcache.cpp b/src/gui/image/qpixmapcache.cpp
index 4253f8d..458d6b9 100644
--- a/src/gui/image/qpixmapcache.cpp
+++ b/src/gui/image/qpixmapcache.cpp
@@ -187,6 +187,11 @@ bool QPMCache::insert(const QString& key, const QPixmap &pixmap, int cost)
cacheKeys.insert(key, cacheKey);
return true;
}
+ qint64 oldCacheKey = cacheKeys.value(key, -1);
+ //If for the same key we add already a pixmap we should delete it
+ if (oldCacheKey != -1)
+ QCache<qint64, QDetachedPixmap>::remove(oldCacheKey);
+
bool success = QCache<qint64, QDetachedPixmap>::insert(cacheKey, new QDetachedPixmap(pixmap), cost);
if (success) {
cacheKeys.insert(key, cacheKey);
@@ -275,7 +280,8 @@ bool QPixmapCache::insert(const QString &key, const QPixmap &pm)
/*!
Returns the cache limit (in kilobytes).
- The default cache limit is 2048 KB for Embedded, 10240 KB for Desktops.
+ The default cache limit is 2048 KB for Embedded, 10240 KB for
+ Desktops.
\sa setCacheLimit()
*/
@@ -288,7 +294,8 @@ int QPixmapCache::cacheLimit()
/*!
Sets the cache limit to \a n kilobytes.
- The default setting is 1024 kilobytes.
+ The default setting is 2048 KB for Embedded, 10240 KB for
+ Desktops.
\sa cacheLimit()
*/
diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp
index 55b3a03..83e05b4 100644
--- a/src/gui/itemviews/qabstractitemview.cpp
+++ b/src/gui/itemviews/qabstractitemview.cpp
@@ -88,6 +88,7 @@ QAbstractItemViewPrivate::QAbstractItemViewPrivate()
autoScroll(true),
autoScrollMargin(16),
autoScrollCount(0),
+ shouldScrollToCurrentOnShow(false),
alternatingColors(false),
textElideMode(Qt::ElideRight),
verticalScrollMode(QAbstractItemView::ScrollPerItem),
@@ -1380,8 +1381,9 @@ bool QAbstractItemView::event(QEvent *event)
d->executePostedLayout(); //make sure we set the layout properly
break;
case QEvent::Show:
- {
- d->executePostedLayout(); //make sure we set the layout properly
+ d->executePostedLayout(); //make sure we set the layout properly
+ if (d->shouldScrollToCurrentOnShow) {
+ d->shouldScrollToCurrentOnShow = false;
const QModelIndex current = currentIndex();
if (current.isValid() && (d->state == QAbstractItemView::EditingState || d->autoScroll))
scrollTo(current);
@@ -3163,14 +3165,18 @@ void QAbstractItemView::currentChanged(const QModelIndex &current, const QModelI
d->updateDirtyRegion();
}
}
- if (isVisible() && current.isValid() && !d->autoScrollTimer.isActive()) {
- if (d->autoScroll)
- scrollTo(current);
- d->setDirtyRegion(visualRect(current));
- d->updateDirtyRegion();
- edit(current, CurrentChanged, 0);
- if (current.row() == (d->model->rowCount(d->root) - 1))
- d->_q_fetchMore();
+ if (current.isValid() && !d->autoScrollTimer.isActive()) {
+ if (isVisible()) {
+ if (d->autoScroll)
+ scrollTo(current);
+ d->setDirtyRegion(visualRect(current));
+ d->updateDirtyRegion();
+ edit(current, CurrentChanged, 0);
+ if (current.row() == (d->model->rowCount(d->root) - 1))
+ d->_q_fetchMore();
+ } else {
+ d->shouldScrollToCurrentOnShow = d->autoScroll;
+ }
}
}
diff --git a/src/gui/itemviews/qabstractitemview_p.h b/src/gui/itemviews/qabstractitemview_p.h
index 37fe4a2..16bd1ab 100644
--- a/src/gui/itemviews/qabstractitemview_p.h
+++ b/src/gui/itemviews/qabstractitemview_p.h
@@ -359,6 +359,7 @@ public:
QBasicTimer autoScrollTimer;
int autoScrollMargin;
int autoScrollCount;
+ bool shouldScrollToCurrentOnShow; //used to know if we should scroll to current on show event
bool alternatingColors;
diff --git a/src/gui/itemviews/qheaderview.cpp b/src/gui/itemviews/qheaderview.cpp
index 5bd82d4..dc63b25 100644
--- a/src/gui/itemviews/qheaderview.cpp
+++ b/src/gui/itemviews/qheaderview.cpp
@@ -1388,8 +1388,7 @@ int QHeaderView::defaultSectionSize() const
void QHeaderView::setDefaultSectionSize(int size)
{
Q_D(QHeaderView);
- d->defaultSectionSize = size;
- d->forceInitializing = true;
+ d->setDefaultSectionSize(size);
}
/*!
@@ -1894,9 +1893,6 @@ void QHeaderView::initializeSections()
//make sure we update the hidden sections
if (newCount < oldCount)
d->updateHiddenSections(0, newCount-1);
- } else if (d->forceInitializing) {
- initializeSections(0, newCount - 1);
- d->forceInitializing = false;
}
}
@@ -1952,7 +1948,7 @@ void QHeaderView::initializeSections(int start, int end)
if (!d->sectionHidden.isEmpty())
d->sectionHidden.resize(d->sectionCount);
- if (d->sectionCount > oldCount || d->forceInitializing)
+ if (d->sectionCount > oldCount)
d->createSectionSpan(start, end, (end - start + 1) * d->defaultSectionSize, d->globalResizeMode);
//Q_ASSERT(d->headerLength() == d->length);
@@ -3364,6 +3360,29 @@ void QHeaderViewPrivate::cascadingResize(int visual, int newSize)
viewport->update();
}
+void QHeaderViewPrivate::setDefaultSectionSize(int size)
+{
+ Q_Q(QHeaderView);
+ defaultSectionSize = size;
+ int currentVisualIndex = 0;
+ for (int i = 0; i < sectionSpans.count(); ++i) {
+ QHeaderViewPrivate::SectionSpan &span = sectionSpans[i];
+ if (span.size > 0) {
+ //we resize it if it is not hidden (ie size > 0)
+ const int newSize = span.count * size;
+ if (newSize != span.size) {
+ length += newSize - span.size; //the whole length is changed
+ const int oldSectionSize = span.sectionSize();
+ span.size = span.count * size;
+ for (int i = currentVisualIndex; i < currentVisualIndex + span.count; ++i) {
+ emit q->sectionResized(logicalIndex(i), oldSectionSize, size);
+ }
+ }
+ }
+ currentVisualIndex += span.count;
+ }
+}
+
void QHeaderViewPrivate::resizeSectionSpan(int visualIndex, int oldSize, int newSize)
{
Q_Q(QHeaderView);
diff --git a/src/gui/itemviews/qheaderview_p.h b/src/gui/itemviews/qheaderview_p.h
index fbba69a..2889f08 100644
--- a/src/gui/itemviews/qheaderview_p.h
+++ b/src/gui/itemviews/qheaderview_p.h
@@ -90,7 +90,6 @@ public:
highlightSelected(false),
stretchLastSection(false),
cascadingResizing(false),
- forceInitializing(false),
stretchSections(0),
contentsSections(0),
minimumSectionSize(-1),
@@ -275,7 +274,6 @@ public:
bool highlightSelected;
bool stretchLastSection;
bool cascadingResizing;
- bool forceInitializing;
int stretchSections;
int contentsSections;
int defaultSectionSize;
@@ -310,6 +308,7 @@ public:
void createSectionSpan(int start, int end, int size, QHeaderView::ResizeMode mode);
void removeSectionsFromSpans(int start, int end);
void resizeSectionSpan(int visualIndex, int oldSize, int newSize);
+ void setDefaultSectionSize(int size);
inline int headerSectionCount() const { // for debugging
int count = 0;
diff --git a/src/gui/itemviews/qitemselectionmodel.cpp b/src/gui/itemviews/qitemselectionmodel.cpp
index 1a3ae2d..8baefdf 100644
--- a/src/gui/itemviews/qitemselectionmodel.cpp
+++ b/src/gui/itemviews/qitemselectionmodel.cpp
@@ -1313,11 +1313,11 @@ bool QItemSelectionModel::rowIntersectsSelection(int row, const QModelIndex &par
int left = sel.at(i).left();
int right = sel.at(i).right();
if (top <= row && bottom >= row) {
- Qt::ItemFlags leftFlags = d->model->index(row, left, parent).flags();
- Qt::ItemFlags rightFlags = d->model->index(row, right, parent).flags();
- if ((leftFlags & Qt::ItemIsSelectable) && (leftFlags & Qt::ItemIsEnabled)
- && (rightFlags & Qt::ItemIsSelectable) && (rightFlags & Qt::ItemIsEnabled))
- return true;
+ for (int j = left; j <= right; j++) {
+ const Qt::ItemFlags flags = d->model->index(row, j, parent).flags();
+ if ((flags & Qt::ItemIsSelectable) && (flags & Qt::ItemIsEnabled))
+ return true;
+ }
}
}
@@ -1342,11 +1342,11 @@ bool QItemSelectionModel::columnIntersectsSelection(int column, const QModelInde
int top = sel.at(i).top();
int bottom = sel.at(i).bottom();
if (left <= column && right >= column) {
- Qt::ItemFlags topFlags = d->model->index(top, column, parent).flags();
- Qt::ItemFlags bottomFlags = d->model->index(bottom, column, parent).flags();
- if ((topFlags & Qt::ItemIsSelectable) && (topFlags & Qt::ItemIsEnabled)
- && (bottomFlags & Qt::ItemIsSelectable) && (bottomFlags & Qt::ItemIsEnabled))
- return true;
+ for (int j = top; j <= bottom; j++) {
+ const Qt::ItemFlags flags = d->model->index(j, column, parent).flags();
+ if ((flags & Qt::ItemIsSelectable) && (flags & Qt::ItemIsEnabled))
+ return true;
+ }
}
}
diff --git a/src/gui/itemviews/qlistview.cpp b/src/gui/itemviews/qlistview.cpp
index 07f0a38..48f53a0 100644
--- a/src/gui/itemviews/qlistview.cpp
+++ b/src/gui/itemviews/qlistview.cpp
@@ -1997,14 +1997,15 @@ bool QListViewPrivate::doItemsLayout(int delta)
int first = batchStartRow();
int last = qMin(first + delta - 1, max);
- if (max < 0 || last < first)
- return true; // nothing to do
-
if (first == 0) {
layoutChildren(); // make sure the viewport has the right size
prepareItemsLayout();
}
+ if (max < 0 || last < first) {
+ return true; // nothing to do
+ }
+
QListViewLayoutInfo info;
info.bounds = layoutBounds;
info.grid = gridSize();
diff --git a/src/gui/itemviews/qsortfilterproxymodel.cpp b/src/gui/itemviews/qsortfilterproxymodel.cpp
index 91431c4..43feda8 100644
--- a/src/gui/itemviews/qsortfilterproxymodel.cpp
+++ b/src/gui/itemviews/qsortfilterproxymodel.cpp
@@ -144,6 +144,7 @@ public:
const QModelIndex &proxy_index) const
{
Q_ASSERT(proxy_index.isValid());
+ Q_ASSERT(proxy_index.model() == q_func());
const void *p = proxy_index.internalPointer();
Q_ASSERT(p);
QMap<QModelIndex, Mapping *>::const_iterator it =
@@ -311,6 +312,10 @@ QModelIndex QSortFilterProxyModelPrivate::proxy_to_source(const QModelIndex &pro
{
if (!proxy_index.isValid())
return QModelIndex(); // for now; we may want to be able to set a root index later
+ if (proxy_index.model() != q_func()) {
+ qWarning() << "QSortFilterProxyModel: index from wrong model passed to mapToSource";
+ return QModelIndex();
+ }
IndexMap::const_iterator it = index_to_iterator(proxy_index);
Mapping *m = it.value();
if ((proxy_index.row() >= m->source_rows.size()) || (proxy_index.column() >= m->source_columns.size()))
@@ -324,6 +329,10 @@ QModelIndex QSortFilterProxyModelPrivate::source_to_proxy(const QModelIndex &sou
{
if (!source_index.isValid())
return QModelIndex(); // for now; we may want to be able to set a root index later
+ if (source_index.model() != model) {
+ qWarning() << "QSortFilterProxyModel: index from wrong model passed to mapFromSource";
+ return QModelIndex();
+ }
QModelIndex source_parent = source_index.parent();
IndexMap::const_iterator it = create_mapping(source_parent);
Mapping *m = it.value();
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 185fae2..b04d5bf 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -832,12 +832,13 @@ QApplication::QApplication(Display *dpy, int &argc, char **argv,
#endif // Q_WS_X11
+extern void qInitDrawhelperAsm();
/*!
+ \fn void QApplicationPrivate::initialize()
+
Initializes the QApplication object, called from the constructors.
*/
-extern void qInitDrawhelperAsm();
-
void QApplicationPrivate::initialize()
{
QWidgetPrivate::mapper = new QWidgetMapper;
@@ -2105,8 +2106,8 @@ void QApplicationPrivate::setFocusWidget(QWidget *focus, Qt::FocusReason reason)
if (that)
QApplication::sendEvent(that->style(), &in);
}
+ emit qApp->focusChanged(prev, focus_widget);
}
- emit qApp->focusChanged(prev, focus_widget);
}
}
@@ -5003,6 +5004,137 @@ bool QApplicationPrivate::shouldSetFocus(QWidget *w, Qt::FocusPolicy policy)
return true;
}
+/*! \fn QDecoration &QApplication::qwsDecoration()
+ Return the QWSDecoration used for decorating windows.
+
+ \warning This method is non-portable. It is only available in
+ Qt for Embedded Linux.
+
+ \sa QDecoration
+*/
+
+/*!
+ \fn void QApplication::qwsSetDecoration(QDecoration *decoration)
+
+ Sets the QDecoration derived class to use for decorating the
+ windows used by Qt for Embedded Linux to the \a decoration
+ specified.
+
+ This method is non-portable. It is only available in Qt for Embedded Linux.
+
+ \sa QDecoration
+*/
+
+/*! \fn QDecoration* QApplication::qwsSetDecoration(const QString &decoration)
+ \overload
+
+ Requests a QDecoration object for \a decoration from the QDecorationFactory.
+
+ The string must be one of the QDecorationFactory::keys(). Keys are
+ case insensitive.
+
+ A later call to the QApplication constructor will override the
+ requested style when a "-style" option is passed in as a commandline
+ parameter.
+
+ Returns 0 if an unknown \a decoration is passed, otherwise the QStyle object
+ returned is set as the application's GUI style.
+*/
+
+/*!
+ \fn bool QApplication::qwsEventFilter(QWSEvent *event)
+
+ This virtual function is only implemented under Qt for Embedded Linux.
+
+ If you create an application that inherits QApplication and
+ reimplement this function, you get direct access to all QWS (Q
+ Window System) events that the are received from the QWS master
+ process. The events are passed in the \a event parameter.
+
+ Return true if you want to stop the event from being processed.
+ Return false for normal event dispatching. The default
+ implementation returns false.
+*/
+
+/*! \fn void QApplication::qwsSetCustomColors(QRgb *colorTable, int start, int numColors)
+ Set Qt for Embedded Linux custom color table.
+
+ Qt for Embedded Linux on 8-bpp displays allocates a standard 216 color cube.
+ The remaining 40 colors may be used by setting a custom color
+ table in the QWS master process before any clients connect.
+
+ \a colorTable is an array of up to 40 custom colors. \a start is
+ the starting index (0-39) and \a numColors is the number of colors
+ to be set (1-40).
+
+ This method is non-portable. It is available \e only in
+ Qt for Embedded Linux.
+
+ \note The custom colors will not be used by the default screen
+ driver. To make use of the new colors, implement a custom screen
+ driver, or use QDirectPainter.
+*/
+
+/*! \fn int QApplication::qwsProcessEvent(QWSEvent* event)
+ \internal
+*/
+
+/*! \fn int QApplication::x11ClientMessage(QWidget* w, XEvent* event, bool passive_only)
+ \internal
+*/
+
+/*! \fn int QApplication::x11ProcessEvent(XEvent* event)
+ This function does the core processing of individual X
+ \a{event}s, normally by dispatching Qt events to the right
+ destination.
+
+ It returns 1 if the event was consumed by special handling, 0 if
+ the \a event was consumed by normal handling, and -1 if the \a
+ event was for an unrecognized widget.
+
+ \sa x11EventFilter()
+*/
+
+/*!
+ \fn bool QApplication::x11EventFilter(XEvent *event)
+
+ \warning This virtual function is only implemented under X11.
+
+ If you create an application that inherits QApplication and
+ reimplement this function, you get direct access to all X events
+ that the are received from the X server. The events are passed in
+ the \a event parameter.
+
+ Return true if you want to stop the event from being processed.
+ Return false for normal event dispatching. The default
+ implementation returns false.
+
+ It is only the directly addressed messages that are filtered.
+ You must install an event filter directly on the event
+ dispatcher, which is returned by
+ QAbstractEventDispatcher::instance(), to handle system wide
+ messages.
+
+ \sa x11ProcessEvent()
+*/
+
+/*! \fn void QApplication::winFocus(QWidget *widget, bool gotFocus)
+ \internal
+ \since 4.1
+
+ If \a gotFocus is true, \a widget will become the active window.
+ Otherwise the active window is reset to 0.
+*/
+
+/*! \fn void QApplication::winMouseButtonUp()
+ \internal
+ */
+
+/*! \fn void QApplication::syncX()
+ Synchronizes with the X server in the X11 implementation.
+ This normally takes some time. Does nothing on other platforms.
+*/
+
QT_END_NAMESPACE
#include "moc_qapplication.cpp"
diff --git a/src/gui/kernel/qapplication_mac.mm b/src/gui/kernel/qapplication_mac.mm
index 5f8c572..69302ec 100644
--- a/src/gui/kernel/qapplication_mac.mm
+++ b/src/gui/kernel/qapplication_mac.mm
@@ -194,8 +194,8 @@ static bool appNoGrab = false; // mouse/keyboard grabbing
#ifndef QT_MAC_USE_COCOA
static EventHandlerRef app_proc_handler = 0;
static EventHandlerUPP app_proc_handlerUPP = 0;
-static AEEventHandlerUPP app_proc_ae_handlerUPP = NULL;
#endif
+static AEEventHandlerUPP app_proc_ae_handlerUPP = NULL;
static EventHandlerRef tablet_proximity_handler = 0;
static EventHandlerUPP tablet_proximity_UPP = 0;
bool QApplicationPrivate::native_modal_dialog_active;
@@ -951,7 +951,6 @@ void qt_mac_event_release(QWidget *w)
}
}
-#ifndef QT_MAC_USE_COCOA
struct QMacAppleEventTypeSpec {
AEEventClass mac_class;
AEEventID mac_id;
@@ -959,6 +958,7 @@ struct QMacAppleEventTypeSpec {
{ kCoreEventClass, kAEQuitApplication },
{ kCoreEventClass, kAEOpenDocuments }
};
+#ifndef QT_MAC_USE_COCOA
/* watched events */
static EventTypeSpec app_events[] = {
{ kEventClassQt, kEventQtRequestWindowChange },
@@ -1156,13 +1156,13 @@ void qt_init(QApplicationPrivate *priv, int)
qt_init_app_proc_handler();
}
+#endif
if (!app_proc_ae_handlerUPP) {
app_proc_ae_handlerUPP = AEEventHandlerUPP(QApplicationPrivate::globalAppleEventProcessor);
for(uint i = 0; i < sizeof(app_apple_events) / sizeof(QMacAppleEventTypeSpec); ++i)
AEInstallEventHandler(app_apple_events[i].mac_class, app_apple_events[i].mac_id,
app_proc_ae_handlerUPP, SRefCon(qApp), true);
}
-#endif
if (QApplicationPrivate::app_style) {
QEvent ev(QEvent::Style);
@@ -1210,6 +1210,17 @@ void qt_init(QApplicationPrivate *priv, int)
}
+void qt_release_apple_event_handler()
+{
+ if(app_proc_ae_handlerUPP) {
+ for(uint i = 0; i < sizeof(app_apple_events) / sizeof(QMacAppleEventTypeSpec); ++i)
+ AERemoveEventHandler(app_apple_events[i].mac_class, app_apple_events[i].mac_id,
+ app_proc_ae_handlerUPP, true);
+ DisposeAEEventHandlerUPP(app_proc_ae_handlerUPP);
+ app_proc_ae_handlerUPP = 0;
+ }
+}
+
/*****************************************************************************
qt_cleanup() - cleans up when the application is finished
*****************************************************************************/
@@ -1223,15 +1234,8 @@ void qt_cleanup()
DisposeEventHandlerUPP(app_proc_handlerUPP);
app_proc_handlerUPP = 0;
}
- if(app_proc_ae_handlerUPP) {
- for(uint i = 0; i < sizeof(app_apple_events) / sizeof(QMacAppleEventTypeSpec); ++i)
- AERemoveEventHandler(app_apple_events[i].mac_class, app_apple_events[i].mac_id,
- app_proc_ae_handlerUPP, true);
- DisposeAEEventHandlerUPP(app_proc_ae_handlerUPP);
- app_proc_ae_handlerUPP = NULL;
- }
#endif
-
+ qt_release_apple_event_handler();
qt_release_tablet_proximity_handler();
if (tablet_proximity_UPP)
DisposeEventHandlerUPP(tablet_proximity_UPP);
@@ -2367,6 +2371,12 @@ QApplicationPrivate::globalEventProcessor(EventHandlerCallRef er, EventRef event
#endif
}
+// In Carbon this is your one stop for apple events.
+// In Cocoa, it ISN'T. This is the catch-all Apple Event handler that exists
+// for the time between instantiating the NSApplication, but before the
+// NSApplication has installed it's OWN Apple Event handler. When Cocoa has
+// that set up, we remove this. So, if you are debugging problems, you likely
+// want to check out QCocoaApplicationDelegate instead.
OSStatus QApplicationPrivate::globalAppleEventProcessor(const AppleEvent *ae, AppleEvent *, long handlerRefcon)
{
QApplication *app = (QApplication *)handlerRefcon;
diff --git a/src/gui/kernel/qapplication_qws.cpp b/src/gui/kernel/qapplication_qws.cpp
index 2deda8e..018440f 100644
--- a/src/gui/kernel/qapplication_qws.cpp
+++ b/src/gui/kernel/qapplication_qws.cpp
@@ -2675,9 +2675,6 @@ void QApplication::alert(QWidget *, int)
{
}
-/*!
- \internal
-*/
int QApplication::qwsProcessEvent(QWSEvent* event)
{
Q_D(QApplication);
@@ -3056,43 +3053,11 @@ int QApplication::qwsProcessEvent(QWSEvent* event)
return 0;
}
-/*!
- \fn bool QApplication::qwsEventFilter(QWSEvent *event)
-
- This virtual function is only implemented under Qt for Embedded Linux.
-
- If you create an application that inherits QApplication and
- reimplement this function, you get direct access to all QWS (Q
- Window System) events that the are received from the QWS master
- process. The events are passed in the \a event parameter.
-
- Return true if you want to stop the event from being processed.
- Return false for normal event dispatching. The default
- implementation returns false.
-*/
bool QApplication::qwsEventFilter(QWSEvent *)
{
return false;
}
-/*!
- Set Qt for Embedded Linux custom color table.
-
- Qt for Embedded Linux on 8-bpp displays allocates a standard 216 color cube.
- The remaining 40 colors may be used by setting a custom color
- table in the QWS master process before any clients connect.
-
- \a colorTable is an array of up to 40 custom colors. \a start is
- the starting index (0-39) and \a numColors is the number of colors
- to be set (1-40).
-
- This method is non-portable. It is available \e only in
- Qt for Embedded Linux.
-
- \note The custom colors will not be used by the default screen
- driver. To make use of the new colors, implement a custom screen
- driver, or use QDirectPainter.
-*/
void QApplication::qwsSetCustomColors(QRgb *colorTable, int start, int numColors)
{
if (start < 0 || start > 39) {
@@ -3111,30 +3076,11 @@ void QApplication::qwsSetCustomColors(QRgb *colorTable, int start, int numColors
}
#ifndef QT_NO_QWS_MANAGER
-/*!
- Return the QWSDecoration used for decorating windows.
-
- \warning This method is non-portable. It is only available in
- Qt for Embedded Linux.
-
- \sa QDecoration
-*/
QDecoration &QApplication::qwsDecoration()
{
return *qws_decoration;
}
-/*!
- \fn void QApplication::qwsSetDecoration(QDecoration *decoration)
-
- Sets the QDecoration derived class to use for decorating the
- windows used by Qt for Embedded Linux to the \a decoration
- specified.
-
- This method is non-portable. It is only available in Qt for Embedded Linux.
-
- \sa QDecoration
-*/
void QApplication::qwsSetDecoration(QDecoration *dec)
{
if (dec) {
@@ -3153,21 +3099,6 @@ void QApplication::qwsSetDecoration(QDecoration *dec)
}
}
-/*!
- \overload
-
- Requests a QDecoration object for \a decoration from the QDecorationFactory.
-
- The string must be one of the QDecorationFactory::keys(). Keys are
- case insensitive.
-
- A later call to the QApplication constructor will override the
- requested style when a "-style" option is passed in as a commandline
- parameter.
-
- Returns 0 if an unknown \a decoration is passed, otherwise the QStyle object
- returned is set as the application's GUI style.
-*/
QDecoration* QApplication::qwsSetDecoration(const QString &decoration)
{
QDecoration *decore = QDecorationFactory::create(decoration);
diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp
index fae0335..f14ad6f 100644
--- a/src/gui/kernel/qapplication_win.cpp
+++ b/src/gui/kernel/qapplication_win.cpp
@@ -1371,13 +1371,6 @@ QString QApplicationPrivate::appName() const
extern uint qGlobalPostedEventsCount();
-/*!
- \internal
- \since 4.1
-
- If \a gotFocus is true, \a widget will become the active window.
- Otherwise the active window is reset to 0.
-*/
void QApplication::winFocus(QWidget *widget, bool gotFocus)
{
if (d_func()->inPopupMode()) // some delayed focus event to ignore
@@ -1732,6 +1725,21 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
// fall-through intended
case WM_KEYUP:
case WM_SYSKEYUP:
+#if Q_OS_WINCE_WM
+ case WM_HOTKEY:
+ if(HIWORD(msg.lParam) == VK_TBACK) {
+ const bool hotKeyDown = !(LOWORD(msg.lParam) & MOD_KEYUP);
+ msg.lParam = 0x69 << 16;
+ msg.wParam = VK_BACK;
+ if (hotKeyDown) {
+ msg.message = WM_KEYDOWN;
+ qt_keymapper_private()->updateKeyMap(msg);
+ } else {
+ msg.message = WM_KEYUP;
+ }
+ }
+ // fall-through intended
+#endif
case WM_IME_CHAR:
case WM_IME_KEYDOWN:
case WM_CHAR: {
@@ -2432,10 +2440,12 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
widget = (QETWidget*)qApp->focusWidget();
HWND focus = ::GetFocus();
//if there is a current widget and the new widget belongs to the same toplevel window
+ //or if the current widget was embedded into non-qt window (i.e. we won't get WM_ACTIVATEAPP)
//then we clear the focus on the widget
//in case the new widget belongs to a different widget hierarchy, clearing the focus
//will be handled because the active window will change
- if (widget && ::IsChild(widget->window()->internalWinId(), focus)) {
+ const bool embedded = widget && ((QETWidget*)widget->window())->topData()->embedded;
+ if (widget && (embedded || ::IsChild(widget->window()->internalWinId(), focus))) {
widget->clearFocus();
result = true;
} else {
@@ -2919,7 +2929,6 @@ void qt_win_eatMouseMove()
// In DnD, the mouse release event never appears, so the
// mouse button state machine must be manually reset
-/*! \internal */
void QApplication::winMouseButtonUp()
{
qt_button_down = 0;
diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
index b1270bc..a3c9406 100644
--- a/src/gui/kernel/qapplication_x11.cpp
+++ b/src/gui/kernel/qapplication_x11.cpp
@@ -398,7 +398,7 @@ extern bool qt_xdnd_dragging;
// gui or non-gui from qapplication.cpp
extern bool qt_is_gui_used;
-/*!
+/*!
\internal
Try to resolve a \a symbol from \a library with the version specified
by \a vernum.
@@ -836,7 +836,7 @@ bool QApplicationPrivate::x11_apply_settings()
}
int kdeSessionVersion = QString::fromLocal8Bit(qgetenv("KDE_SESSION_VERSION")).toInt();
-
+
if (!appFont) {
QFont font(QApplication::font());
QString fontDescription;
@@ -1948,11 +1948,17 @@ void qt_init(QApplicationPrivate *priv, int,
{
QString displayName = QLatin1String(XDisplayName(NULL));
- // apparently MITSHM only works for local displays, so do a quick check here
- // to determine whether the display is local or not (not 100 % accurate)
+ // MITSHM only works for local displays, so do a quick check here
+ // to determine whether the display is local or not (not 100 % accurate).
+ // BGR server layouts are not supported either, since it requires the raster
+ // engine to work on a QImage with BGR layout.
bool local = displayName.isEmpty() || displayName.lastIndexOf(QLatin1Char(':')) == 0;
- if (local && (qgetenv("QT_X11_NO_MITSHM").toInt() == 0))
- X11->use_mitshm = mitshm_pixmaps;
+ if (local && (qgetenv("QT_X11_NO_MITSHM").toInt() == 0)) {
+ Visual *defaultVisual = DefaultVisual(X11->display, DefaultScreen(X11->display));
+ X11->use_mitshm = mitshm_pixmaps && (defaultVisual->red_mask == 0xff0000
+ && defaultVisual->green_mask == 0xff00
+ && defaultVisual->blue_mask == 0xff);
+ }
}
#endif // QT_NO_MITSHM
@@ -2970,11 +2976,6 @@ QWidget *QApplication::topLevelAt(const QPoint &p)
#endif
}
-/*!
- Synchronizes with the X server in the X11 implementation. This
- normally takes some time. Does nothing on other platforms.
-*/
-
void QApplication::syncX()
{
if (X11->display)
@@ -3080,9 +3081,6 @@ static QETWidget *qPRFindWidget(Window oldwin)
return wPRmapper ? (QETWidget*)wPRmapper->value((int)oldwin, 0) : 0;
}
-/*!
- \internal
-*/
int QApplication::x11ClientMessage(QWidget* w, XEvent* event, bool passive_only)
{
if (w && !w->internalWinId())
@@ -3145,17 +3143,6 @@ int QApplication::x11ClientMessage(QWidget* w, XEvent* event, bool passive_only)
return 0;
}
-/*!
- This function does the core processing of individual X
- \a{event}s, normally by dispatching Qt events to the right
- destination.
-
- It returns 1 if the event was consumed by special handling, 0 if
- the \a event was consumed by normal handling, and -1 if the \a
- event was for an unrecognized widget.
-
- \sa x11EventFilter()
-*/
int QApplication::x11ProcessEvent(XEvent* event)
{
Q_D(QApplication);
@@ -3163,43 +3150,48 @@ int QApplication::x11ProcessEvent(XEvent* event)
#ifdef ALIEN_DEBUG
//qDebug() << "QApplication::x11ProcessEvent:" << event->type;
#endif
+ Time time = 0, userTime = 0;
switch (event->type) {
case ButtonPress:
pressed_window = event->xbutton.window;
- X11->userTime = event->xbutton.time;
+ userTime = event->xbutton.time;
// fallthrough intended
case ButtonRelease:
- X11->time = event->xbutton.time;
+ time = event->xbutton.time;
break;
case MotionNotify:
- X11->time = event->xmotion.time;
+ time = event->xmotion.time;
break;
case XKeyPress:
- X11->userTime = event->xkey.time;
+ userTime = event->xkey.time;
// fallthrough intended
case XKeyRelease:
- X11->time = event->xkey.time;
+ time = event->xkey.time;
break;
case PropertyNotify:
- X11->time = event->xproperty.time;
+ time = event->xproperty.time;
break;
case EnterNotify:
case LeaveNotify:
- X11->time = event->xcrossing.time;
+ time = event->xcrossing.time;
break;
case SelectionClear:
- X11->time = event->xselectionclear.time;
+ time = event->xselectionclear.time;
break;
default:
- break;
- }
#ifndef QT_NO_XFIXES
- if (X11->use_xfixes && event->type == (X11->xfixes_eventbase + XFixesSelectionNotify)) {
- XFixesSelectionNotifyEvent *req =
- reinterpret_cast<XFixesSelectionNotifyEvent *>(event);
- X11->time = req->selection_timestamp;
- }
+ if (X11->use_xfixes && event->type == (X11->xfixes_eventbase + XFixesSelectionNotify)) {
+ XFixesSelectionNotifyEvent *req =
+ reinterpret_cast<XFixesSelectionNotifyEvent *>(event);
+ time = req->selection_timestamp;
+ }
#endif
+ break;
+ }
+ if (time > X11->time)
+ X11->time = time;
+ if (userTime > X11->userTime)
+ X11->userTime = userTime;
QETWidget *widget = (QETWidget*)QWidget::find((WId)event->xany.window);
@@ -3832,29 +3824,6 @@ int QApplication::x11ProcessEvent(XEvent* event)
return 0;
}
-/*!
- \fn bool QApplication::x11EventFilter(XEvent *event)
-
- \warning This virtual function is only implemented under X11.
-
- If you create an application that inherits QApplication and
- reimplement this function, you get direct access to all X events
- that the are received from the X server. The events are passed in
- the \a event parameter.
-
- Return true if you want to stop the event from being processed.
- Return false for normal event dispatching. The default
- implementation returns false.
-
- It is only the directly addressed messages that are filtered.
- You must install an event filter directly on the event
- dispatcher, which is returned by
- QAbstractEventDispatcher::instance(), to handle system wide
- messages.
-
- \sa x11ProcessEvent()
-*/
-
bool QApplication::x11EventFilter(XEvent *)
{
return false;
diff --git a/src/gui/kernel/qcocoaapplicationdelegate_mac.mm b/src/gui/kernel/qcocoaapplicationdelegate_mac.mm
index 6571068..9a24645 100644
--- a/src/gui/kernel/qcocoaapplicationdelegate_mac.mm
+++ b/src/gui/kernel/qcocoaapplicationdelegate_mac.mm
@@ -183,27 +183,32 @@ static void cleanupCocoaApplicationDelegate()
{
Q_UNUSED(sender);
// The reflection delegate gets precedence
- NSApplicationTerminateReply reply = NSTerminateCancel;
if (reflectionDelegate
&& [reflectionDelegate respondsToSelector:@selector(applicationShouldTerminate:)]) {
return [reflectionDelegate applicationShouldTerminate:sender];
}
if (qtPrivate->canQuit()) {
- reply = NSTerminateNow;
if (!startedQuit) {
startedQuit = true;
qAppInstance()->quit();
startedQuit = false;
}
}
- return reply;
+
+ // Prevent Cocoa from terminating the application, since this simply
+ // exits the program whithout allowing QApplication::exec() to return.
+ // The call to QApplication::quit() above will instead quit the
+ // application from the Qt side.
+ return NSTerminateCancel;
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
Q_UNUSED(aNotification);
inLaunch = false;
+ extern void qt_release_apple_event_handler(); //qapplication_mac.mm
+ qt_release_apple_event_handler();
}
- (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames
diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm
index e84af90..4ceae3f 100644
--- a/src/gui/kernel/qcocoaview_mac.mm
+++ b/src/gui/kernel/qcocoaview_mac.mm
@@ -198,6 +198,7 @@ extern "C" {
}
composing = false;
sendKeyEvents = true;
+ currentCustomTypes = 0;
[self setHidden:YES];
return self;
}
@@ -212,10 +213,16 @@ extern "C" {
object:self];
}
--(void)registerDragTypes:(bool)accept
+-(void)registerDragTypes
{
QMacCocoaAutoReleasePool pool;
- if (accept) {
+ // Calling registerForDraggedTypes is slow, so only do it once for each widget
+ // or when the custom types change.
+ const QStringList& customTypes = qEnabledDraggedTypes();
+ if (currentCustomTypes == 0 || *currentCustomTypes != customTypes) {
+ if (currentCustomTypes == 0)
+ currentCustomTypes = new QStringList();
+ *currentCustomTypes = customTypes;
const NSString* mimeTypeGeneric = @"com.trolltech.qt.MimeTypeName";
NSMutableArray *supportedTypes = [NSMutableArray arrayWithObjects:NSColorPboardType,
NSFilenamesPboardType, NSStringPboardType,
@@ -227,13 +234,10 @@ extern "C" {
NSFilesPromisePboardType, NSInkTextPboardType,
NSMultipleTextSelectionPboardType, mimeTypeGeneric, nil];
// Add custom types supported by the application.
- const QStringList& customTypes = qEnabledDraggedTypes();
for (int i = 0; i < customTypes.size(); i++) {
[supportedTypes addObject:reinterpret_cast<const NSString *>(QCFString::toCFStringRef(customTypes[i]))];
}
[self registerForDraggedTypes:supportedTypes];
- } else {
- [self unregisterDraggedTypes];
}
}
@@ -282,6 +286,8 @@ extern "C" {
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender
{
+ if (qwidget->testAttribute(Qt::WA_DropSiteRegistered) == false)
+ return NSDragOperationNone;
[self addDropData:sender];
QMimeData *mimeData = dropData;
if (QDragManager::self()->source())
@@ -292,9 +298,18 @@ extern "C" {
QPoint posDrag(localPoint.x, localPoint.y);
NSDragOperation nsActions = [sender draggingSourceOperationMask];
Qt::DropActions qtAllowed = qt_mac_mapNSDragOperations(nsActions);
+ QT_PREPEND_NAMESPACE(qt_mac_dnd_answer_rec.lastOperation) = nsActions;
+ Qt::KeyboardModifiers modifiers = Qt::NoModifier;
+ if ([sender draggingSource] != nil) {
+ // modifier flags might have changed, update it here since we don't send any input events.
+ QApplicationPrivate::modifier_buttons = qt_cocoaModifiers2QtModifiers([[NSApp currentEvent] modifierFlags]);
+ modifiers = QApplication::keyboardModifiers();
+ } else {
+ // when the source is from another application the above technique will not work.
+ modifiers = qt_cocoaDragOperation2QtModifiers(nsActions);
+ }
// send the drag enter event to the widget.
- QDragEnterEvent qDEEvent(posDrag, qtAllowed, mimeData,
- QApplication::mouseButtons(), QApplication::keyboardModifiers());
+ QDragEnterEvent qDEEvent(posDrag, qtAllowed, mimeData, QApplication::mouseButtons(), modifiers);
QApplication::sendEvent(qwidget, &qDEEvent);
if (!qDEEvent.isAccepted()) {
// widget is not interested in this drag, so ignore this drop data.
@@ -302,24 +317,23 @@ extern "C" {
return NSDragOperationNone;
} else {
// send a drag move event immediately after a drag enter event (as per documentation).
- QDragMoveEvent qDMEvent(posDrag, qtAllowed, mimeData,
- QApplication::mouseButtons(), QApplication::keyboardModifiers());
+ QDragMoveEvent qDMEvent(posDrag, qtAllowed, mimeData, QApplication::mouseButtons(), modifiers);
qDMEvent.setDropAction(qDEEvent.dropAction());
qDMEvent.accept(); // accept by default, since enter event was accepted.
QApplication::sendEvent(qwidget, &qDMEvent);
if (!qDMEvent.isAccepted() || qDMEvent.dropAction() == Qt::IgnoreAction) {
// since we accepted the drag enter event, the widget expects
// future drage move events.
- // ### check if we need to treat this like the drag enter event.
+ // ### check if we need to treat this like the drag enter event.
nsActions = QT_PREPEND_NAMESPACE(qt_mac_mapDropAction)(qDEEvent.dropAction());
} else {
nsActions = QT_PREPEND_NAMESPACE(qt_mac_mapDropAction)(qDMEvent.dropAction());
- }
+ }
QT_PREPEND_NAMESPACE(qt_mac_copy_answer_rect)(qDMEvent);
- return nsActions;
+ return nsActions;
}
}
-
+
- (NSDragOperation)draggingUpdated:(id < NSDraggingInfo >)sender
{
// drag enter event was rejected, so ignore the move event.
@@ -337,11 +351,19 @@ extern "C" {
// send drag move event to the widget
QT_PREPEND_NAMESPACE(qt_mac_dnd_answer_rec.lastOperation) = nsActions;
Qt::DropActions qtAllowed = QT_PREPEND_NAMESPACE(qt_mac_mapNSDragOperations)(nsActions);
+ Qt::KeyboardModifiers modifiers = Qt::NoModifier;
+ if ([sender draggingSource] != nil) {
+ // modifier flags might have changed, update it here since we don't send any input events.
+ QApplicationPrivate::modifier_buttons = qt_cocoaModifiers2QtModifiers([[NSApp currentEvent] modifierFlags]);
+ modifiers = QApplication::keyboardModifiers();
+ } else {
+ // when the source is from another application the above technique will not work.
+ modifiers = qt_cocoaDragOperation2QtModifiers(nsActions);
+ }
QMimeData *mimeData = dropData;
if (QDragManager::self()->source())
mimeData = QDragManager::self()->dragPrivate()->data;
- QDragMoveEvent qDMEvent(posDrag, qtAllowed, mimeData,
- QApplication::mouseButtons(), QApplication::keyboardModifiers());
+ QDragMoveEvent qDMEvent(posDrag, qtAllowed, mimeData, QApplication::mouseButtons(), modifiers);
qDMEvent.setDropAction(QT_PREPEND_NAMESPACE(qt_mac_dnd_answer_rec).lastAction);
qDMEvent.accept();
QApplication::sendEvent(qwidget, &qDMEvent);
@@ -370,12 +392,12 @@ extern "C" {
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
{
[self addDropData:sender];
-
+
NSPoint windowPoint = [sender draggingLocation];
NSPoint globalPoint = [[sender draggingDestinationWindow] convertBaseToScreen:windowPoint];
NSPoint localPoint = [self convertPoint:windowPoint fromView:nil];
QPoint posDrop(localPoint.x, localPoint.y);
-
+
NSDragOperation nsActions = [sender draggingSourceOperationMask];
Qt::DropActions qtAllowed = qt_mac_mapNSDragOperations(nsActions);
QMimeData *mimeData = dropData;
@@ -387,6 +409,8 @@ extern "C" {
if (QDragManager::self()->object)
QDragManager::self()->dragPrivate()->target = qwidget;
QApplication::sendEvent(qwidget, &de);
+ if (QDragManager::self()->object)
+ QDragManager::self()->dragPrivate()->executed_action = de.dropAction();
if (!de.isAccepted())
return NO;
else
@@ -396,6 +420,8 @@ extern "C" {
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
+ delete currentCustomTypes;
+ [self unregisterDraggedTypes];
[super dealloc];
}
@@ -417,10 +443,9 @@ extern "C" {
- (void) setFrameSize:(NSSize)newSize
{
[super setFrameSize:newSize];
-
+
// A change in size has required the view to be invalidated.
- if ([self inLiveResize])
- {
+ if ([self inLiveResize]) {
NSRect rects[4];
NSInteger count;
[self getRectsExposedDuringLiveResize:rects count:&count];
@@ -428,9 +453,7 @@ extern "C" {
{
[self setNeedsDisplayInRect:rects[count]];
}
- }
- else
- {
+ } else {
[self setNeedsDisplay:YES];
}
}
@@ -565,7 +588,7 @@ extern "C" {
if (!qAppInstance()->activeModalWidget() || QApplicationPrivate::tryModalHelper(qwidget, 0)) {
QApplication::sendEvent(qwidget, &enterEvent);
qt_mouseover = qwidget;
-
+
// Update cursor and dispatch hover events.
qt_mac_update_cursor_at_global_pos(flipPoint(globalPoint).toPoint());
if (qwidget->testAttribute(Qt::WA_Hover) &&
@@ -620,7 +643,7 @@ extern "C" {
[viewsToLookAt addObject:qt_mac_nativeview_for(parentWidget)];
parentWidget = parentWidget->parentWidget();
}
-
+
// Now walk through the subviews of each view and determine which subview should
// get the event. We look through all the subviews at a given level with
// the assumption that the last item to be found the candidate has a higher z-order.
@@ -756,7 +779,7 @@ extern "C" {
if (currentIManager && [currentIManager wantsToHandleMouseEvents]) {
[currentIManager handleMouseEvent:theEvent];
}
-
+
NSPoint windowPoint = [theEvent locationInWindow];
NSPoint globalPoint = [[theEvent window] convertBaseToScreen:windowPoint];
NSPoint localPoint = [self convertPoint:windowPoint fromView:nil];
@@ -765,7 +788,7 @@ extern "C" {
Qt::MouseButton buttons = cocoaButton2QtButton([theEvent buttonNumber]);
bool wheelOK = false;
Qt::KeyboardModifiers keyMods = qt_cocoaModifiers2QtModifiers([theEvent modifierFlags]);
-
+
// Mouse wheel deltas seem to tick in at increments of 0.1. Qt widgets
// expect the delta to be a multiple of 120.
const int ScrollFactor = 10 * 120;
@@ -787,20 +810,20 @@ extern "C" {
wheelOK = qwe2.isAccepted();
}
}
-
+
if (deltaY) {
QWheelEvent qwe(qlocal, qglobal, deltaY, buttons, keyMods, Qt::Vertical);
qt_sendSpontaneousEvent(qwidget, &qwe);
wheelOK = qwe.isAccepted();
- if (wheelOK && QApplicationPrivate::focus_widget
+ if (!wheelOK && QApplicationPrivate::focus_widget
&& QApplicationPrivate::focus_widget != qwidget) {
QWheelEvent qwe2(QApplicationPrivate::focus_widget->mapFromGlobal(qglobal), qglobal,
- deltaZ, buttons, keyMods, Qt::Vertical);
+ deltaY, buttons, keyMods, Qt::Vertical);
qt_sendSpontaneousEvent(QApplicationPrivate::focus_widget, &qwe2);
wheelOK = qwe2.isAccepted();
}
}
-
+
if (deltaZ) {
// Qt doesn't explicitly support wheels with a Z component. In a misguided attempt to
// try to be ahead of the pack, I'm adding this extra value.
@@ -889,6 +912,11 @@ extern "C" {
Q_UNUSED(anImage);
Q_UNUSED(aPoint);
qMacDnDParams()->performedAction = operation;
+ if (QDragManager::self()->object
+ && QDragManager::self()->dragPrivate()->executed_action != Qt::ActionMask) {
+ qMacDnDParams()->performedAction =
+ qt_mac_mapDropAction(QDragManager::self()->dragPrivate()->executed_action);
+ }
}
- (QWidget *)qt_qwidget
@@ -1202,13 +1230,13 @@ Qt::DropAction QDragManager::drag(QDrag *o)
so we just bail early to prevent it */
if(!(GetCurrentEventButtonState() & kEventMouseButtonPrimary))
return Qt::IgnoreAction;
-
+
if(object) {
dragPrivate()->source->removeEventFilter(this);
cancel();
beingCancelled = false;
}
-
+
object = o;
dragPrivate()->target = 0;
@@ -1220,7 +1248,7 @@ Qt::DropAction QDragManager::drag(QDrag *o)
QMacPasteboard dragBoard((CFStringRef) NSDragPboard, QMacPasteboardMime::MIME_DND);
dragPrivate()->data->setData(QLatin1String("application/x-qt-mime-type-name"), QByteArray());
dragBoard.setMimeData(dragPrivate()->data);
-
+
// create the image
QPoint hotspot;
QPixmap pix = dragPrivate()->pixmap;
@@ -1266,6 +1294,7 @@ Qt::DropAction QDragManager::drag(QDrag *o)
NSSize mouseOffset = {0.0, 0.0};
NSPasteboard *pboard = [NSPasteboard pasteboardWithName:NSDragPboard];
NSPoint windowPoint = [dndParams->theEvent locationInWindow];
+ dragPrivate()->executed_action = Qt::ActionMask;
// do the drag
[dndParams->view retain];
[dndParams->view dragImage:image
@@ -1277,6 +1306,7 @@ Qt::DropAction QDragManager::drag(QDrag *o)
slideBack:YES];
[dndParams->view release];
[image release];
+ dragPrivate()->executed_action = Qt::IgnoreAction;
object = 0;
Qt::DropAction performedAction(qt_mac_mapNSDragOperation(dndParams->performedAction));
// do post drag processing, if required.
diff --git a/src/gui/kernel/qcocoaview_mac_p.h b/src/gui/kernel/qcocoaview_mac_p.h
index 9de94d5..983c762 100644
--- a/src/gui/kernel/qcocoaview_mac_p.h
+++ b/src/gui/kernel/qcocoaview_mac_p.h
@@ -83,6 +83,7 @@ Q_GUI_EXPORT
bool composing;
int composingLength;
bool sendKeyEvents;
+ QStringList *currentCustomTypes;
}
- (id)initWithQWidget:(QWidget *)widget widgetPrivate:(QWidgetPrivate *)widgetprivate;
- (void) finishInitWithQWidget:(QWidget *)widget widgetPrivate:(QWidgetPrivate *)widgetprivate;
@@ -91,7 +92,7 @@ Q_GUI_EXPORT
- (NSDragOperation)draggingUpdated:(id < NSDraggingInfo >)sender;
- (void)draggingExited:(id < NSDraggingInfo >)sender;
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender;
-- (void)registerDragTypes:(bool)accept;
+- (void)registerDragTypes;
- (void)removeDropData;
- (void)addDropData:(id <NSDraggingInfo>)sender;
- (void)setSupportedActions:(NSDragOperation)actions;
diff --git a/src/gui/kernel/qcocoawindowdelegate_mac.mm b/src/gui/kernel/qcocoawindowdelegate_mac.mm
index 03b2fce..fa325f4 100644
--- a/src/gui/kernel/qcocoawindowdelegate_mac.mm
+++ b/src/gui/kernel/qcocoawindowdelegate_mac.mm
@@ -194,7 +194,6 @@ static void cleanupCocoaWindowDelegate()
{
NSWindow *window = [notification object];
QWidget *qwidget = m_windowHash->value(window);
- // Just here to handle the is zoomed method.
QWidgetData *widgetData = qt_qwidget_data(qwidget);
if (!(qwidget->windowState() & (Qt::WindowMaximized | Qt::WindowFullScreen)) && [window isZoomed]) {
widgetData->window_state = widgetData->window_state | Qt::WindowMaximized;
@@ -202,7 +201,6 @@ static void cleanupCocoaWindowDelegate()
& ~Qt::WindowMaximized));
qt_sendSpontaneousEvent(qwidget, &e);
}
- [self checkForMove:[window frame] forWidget:qwidget];
NSRect rect = [[window contentView] frame];
const QSize newSize(rect.size.width, rect.size.height);
const QSize &oldSize = widgetData->crect.size();
@@ -212,12 +210,18 @@ static void cleanupCocoaWindowDelegate()
}
}
-- (void)checkForMove:(const NSRect &)newRect forWidget:(QWidget *)qwidget
+- (void)windowDidMove:(NSNotification *)notification
{
- // newRect's origin is bottom left.
+ // The code underneath needs to translate the window location
+ // from bottom left (which is the origin used by Cocoa) to
+ // upper left (which is the origin used by Qt):
+ NSWindow *window = [notification object];
+ NSRect newRect = [window frame];
+ QWidget *qwidget = m_windowHash->value(window);
QPoint qtPoint = flipPoint(NSMakePoint(newRect.origin.x,
newRect.origin.y + newRect.size.height)).toPoint();
const QRect &oldRect = qwidget->frameGeometry();
+
if (qtPoint.x() != oldRect.x() || qtPoint.y() != oldRect.y()) {
QWidgetData *widgetData = qt_qwidget_data(qwidget);
QRect oldCRect = widgetData->crect;
@@ -233,11 +237,6 @@ static void cleanupCocoaWindowDelegate()
}
}
-- (void)windowDidMove:(NSNotification *)notification
-{
- [self windowDidResize:notification];
-}
-
-(BOOL)windowShouldClose:(id)windowThatWantsToClose
{
QWidget *qwidget = m_windowHash->value(windowThatWantsToClose);
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index 8c7e47d..2aed287 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -675,12 +675,13 @@ QWheelEvent::QWheelEvent(const QPoint &pos, const QPoint& globalPos, int delta,
The \a type parameter must be QEvent::KeyPress, QEvent::KeyRelease,
or QEvent::ShortcutOverride.
- If \a key is 0, the event is not a result of
- a known key; for example, it may be the result of a compose
- sequence or keyboard macro. The \a modifiers holds the keyboard
- modifiers, and the given \a text is the Unicode text that the
- key generated. If \a autorep is true, isAutoRepeat() will be
- true. \a count is the number of keys involved in the event.
+ Int \a key is the code for the Qt::Key that the event loop should listen
+ for. If \a key is 0, the event is not a result of a known key; for
+ example, it may be the result of a compose sequence or keyboard macro.
+ The \a modifiers holds the keyboard modifiers, and the given \a text
+ is the Unicode text that the key generated. If \a autorep is true,
+ isAutoRepeat() will be true. \a count is the number of keys involved
+ in the event.
*/
QKeyEvent::QKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, const QString& text,
bool autorep, ushort count)
diff --git a/src/gui/kernel/qlayout.cpp b/src/gui/kernel/qlayout.cpp
index aa46249..4463aab 100644
--- a/src/gui/kernel/qlayout.cpp
+++ b/src/gui/kernel/qlayout.cpp
@@ -1028,8 +1028,13 @@ void QLayout::freeze(int w, int h)
void QLayout::setMenuBar(QWidget *widget)
{
Q_D(QLayout);
- if (widget)
- addChildWidget(widget);
+
+#ifdef Q_OS_WINCE_WM
+ if (widget && widget->size().height() > 0)
+#else
+ if (widget)
+#endif
+ addChildWidget(widget);
d->menubar = widget;
}
@@ -1239,7 +1244,7 @@ bool QLayout::activate()
Must be implemented in subclasses to remove the layout item at \a
index from the layout, and return the item. If there is no such
item, the function must do nothing and return 0. Items are numbered
- consecutively from 0. If an item is deleted, other items will be
+ consecutively from 0. If an item is removed, other items will be
renumbered.
The following code fragment shows a safe way to remove all items
diff --git a/src/gui/kernel/qshortcutmap.cpp b/src/gui/kernel/qshortcutmap.cpp
index ed9654b..86894b4 100644
--- a/src/gui/kernel/qshortcutmap.cpp
+++ b/src/gui/kernel/qshortcutmap.cpp
@@ -753,6 +753,7 @@ bool QShortcutMap::correctGraphicsWidgetContext(Qt::ShortcutContext context, QGr
tw = tw->parentWidget();
return tw == w;
}
+ return false;
}
// Below is Qt::WindowShortcut context
diff --git a/src/gui/kernel/qt_cocoa_helpers_mac.mm b/src/gui/kernel/qt_cocoa_helpers_mac.mm
index 52e76d8..9165836 100644
--- a/src/gui/kernel/qt_cocoa_helpers_mac.mm
+++ b/src/gui/kernel/qt_cocoa_helpers_mac.mm
@@ -515,6 +515,18 @@ Qt::KeyboardModifiers qt_cocoaModifiers2QtModifiers(ulong modifierFlags)
return qtMods;
}
+Qt::KeyboardModifiers qt_cocoaDragOperation2QtModifiers(uint dragOperations)
+{
+ Qt::KeyboardModifiers qtMods =Qt::NoModifier;
+ if (dragOperations & NSDragOperationLink)
+ qtMods |= Qt::MetaModifier;
+ if (dragOperations & NSDragOperationGeneric)
+ qtMods |= Qt::ControlModifier;
+ if (dragOperations & NSDragOperationCopy)
+ qtMods |= Qt::AltModifier;
+ return qtMods;
+}
+
static inline QEvent::Type cocoaEvent2QtEvent(NSUInteger eventType)
{
// Handle the trivial cases that can be determined from the type.
@@ -814,13 +826,28 @@ bool qt_mac_handleMouseEvent(void * /* NSView * */view, void * /* NSEvent * */ev
QWidget *qwidget = [theView qt_qwidget];
QWidget *widgetToGetMouse = qwidget;
QWidget *popup = qAppInstance()->activePopupWidget();
- if (popup && popup != qwidget->window())
- widgetToGetMouse = popup;
NSView *tmpView = theView;
- if (widgetToGetMouse != qwidget) {
- tmpView = qt_mac_nativeview_for(widgetToGetMouse);
+
+ if (popup && popup != qwidget->window()) {
+ widgetToGetMouse = popup;
+ tmpView = qt_mac_nativeview_for(popup);
windowPoint = [[tmpView window] convertScreenToBase:globalPoint];
+
+ QPoint qWindowPoint(windowPoint.x, windowPoint.y);
+ if (widgetToGetMouse->rect().contains(qWindowPoint)) {
+ // Keeping the mouse pressed on a combobox button will make
+ // the popup pop in front of the mouse. But all mouse events
+ // will be sendt to the button. Since we want mouse events
+ // to be sendt to widgets inside the popup, we search for the
+ // widget in front of the mouse:
+ tmpView = [tmpView hitTest:windowPoint];
+ if (!tmpView)
+ return false;
+ widgetToGetMouse =
+ [static_cast<QT_MANGLE_NAMESPACE(QCocoaView) *>(tmpView) qt_qwidget];
+ }
}
+
NSPoint localPoint = [tmpView convertPoint:windowPoint fromView:nil];
QPoint qlocalPoint(localPoint.x, localPoint.y);
diff --git a/src/gui/kernel/qt_cocoa_helpers_mac_p.h b/src/gui/kernel/qt_cocoa_helpers_mac_p.h
index ef55aa4..63a301c 100644
--- a/src/gui/kernel/qt_cocoa_helpers_mac_p.h
+++ b/src/gui/kernel/qt_cocoa_helpers_mac_p.h
@@ -141,6 +141,7 @@ inline QApplication *qAppInstance() { return static_cast<QApplication *>(QCoreAp
struct ::TabletProximityRec;
void qt_dispatchTabletProximityEvent(const ::TabletProximityRec &proxRec);
Qt::KeyboardModifiers qt_cocoaModifiers2QtModifiers(ulong modifierFlags);
+Qt::KeyboardModifiers qt_cocoaDragOperation2QtModifiers(uint dragOperations);
inline int flipYCoordinate(int y)
{
return QApplication::desktop()->screenGeometry(0).height() - y;
diff --git a/src/gui/kernel/qt_mac.cpp b/src/gui/kernel/qt_mac.cpp
index b1247e8..44e10a8 100644
--- a/src/gui/kernel/qt_mac.cpp
+++ b/src/gui/kernel/qt_mac.cpp
@@ -131,7 +131,7 @@ QColor qcolorForTheme(ThemeBrush brush)
QColor qcolorForThemeTextColor(ThemeTextColor themeColor)
{
-#ifdef QT_OS_MAC32
+#ifdef Q_OS_MAC32
RGBColor c;
GetThemeTextColor(themeColor, 32, true, &c);
QColor color = QColor(c.red / 265, c.green / 256, c.blue / 256);
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index 31fed5e..d911b48 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -183,6 +183,7 @@ QWidgetPrivate::QWidgetPrivate(int version) :
,inDirtyList(0)
,isScrolled(0)
,isMoved(0)
+ ,usesDoubleBufferedGLContext(0)
#ifdef Q_WS_WIN
,noPaintOnScreen(0)
#endif
@@ -2132,6 +2133,10 @@ QWidget *QWidget::find(WId id)
If a widget is non-native (alien) and winId() is invoked on it, that widget
will be provided a native handle.
+ On Mac OS X, the type returned depends on which framework Qt was linked
+ 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.
@@ -2234,9 +2239,10 @@ WId QWidget::effectiveWinId() const
The style sheet contains a textual description of customizations to the
widget's style, as described in the \l{Qt Style Sheets} document.
- \note Qt style sheets are currently not supported for QMacStyle
- (the default style on Mac OS X). We plan to address this in some future
- release.
+ Since Qt 4.5, Qt style sheets fully supports Mac OS X.
+
+ \warning Qt style sheets are currently not supported for custom QStyle
+ subclasses. We plan to address this in some future release.
\sa setStyle(), QApplication::styleSheet, {Qt Style Sheets}
*/
@@ -4708,10 +4714,13 @@ void QWidget::render(QPaintDevice *target, const QPoint &targetOffset,
if (redirected) {
target = redirected;
offset -= redirectionOffset;
- if (!inRenderWithPainter) { // Clip handled by shared painter (in qpainter.cpp).
- const QRegion redirectedSystemClip = redirected->paintEngine()->systemClip();
- if (!redirectedSystemClip.isEmpty())
- paintRegion &= redirectedSystemClip.translated(-offset);
+ }
+
+ if (!inRenderWithPainter) { // Clip handled by shared painter (in qpainter.cpp).
+ if (QPaintEngine *targetEngine = target->paintEngine()) {
+ const QRegion targetSystemClip = targetEngine->systemClip();
+ if (!targetSystemClip.isEmpty())
+ paintRegion &= targetSystemClip.translated(-offset);
}
}
@@ -4796,7 +4805,7 @@ void QWidget::render(QPainter *painter, const QPoint &targetOffset,
Q_ASSERT(engine);
QPaintEnginePrivate *enginePriv = engine->d_func();
Q_ASSERT(enginePriv);
- QPaintDevice *target = painter->worldMatrixEnabled() ? engine->paintDevice() : painter->device();
+ QPaintDevice *target = engine->paintDevice();
Q_ASSERT(target);
// Render via a pixmap when dealing with non-opaque painters or printers.
@@ -4815,8 +4824,13 @@ void QWidget::render(QPainter *painter, const QPoint &targetOffset,
const QRegion oldSystemClip = enginePriv->systemClip;
const QRegion oldSystemViewport = enginePriv->systemViewport;
- // This ensures that transformed system clips are inside the current system clip.
- enginePriv->setSystemViewport(oldSystemClip);
+ // This ensures that all painting triggered by render() is clipped to the current engine clip.
+ if (painter->hasClipping()) {
+ const QRegion painterClip = painter->deviceTransform().map(painter->clipRegion());
+ enginePriv->setSystemViewport(oldSystemClip.isEmpty() ? painterClip : oldSystemClip & painterClip);
+ } else {
+ enginePriv->setSystemViewport(oldSystemClip);
+ }
render(target, targetOffset, toBePainted, renderFlags);
@@ -11418,3 +11432,17 @@ void QWidget::clearMask()
setMask(QRegion());
}
+/*! \fn const QX11Info &QWidget::x11Info() const
+ Returns information about the configuration of the X display used to display
+ the widget.
+
+ \warning This function is only available on X11.
+*/
+
+/*! \fn Qt::HANDLE QWidget::x11PictureHandle() const
+ Returns the X11 Picture handle of the widget for XRender
+ support. Use of this function is not portable. This function will
+ return 0 if XRender support is not compiled into Qt, if the
+ XRender extension is not supported on the X11 display, or if the
+ handle could not be created.
+*/
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index 2c3f7f1..b315eaf 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -2162,6 +2162,7 @@ void QWidgetPrivate::finishCreateWindow_sys_Carbon(OSWindowRef windowRef)
setWindowModified_sys(q->isWindowModified());
updateFrameStrut();
qt_mac_update_sizer(q);
+ applyMaxAndMinSizeOnWindow();
}
#else // QT_MAC_USE_COCOA
void QWidgetPrivate::finishCreateWindow_sys_Cocoa(void * /*NSWindow * */ voidWindowRef)
@@ -2247,6 +2248,7 @@ void QWidgetPrivate::finishCreateWindow_sys_Cocoa(void * /*NSWindow * */ voidWin
syncCocoaMask();
macUpdateIsOpaque();
qt_mac_update_sizer(q);
+ applyMaxAndMinSizeOnWindow();
}
#endif // QT_MAC_USE_COCOA
@@ -4001,6 +4003,53 @@ void QWidgetPrivate::setWSGeometry(bool dontShow, const QRect &oldRect)
}
}
+void QWidgetPrivate::adjustWithinMaxAndMinSize(int &w, int &h)
+{
+ if (QWExtra *extra = extraData()) {
+ w = qMin(w, extra->maxw);
+ h = qMin(h, extra->maxh);
+ w = qMax(w, extra->minw);
+ h = qMax(h, extra->minh);
+
+ // Deal with size increment
+ if (QTLWExtra *top = topData()) {
+ if(top->incw) {
+ w = w/top->incw;
+ w *= top->incw;
+ }
+ if(top->inch) {
+ h = h/top->inch;
+ h *= top->inch;
+ }
+ }
+ }
+
+ if (isRealWindow()) {
+ w = qMax(0, w);
+ h = qMax(0, h);
+ }
+}
+
+void QWidgetPrivate::applyMaxAndMinSizeOnWindow()
+{
+ Q_Q(QWidget);
+ const float max_f(20000);
+#ifndef QT_MAC_USE_COCOA
+#define SF(x) ((x > max_f) ? max_f : x)
+ HISize max = CGSizeMake(SF(extra->maxw), SF(extra->maxh));
+ HISize min = CGSizeMake(SF(extra->minw), SF(extra->minh));
+#undef SF
+ SetWindowResizeLimits(qt_mac_window_for(q), &min, &max);
+#else
+#define SF(x) ((x > max_f) ? max_f : x)
+ NSSize max = NSMakeSize(SF(extra->maxw), SF(extra->maxh));
+ NSSize min = NSMakeSize(SF(extra->minw), SF(extra->minh));
+#undef SF
+ [qt_mac_window_for(q) setMinSize:min];
+ [qt_mac_window_for(q) setMaxSize:max];
+#endif
+}
+
void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove)
{
Q_Q(QWidget);
@@ -4011,12 +4060,19 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove)
QMacCocoaAutoReleasePool pool;
bool realWindow = isRealWindow();
- if (realWindow && !(w == 0 && h == 0) && !q->testAttribute(Qt::WA_DontShowOnScreen)) {
- topData()->isSetGeometry = 1;
- topData()->isMove = isMove;
+
+ if (realWindow && !q->testAttribute(Qt::WA_DontShowOnScreen)){
+ adjustWithinMaxAndMinSize(w, h);
#ifndef QT_MAC_USE_COCOA
- Rect r; SetRect(&r, x, y, x + w, y + h);
- SetWindowBounds(qt_mac_window_for(q), kWindowContentRgn, &r);
+ if (w != 0 && h != 0) {
+ topData()->isSetGeometry = 1;
+ topData()->isMove = isMove;
+ Rect r; SetRect(&r, x, y, x + w, y + h);
+ SetWindowBounds(qt_mac_window_for(q), kWindowContentRgn, &r);
+ topData()->isSetGeometry = 0;
+ } else {
+ setGeometry_sys_helper(x, y, w, h, isMove);
+ }
#else
NSWindow *window = qt_mac_window_for(q);
const QRect &fStrut = frameStrut();
@@ -4025,9 +4081,25 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove)
fStrut.top() + fStrut.bottom() + h));
NSRect cocoaFrameRect = NSMakeRect(frameRect.x(), flipYCoordinate(frameRect.bottom() + 1),
frameRect.width(), frameRect.height());
- [window setFrame:cocoaFrameRect display:NO];
+
+ QPoint currTopLeft = data.crect.topLeft();
+ if (currTopLeft.x() == x && currTopLeft.y() == y
+ && cocoaFrameRect.size.width != 0
+ && cocoaFrameRect.size.height != 0) {
+ [window setFrame:cocoaFrameRect display:NO];
+ } else {
+ // The window is moved and resized (or resized to zero).
+ // Since Cocoa usually only sends us a resize callback after
+ // setting a window frame, we issue an explicit move as
+ // well. To stop Cocoa from optimize away the move (since the move
+ // would have the same origin as the setFrame call) we shift the
+ // window back and forth inbetween.
+ cocoaFrameRect.origin.y += 1;
+ [window setFrame:cocoaFrameRect display:NO];
+ cocoaFrameRect.origin.y -= 1;
+ [window setFrameOrigin:cocoaFrameRect.origin];
+ }
#endif
- topData()->isSetGeometry = 0;
} else {
setGeometry_sys_helper(x, y, w, h, isMove);
}
@@ -4037,74 +4109,34 @@ void QWidgetPrivate::setGeometry_sys_helper(int x, int y, int w, int h, bool isM
{
Q_Q(QWidget);
bool realWindow = isRealWindow();
- if(QWExtra *extra = extraData()) { // any size restrictions?
- if(realWindow) {
- qt_mac_update_sizer(q);
- if(q->windowFlags() & Qt::WindowMaximizeButtonHint) {
-#ifndef QT_MAC_USE_COCOA
- OSWindowRef window = qt_mac_window_for(q);
- if(extra->maxw && extra->maxh && extra->maxw == extra->minw
- && extra->maxh == extra->minh) {
- ChangeWindowAttributes(window, kWindowNoAttributes, kWindowFullZoomAttribute);
- } else {
- ChangeWindowAttributes(window, kWindowFullZoomAttribute, kWindowNoAttributes);
- }
-#endif
- }
- }
-
- w = qMin(w,extra->maxw);
- h = qMin(h,extra->maxh);
- w = qMax(w,extra->minw);
- h = qMax(h,extra->minh);
-
- // Deal with size increment
- if(QTLWExtra *top = topData()) {
- if(top->incw) {
- w = w/top->incw;
- w *= top->incw;
- }
- if(top->inch) {
- h = h/top->inch;
- h *= top->inch;
- }
- }
- }
-
- if (realWindow) {
- w = qMax(0, w);
- h = qMax(0, h);
- }
QPoint oldp = q->pos();
QSize olds = q->size();
const bool isResize = (olds != QSize(w, h));
- if(!realWindow && !isResize && QPoint(x, y) == oldp)
+
+ if (!realWindow && !isResize && QPoint(x, y) == oldp)
return;
- if(isResize && q->isMaximized())
+
+ if (isResize)
data.window_state = data.window_state & ~Qt::WindowMaximized;
+
const bool visible = q->isVisible();
data.crect = QRect(x, y, w, h);
- if(realWindow) {
- if(QWExtra *extra = extraData()) { //set constraints
- const float max_f(20000);
+ if (realWindow) {
+ adjustWithinMaxAndMinSize(w, h);
+ qt_mac_update_sizer(q);
+
#ifndef QT_MAC_USE_COCOA
-#define SF(x) ((x > max_f) ? max_f : x)
- HISize max = CGSizeMake(SF(extra->maxw), SF(extra->maxh));
- HISize min = CGSizeMake(SF(extra->minw), SF(extra->minh));
-#undef SF
- SetWindowResizeLimits(qt_mac_window_for(q), &min, &max);
-#else
-#define SF(x) ((x > max_f) ? max_f : x)
- NSSize max = NSMakeSize(SF(extra->maxw), SF(extra->maxh));
- NSSize min = NSMakeSize(SF(extra->minw), SF(extra->minh));
-#undef SF
- [qt_mac_window_for(q) setMinSize:min];
- [qt_mac_window_for(q) setMaxSize:max];
-#endif
+ if (q->windowFlags() & Qt::WindowMaximizeButtonHint) {
+ OSWindowRef window = qt_mac_window_for(q);
+ if (extra->maxw && extra->maxh && extra->maxw == extra->minw
+ && extra->maxh == extra->minh) {
+ ChangeWindowAttributes(window, kWindowNoAttributes, kWindowFullZoomAttribute);
+ } else {
+ ChangeWindowAttributes(window, kWindowFullZoomAttribute, kWindowNoAttributes);
+ }
}
-#ifndef QT_MAC_USE_COCOA
HIRect bounds = CGRectMake(0, 0, w, h);
HIViewSetFrame(qt_mac_nativeview_for(q), &bounds);
#else
@@ -4150,6 +4182,7 @@ void QWidgetPrivate::setGeometry_sys_helper(int x, int y, int w, int h, bool isM
void QWidgetPrivate::setConstraints_sys()
{
updateMaximizeButton_sys();
+ applyMaxAndMinSizeOnWindow();
}
void QWidgetPrivate::updateMaximizeButton_sys()
@@ -4464,8 +4497,8 @@ void QWidgetPrivate::registerDropSite(bool on)
SetControlDragTrackingEnabled(qt_mac_nativeview_for(q), on);
#else
NSView *view = qt_mac_nativeview_for(q);
- if ([view isKindOfClass:[QT_MANGLE_NAMESPACE(QCocoaView) class]]) {
- [static_cast<QT_MANGLE_NAMESPACE(QCocoaView) *>(view) registerDragTypes:on];
+ if (on && [view isKindOfClass:[QT_MANGLE_NAMESPACE(QCocoaView) class]]) {
+ [static_cast<QT_MANGLE_NAMESPACE(QCocoaView) *>(view) registerDragTypes];
}
#endif
}
@@ -4627,8 +4660,11 @@ void QWidgetPrivate::setModal_sys()
if (windowParent && q->windowModality() == Qt::WindowModal){
// Window should be window-modal, which implies a sheet.
- if (!alreadySheet)
+ if (!alreadySheet) {
+ // NB: the following call will call setModal_sys recursivly:
recreateMacWindow();
+ windowRef = qt_mac_window_for(q);
+ }
if ([windowRef isKindOfClass:[NSPanel class]]){
// If the primary window of the sheet parent is a child of a modal dialog,
// the sheet parent should not be modally shaddowed.
diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h
index 9e93f66..2461820 100644
--- a/src/gui/kernel/qwidget_p.h
+++ b/src/gui/kernel/qwidget_p.h
@@ -257,6 +257,8 @@ public:
void macUpdateIsOpaque();
void setEnabled_helper_sys(bool enable);
bool isRealWindow() const;
+ void adjustWithinMaxAndMinSize(int &w, int &h);
+ void applyMaxAndMinSizeOnWindow();
#endif
void raise_sys();
@@ -535,6 +537,7 @@ public:
uint inDirtyList : 1;
uint isScrolled : 1;
uint isMoved : 1;
+ uint usesDoubleBufferedGLContext : 1;
#ifdef Q_WS_WIN
uint noPaintOnScreen : 1; // see qwidget_win.cpp ::paintEngine()
diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp
index 76734d4..6202b35 100644
--- a/src/gui/kernel/qwidget_x11.cpp
+++ b/src/gui/kernel/qwidget_x11.cpp
@@ -2747,12 +2747,6 @@ void QWidgetPrivate::setWindowOpacity_sys(qreal opacity)
32, PropModeReplace, (uchar*)&value, 1);
}
-/*!
- Returns information about the configuration of the X display used to display
- the widget.
-
- \warning This function is only available on X11.
-*/
const QX11Info &QWidget::x11Info() const
{
Q_D(const QWidget);
@@ -2789,13 +2783,6 @@ QWindowSurface *QWidgetPrivate::createDefaultWindowSurface_sys()
return new QX11WindowSurface(q_func());
}
-/*!
- Returns the X11 Picture handle of the widget for XRender
- support. Use of this function is not portable. This function will
- return 0 if XRender support is not compiled into Qt, if the
- XRender extension is not supported on the X11 display, or if the
- handle could not be created.
-*/
Qt::HANDLE QWidget::x11PictureHandle() const
{
#ifndef QT_NO_XRENDER
diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp
index fbac811a..0a3a8dd 100644
--- a/src/gui/painting/qbackingstore.cpp
+++ b/src/gui/painting/qbackingstore.cpp
@@ -492,7 +492,8 @@ static inline void sendUpdateRequest(QWidget *widget, bool updateImmediately)
return;
#if defined(Q_WS_WIN) && !defined(Q_OS_WINCE)
- if (QApplicationPrivate::inSizeMove && widget->internalWinId() && !updateImmediately) {
+ if (QApplicationPrivate::inSizeMove && widget->internalWinId() && !updateImmediately
+ && !widget->testAttribute(Qt::WA_DontShowOnScreen)) {
// Tell Windows to send us a paint event if we're in WM_SIZE/WM_MOVE; posted events
// are blocked until the mouse button is released. See task 146849.
const QRegion rgn(qt_dirtyRegion(widget));
@@ -1510,6 +1511,9 @@ void QWidgetPrivate::invalidateBuffer(const QRect &rect)
void QWidgetPrivate::repaint_sys(const QRegion &rgn)
{
+ if (data.in_destructor)
+ return;
+
Q_Q(QWidget);
if (q->testAttribute(Qt::WA_StaticContents)) {
if (!extra)
@@ -1517,13 +1521,20 @@ void QWidgetPrivate::repaint_sys(const QRegion &rgn)
extra->staticContentsSize = data.crect.size();
}
+ QPaintEngine *engine = q->paintEngine();
+ // QGLWidget does not support partial updates if:
+ // 1) The context is double buffered
+ // 2) The context is single buffered and auto-fill background is enabled.
+ const bool noPartialUpdateSupport = (engine && engine->type() == QPaintEngine::OpenGL)
+ && (usesDoubleBufferedGLContext || q->autoFillBackground());
+ QRegion toBePainted(noPartialUpdateSupport ? q->rect() : rgn);
+
#ifdef Q_WS_MAC
// No difference between update() and repaint() on the Mac.
- update_sys(rgn);
+ update_sys(toBePainted);
return;
#endif
- QRegion toBePainted(rgn);
toBePainted &= clipRect();
clipToEffectiveMask(toBePainted);
if (toBePainted.isEmpty())
diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp
index 6589439..93f11e1 100644
--- a/src/gui/painting/qblendfunctions.cpp
+++ b/src/gui/painting/qblendfunctions.cpp
@@ -44,21 +44,6 @@
QT_BEGIN_NAMESPACE
-
-// This ifdef is made with the best of intention. GCC fails to
-// optimzie the code properly so the bytemul approach is the fastest
-// it gets. Both on ARM and on MSVC the code is optimized to be better
-// than the bytemul approach... On the other hand... This code is
-// almost never run on i386 so it may be downright silly to have this
-// piece of code here...
-#if defined (Q_CC_GNU) && (defined (QT_ARCH_I386) || defined (QT_ARCH_X86_64))
-# define QT_BLEND_USE_BYTEMUL
-#endif
-
-// #define QT_DEBUG_DRAW
-
-static const qreal aliasedCoordinateDelta = 0.5 - 0.015625;
-
struct SourceOnlyAlpha
{
inline uchar alpha(uchar src) const { return src; }
@@ -153,14 +138,11 @@ struct Blend_ARGB32_on_RGB16_SourceAndConstAlpha {
template <typename SRC, typename T>
void qt_scale_image_16bit(uchar *destPixels, int dbpl,
const uchar *srcPixels, int sbpl,
- const QRectF &target,
+ const QRectF &targetRect,
const QRectF &srcRect,
const QRect &clip,
T blender)
{
- const QRectF targetRect = target.translated(aliasedCoordinateDelta,
- aliasedCoordinateDelta);
-
qreal sx = targetRect.width() / (qreal) srcRect.width();
qreal sy = targetRect.height() / (qreal) srcRect.height();
@@ -286,7 +268,7 @@ static void qt_blend_rgb16_on_rgb16(uchar *dst, int dbpl,
int const_alpha)
{
#ifdef QT_DEBUG_DRAW
- printf("qt_blend_argb16_on_rgb16: dst=(%p, %d), src=(%p, %d), dim=(%d, %d) alpha=%d\n",
+ printf("qt_blend_rgb16_on_rgb16: dst=(%p, %d), src=(%p, %d), dim=(%d, %d) alpha=%d\n",
dst, dbpl, src, sbpl, w, h, const_alpha);
#endif
@@ -347,11 +329,6 @@ template <typename T> void qt_blend_argb24_on_rgb16(uchar *destPixels, int dbpl,
if (alpha == 255) {
*dst = spix;
} else if (alpha != 0) {
-#ifdef QT_BLEND_USE_BYTEMUL
- // truncate green channel to avoid overflow
- *dst = (alphaFunc.bytemul(spix) & 0xffdf)
- + (quint16) qrgb565(*dst).byte_mul(qrgb565::ialpha(alpha));
-#else
quint16 dpix = *dst;
quint32 sia = 255 - alpha;
@@ -363,12 +340,11 @@ template <typename T> void qt_blend_argb24_on_rgb16(uchar *destPixels, int dbpl,
quint32 siag = dg * sia;
quint32 siab = db * sia;
- quint32 rr = ((siar + (siar>>8) + (0x80 << 11)) >> 8) & 0xf800;
- quint32 rg = ((siag + (siag>>8) + (0x80 << 5)) >> 8) & 0x07e0;
- quint32 rb = ((siab + (siab>>8) + (0x80 >> 3)) >> 8);
+ quint32 rr = ((siar + (siar>>8) + (0x80 << 8)) >> 8) & 0xf800;
+ quint32 rg = ((siag + (siag>>8) + (0x80 << 3)) >> 8) & 0x07e0;
+ quint32 rb = ((siab + (siab>>8) + (0x80 >> 3)) >> 8) & 0x001f;
*dst = alphaFunc.bytemul(spix) + rr + rg + rb;
-#endif
}
++dst;
@@ -435,113 +411,45 @@ static void qt_blend_argb32_on_rgb16(uchar *destPixels, int dbpl,
}
quint16 *dst = (quint16 *) destPixels;
- int dstExtraStride = dbpl / 2 - w;
-
- const quint32 *src = (const quint32 *) srcPixels;
- int srcExtraStride = sbpl / 4 - w;
+ quint32 *src = (quint32 *) srcPixels;
for (int y=0; y<h; ++y) {
- int length = w;
- const int dstAlign = ((quintptr)dst) & 0x3;
- if (dstAlign) {
- const quint8 alpha = qAlpha(*src);
- if (alpha) {
- quint16 s = convert_argb32_to_rgb16(*src);
- if (alpha < 255)
- s += BYTE_MUL_RGB16(*dst, 255 - alpha);
- *dst = s;
- }
- ++dst;
- ++src;
- --length;
- }
+ for (int x=0; x<w; ++x) {
- const int length32 = length >> 1;
- const int srcAlign = ((quintptr)src) & 0x3;
- if (length32) {
- if (srcAlign) {
- for (int i = 0; i < length32; ++i) {
- quint32 *dest32 = reinterpret_cast<quint32*>(dst);
- const quint8 a1 = qAlpha(src[0]);
- const quint8 a2 = qAlpha(src[1]);
- quint32 s;
-
- if (!a1 && !a2) {
- src += 2;
- dst +=2;
- continue;
- }
-
- s = convert_argb32_to_rgb16(src[0])
- | (convert_argb32_to_rgb16(src[1]) << 16);
-
- if (a1 == a2) {
- if (a1 < 255) {
- const quint8 sa = ((255 - a1)+1) >> 3;
- s += BYTE_MUL_RGB16_32(*dest32, sa);
- }
- } else {
- if (a1 < 255)
- s += BYTE_MUL_RGB16(dst[0], 255 - a1);
- if (a2 < 255)
- s += BYTE_MUL_RGB16(dst[1], 255 - a2) << 16;
- }
-
- *dest32 = s;
- src += 2;
- dst += 2;
- }
- } else {
- for (int i = 0; i < length32; ++i) {
- quint32 *dest32 = reinterpret_cast<quint32*>(dst);
- const quint8 a1 = qAlpha(src[0]);
- const quint8 a2 = qAlpha(src[1]);
- quint32 s;
-
- if (!a1 && !a2) {
- src += 2;
- dst +=2;
- continue;
- }
-
- const quint64 *src64 =
- reinterpret_cast<const quint64*>(src);
- s = qConvertRgb32To16x2(*src64);
-
- if (a1 == a2) {
- if (a1 < 255) {
- const quint8 sa = ((255 - a1)+1) >> 3;
- s += BYTE_MUL_RGB16_32(*dest32, sa);
- }
- } else {
- if (a1 < 255)
- s += BYTE_MUL_RGB16(dst[0], 255 - a1);
- if (a2 < 255)
- s += BYTE_MUL_RGB16(dst[1], 255 - a2) << 16;
- }
-
- *dest32 = s;
- src += 2;
- dst += 2;
- }
- }
- }
- const int tail = length & 0x1;
- if (tail) {
- const quint8 alpha = qAlpha(*src);
- if (alpha) {
- quint16 s = convert_argb32_to_rgb16(*src);
- if (alpha < 255)
- s += BYTE_MUL_RGB16(*dst, 255 - alpha);
- *dst = s;
+ quint32 spix = src[x];
+ quint32 alpha = spix >> 24;
+
+ if (alpha == 255) {
+ dst[x] = convert_argb32_to_rgb16(spix);
+ } else if (alpha != 0) {
+ quint32 dpix = dst[x];
+
+ quint32 sia = 255 - alpha;
+
+ quint32 sr = (spix >> 8) & 0xf800;
+ quint32 sg = (spix >> 5) & 0x07e0;
+ quint32 sb = (spix >> 3) & 0x001f;
+
+ quint32 dr = (dpix & 0x0000f800);
+ quint32 dg = (dpix & 0x000007e0);
+ quint32 db = (dpix & 0x0000001f);
+
+ quint32 siar = dr * sia;
+ quint32 siag = dg * sia;
+ quint32 siab = db * sia;
+
+ quint32 rr = sr + ((siar + (siar>>8) + (0x80 << 8)) >> 8);
+ quint32 rg = sg + ((siag + (siag>>8) + (0x80 << 3)) >> 8);
+ quint32 rb = sb + ((siab + (siab>>8) + (0x80 >> 3)) >> 8);
+
+ dst[x] = (rr & 0xf800)
+ | (rg & 0x07e0)
+ | (rb);
}
- ++dst;
- ++src;
}
- dst += dstExtraStride;
- src += srcExtraStride;
+ dst = (quint16 *) (((uchar *) dst) + dbpl);
+ src = (quint32 *) (((uchar *) src) + sbpl);
}
-
}
@@ -705,14 +613,11 @@ struct Blend_ARGB32_on_ARGB32_SourceAndConstAlpha {
template <typename T> void qt_scale_image_32bit(uchar *destPixels, int dbpl,
const uchar *srcPixels, int sbpl,
- const QRectF &target,
+ const QRectF &targetRect,
const QRectF &srcRect,
const QRect &clip,
T blender)
{
- const QRectF targetRect = target.translated(aliasedCoordinateDelta,
- aliasedCoordinateDelta);
-
qreal sx = targetRect.width() / (qreal) srcRect.width();
qreal sy = targetRect.height() / (qreal) srcRect.height();
diff --git a/src/gui/painting/qcolormap_win.cpp b/src/gui/painting/qcolormap_win.cpp
index d61b933..7d36582 100644
--- a/src/gui/painting/qcolormap_win.cpp
+++ b/src/gui/painting/qcolormap_win.cpp
@@ -138,7 +138,11 @@ void QColormap::cleanup()
}
QColormap QColormap::instance(int)
-{ return QColormap(); }
+{
+ Q_ASSERT_X(screenMap, "QColormap",
+ "A QApplication object needs to be constructed before QColormap is used.");
+ return QColormap();
+}
QColormap::QColormap()
: d(screenMap)
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index 018aff5..35d0b52 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -370,7 +370,7 @@ Q_STATIC_TEMPLATE_FUNCTION void QT_FASTCALL destStore(QRasterBuffer *rasterBuffe
Q_TEMPLATE_FIX(DST))
{
DST *dest = reinterpret_cast<DST*>(rasterBuffer->scanLine(y)) + x;
- const quint32 *src = reinterpret_cast<const quint32*>(buffer);
+ const quint32p *src = reinterpret_cast<const quint32p*>(buffer);
while (length--)
*dest++ = DST(*src++);
}
@@ -2400,8 +2400,7 @@ static inline int color_burn_op(int dst, int src, int da, int sa)
if (src == 0 || src_da + dst_sa <= sa_da)
return qt_div_255(temp);
- else
- return qt_div_255(sa * (src_da + dst_sa - sa_da) / src + temp);
+ return qt_div_255(sa * (src_da + dst_sa - sa_da) / src + temp);
}
template <typename T>
@@ -4763,7 +4762,7 @@ void QT_FASTCALL blendUntransformed(int count, const QSpan *spans, void *userDat
static void blend_untransformed_rgb888(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_24)
+#if defined(QT_QWS_DEPTH_24)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_RGB888)
@@ -4777,7 +4776,7 @@ static void blend_untransformed_rgb888(int count, const QSpan *spans,
static void blend_untransformed_argb6666(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_18)
+#if defined(QT_QWS_DEPTH_18)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB6666_Premultiplied)
@@ -4793,7 +4792,7 @@ static void blend_untransformed_argb6666(int count, const QSpan *spans,
static void blend_untransformed_rgb666(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_18)
+#if defined(QT_QWS_DEPTH_18)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB6666_Premultiplied)
@@ -4809,7 +4808,7 @@ static void blend_untransformed_rgb666(int count, const QSpan *spans,
static void blend_untransformed_argb8565(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_16)
+#if defined(QT_QWS_DEPTH_16)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8565_Premultiplied)
@@ -4825,7 +4824,7 @@ static void blend_untransformed_argb8565(int count, const QSpan *spans,
static void blend_untransformed_rgb565(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_16)
+#if defined(QT_QWS_DEPTH_16)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8565_Premultiplied)
@@ -4841,7 +4840,7 @@ static void blend_untransformed_rgb565(int count, const QSpan *spans,
static void blend_untransformed_argb8555(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_15)
+#if defined(QT_QWS_DEPTH_15)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8555_Premultiplied)
@@ -4857,7 +4856,7 @@ static void blend_untransformed_argb8555(int count, const QSpan *spans,
static void blend_untransformed_rgb555(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_15)
+#if defined(QT_QWS_DEPTH_15)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8555_Premultiplied)
@@ -4873,7 +4872,7 @@ static void blend_untransformed_rgb555(int count, const QSpan *spans,
static void blend_untransformed_argb4444(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_12)
+#if defined(QT_QWS_DEPTH_12)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB4444_Premultiplied)
@@ -4889,7 +4888,7 @@ static void blend_untransformed_argb4444(int count, const QSpan *spans,
static void blend_untransformed_rgb444(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_12)
+#if defined(QT_QWS_DEPTH_12)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB4444_Premultiplied)
@@ -5084,7 +5083,7 @@ Q_STATIC_TEMPLATE_FUNCTION void blendTiled(int count, const QSpan *spans, void *
static void blend_tiled_rgb888(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_24)
+#if defined(QT_QWS_DEPTH_24)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_RGB888)
@@ -5097,7 +5096,7 @@ static void blend_tiled_rgb888(int count, const QSpan *spans, void *userData)
static void blend_tiled_argb6666(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_18)
+#if defined(QT_QWS_DEPTH_18)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB6666_Premultiplied)
@@ -5112,7 +5111,7 @@ static void blend_tiled_argb6666(int count, const QSpan *spans, void *userData)
static void blend_tiled_rgb666(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_18)
+#if defined(QT_QWS_DEPTH_18)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB6666_Premultiplied)
@@ -5127,7 +5126,7 @@ static void blend_tiled_rgb666(int count, const QSpan *spans, void *userData)
static void blend_tiled_argb8565(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_16)
+#if defined(QT_QWS_DEPTH_16)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8565_Premultiplied)
@@ -5142,7 +5141,7 @@ static void blend_tiled_argb8565(int count, const QSpan *spans, void *userData)
static void blend_tiled_rgb565(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_16)
+#if defined(QT_QWS_DEPTH_16)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8565_Premultiplied)
@@ -5157,7 +5156,7 @@ static void blend_tiled_rgb565(int count, const QSpan *spans, void *userData)
static void blend_tiled_argb8555(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_15)
+#if defined(QT_QWS_DEPTH_15)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8555_Premultiplied)
@@ -5172,7 +5171,7 @@ static void blend_tiled_argb8555(int count, const QSpan *spans, void *userData)
static void blend_tiled_rgb555(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_15)
+#if defined(QT_QWS_DEPTH_15)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8555_Premultiplied)
@@ -5187,7 +5186,7 @@ static void blend_tiled_rgb555(int count, const QSpan *spans, void *userData)
static void blend_tiled_argb4444(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_12)
+#if defined(QT_QWS_DEPTH_12)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB4444_Premultiplied)
@@ -5202,7 +5201,7 @@ static void blend_tiled_argb4444(int count, const QSpan *spans, void *userData)
static void blend_tiled_rgb444(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_12)
+#if defined(QT_QWS_DEPTH_12)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB4444_Premultiplied)
@@ -5599,7 +5598,7 @@ Q_STATIC_TEMPLATE_FUNCTION void blendTransformedBilinear(int count, const QSpan
static void blend_transformed_bilinear_rgb888(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_24)
+#if defined(QT_QWS_DEPTH_24)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_RGB888)
@@ -5612,7 +5611,7 @@ static void blend_transformed_bilinear_rgb888(int count, const QSpan *spans, voi
static void blend_transformed_bilinear_argb6666(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_18)
+#if defined(QT_QWS_DEPTH_18)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB6666_Premultiplied)
@@ -5627,7 +5626,7 @@ static void blend_transformed_bilinear_argb6666(int count, const QSpan *spans, v
static void blend_transformed_bilinear_rgb666(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_18)
+#if defined(QT_QWS_DEPTH_18)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB6666_Premultiplied)
@@ -5642,7 +5641,7 @@ static void blend_transformed_bilinear_rgb666(int count, const QSpan *spans, voi
static void blend_transformed_bilinear_argb8565(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_16)
+#if defined(QT_QWS_DEPTH_16)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8565_Premultiplied)
@@ -5658,7 +5657,7 @@ static void blend_transformed_bilinear_argb8565(int count, const QSpan *spans, v
static void blend_transformed_bilinear_rgb565(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_16)
+#if defined(QT_QWS_DEPTH_16)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_RGB16)
@@ -5673,7 +5672,7 @@ static void blend_transformed_bilinear_rgb565(int count, const QSpan *spans,
static void blend_transformed_bilinear_argb8555(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_15)
+#if defined(QT_QWS_DEPTH_15)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8555_Premultiplied)
@@ -5688,7 +5687,7 @@ static void blend_transformed_bilinear_argb8555(int count, const QSpan *spans, v
static void blend_transformed_bilinear_rgb555(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_15)
+#if defined(QT_QWS_DEPTH_15)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8555_Premultiplied)
@@ -5703,7 +5702,7 @@ static void blend_transformed_bilinear_rgb555(int count, const QSpan *spans, voi
static void blend_transformed_bilinear_argb4444(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_12)
+#if defined(QT_QWS_DEPTH_12)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB4444_Premultiplied)
@@ -5718,7 +5717,7 @@ static void blend_transformed_bilinear_argb4444(int count, const QSpan *spans, v
static void blend_transformed_bilinear_rgb444(int count, const QSpan *spans, void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_12)
+#if defined(QT_QWS_DEPTH_12)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB4444_Premultiplied)
@@ -6195,7 +6194,7 @@ Q_STATIC_TEMPLATE_FUNCTION void blendTransformed(int count, const QSpan *spans,
static void blend_transformed_rgb888(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_24)
+#if defined(QT_QWS_DEPTH_24)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_RGB888)
@@ -6209,7 +6208,7 @@ static void blend_transformed_rgb888(int count, const QSpan *spans,
static void blend_transformed_argb6666(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_18)
+#if defined(QT_QWS_DEPTH_18)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB6666_Premultiplied)
@@ -6225,7 +6224,7 @@ static void blend_transformed_argb6666(int count, const QSpan *spans,
static void blend_transformed_rgb666(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_18)
+#if defined(QT_QWS_DEPTH_18)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB6666_Premultiplied)
@@ -6241,7 +6240,7 @@ static void blend_transformed_rgb666(int count, const QSpan *spans,
static void blend_transformed_argb8565(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_16)
+#if defined(QT_QWS_DEPTH_16)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8565_Premultiplied)
@@ -6257,7 +6256,7 @@ static void blend_transformed_argb8565(int count, const QSpan *spans,
static void blend_transformed_rgb565(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_16)
+#if defined(QT_QWS_DEPTH_16)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8565_Premultiplied)
@@ -6273,7 +6272,7 @@ static void blend_transformed_rgb565(int count, const QSpan *spans,
static void blend_transformed_argb8555(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_15)
+#if defined(QT_QWS_DEPTH_15)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8555_Premultiplied)
@@ -6289,7 +6288,7 @@ static void blend_transformed_argb8555(int count, const QSpan *spans,
static void blend_transformed_rgb555(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_15)
+#if defined(QT_QWS_DEPTH_15)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8555_Premultiplied)
@@ -6305,7 +6304,7 @@ static void blend_transformed_rgb555(int count, const QSpan *spans,
static void blend_transformed_argb4444(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_12)
+#if defined(QT_QWS_DEPTH_12)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB4444_Premultiplied)
@@ -6321,7 +6320,7 @@ static void blend_transformed_argb4444(int count, const QSpan *spans,
static void blend_transformed_rgb444(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_12)
+#if defined(QT_QWS_DEPTH_12)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB4444_Premultiplied)
@@ -6619,7 +6618,7 @@ Q_STATIC_TEMPLATE_FUNCTION void blendTransformedTiled(int count, const QSpan *sp
static void blend_transformed_tiled_rgb888(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_24)
+#if defined(QT_QWS_DEPTH_24)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_RGB888)
@@ -6633,7 +6632,7 @@ static void blend_transformed_tiled_rgb888(int count, const QSpan *spans,
static void blend_transformed_tiled_argb6666(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_18)
+#if defined(QT_QWS_DEPTH_18)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB6666_Premultiplied)
@@ -6649,7 +6648,7 @@ static void blend_transformed_tiled_argb6666(int count, const QSpan *spans,
static void blend_transformed_tiled_rgb666(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_18)
+#if defined(QT_QWS_DEPTH_18)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB6666_Premultiplied)
@@ -6665,7 +6664,7 @@ static void blend_transformed_tiled_rgb666(int count, const QSpan *spans,
static void blend_transformed_tiled_argb8565(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_16)
+#if defined(QT_QWS_DEPTH_16)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8565_Premultiplied)
@@ -6681,7 +6680,7 @@ static void blend_transformed_tiled_argb8565(int count, const QSpan *spans,
static void blend_transformed_tiled_rgb565(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_16)
+#if defined(QT_QWS_DEPTH_16)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8565_Premultiplied)
@@ -6697,7 +6696,7 @@ static void blend_transformed_tiled_rgb565(int count, const QSpan *spans,
static void blend_transformed_tiled_argb8555(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_15)
+#if defined(QT_QWS_DEPTH_15)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8555_Premultiplied)
@@ -6713,7 +6712,7 @@ static void blend_transformed_tiled_argb8555(int count, const QSpan *spans,
static void blend_transformed_tiled_rgb555(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_15)
+#if defined(QT_QWS_DEPTH_15)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB8555_Premultiplied)
@@ -6729,7 +6728,7 @@ static void blend_transformed_tiled_rgb555(int count, const QSpan *spans,
static void blend_transformed_tiled_argb4444(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_12)
+#if defined(QT_QWS_DEPTH_12)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB4444_Premultiplied)
@@ -6745,7 +6744,7 @@ static void blend_transformed_tiled_argb4444(int count, const QSpan *spans,
static void blend_transformed_tiled_rgb444(int count, const QSpan *spans,
void *userData)
{
-#if !defined(Q_WS_QWS) || defined(QT_QWS_DEPTH_12)
+#if defined(QT_QWS_DEPTH_12)
QSpanData *data = reinterpret_cast<QSpanData *>(userData);
if (data->texture.format == QImage::Format_ARGB4444_Premultiplied)
diff --git a/src/gui/painting/qemulationpaintengine.cpp b/src/gui/painting/qemulationpaintengine.cpp
index 3397c45..175f1ab 100644
--- a/src/gui/painting/qemulationpaintengine.cpp
+++ b/src/gui/painting/qemulationpaintengine.cpp
@@ -123,14 +123,30 @@ void QEmulationPaintEngine::stroke(const QVectorPath &path, const QPen &pen)
real_engine->stroke(path, bgPen);
}
-
QBrush brush = pen.brush();
+ QPen copy = pen;
Qt::BrushStyle style = qbrush_style(brush);
if (style >= Qt::LinearGradientPattern && style <= Qt::ConicalGradientPattern) {
const QGradient *g = brush.gradient();
+
if (g->coordinateMode() > QGradient::LogicalMode) {
- QPaintEngineEx::stroke(path, pen);
- return;
+ if (g->coordinateMode() == QGradient::StretchToDeviceMode) {
+ QTransform mat = brush.transform();
+ mat.scale(real_engine->painter()->device()->width(), real_engine->painter()->device()->height());
+ brush.setTransform(mat);
+ copy.setBrush(brush);
+ real_engine->stroke(path, copy);
+ return;
+ } else if (g->coordinateMode() == QGradient::ObjectBoundingMode) {
+ QTransform mat = brush.transform();
+ QRealRect r = path.controlPointRect();
+ mat.translate(r.x1, r.y1);
+ mat.scale(r.x2 - r.x1, r.y2 - r.y1);
+ brush.setTransform(mat);
+ copy.setBrush(brush);
+ real_engine->stroke(path, copy);
+ return;
+ }
}
}
diff --git a/src/gui/painting/qmemrotate.cpp b/src/gui/painting/qmemrotate.cpp
index 7ad0e42..471f544 100644
--- a/src/gui/painting/qmemrotate.cpp
+++ b/src/gui/painting/qmemrotate.cpp
@@ -528,6 +528,26 @@ void qt_memrotate270(const srctype *src, int w, int h, int sstride, \
qt_memrotate270_template(src, w, h, sstride, dest, dstride); \
}
+#define QT_IMPL_SIMPLE_MEMROTATE(srctype, desttype) \
+void qt_memrotate90(const srctype *src, int w, int h, int sstride, \
+ desttype *dest, int dstride) \
+{ \
+ qt_memrotate90_tiled_unpacked<desttype,srctype>(src, w, h, sstride, dest, dstride); \
+} \
+void qt_memrotate180(const srctype *src, int w, int h, int sstride, \
+ desttype *dest, int dstride) \
+{ \
+ qt_memrotate180_template(src, w, h, sstride, dest, dstride); \
+} \
+void qt_memrotate270(const srctype *src, int w, int h, int sstride, \
+ desttype *dest, int dstride) \
+{ \
+ qt_memrotate270_tiled_unpacked<desttype,srctype>(src, w, h, sstride, dest, dstride); \
+}
+
+
+
+
QT_IMPL_MEMROTATE(quint32, quint32)
QT_IMPL_MEMROTATE(quint32, quint16)
QT_IMPL_MEMROTATE(quint16, quint32)
@@ -537,7 +557,16 @@ QT_IMPL_MEMROTATE(quint32, quint24)
QT_IMPL_MEMROTATE(quint32, quint18)
QT_IMPL_MEMROTATE(quint32, quint8)
QT_IMPL_MEMROTATE(quint16, quint8)
+QT_IMPL_MEMROTATE(qrgb444, quint8)
QT_IMPL_MEMROTATE(quint8, quint8)
+
+#if defined(QT_QWS_ROTATE_BGR)
+QT_IMPL_SIMPLE_MEMROTATE(quint16, qbgr565)
+QT_IMPL_SIMPLE_MEMROTATE(quint32, qbgr565)
+QT_IMPL_SIMPLE_MEMROTATE(qrgb555, qbgr555)
+QT_IMPL_SIMPLE_MEMROTATE(quint32, qbgr555)
+#endif
+
#ifdef QT_QWS_DEPTH_GENERIC
QT_IMPL_MEMROTATE(quint32, qrgb_generic16)
QT_IMPL_MEMROTATE(quint16, qrgb_generic16)
diff --git a/src/gui/painting/qmemrotate_p.h b/src/gui/painting/qmemrotate_p.h
index bd6006b..87cfb1a 100644
--- a/src/gui/painting/qmemrotate_p.h
+++ b/src/gui/painting/qmemrotate_p.h
@@ -90,7 +90,16 @@ QT_DECL_MEMROTATE(quint32, quint24);
QT_DECL_MEMROTATE(quint32, quint18);
QT_DECL_MEMROTATE(quint32, quint8);
QT_DECL_MEMROTATE(quint16, quint8);
+QT_DECL_MEMROTATE(qrgb444, quint8);
QT_DECL_MEMROTATE(quint8, quint8);
+
+#ifdef QT_QWS_ROTATE_BGR
+QT_DECL_MEMROTATE(quint16, qbgr565);
+QT_DECL_MEMROTATE(quint32, qbgr565);
+QT_DECL_MEMROTATE(qrgb555, qbgr555);
+QT_DECL_MEMROTATE(quint32, qbgr555);
+#endif
+
#ifdef QT_QWS_DEPTH_GENERIC
QT_DECL_MEMROTATE(quint32, qrgb_generic16);
QT_DECL_MEMROTATE(quint16, qrgb_generic16);
diff --git a/src/gui/painting/qpaintdevice_qws.cpp b/src/gui/painting/qpaintdevice_qws.cpp
index 6a68d28..c67be86 100644
--- a/src/gui/painting/qpaintdevice_qws.cpp
+++ b/src/gui/painting/qpaintdevice_qws.cpp
@@ -81,9 +81,6 @@ int QPaintDevice::metric(PaintDeviceMetric m) const
}
}
-/*!
- \internal
-*/
QWSDisplay *QPaintDevice::qwsDisplay()
{
return qt_fbdpy;
diff --git a/src/gui/painting/qpaintdevice_win.cpp b/src/gui/painting/qpaintdevice_win.cpp
index 6cae744..7cd3392 100644
--- a/src/gui/painting/qpaintdevice_win.cpp
+++ b/src/gui/painting/qpaintdevice_win.cpp
@@ -71,16 +71,11 @@ int QPaintDevice::metric(PaintDeviceMetric) const
return 0;
}
-
-/*! \internal
-*/
HDC QPaintDevice::getDC() const
{
return 0;
}
-/*! \internal
-*/
void QPaintDevice::releaseDC(HDC) const
{
}
diff --git a/src/gui/painting/qpaintdevice_x11.cpp b/src/gui/painting/qpaintdevice_x11.cpp
index 4ea9f57..95cb115 100644
--- a/src/gui/painting/qpaintdevice_x11.cpp
+++ b/src/gui/painting/qpaintdevice_x11.cpp
@@ -106,33 +106,11 @@ int QPaintDevice::metric(PaintDeviceMetric) const
#ifdef QT3_SUPPORT
-/*!
- Use QX11Info::display() instead.
-
- \oldcode
- Display *display = widget->x11Display();
- \newcode
- Display *display = QX11Info::display();
- \endcode
-
- \sa QWidget::x11Info(), QX11Info::display()
-*/
Display *QPaintDevice::x11Display() const
{
return X11->display;
}
-/*!
- Use QX11Info::screen() instead.
-
- \oldcode
- int screen = widget->x11Screen();
- \newcode
- int screen = widget->x11Info().screen();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
int QPaintDevice::x11Screen() const
{
const QX11Info *info = qt_x11Info(this);
@@ -141,17 +119,6 @@ int QPaintDevice::x11Screen() const
return QX11Info::appScreen();
}
-/*!
- Use QX11Info::visual() instead.
-
- \oldcode
- void *visual = widget->x11Visual();
- \newcode
- void *visual = widget->x11Info().visual();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
void *QPaintDevice::x11Visual() const
{
const QX11Info *info = qt_x11Info(this);
@@ -160,17 +127,6 @@ void *QPaintDevice::x11Visual() const
return QX11Info::appVisual();
}
-/*!
- Use QX11Info::depth() instead.
-
- \oldcode
- int depth = widget->x11Depth();
- \newcode
- int depth = widget->x11Info().depth();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
int QPaintDevice::x11Depth() const
{
const QX11Info *info = qt_x11Info(this);
@@ -179,17 +135,6 @@ int QPaintDevice::x11Depth() const
return QX11Info::appDepth();
}
-/*!
- Use QX11Info::cells() instead.
-
- \oldcode
- int cells = widget->x11Cells();
- \newcode
- int cells = widget->x11Info().cells();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
int QPaintDevice::x11Cells() const
{
const QX11Info *info = qt_x11Info(this);
@@ -198,17 +143,6 @@ int QPaintDevice::x11Cells() const
return QX11Info::appCells();
}
-/*!
- Use QX11Info::colormap() instead.
-
- \oldcode
- unsigned long screen = widget->x11Colormap();
- \newcode
- unsigned long screen = widget->x11Info().colormap();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
Qt::HANDLE QPaintDevice::x11Colormap() const
{
const QX11Info *info = qt_x11Info(this);
@@ -217,17 +151,6 @@ Qt::HANDLE QPaintDevice::x11Colormap() const
return QX11Info::appColormap();
}
-/*!
- Use QX11Info::defaultColormap() instead.
-
- \oldcode
- bool isDefault = widget->x11DefaultColormap();
- \newcode
- bool isDefault = widget->x11Info().defaultColormap();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
bool QPaintDevice::x11DefaultColormap() const
{
const QX11Info *info = qt_x11Info(this);
@@ -236,17 +159,6 @@ bool QPaintDevice::x11DefaultColormap() const
return QX11Info::appDefaultColormap();
}
-/*!
- Use QX11Info::defaultVisual() instead.
-
- \oldcode
- bool isDefault = widget->x11DefaultVisual();
- \newcode
- bool isDefault = widget->x11Info().defaultVisual();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
bool QPaintDevice::x11DefaultVisual() const
{
const QX11Info *info = qt_x11Info(this);
@@ -255,176 +167,48 @@ bool QPaintDevice::x11DefaultVisual() const
return QX11Info::appDefaultVisual();
}
-/*!
- Use QX11Info::visual() instead.
-
- \oldcode
- void *visual = QPaintDevice::x11AppVisual(screen);
- \newcode
- void *visual = qApp->x11Info(screen).visual();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
void *QPaintDevice::x11AppVisual(int screen)
{ return QX11Info::appVisual(screen); }
-/*!
- Use QX11Info::colormap() instead.
-
- \oldcode
- unsigned long colormap = QPaintDevice::x11AppColormap(screen);
- \newcode
- unsigned long colormap = qApp->x11Info(screen).colormap();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
Qt::HANDLE QPaintDevice::x11AppColormap(int screen)
{ return QX11Info::appColormap(screen); }
-/*!
- Use QX11Info::display() instead.
-
- \oldcode
- Display *display = QPaintDevice::x11AppDisplay();
- \newcode
- Display *display = qApp->x11Info().display();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
Display *QPaintDevice::x11AppDisplay()
{ return QX11Info::display(); }
-/*!
- Use QX11Info::screen() instead.
-
- \oldcode
- int screen = QPaintDevice::x11AppScreen();
- \newcode
- int screen = qApp->x11Info().screen();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
int QPaintDevice::x11AppScreen()
{ return QX11Info::appScreen(); }
-/*!
- Use QX11Info::depth() instead.
-
- \oldcode
- int depth = QPaintDevice::x11AppDepth(screen);
- \newcode
- int depth = qApp->x11Info(screen).depth();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
int QPaintDevice::x11AppDepth(int screen)
{ return QX11Info::appDepth(screen); }
-/*!
- Use QX11Info::cells() instead.
-
- \oldcode
- int cells = QPaintDevice::x11AppCells(screen);
- \newcode
- int cells = qApp->x11Info(screen).cells();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
int QPaintDevice::x11AppCells(int screen)
{ return QX11Info::appCells(screen); }
-/*!
- Use QX11Info::appRootWindow() instead.
-
- \oldcode
- unsigned long window = QPaintDevice::x11AppRootWindow(screen);
- \newcode
- unsigned long window = qApp->x11Info(screen).appRootWindow();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
Qt::HANDLE QPaintDevice::x11AppRootWindow(int screen)
{ return QX11Info::appRootWindow(screen); }
-/*!
- Use QX11Info::defaultColormap() instead.
-
- \oldcode
- bool isDefault = QPaintDevice::x11AppDefaultColormap(screen);
- \newcode
- bool isDefault = qApp->x11Info(screen).defaultColormap();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
bool QPaintDevice::x11AppDefaultColormap(int screen)
{ return QX11Info::appDefaultColormap(screen); }
-/*!
- Use QX11Info::defaultVisual() instead.
-
- \oldcode
- bool isDefault = QPaintDevice::x11AppDefaultVisual(screen);
- \newcode
- bool isDefault = qApp->x11Info(screen).defaultVisual();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
bool QPaintDevice::x11AppDefaultVisual(int screen)
{ return QX11Info::appDefaultVisual(screen); }
-/*!
- Use QX11Info::setAppDpiX() instead.
-*/
void QPaintDevice::x11SetAppDpiX(int dpi, int screen)
{
QX11Info::setAppDpiX(dpi, screen);
}
-/*!
- Use QX11Info::setAppDpiY() instead.
-*/
void QPaintDevice::x11SetAppDpiY(int dpi, int screen)
{
QX11Info::setAppDpiY(dpi, screen);
}
-
-/*!
- Use QX11Info::appDpiX() instead.
-
- \oldcode
- bool isDefault = QPaintDevice::x11AppDpiX(screen);
- \newcode
- bool isDefault = qApp->x11Info(screen).appDpiX();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
int QPaintDevice::x11AppDpiX(int screen)
{
return QX11Info::appDpiX(screen);
}
-/*!
- Use QX11Info::appDpiY() instead.
-
- \oldcode
- bool isDefault = QPaintDevice::x11AppDpiY(screen);
- \newcode
- bool isDefault = qApp->x11Info(screen).appDpiY();
- \endcode
-
- \sa QWidget::x11Info(), QPixmap::x11Info()
-*/
int QPaintDevice::x11AppDpiY(int screen)
{
return QX11Info::appDpiY(screen);
diff --git a/src/gui/painting/qpaintengine.cpp b/src/gui/painting/qpaintengine.cpp
index ad09060..7de1ec4 100644
--- a/src/gui/painting/qpaintengine.cpp
+++ b/src/gui/painting/qpaintengine.cpp
@@ -949,8 +949,8 @@ void QPaintEngine::setSystemClip(const QRegion &region)
Q_D(QPaintEngine);
d->systemClip = region;
// Be backward compatible and only call d->systemStateChanged()
- // if we currently have a system transform set.
- if (d->hasSystemTransform) {
+ // if we currently have a system transform/viewport set.
+ if (d->hasSystemTransform || d->hasSystemViewport) {
d->transformSystemClip();
d->systemStateChanged();
}
diff --git a/src/gui/painting/qpaintengine_mac.cpp b/src/gui/painting/qpaintengine_mac.cpp
index 0644a02..5889388 100644
--- a/src/gui/painting/qpaintengine_mac.cpp
+++ b/src/gui/painting/qpaintengine_mac.cpp
@@ -996,15 +996,14 @@ void QCoreGraphicsPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pm, co
} else if (differentSize) {
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4)
if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_4) {
- CGImageRef img = (CGImageRef)pm.macCGHandle();
+ QCFType<CGImageRef> img = pm.toMacCGImageRef();
image = CGImageCreateWithImageInRect(img, CGRectMake(qRound(sr.x()), qRound(sr.y()), qRound(sr.width()), qRound(sr.height())));
- CGImageRelease(img);
} else
#endif
{
const int sx = qRound(sr.x()), sy = qRound(sr.y()), sw = qRound(sr.width()), sh = qRound(sr.height());
const QMacPixmapData *pmData = static_cast<const QMacPixmapData*>(pm.data);
- quint32 *pantherData = pmData->pixels + (sy * pm.width() + sx);
+ quint32 *pantherData = pmData->pixels + sy * (pmData->bytesPerRow / 4) + sx;
QCFType<CGDataProviderRef> provider = CGDataProviderCreateWithData(0, pantherData, sw*sh*pmData->bytesPerRow, 0);
image = CGImageCreate(sw, sh, 8, 32, pmData->bytesPerRow,
macGenericColorSpace(),
diff --git a/src/gui/painting/qpaintengine_p.h b/src/gui/painting/qpaintengine_p.h
index eeba7ec..0b5e175 100644
--- a/src/gui/painting/qpaintengine_p.h
+++ b/src/gui/painting/qpaintengine_p.h
@@ -83,10 +83,12 @@ public:
if (systemClip.isEmpty())
return;
- if (systemTransform.type() <= QTransform::TxTranslate)
- systemClip.translate(qRound(systemTransform.dx()), qRound(systemTransform.dy()));
- else
- systemClip = systemTransform.map(systemClip);
+ if (hasSystemTransform) {
+ if (systemTransform.type() <= QTransform::TxTranslate)
+ systemClip.translate(qRound(systemTransform.dx()), qRound(systemTransform.dy()));
+ else
+ systemClip = systemTransform.map(systemClip);
+ }
// Make sure we're inside the viewport.
if (hasSystemViewport) {
@@ -101,7 +103,7 @@ public:
inline void setSystemTransform(const QTransform &xform)
{
systemTransform = xform;
- if ((hasSystemTransform = !xform.isIdentity()))
+ if ((hasSystemTransform = !xform.isIdentity()) || hasSystemViewport)
transformSystemClip();
systemStateChanged();
}
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index addd63d..847904b 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -1022,7 +1022,7 @@ void QRasterPaintEnginePrivate::drawImage(const QPointF &pt,
int alpha,
const QRect &sr)
{
- if (!clip.isValid())
+ if (alpha == 0 || !clip.isValid())
return;
Q_ASSERT(img.depth() >= 8);
@@ -1140,6 +1140,33 @@ void QRasterPaintEnginePrivate::updateMatrixData(QSpanData *spanData, const QBru
}
}
+// #define QT_CLIPPING_RATIOS
+
+#ifdef QT_CLIPPING_RATIOS
+int rectClips;
+int regionClips;
+int totalClips;
+
+static void checkClipRatios(QRasterPaintEnginePrivate *d)
+{
+ if (d->clip()->hasRectClip)
+ rectClips++;
+ if (d->clip()->hasRegionClip)
+ regionClips++;
+ totalClips++;
+
+ if ((totalClips % 5000) == 0) {
+ printf("Clipping ratio: rectangular=%f%%, region=%f%%, complex=%f%%\n",
+ rectClips * 100.0 / (qreal) totalClips,
+ regionClips * 100.0 / (qreal) totalClips,
+ (totalClips - rectClips - regionClips) * 100.0 / (qreal) totalClips);
+ totalClips = 0;
+ rectClips = 0;
+ regionClips = 0;
+ }
+
+}
+#endif
/*!
\internal
@@ -1241,6 +1268,10 @@ void QRasterPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op)
d->solid_color_filler.clip = d->clip();
d->solid_color_filler.adjustSpanMethods();
+
+#ifdef QT_CLIPPING_RATIOS
+ checkClipRatios(d);
+#endif
}
@@ -1315,6 +1346,11 @@ void QRasterPaintEngine::clip(const QRect &rect, Qt::ClipOperation op)
d->solid_color_filler.clip = d->clip();
d->solid_color_filler.adjustSpanMethods();
+
+
+#ifdef QT_CLIPPING_RATIOS
+ checkClipRatios(d);
+#endif
}
/*!
@@ -2537,7 +2573,12 @@ void QRasterPaintEngine::drawImage(const QRectF &r, const QImage &img, const QRe
QRasterPaintEngineState *s = state();
const bool aa = s->flags.antialiased || s->flags.bilinear;
if (!aa && sr.size() == QSize(1, 1)) {
+ // as fillRect will apply the aliased coordinate delta we need to
+ // subtract it here as we don't use it for image drawing
+ QTransform old = s->matrix;
+ s->matrix = s->matrix * QTransform::fromTranslate(-aliasedCoordinateDelta, -aliasedCoordinateDelta);
fillRect(r, QColor::fromRgba(img.pixel(sr.x(), sr.y())));
+ s->matrix = old;
return;
}
@@ -2571,6 +2612,18 @@ void QRasterPaintEngine::drawImage(const QRectF &r, const QImage &img, const QRe
return;
d->image_filler_xform.setupMatrix(copy, s->flags.bilinear);
+ if (!aa && s->matrix.type() == QTransform::TxScale) {
+ QRectF rr = s->matrix.mapRect(r);
+
+ const int x1 = qRound(rr.x());
+ const int y1 = qRound(rr.y());
+ const int x2 = qRound(rr.right());
+ const int y2 = qRound(rr.bottom());
+
+ fillRect_normalized(QRect(x1, y1, x2-x1, y2-y1), &d->image_filler_xform, d);
+ return;
+ }
+
#ifdef QT_FAST_SPANS
ensureState();
if (s->flags.tx_noshear || s->matrix.type() == QTransform::TxScale) {
@@ -2628,7 +2681,13 @@ void QRasterPaintEngine::drawImage(const QRectF &r, const QImage &img, const QRe
QRectF rr = r;
rr.translate(s->matrix.dx(), s->matrix.dy());
- fillRect_normalized(toRect_normalized(rr), &d->image_filler, d);
+
+ const int x1 = qRound(rr.x());
+ const int y1 = qRound(rr.y());
+ const int x2 = qRound(rr.right());
+ const int y2 = qRound(rr.bottom());
+
+ fillRect_normalized(QRect(x1, y1, x2-x1, y2-y1), &d->image_filler, d);
}
}
@@ -4369,6 +4428,9 @@ void QClipData::fixup()
*/
void QClipData::setClipRect(const QRect &rect)
{
+ if (rect == clipRect)
+ return;
+
// qDebug() << "setClipRect" << clipSpanHeight << count << allocated << rect;
hasRectClip = true;
clipRect = rect;
@@ -4378,6 +4440,11 @@ void QClipData::setClipRect(const QRect &rect)
ymin = qMin(rect.y(), clipSpanHeight);
ymax = qMin(rect.y() + rect.height(), clipSpanHeight);
+ if (m_spans) {
+ delete m_spans;
+ m_spans = 0;
+ }
+
// qDebug() << xmin << xmax << ymin << ymax;
}
@@ -4401,6 +4468,12 @@ void QClipData::setClipRegion(const QRegion &region)
ymin = rect.y();
ymax = rect.y() + rect.height();
}
+
+ if (m_spans) {
+ delete m_spans;
+ m_spans = 0;
+ }
+
}
/*!
@@ -5097,7 +5170,11 @@ void QSpanData::adjustSpanMethods()
void QSpanData::setupMatrix(const QTransform &matrix, int bilin)
{
- QTransform inv = matrix.inverted();
+ QTransform delta;
+ // make sure we round off correctly in qdrawhelper.cpp
+ delta.translate(1.0 / 65536, 1.0 / 65536);
+
+ QTransform inv = (delta * matrix).inverted();
m11 = inv.m11();
m12 = inv.m12();
m13 = inv.m13();
diff --git a/src/gui/painting/qpaintengine_x11.cpp b/src/gui/painting/qpaintengine_x11.cpp
index 39ce59f..9cc9683 100644
--- a/src/gui/painting/qpaintengine_x11.cpp
+++ b/src/gui/painting/qpaintengine_x11.cpp
@@ -1543,6 +1543,8 @@ void QX11PaintEnginePrivate::fillPolygon_dev(const QPointF *polygonPoints, int p
QX11PaintEnginePrivate::GCMode gcMode,
QPaintEngine::PolygonDrawMode mode)
{
+ Q_Q(QX11PaintEngine);
+
int clippedCount = 0;
qt_float_point *clippedPoints = 0;
@@ -1617,7 +1619,29 @@ void QX11PaintEnginePrivate::fillPolygon_dev(const QPointF *polygonPoints, int p
} else
#endif
if (fill.style() != Qt::NoBrush) {
- if (clippedCount > 0) {
+ if (clippedCount > 200000) {
+ QPolygon poly;
+ for (int i = 0; i < clippedCount; ++i)
+ poly << QPoint(qFloor(clippedPoints[i].x), qFloor(clippedPoints[i].y));
+
+ const QRect bounds = poly.boundingRect();
+ const QRect aligned = bounds
+ & QRect(QPoint(), QSize(pdev->width(), pdev->height()));
+
+ QImage img(aligned.size(), QImage::Format_ARGB32_Premultiplied);
+ img.fill(0);
+
+ QPainter painter(&img);
+ painter.translate(-aligned.x(), -aligned.y());
+ painter.setPen(Qt::NoPen);
+ painter.setBrush(fill);
+ if (gcMode == BrushGC)
+ painter.setBrushOrigin(q->painter()->brushOrigin());
+ painter.drawPolygon(poly);
+ painter.end();
+
+ q->drawImage(aligned, img, img.rect(), Qt::AutoColor);
+ } else if (clippedCount > 0) {
QVarLengthArray<XPoint> xpoints(clippedCount);
for (int i = 0; i < clippedCount; ++i) {
xpoints[i].x = qFloor(clippedPoints[i].x);
@@ -2352,7 +2376,9 @@ void QX11PaintEngine::drawFreetype(const QPointF &p, const QTextItemInt &ti)
GlyphSet glyphSet = set->id;
const QColor &pen = d->cpen.color();
::Picture src = X11->getSolidFill(d->scrn, pen);
- XRenderPictFormat *maskFormat = XRenderFindStandardFormat(X11->display, ft->xglyph_format);
+ XRenderPictFormat *maskFormat = 0;
+ if (ft->xglyph_format != PictStandardA1)
+ maskFormat = XRenderFindStandardFormat(X11->display, ft->xglyph_format);
enum { t_min = SHRT_MIN, t_max = SHRT_MAX };
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index 2fa6a56..cc48d24 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -1484,7 +1484,9 @@ void QPainter::initFrom(const QWidget *widget)
d->state->bgBrush = pal.brush(widget->backgroundRole());
d->state->deviceFont = QFont(widget->font(), const_cast<QWidget*> (widget));
d->state->font = d->state->deviceFont;
- if (d->engine) {
+ if (d->extended) {
+ d->extended->penChanged();
+ } else if (d->engine) {
d->engine->setDirty(QPaintEngine::DirtyPen);
d->engine->setDirty(QPaintEngine::DirtyBrush);
d->engine->setDirty(QPaintEngine::DirtyFont);
@@ -2396,7 +2398,6 @@ QRegion QPainter::clipRegion() const
// ### Falcon: Use QPainterPath
for (int i=0; i<d->state->clipInfo.size(); ++i) {
const QPainterClipInfo &info = d->state->clipInfo.at(i);
- QRegion other;
switch (info.clipType) {
case QPainterClipInfo::RegionClip: {
@@ -2449,15 +2450,20 @@ QRegion QPainter::clipRegion() const
lastWasNothing = false;
continue;
}
- if (info.operation == Qt::IntersectClip)
- region &= QRegion(info.rect) * matrix;
- else if (info.operation == Qt::UniteClip)
+ if (info.operation == Qt::IntersectClip) {
+ // Use rect intersection if possible.
+ if (matrix.type() <= QTransform::TxScale)
+ region &= matrix.mapRect(info.rect);
+ else
+ region &= matrix.map(QRegion(info.rect));
+ } else if (info.operation == Qt::UniteClip) {
region |= QRegion(info.rect) * matrix;
- else if (info.operation == Qt::NoClip) {
+ } else if (info.operation == Qt::NoClip) {
lastWasNothing = true;
region = QRegion();
- } else
+ } else {
region = QRegion(info.rect) * matrix;
+ }
break;
}
@@ -2468,15 +2474,20 @@ QRegion QPainter::clipRegion() const
lastWasNothing = false;
continue;
}
- if (info.operation == Qt::IntersectClip)
- region &= QRegion(info.rectf.toRect()) * matrix;
- else if (info.operation == Qt::UniteClip)
+ if (info.operation == Qt::IntersectClip) {
+ // Use rect intersection if possible.
+ if (matrix.type() <= QTransform::TxScale)
+ region &= matrix.mapRect(info.rectf.toRect());
+ else
+ region &= matrix.map(QRegion(info.rectf.toRect()));
+ } else if (info.operation == Qt::UniteClip) {
region |= QRegion(info.rectf.toRect()) * matrix;
- else if (info.operation == Qt::NoClip) {
+ } else if (info.operation == Qt::NoClip) {
lastWasNothing = true;
region = QRegion();
- } else
+ } else {
region = QRegion(info.rectf.toRect()) * matrix;
+ }
break;
}
}
@@ -5131,6 +5142,11 @@ void QPainter::drawConvexPolygon(const QPointF *points, int pointCount)
d->engine->drawPolygon(points, pointCount, QPaintEngine::ConvexMode);
}
+static inline QPointF roundInDeviceCoordinates(const QPointF &p, const QTransform &m)
+{
+ return m.inverted().map(QPointF(m.map(p).toPoint()));
+}
+
/*!
\fn void QPainter::drawPixmap(const QRectF &target, const QPixmap &pixmap, const QRectF &source)
@@ -5165,6 +5181,9 @@ void QPainter::drawPixmap(const QPointF &p, const QPixmap &pm)
Q_D(QPainter);
+ if (!d->engine)
+ return;
+
#ifndef QT_NO_DEBUG
qt_painter_thread_test(d->device->devType(), "drawPixmap()");
#endif
@@ -5174,9 +5193,6 @@ void QPainter::drawPixmap(const QPointF &p, const QPixmap &pm)
return;
}
- if (!d->engine)
- return;
-
qreal x = p.x();
qreal y = p.y();
@@ -5199,11 +5215,12 @@ void QPainter::drawPixmap(const QPointF &p, const QPixmap &pm)
|| (d->state->opacity != 1.0 && !d->engine->hasFeature(QPaintEngine::ConstantOpacity)))
{
save();
- // If there is no scaling or transformation involved we have to make sure we use the
+ // If there is no rotation involved we have to make sure we use the
// antialiased and not the aliased coordinate system by rounding the coordinates.
- if (d->state->matrix.type() <= QTransform::TxTranslate) {
- x = qRound(x + d->state->matrix.dx()) - d->state->matrix.dx();
- y = qRound(y + d->state->matrix.dy()) - d->state->matrix.dy();
+ if (d->state->matrix.type() <= QTransform::TxScale) {
+ const QPointF p = roundInDeviceCoordinates(QPointF(x, y), d->state->matrix);
+ x = p.x();
+ y = p.y();
}
translate(x, y);
setBackgroundMode(Qt::TransparentMode);
@@ -5313,16 +5330,21 @@ void QPainter::drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr)
|| ((sw != w || sh != h) && !d->engine->hasFeature(QPaintEngine::PixmapTransform)))
{
save();
- // If there is no scaling or transformation involved we have to make sure we use the
+ // If there is no rotation involved we have to make sure we use the
// antialiased and not the aliased coordinate system by rounding the coordinates.
+ if (d->state->matrix.type() <= QTransform::TxScale) {
+ const QPointF p = roundInDeviceCoordinates(QPointF(x, y), d->state->matrix);
+ x = p.x();
+ y = p.y();
+ }
+
if (d->state->matrix.type() <= QTransform::TxTranslate && sw == w && sh == h) {
- x = qRound(x + d->state->matrix.dx()) - d->state->matrix.dx();
- y = qRound(y + d->state->matrix.dy()) - d->state->matrix.dy();
sx = qRound(sx);
sy = qRound(sy);
sw = qRound(sw);
sh = qRound(sh);
}
+
translate(x, y);
scale(w / sw, h / sh);
setBackgroundMode(Qt::TransparentMode);
@@ -5472,11 +5494,12 @@ void QPainter::drawImage(const QPointF &p, const QImage &image)
|| (d->state->opacity != 1.0 && !d->engine->hasFeature(QPaintEngine::ConstantOpacity)))
{
save();
- // If there is no scaling or transformation involved we have to make sure we use the
+ // If there is no rotation involved we have to make sure we use the
// antialiased and not the aliased coordinate system by rounding the coordinates.
- if (d->state->matrix.type() <= QTransform::TxTranslate) {
- x = qRound(x + d->state->matrix.dx()) - d->state->matrix.dx();
- y = qRound(y + d->state->matrix.dy()) - d->state->matrix.dy();
+ if (d->state->matrix.type() <= QTransform::TxScale) {
+ const QPointF p = roundInDeviceCoordinates(QPointF(x, y), d->state->matrix);
+ x = p.x();
+ y = p.y();
}
translate(x, y);
setBackgroundMode(Qt::TransparentMode);
@@ -5575,11 +5598,15 @@ void QPainter::drawImage(const QRectF &targetRect, const QImage &image, const QR
|| (d->state->opacity != 1.0 && !d->engine->hasFeature(QPaintEngine::ConstantOpacity)))
{
save();
- // If there is no scaling or transformation involved we have to make sure we use the
+ // If there is no rotation involved we have to make sure we use the
// antialiased and not the aliased coordinate system by rounding the coordinates.
+ if (d->state->matrix.type() <= QTransform::TxScale) {
+ const QPointF p = roundInDeviceCoordinates(QPointF(x, y), d->state->matrix);
+ x = p.x();
+ y = p.y();
+ }
+
if (d->state->matrix.type() <= QTransform::TxTranslate && sw == w && sh == h) {
- x = qRound(x + d->state->matrix.dx()) - d->state->matrix.dx();
- y = qRound(y + d->state->matrix.dy()) - d->state->matrix.dy();
sx = qRound(sx);
sy = qRound(sy);
sw = qRound(sw);
@@ -6322,17 +6349,18 @@ void QPainter::drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPo
setBrush(QBrush(d->state->pen.color(), pixmap));
setPen(Qt::NoPen);
- // If there is no scaling or transformation involved we have to make sure we use the
+ // If there is no rotation involved we have to make sure we use the
// antialiased and not the aliased coordinate system by rounding the coordinates.
- if (d->state->matrix.type() <= QTransform::TxTranslate) {
- qreal x = qRound(r.x() + d->state->matrix.dx()) - d->state->matrix.dx();
- qreal y = qRound(r.y() + d->state->matrix.dy()) - d->state->matrix.dy();
- qreal w = qRound(r.width());
- qreal h = qRound(r.height());
- sx = qRound(sx);
- sy = qRound(sy);
+ if (d->state->matrix.type() <= QTransform::TxScale) {
+ const QPointF p = roundInDeviceCoordinates(r.topLeft(), d->state->matrix);
+
+ if (d->state->matrix.type() <= QTransform::TxTranslate) {
+ sx = qRound(sx);
+ sy = qRound(sy);
+ }
+
setBrushOrigin(QPointF(r.x()-sx, r.y()-sy));
- drawRect(QRectF(x, y, w, h));
+ drawRect(QRectF(p, r.size()));
} else {
setBrushOrigin(QPointF(r.x()-sx, r.y()-sy));
drawRect(r);
@@ -7131,14 +7159,14 @@ QPoint QPainter::xFormDev(const QPoint &p) const
\fn QRect QPainter::xFormDev(const QRect &rectangle) const
\overload
- Use combineMatrix() combined with QMatrix::inverted() instead.
+ Use mapRect() combined with QMatrix::inverted() instead.
\oldcode
QPainter painter(this);
QRect transformed = painter.xFormDev(rectangle);
\newcode
QPainter painter(this);
- QRect transformed = rectangle * painter.combinedMatrix().inverted();
+ QRect transformed = painter.combinedMatrix().inverted(rectangle);
\endcode
*/
@@ -8543,4 +8571,252 @@ void qt_draw_helper(QPainterPrivate *p, const QPainterPath &path, QPainterPrivat
p->draw_helper(path, operation);
}
+/*! \fn Display *QPaintDevice::x11Display() const
+ Use QX11Info::display() instead.
+
+ \oldcode
+ Display *display = widget->x11Display();
+ \newcode
+ Display *display = QX11Info::display();
+ \endcode
+
+ \sa QWidget::x11Info(), QX11Info::display()
+*/
+
+/*! \fn int QPaintDevice::x11Screen() const
+ Use QX11Info::screen() instead.
+
+ \oldcode
+ int screen = widget->x11Screen();
+ \newcode
+ int screen = widget->x11Info().screen();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn void *QPaintDevice::x11Visual() const
+ Use QX11Info::visual() instead.
+
+ \oldcode
+ void *visual = widget->x11Visual();
+ \newcode
+ void *visual = widget->x11Info().visual();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn int QPaintDevice::x11Depth() const
+ Use QX11Info::depth() instead.
+
+ \oldcode
+ int depth = widget->x11Depth();
+ \newcode
+ int depth = widget->x11Info().depth();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn int QPaintDevice::x11Cells() const
+ Use QX11Info::cells() instead.
+
+ \oldcode
+ int cells = widget->x11Cells();
+ \newcode
+ int cells = widget->x11Info().cells();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn Qt::HANDLE QPaintDevice::x11Colormap() const
+ Use QX11Info::colormap() instead.
+
+ \oldcode
+ unsigned long screen = widget->x11Colormap();
+ \newcode
+ unsigned long screen = widget->x11Info().colormap();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn bool QPaintDevice::x11DefaultColormap() const
+ Use QX11Info::defaultColormap() instead.
+
+ \oldcode
+ bool isDefault = widget->x11DefaultColormap();
+ \newcode
+ bool isDefault = widget->x11Info().defaultColormap();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn bool QPaintDevice::x11DefaultVisual() const
+ Use QX11Info::defaultVisual() instead.
+
+ \oldcode
+ bool isDefault = widget->x11DefaultVisual();
+ \newcode
+ bool isDefault = widget->x11Info().defaultVisual();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn void *QPaintDevice::x11AppVisual(int screen)
+ Use QX11Info::visual() instead.
+
+ \oldcode
+ void *visual = QPaintDevice::x11AppVisual(screen);
+ \newcode
+ void *visual = qApp->x11Info(screen).visual();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn Qt::HANDLE QPaintDevice::x11AppColormap(int screen)
+ Use QX11Info::colormap() instead.
+
+ \oldcode
+ unsigned long colormap = QPaintDevice::x11AppColormap(screen);
+ \newcode
+ unsigned long colormap = qApp->x11Info(screen).colormap();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn Display *QPaintDevice::x11AppDisplay()
+ Use QX11Info::display() instead.
+
+ \oldcode
+ Display *display = QPaintDevice::x11AppDisplay();
+ \newcode
+ Display *display = qApp->x11Info().display();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn int QPaintDevice::x11AppScreen()
+ Use QX11Info::screen() instead.
+
+ \oldcode
+ int screen = QPaintDevice::x11AppScreen();
+ \newcode
+ int screen = qApp->x11Info().screen();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn int QPaintDevice::x11AppDepth(int screen)
+ Use QX11Info::depth() instead.
+
+ \oldcode
+ int depth = QPaintDevice::x11AppDepth(screen);
+ \newcode
+ int depth = qApp->x11Info(screen).depth();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn int QPaintDevice::x11AppCells(int screen)
+ Use QX11Info::cells() instead.
+
+ \oldcode
+ int cells = QPaintDevice::x11AppCells(screen);
+ \newcode
+ int cells = qApp->x11Info(screen).cells();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn Qt::HANDLE QPaintDevice::x11AppRootWindow(int screen)
+ Use QX11Info::appRootWindow() instead.
+
+ \oldcode
+ unsigned long window = QPaintDevice::x11AppRootWindow(screen);
+ \newcode
+ unsigned long window = qApp->x11Info(screen).appRootWindow();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn bool QPaintDevice::x11AppDefaultColormap(int screen)
+ Use QX11Info::defaultColormap() instead.
+
+ \oldcode
+ bool isDefault = QPaintDevice::x11AppDefaultColormap(screen);
+ \newcode
+ bool isDefault = qApp->x11Info(screen).defaultColormap();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn bool QPaintDevice::x11AppDefaultVisual(int screen)
+ Use QX11Info::defaultVisual() instead.
+
+ \oldcode
+ bool isDefault = QPaintDevice::x11AppDefaultVisual(screen);
+ \newcode
+ bool isDefault = qApp->x11Info(screen).defaultVisual();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn void QPaintDevice::x11SetAppDpiX(int dpi, int screen)
+ Use QX11Info::setAppDpiX() instead.
+*/
+
+/*! \fn void QPaintDevice::x11SetAppDpiY(int dpi, int screen)
+ Use QX11Info::setAppDpiY() instead.
+*/
+
+/*! \fn int QPaintDevice::x11AppDpiX(int screen)
+ Use QX11Info::appDpiX() instead.
+
+ \oldcode
+ bool isDefault = QPaintDevice::x11AppDpiX(screen);
+ \newcode
+ bool isDefault = qApp->x11Info(screen).appDpiX();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn int QPaintDevice::x11AppDpiY(int screen)
+ Use QX11Info::appDpiY() instead.
+
+ \oldcode
+ bool isDefault = QPaintDevice::x11AppDpiY(screen);
+ \newcode
+ bool isDefault = qApp->x11Info(screen).appDpiY();
+ \endcode
+
+ \sa QWidget::x11Info(), QPixmap::x11Info()
+*/
+
+/*! \fn HDC QPaintDevice::getDC() const
+ \internal
+*/
+
+/*! \fn void QPaintDevice::releaseDC(HDC) const
+ \internal
+*/
+
+/*! \fn QWSDisplay *QPaintDevice::qwsDisplay()
+ \internal
+*/
+
QT_END_NAMESPACE
diff --git a/src/gui/painting/qprintengine_win.cpp b/src/gui/painting/qprintengine_win.cpp
index c8674b7..7601beb 100644
--- a/src/gui/painting/qprintengine_win.cpp
+++ b/src/gui/painting/qprintengine_win.cpp
@@ -1532,7 +1532,7 @@ QVariant QWin32PrintEngine::property(PrintEnginePropertyKey key) const
value = rect;
} else {
value = QTransform(1/d->stretch_x, 0, 0, 1/d->stretch_y, 0, 0)
- .mapRect(d->fullPage ? d->devPaperRect : d->devPageRect);
+ .mapRect(d->fullPage ? d->devPhysicalPageRect : d->devPageRect);
}
break;
diff --git a/src/gui/painting/qprinter.cpp b/src/gui/painting/qprinter.cpp
index 4f3e71c..5090b3a 100644
--- a/src/gui/painting/qprinter.cpp
+++ b/src/gui/painting/qprinter.cpp
@@ -284,8 +284,8 @@ void QPrinterPrivate::addToManualSetList(QPrintEngine::PrintEnginePropertyKey ke
to send PostScript or PDF output to the printer. As an alternative,
the printProgram() function can be used to specify the command or utility
to use instead of the system default.
-
- Note that setting parameters like paper size and resolution on an
+
+ Note that setting parameters like paper size and resolution on an
invalid printer is undefined. You can use QPrinter::isValid() to
verify this before changing any parameters.
@@ -744,7 +744,7 @@ void QPrinter::setOutputFormat(OutputFormat format)
#ifndef QT_NO_PDF
Q_D(QPrinter);
- if (d->outputFormat == format)
+ if (d->validPrinter && d->outputFormat == format)
return;
d->outputFormat = format;
@@ -773,8 +773,8 @@ void QPrinter::setOutputFormat(OutputFormat format)
if (def_engine)
delete oldPrintEngine;
- d->validPrinter = d->outputFormat == QPrinter::PdfFormat || d->outputFormat == QPrinter::PostScriptFormat;
-
+ if (d->outputFormat == QPrinter::PdfFormat || d->outputFormat == QPrinter::PostScriptFormat)
+ d->validPrinter = true;
#else
Q_UNUSED(format);
#endif
diff --git a/src/gui/painting/qtransform.cpp b/src/gui/painting/qtransform.cpp
index 39e429d..2383272 100644
--- a/src/gui/painting/qtransform.cpp
+++ b/src/gui/painting/qtransform.cpp
@@ -1317,12 +1317,16 @@ QRegion QTransform::map(const QRegion &r) const
TransformationType t = type();
if (t == TxNone)
return r;
+
if (t == TxTranslate) {
QRegion copy(r);
copy.translate(qRound(affine._dx), qRound(affine._dy));
return copy;
}
+ if (t == TxScale && r.numRects() == 1)
+ return QRegion(mapRect(r.boundingRect()));
+
QPainterPath p = map(qt_regionToPath(r));
return p.toFillPolygon(QTransform()).toPolygon();
}
@@ -1880,7 +1884,7 @@ const QMatrix &QTransform::toAffine() const
QTransform::TransformationType QTransform::type() const
{
if (m_dirty >= m_type) {
- if (m_dirty > TxShear && (!qFuzzyCompare(m_13 + 1, 1) || !qFuzzyCompare(m_23 + 1, 1)))
+ if (m_dirty > TxShear && (!qFuzzyCompare(m_13 + 1, 1) || !qFuzzyCompare(m_23 + 1, 1) || !qFuzzyCompare(m_33, 1)))
m_type = TxProject;
else if (m_dirty > TxScale && (!qFuzzyCompare(affine._m12 + 1, 1) || !qFuzzyCompare(affine._m21 + 1, 1))) {
const qreal dot = affine._m11 * affine._m12 + affine._m21 * affine._m22;
@@ -1888,7 +1892,7 @@ QTransform::TransformationType QTransform::type() const
m_type = TxRotate;
else
m_type = TxShear;
- } else if (m_dirty > TxTranslate && (!qFuzzyCompare(affine._m11, 1) || !qFuzzyCompare(affine._m22, 1) || !qFuzzyCompare(m_33, 1)))
+ } else if (m_dirty > TxTranslate && (!qFuzzyCompare(affine._m11, 1) || !qFuzzyCompare(affine._m22, 1)))
m_type = TxScale;
else if (m_dirty > TxNone && (!qFuzzyCompare(affine._dx + 1, 1) || !qFuzzyCompare(affine._dy + 1, 1)))
m_type = TxTranslate;
diff --git a/src/gui/painting/qwindowsurface_raster.cpp b/src/gui/painting/qwindowsurface_raster.cpp
index 7a74fe0..110ba2f 100644
--- a/src/gui/painting/qwindowsurface_raster.cpp
+++ b/src/gui/painting/qwindowsurface_raster.cpp
@@ -142,8 +142,7 @@ void QRasterWindowSurface::beginPaint(const QRegion &rgn)
p.fillRect(*it, blank);
}
}
-#endif
-#if defined(Q_OS_WINCE)
+#else
Q_UNUSED(rgn);
#endif
}
@@ -250,6 +249,7 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi
// d->image->image.save("flush.png");
+ Q_UNUSED(offset);
// Get a context for the widget.
#ifndef QT_MAC_USE_COCOA
CGContextRef context;
diff --git a/src/gui/styles/gtksymbols.cpp b/src/gui/styles/gtksymbols.cpp
index acb8437..0842ec7 100644
--- a/src/gui/styles/gtksymbols.cpp
+++ b/src/gui/styles/gtksymbols.cpp
@@ -746,9 +746,9 @@ static void setupGtkFileChooser(GtkWidget* gtkFileChooser, QWidget *parent,
foreach (const QString &rawfilter, filters) {
GtkFileFilter *gtkFilter = QGtk::gtk_file_filter_new ();
QString name = rawfilter.left(rawfilter.indexOf(QLatin1Char('(')));
- QGtk::gtk_file_filter_set_name(gtkFilter, qPrintable(name));
-
QStringList extensions = extract_filter(rawfilter);
+ QGtk::gtk_file_filter_set_name(gtkFilter, qPrintable(name.isEmpty() ? extensions.join(QLS(", ")) : name));
+
foreach (const QString &fileExtension, extensions) {
QGtk::gtk_file_filter_add_pattern (gtkFilter, qPrintable(fileExtension));
}
diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp
index b7fa575..ca71da2 100644
--- a/src/gui/styles/qgtkstyle.cpp
+++ b/src/gui/styles/qgtkstyle.cpp
@@ -951,14 +951,15 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
"interior-focus", &interior_focus,
"focus-line-width", &focus_line_width, NULL);
+ // See https://bugzilla.mozilla.org/show_bug.cgi?id=405421 for info about this hack
+ g_object_set_data(G_OBJECT(gtkEntry), "transparent-bg-hint", GINT_TO_POINTER(TRUE));
+
if (!interior_focus && option->state & State_HasFocus)
rect.adjust(focus_line_width, focus_line_width, -focus_line_width, -focus_line_width);
-
gtkPainter.paintShadow(gtkEntry, "entry", rect, option->state & State_Enabled ?
GTK_STATE_NORMAL : GTK_STATE_INSENSITIVE,
GTK_SHADOW_IN, gtkEntry->style,
option->state & State_HasFocus ? QLS("focus") : QString());
-
if (!interior_focus && option->state & State_HasFocus)
gtkPainter.paintShadow(gtkEntry, "entry", option->rect, option->state & State_Enabled ?
GTK_STATE_ACTIVE : GTK_STATE_INSENSITIVE,
diff --git a/src/gui/styles/qmacstyle_mac.mm b/src/gui/styles/qmacstyle_mac.mm
index 398e11d..7a870fe 100644
--- a/src/gui/styles/qmacstyle_mac.mm
+++ b/src/gui/styles/qmacstyle_mac.mm
@@ -549,7 +549,6 @@ extern QPaintDevice *qt_mac_safe_pdev; //qapplication_mac.cpp
QMacCGStyle globals
*****************************************************************************/
const int qt_mac_hitheme_version = 0; //the HITheme version we speak
-const int macSpinBoxSep = 5; // distance between spinwidget and the lineedit
const int macItemFrame = 2; // menu item frame width
const int macItemHMargin = 3; // menu item hor text margin
const int macItemVMargin = 2; // menu item ver text margin
@@ -2146,8 +2145,11 @@ void qt_mac_fill_background(QPainter *painter, const QRegion &rgn, const QPoint
/*! \reimp */
void QMacStyle::polish(QPalette &pal)
{
- if (qt_mac_backgroundPattern == 0)
+ if (!qt_mac_backgroundPattern) {
+ if (!qApp)
+ return;
qt_mac_backgroundPattern = new QPixmap(d->generateBackgroundPattern());
+ }
QColor pc(Qt::black);
pc = qcolorForTheme(kThemeBrushDialogBackgroundActive);
@@ -2373,7 +2375,14 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW
break;
case PM_SpinBoxFrameWidth:
GetThemeMetric(kThemeMetricEditTextFrameOutset, &ret);
- ret += 2;
+ switch (d->aquaSizeConstrain(opt, widget)) {
+ default:
+ ret += 2;
+ break;
+ case QAquaSizeMini:
+ ret += 1;
+ break;
+ }
break;
case PM_ButtonShiftHorizontal:
case PM_ButtonShiftVertical:
@@ -5014,11 +5023,10 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
bdi.kind = kThemeIncDecButton;
break;
case QAquaSizeMini:
+ bdi.kind = kThemeIncDecButtonMini;
+ break;
case QAquaSizeSmall:
- if (aquaSize == QAquaSizeMini)
- bdi.kind = kThemeIncDecButtonMini;
- else
- bdi.kind = kThemeIncDecButtonSmall;
+ bdi.kind = kThemeIncDecButtonSmall;
break;
}
if (!(sb->stepEnabled & (QAbstractSpinBox::StepUpEnabled
@@ -5038,8 +5046,8 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
bdi.value = kThemeButtonOff;
bdi.adornment = kThemeAdornmentNone;
- QRect updown = subControlRect(CC_SpinBox, sb, SC_SpinBoxUp,
- widget);
+ QRect updown = subControlRect(CC_SpinBox, sb, SC_SpinBoxUp, widget);
+
updown |= subControlRect(CC_SpinBox, sb, SC_SpinBoxDown, widget);
HIRect newRect = qt_hirectForQRect(updown);
QRect off_rct;
@@ -5050,15 +5058,6 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex
int(outRect.size.width - newRect.size.width),
int(outRect.size.height - newRect.size.height));
- // HIThemeGetButtonBackgroundBounds offsets non-focused normal sized
- // buttons by one in de y direction, account for that here.
- if (bdi.adornment == kThemeAdornmentNone && bdi.kind == kThemeIncDecButton)
- off_rct.adjust(0, 1, 0, 0);
-
- // Adjust the rect for small buttos also.
- if (bdi.adornment == kThemeAdornmentFocus && bdi.kind == kThemeIncDecButtonSmall)
- off_rct.adjust(0, 0, 0, -1);
-
newRect = qt_hirectForQRect(updown, off_rct);
HIThemeDrawButton(&newRect, &bdi, cg, kHIThemeOrientationNormal, 0);
}
@@ -5723,39 +5722,61 @@ QRect QMacStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex *op
break;
case CC_SpinBox:
if (const QStyleOptionSpinBox *spin = qstyleoption_cast<const QStyleOptionSpinBox *>(opt)) {
- const int spinner_w = 14,
- fw = pixelMetric(PM_SpinBoxFrameWidth, spin, widget);
+ QAquaWidgetSize aquaSize = d->aquaSizeConstrain(spin, widget);
+ int spinner_w;
+ int spinBoxSep;
+ int fw = pixelMetric(PM_SpinBoxFrameWidth, spin, widget);
+ switch (aquaSize) {
+ default:
+ case QAquaSizeUnknown:
+ case QAquaSizeLarge:
+ spinner_w = 14;
+ spinBoxSep = 2;
+ break;
+ case QAquaSizeSmall:
+ spinner_w = 12;
+ spinBoxSep = 2;
+ break;
+ case QAquaSizeMini:
+ spinner_w = 10;
+ spinBoxSep = 1;
+ break;
+ }
+
switch (sc) {
case SC_SpinBoxUp:
case SC_SpinBoxDown: {
if (spin->buttonSymbols == QAbstractSpinBox::NoButtons)
break;
- const int frameWidth = pixelMetric(PM_SpinBoxFrameWidth, spin, widget);
- const int spinner_w = 18;
- const int y = frameWidth;
- const int x = spin->rect.width() - spinner_w + frameWidth;
+
+ const int y = fw;
+ const int x = spin->rect.width() - spinner_w;
ret.setRect(x + spin->rect.x(), y + spin->rect.y(), spinner_w, spin->rect.height() - y * 2);
HIThemeButtonDrawInfo bdi;
bdi.version = qt_mac_hitheme_version;
bdi.kind = kThemeIncDecButton;
- QAquaWidgetSize aquaSize = d->aquaSizeConstrain(opt, widget);
+ int hackTranslateX;
switch (aquaSize) {
- case QAquaSizeUnknown:
- case QAquaSizeLarge:
- bdi.kind = kThemeIncDecButton;
- break;
- case QAquaSizeMini:
- case QAquaSizeSmall:
- if (aquaSize == QAquaSizeMini)
- bdi.kind = kThemeIncDecButtonMini;
- else
- bdi.kind = kThemeIncDecButtonSmall;
- break;
+ default:
+ case QAquaSizeUnknown:
+ case QAquaSizeLarge:
+ bdi.kind = kThemeIncDecButton;
+ hackTranslateX = 0;
+ break;
+ case QAquaSizeSmall:
+ bdi.kind = kThemeIncDecButtonSmall;
+ hackTranslateX = -2;
+ break;
+ case QAquaSizeMini:
+ bdi.kind = kThemeIncDecButtonMini;
+ hackTranslateX = -1;
+ break;
}
bdi.state = kThemeStateActive;
bdi.value = kThemeButtonOff;
bdi.adornment = kThemeAdornmentNone;
HIRect hirect = qt_hirectForQRect(ret);
+
HIRect outRect;
HIThemeGetButtonBackgroundBounds(&hirect, &bdi, &outRect);
ret = qt_qrectForHIRect(outRect);
@@ -5770,13 +5791,13 @@ QRect QMacStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex *op
Q_ASSERT(0);
break;
}
- ret.translate(-1, -2); // hack: position the buttons correctly (weird that we need this)
+ ret.translate(hackTranslateX, 0); // hack: position the buttons correctly (weird that we need this)
ret = visualRect(spin->direction, spin->rect, ret);
break;
}
case SC_SpinBoxEditField:
ret.setRect(fw, fw,
- spin->rect.width() - spinner_w - fw * 2 - macSpinBoxSep + 1,
+ spin->rect.width() - spinner_w - fw * 2 - spinBoxSep,
spin->rect.height() - fw * 2);
ret = visualRect(spin->direction, spin->rect, ret);
break;
@@ -5808,8 +5829,8 @@ QSize QMacStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt,
switch (ct) {
case QStyle::CT_SpinBox:
- sz.setWidth(sz.width() + macSpinBoxSep);
- sz.setHeight(sz.height() - 3); // hack to work around horrible sizeHint() code in QAbstractSpinBox
+ // hack to work around horrible sizeHint() code in QAbstractSpinBox
+ sz.setHeight(sz.height() - 3);
break;
case QStyle::CT_TabBarTab:
if (const QStyleOptionTabV3 *tab = qstyleoption_cast<const QStyleOptionTabV3 *>(opt)) {
diff --git a/src/gui/styles/qstylesheetstyle.cpp b/src/gui/styles/qstylesheetstyle.cpp
index 49ac57a..714b8c5 100644
--- a/src/gui/styles/qstylesheetstyle.cpp
+++ b/src/gui/styles/qstylesheetstyle.cpp
@@ -4926,7 +4926,7 @@ QSize QStyleSheetStyle::sizeFromContents(ContentsType ct, const QStyleOption *op
case CT_LineEdit:
#ifndef QT_NO_SPINBOX
// ### hopelessly broken QAbstractSpinBox (part 2)
- if (QAbstractSpinBox *spinBox = qobject_cast<QAbstractSpinBox *>(w->parentWidget())) {
+ if (QAbstractSpinBox *spinBox = qobject_cast<QAbstractSpinBox *>(w ? w->parentWidget() : 0)) {
QRenderRule rule = renderRule(spinBox, opt);
if (rule.hasBox() || !rule.hasNativeBorder())
return csz;
@@ -5842,7 +5842,7 @@ QRect QStyleSheetStyle::subElementRect(SubElement se, const QStyleOption *opt, c
bool QStyleSheetStyle::event(QEvent *e)
{
- return baseStyle()->event(e) || ParentStyle::event(e);
+ return (baseStyle()->event(e) && e->isAccepted()) || ParentStyle::event(e);
}
void QStyleSheetStyle::updateStyleSheetFont(QWidget* w) const
diff --git a/src/gui/text/qcssparser.cpp b/src/gui/text/qcssparser.cpp
index db1e781..8214e54 100644
--- a/src/gui/text/qcssparser.cpp
+++ b/src/gui/text/qcssparser.cpp
@@ -278,19 +278,15 @@ static const QCssKnownValue values[NumKnownValues - 1] = {
{ "xx-large", Value_XXLarge }
};
+//Map id to strings as they appears in the 'values' array above
+static const int indexOfId[NumKnownValues] = { 0, 40, 47, 41, 48, 53, 34, 26, 68, 69, 25, 42, 5, 62, 46,
+ 29, 57, 58, 27, 50, 60, 6, 10, 38, 55, 19, 13, 17, 18, 20, 21, 49, 24, 45, 65, 36, 3, 2, 39, 61, 16,
+ 11, 56, 14, 32, 63, 54, 64, 33, 67, 8, 28, 37, 12, 35, 59, 7, 9, 4, 66, 52, 22, 23, 30, 31, 1, 15, 0,
+ 51, 44, 43 };
+
QString Value::toString() const
{
- static int indexOfId[NumKnownValues - 1];
- static bool hasCachedIndexes = false;
-
if (type == KnownIdentifier) {
- if (!hasCachedIndexes) {
- for (int i = 0; i < NumKnownValues - 1; ++i)
- indexOfId[values[i].id] = i;
-
- hasCachedIndexes = true;
- }
-
return QLatin1String(values[indexOfId[variant.toInt()]].name);
} else {
return variant.toString();
diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp
index 43f5b1e..f73ffb5 100644
--- a/src/gui/text/qfont.cpp
+++ b/src/gui/text/qfont.cpp
@@ -890,7 +890,10 @@ int QFont::pointSize() const
*/
void QFont::setPointSize(int pointSize)
{
- Q_ASSERT_X (pointSize > 0, "QFont::setPointSize", "point size must be greater than 0");
+ if (pointSize <= 0) {
+ qWarning("QFont::setPointSize: Point size <= 0 (%d), must be greater than 0", pointSize);
+ return;
+ }
detach();
@@ -909,7 +912,10 @@ void QFont::setPointSize(int pointSize)
*/
void QFont::setPointSizeF(qreal pointSize)
{
- Q_ASSERT_X(pointSize > 0.0, "QFont::setPointSizeF", "point size must be greater than 0");
+ if (pointSize <= 0) {
+ qWarning("QFont::setPointSizeF: Point size <= 0 (%f), must be greater than 0", pointSize);
+ return;
+ }
detach();
diff --git a/src/gui/text/qfontdatabase_win.cpp b/src/gui/text/qfontdatabase_win.cpp
index c9f5586..780ae28 100644
--- a/src/gui/text/qfontdatabase_win.cpp
+++ b/src/gui/text/qfontdatabase_win.cpp
@@ -699,6 +699,7 @@ QFontEngine *loadEngine(int script, const QFontPrivate *fp, const QFontDef &requ
}
bool stockFont = false;
+ bool preferClearTypeAA = false;
HFONT hfont = 0;
@@ -799,10 +800,12 @@ QFontEngine *loadEngine(int script, const QFontPrivate *fp, const QFontDef &requ
#endif
if (request.styleStrategy & QFont::PreferAntialias) {
- if (QSysInfo::WindowsVersion >= QSysInfo::WV_XP)
+ if (QSysInfo::WindowsVersion >= QSysInfo::WV_XP) {
qual = 5; // == CLEARTYPE_QUALITY;
- else
+ preferClearTypeAA = true;
+ } else {
qual = ANTIALIASED_QUALITY;
+ }
} else if (request.styleStrategy & QFont::NoAntialias) {
qual = NONANTIALIASED_QUALITY;
}
@@ -884,6 +887,9 @@ QFontEngine *loadEngine(int script, const QFontPrivate *fp, const QFontDef &requ
}
QFontEngineWin *few = new QFontEngineWin(font_name, hfont, stockFont, lf);
+ if (preferClearTypeAA)
+ few->glyphFormat = QFontEngineGlyphCache::Raster_RGBMask;
+
// Also check for OpenType tables when using complex scripts
// ### TODO: This only works for scripts that require OpenType. More generally
// for scripts that do not require OpenType we should just look at the list of
@@ -1134,7 +1140,7 @@ static void getFamiliesAndSignatures(const QByteArray &fontData, QFontDatabasePr
signature.fsUsb[1] = qFromBigEndian<quint32>(table + 46);
signature.fsUsb[2] = qFromBigEndian<quint32>(table + 50);
signature.fsUsb[3] = qFromBigEndian<quint32>(table + 54);
-
+
signature.fsCsb[0] = qFromBigEndian<quint32>(table + 78);
signature.fsCsb[1] = qFromBigEndian<quint32>(table + 82);
}
diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp
index 47fe5c2..d7a9c23 100644
--- a/src/gui/text/qfontengine.cpp
+++ b/src/gui/text/qfontengine.cpp
@@ -624,6 +624,45 @@ QImage QFontEngine::alphaRGBMapForGlyph(glyph_t glyph, int /* margin */, const Q
return rgbMask;
}
+QImage QFontEngine::alphaMapForGlyph(glyph_t glyph)
+{
+ glyph_metrics_t gm = boundingBox(glyph);
+ int glyph_x = qFloor(gm.x.toReal());
+ int glyph_y = qFloor(gm.y.toReal());
+ int glyph_width = qCeil((gm.x + gm.width).toReal()) - glyph_x;
+ int glyph_height = qCeil((gm.y + gm.height).toReal()) - glyph_y;
+
+ if (glyph_width <= 0 || glyph_height <= 0)
+ return QImage();
+ QFixedPoint pt;
+ pt.x = 0;
+ pt.y = -glyph_y; // the baseline
+ QPainterPath path;
+ QImage im(glyph_width + qAbs(glyph_x) + 4, glyph_height, QImage::Format_ARGB32_Premultiplied);
+ im.fill(Qt::transparent);
+ QPainter p(&im);
+ p.setRenderHint(QPainter::Antialiasing);
+ addGlyphsToPath(&glyph, &pt, 1, &path, 0);
+ p.setPen(Qt::NoPen);
+ p.setBrush(Qt::black);
+ p.drawPath(path);
+ p.end();
+
+ QImage indexed(im.width(), im.height(), QImage::Format_Indexed8);
+ QVector<QRgb> colors(256);
+ for (int i=0; i<256; ++i)
+ colors[i] = qRgba(0, 0, 0, i);
+ indexed.setColorTable(colors);
+
+ for (int y=0; y<im.height(); ++y) {
+ uchar *dst = (uchar *) indexed.scanLine(y);
+ uint *src = (uint *) im.scanLine(y);
+ for (int x=0; x<im.width(); ++x)
+ dst[x] = qAlpha(src[x]);
+ }
+
+ return indexed;
+}
void QFontEngine::removeGlyphFromCache(glyph_t)
{
diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp
index cb0b436..6f5ee1f 100644
--- a/src/gui/text/qfontengine_ft.cpp
+++ b/src/gui/text/qfontengine_ft.cpp
@@ -613,7 +613,7 @@ QFontEngineFT::QFontEngineFT(const QFontDef &fd)
subpixelType = Subpixel_None;
lcdFilterType = 0;
#if defined(FT_LCD_FILTER_H)
- lcdFilterType = (int) FT_LCD_FILTER_DEFAULT;
+ lcdFilterType = (int)((quintptr) FT_LCD_FILTER_DEFAULT);
#endif
defaultFormat = Format_None;
canUploadGlyphsToServer = false;
@@ -1521,6 +1521,11 @@ bool QFontEngineFT::stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs
return false;
}
+#if !defined(QT_NO_FONTCONFIG)
+ extern QMutex *qt_fontdatabase_mutex();
+ QMutex *mtx = 0;
+#endif
+
bool mirrored = flags & QTextEngine::RightToLeft;
int glyph_pos = 0;
if (freetype->symbol_map) {
@@ -1533,6 +1538,11 @@ bool QFontEngineFT::stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs
if ( !glyphs->glyphs[glyph_pos] ) {
glyph_t glyph;
#if !defined(QT_NO_FONTCONFIG)
+ if (!mtx) {
+ mtx = qt_fontdatabase_mutex();
+ mtx->lock();
+ }
+
if (FcCharSetHasChar(freetype->charset, uc)) {
#else
if (false) {
@@ -1561,20 +1571,26 @@ bool QFontEngineFT::stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs
if (mirrored)
uc = QChar::mirroredChar(uc);
glyphs->glyphs[glyph_pos] = uc < QFreetypeFace::cmapCacheSize ? freetype->cmapCache[uc] : 0;
- if (!glyphs->glyphs[glyph_pos]
+ if (!glyphs->glyphs[glyph_pos]) {
#if !defined(QT_NO_FONTCONFIG)
- && FcCharSetHasChar(freetype->charset, uc)
+ if (!mtx) {
+ mtx = qt_fontdatabase_mutex();
+ mtx->lock();
+ }
+
+ if (FcCharSetHasChar(freetype->charset, uc))
#endif
- ) {
- redo:
- glyph_t glyph = FT_Get_Char_Index(face, uc);
- if (!glyph && (uc == 0xa0 || uc == 0x9)) {
- uc = 0x20;
- goto redo;
+ {
+ redo:
+ glyph_t glyph = FT_Get_Char_Index(face, uc);
+ if (!glyph && (uc == 0xa0 || uc == 0x9)) {
+ uc = 0x20;
+ goto redo;
+ }
+ glyphs->glyphs[glyph_pos] = glyph;
+ if (uc < QFreetypeFace::cmapCacheSize)
+ freetype->cmapCache[uc] = glyph;
}
- glyphs->glyphs[glyph_pos] = glyph;
- if (uc < QFreetypeFace::cmapCacheSize)
- freetype->cmapCache[uc] = glyph;
}
++glyph_pos;
}
@@ -1583,6 +1599,11 @@ bool QFontEngineFT::stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs
*nglyphs = glyph_pos;
glyphs->numGlyphs = glyph_pos;
+#if !defined(QT_NO_FONTCONFIG)
+ if (mtx)
+ mtx->unlock();
+#endif
+
if (flags & QTextEngine::GlyphIndicesOnly)
return true;
@@ -1788,9 +1809,11 @@ QImage QFontEngineFT::alphaMapForGlyph(glyph_t g)
GlyphFormat glyph_format = antialias ? Format_A8 : Format_Mono;
- Glyph *glyph = loadGlyph(g, glyph_format);
- if (!glyph)
- return QImage();
+ Glyph *glyph = defaultGlyphSet.outline_drawing ? 0 : loadGlyph(g, glyph_format);
+ if (!glyph) {
+ unlockFace();
+ return QFontEngine::alphaMapForGlyph(g);
+ }
const int pitch = antialias ? (glyph->width + 3) & ~3 : ((glyph->width + 31)/32) * 4;
diff --git a/src/gui/text/qfontengine_p.h b/src/gui/text/qfontengine_p.h
index 176c728..dc18991 100644
--- a/src/gui/text/qfontengine_p.h
+++ b/src/gui/text/qfontengine_p.h
@@ -178,7 +178,7 @@ public:
* Create a qimage with the alpha values for the glyph.
* Returns an image indexed_8 with index values ranging from 0=fully transparant to 255=opaque
*/
- virtual QImage alphaMapForGlyph(glyph_t) = 0;
+ virtual QImage alphaMapForGlyph(glyph_t);
virtual QImage alphaMapForGlyph(glyph_t, const QTransform &t);
virtual QImage alphaRGBMapForGlyph(glyph_t, int margin, const QTransform &t);
diff --git a/src/gui/text/qtextcursor.cpp b/src/gui/text/qtextcursor.cpp
index c327b9f..48963bb 100644
--- a/src/gui/text/qtextcursor.cpp
+++ b/src/gui/text/qtextcursor.cpp
@@ -1074,7 +1074,10 @@ QTextCursor::QTextCursor(const QTextCursor &cursor)
}
/*!
- Makes a copy of \a cursor and assigns it to this QTextCursor.
+ Makes a copy of \a cursor and assigns it to this QTextCursor. Note
+ that QTextCursor is an \l{Implicitly Shared Classes}{implicitly
+ shared} class.
+
*/
QTextCursor &QTextCursor::operator=(const QTextCursor &cursor)
{
diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp
index e84b324..873f846 100644
--- a/src/gui/text/qtextdocument.cpp
+++ b/src/gui/text/qtextdocument.cpp
@@ -287,7 +287,7 @@ QTextCodec *Qt::codecForHtml(const QByteArray &ba)
that inform connected editor widgets about the state of the undo/redo
system.
- \sa QTextCursor QTextEdit \link richtext.html Rich Text Processing\endlink
+ \sa QTextCursor, QTextEdit, \link richtext.html Rich Text Processing\endlink , {Text Object Example}
*/
/*!
diff --git a/src/gui/text/qtextformat.h b/src/gui/text/qtextformat.h
index 0571d75..8eaeeb1 100644
--- a/src/gui/text/qtextformat.h
+++ b/src/gui/text/qtextformat.h
@@ -232,6 +232,12 @@ public:
ImageWidth = 0x5010,
ImageHeight = 0x5011,
+ // internal
+ /*
+ SuppressText = 0x5012,
+ SuppressBackground = 0x513
+ */
+
// selection properties
FullWidthSelection = 0x06000,
diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
index 434d1ca..fa624ef 100644
--- a/src/gui/text/qtextlayout.cpp
+++ b/src/gui/text/qtextlayout.cpp
@@ -61,6 +61,8 @@
QT_BEGIN_NAMESPACE
#define ObjectSelectionBrush (QTextFormat::ForegroundBrush + 1)
+#define SuppressText 0x5012
+#define SuppressBackground 0x513
static inline QFixed leadingSpaceWidth(QTextEngine *eng, const QScriptLine &line)
{
@@ -1143,6 +1145,7 @@ void QTextLayout::draw(QPainter *p, const QPointF &pos, const QVector<FormatRang
}
QPainterPath excludedRegion;
+ QPainterPath textDoneRegion;
for (int i = 0; i < selections.size(); ++i) {
FormatRange selection = selections.at(i);
const QBrush bg = selection.format.background();
@@ -1202,23 +1205,55 @@ void QTextLayout::draw(QPainter *p, const QPointF &pos, const QVector<FormatRang
}
+
+ bool hasText = (selection.format.foreground().style() != Qt::NoBrush);
+ bool hasBackground= (selection.format.background().style() != Qt::NoBrush);
+
+ if (hasBackground) {
+ selection.format.setProperty(ObjectSelectionBrush, selection.format.property(QTextFormat::BackgroundBrush));
+ // don't just clear the property, set an empty brush that overrides a potential
+ // background brush specified in the text
+ selection.format.setProperty(QTextFormat::BackgroundBrush, QBrush());
+ selection.format.clearProperty(QTextFormat::OutlinePen);
+ }
+
+ selection.format.setProperty(SuppressText, !hasText);
+
+ if (hasText && !hasBackground && !(textDoneRegion & region).isEmpty())
+ continue;
+
p->save();
p->setClipPath(region, Qt::IntersectClip);
- selection.format.setProperty(ObjectSelectionBrush, selection.format.property(QTextFormat::BackgroundBrush));
- // don't just clear the property, set an empty brush that overrides a potential
- // background brush specified in the text
- selection.format.setProperty(QTextFormat::BackgroundBrush, QBrush());
- selection.format.clearProperty(QTextFormat::OutlinePen);
-
for (int line = firstLine; line < lastLine; ++line) {
QTextLine l(line, d);
l.draw(p, position, &selection);
}
p->restore();
- if (selection.format.foreground().style() != Qt::NoBrush) // i.e. we have drawn text
- excludedRegion += region;
+ if (hasText) {
+ textDoneRegion += region;
+ } else {
+ if (hasBackground)
+ textDoneRegion -= region;
+ }
+
+ excludedRegion += region;
+ }
+
+ QPainterPath needsTextButNoBackground = excludedRegion - textDoneRegion;
+ if (!needsTextButNoBackground.isEmpty()){
+ p->save();
+ p->setClipPath(needsTextButNoBackground, Qt::IntersectClip);
+ FormatRange selection;
+ selection.start = 0;
+ selection.length = INT_MAX;
+ selection.format.setProperty(SuppressBackground, true);
+ for (int line = firstLine; line < lastLine; ++line) {
+ QTextLine l(line, d);
+ l.draw(p, position, &selection);
+ }
+ p->restore();
}
if (!excludedRegion.isEmpty()) {
@@ -1912,14 +1947,17 @@ static void drawMenuText(QPainter *p, QFixed x, QFixed y, const QScriptItem &si,
static void setPenAndDrawBackground(QPainter *p, const QPen &defaultPen, const QTextCharFormat &chf, const QRectF &r)
{
QBrush c = chf.foreground();
- if (c.style() == Qt::NoBrush)
+ if (c.style() == Qt::NoBrush) {
p->setPen(defaultPen);
+ }
QBrush bg = chf.background();
- if (bg.style() != Qt::NoBrush)
+ if (bg.style() != Qt::NoBrush && !chf.property(SuppressBackground).toBool())
p->fillRect(r, bg);
- if (c.style() != Qt::NoBrush)
+ if (c.style() != Qt::NoBrush) {
p->setPen(QPen(c, 0));
+ }
+
}
/*!
@@ -1933,7 +1971,7 @@ void QTextLine::draw(QPainter *p, const QPointF &pos, const QTextLayout::FormatR
const QScriptLine &line = eng->lines[i];
QPen pen = p->pen();
- bool noText = (selection && selection->format.foreground().style() == Qt::NoBrush);
+ bool noText = (selection && selection->format.property(SuppressText).toBool());
if (!line.length) {
if (selection
diff --git a/src/gui/text/qtextobject.cpp b/src/gui/text/qtextobject.cpp
index 3f4c8e5..71b68e0 100644
--- a/src/gui/text/qtextobject.cpp
+++ b/src/gui/text/qtextobject.cpp
@@ -76,7 +76,7 @@ QT_BEGIN_NAMESPACE
objects, you will also need to reimplement QTextDocument::createObject()
which acts as a factory method for creating text objects.
- \sa QTextDocument
+ \sa QTextDocument, {Text Object Example}
*/
/*!
diff --git a/src/gui/text/qtexttable.cpp b/src/gui/text/qtexttable.cpp
index ba1c04f..48708c9 100644
--- a/src/gui/text/qtexttable.cpp
+++ b/src/gui/text/qtexttable.cpp
@@ -525,7 +525,12 @@ void QTextTablePrivate::update() const
Rows and columns within a QTextTable can be merged and split using
the mergeCells() and splitCell() functions. However, only cells that span multiple
rows or columns can be split. (Merging or splitting does not increase or decrease
- the number of rows and columns.)
+ the number of rows and columns.)
+
+ Note that if you have merged multiple columns and rows into one cell, you will not
+ be able to split the merged cell into new cells spanning over more than one row
+ or column. To be able to split cells spanning over several rows and columns you
+ need to do this over several iterations.
\table 80%
\row
diff --git a/src/gui/util/qcompleter.cpp b/src/gui/util/qcompleter.cpp
index 7571dfe..faa4e7b 100644
--- a/src/gui/util/qcompleter.cpp
+++ b/src/gui/util/qcompleter.cpp
@@ -824,7 +824,7 @@ void QCompleterPrivate::_q_complete(QModelIndex index, bool highlighted)
Q_Q(QCompleter);
QString completion;
- if (!index.isValid() || (index.row() >= proxy->engine->matchCount())) {
+ if (!index.isValid() || (!proxy->showAll && (index.row() >= proxy->engine->matchCount()))) {
completion = prefix;
} else {
QModelIndex si = proxy->mapToSource(index);
@@ -1080,7 +1080,7 @@ void QCompleter::setPopup(QAbstractItemView *popup)
popup->hide();
popup->setParent(0, Qt::Popup);
- Qt::FocusPolicy origPolicy;
+ Qt::FocusPolicy origPolicy = Qt::NoFocus;
if (d->widget)
origPolicy = d->widget->focusPolicy();
popup->setFocusPolicy(Qt::NoFocus);
diff --git a/src/gui/widgets/qmainwindow.cpp b/src/gui/widgets/qmainwindow.cpp
index 2abc9e8..502c1e9 100644
--- a/src/gui/widgets/qmainwindow.cpp
+++ b/src/gui/widgets/qmainwindow.cpp
@@ -480,9 +480,6 @@ void QMainWindow::setMenuBar(QMenuBar *menuBar)
oldMenuBar->hide();
oldMenuBar->deleteLater();
}
-#ifdef Q_OS_WINCE
- if (menuBar && menuBar->size().height() > 0)
-#endif
d->layout->setMenuBar(menuBar);
}
diff --git a/src/gui/widgets/qmenu_wince.cpp b/src/gui/widgets/qmenu_wince.cpp
index ea58d46..847a623 100644
--- a/src/gui/widgets/qmenu_wince.cpp
+++ b/src/gui/widgets/qmenu_wince.cpp
@@ -58,6 +58,9 @@
#include <QtCore/qlibrary.h>
#include <commctrl.h>
+#if Q_OS_WINCE_WM
+# include <windowsm.h>
+#endif
#include "qguifunctions_wince.h"
@@ -71,6 +74,12 @@
#define SHCMBM_GETSUBMENU (WM_USER + 401)
#endif
+#ifdef Q_OS_WINCE_WM
+# define SHMBOF_NODEFAULT 0x00000001
+# define SHMBOF_NOTIFY 0x00000002
+# define SHCMBM_OVERRIDEKEY (WM_USER + 0x193)
+#endif
+
extern bool qt_wince_is_smartphone();//defined in qguifunctions_wce.cpp
extern bool qt_wince_is_pocket_pc(); //defined in qguifunctions_wce.cpp
@@ -204,8 +213,13 @@ static HWND qt_wce_create_menubar(HWND parentHandle, HINSTANCE resourceHandle, i
mbi.dwFlags = flags;
mbi.nToolBarId = toolbarID;
- if (ptrCreateMenuBar(&mbi))
+ if (ptrCreateMenuBar(&mbi)) {
+ // Tell the menu bar that we want to override hot key behaviour.
+ LPARAM lparam = MAKELPARAM(SHMBOF_NODEFAULT | SHMBOF_NOTIFY,
+ SHMBOF_NODEFAULT | SHMBOF_NOTIFY);
+ SendMessage(mbi.hwndMB, SHCMBM_OVERRIDEKEY, VK_TBACK, lparam);
return mbi.hwndMB;
+ }
}
return 0;
}
diff --git a/src/gui/widgets/qplaintextedit.cpp b/src/gui/widgets/qplaintextedit.cpp
index 2e9201d..e563fa1 100644
--- a/src/gui/widgets/qplaintextedit.cpp
+++ b/src/gui/widgets/qplaintextedit.cpp
@@ -624,7 +624,7 @@ void QPlainTextEditPrivate::setTopBlock(int blockNumber, int lineNumber, int dx)
if (viewport->updatesEnabled() && viewport->isVisible()) {
int dy = 0;
- if (doc->findBlockByLineNumber(control->topBlock).isValid()) {
+ if (doc->findBlockByNumber(control->topBlock).isValid()) {
dy = (int)(-q->blockBoundingGeometry(block).y())
+ verticalOffset() - verticalOffset(blockNumber, lineNumber);
}
diff --git a/src/gui/widgets/qtabbar.cpp b/src/gui/widgets/qtabbar.cpp
index b6e6b6d..69221ba 100644
--- a/src/gui/widgets/qtabbar.cpp
+++ b/src/gui/widgets/qtabbar.cpp
@@ -1085,7 +1085,7 @@ void QTabBar::setTabData(int index, const QVariant & data)
}
/*!
- Returns the datad of the tab at position \a index, or a null
+ Returns the data of the tab at position \a index, or a null
variant if \a index is out of range.
*/
QVariant QTabBar::tabData(int index) const
@@ -1167,13 +1167,13 @@ void QTabBar::setCurrentIndex(int index)
d->currentIndex = index;
update();
d->makeVisible(index);
+ d->tabList[index].lastTab = oldIndex;
+ d->layoutWidgets(oldIndex);
+ d->layoutWidgets(index);
#ifdef QT3_SUPPORT
emit selected(index);
#endif
emit currentChanged(index);
- d->tabList[index].lastTab = oldIndex;
- d->layoutWidgets(oldIndex);
- d->layoutWidgets(index);
}
}
@@ -2222,6 +2222,7 @@ void QTabBar::setTabButton(int index, ButtonPosition position, QWidget *widget)
d->tabList[index].rightWidget = widget;
}
d->layoutTabs();
+ d->refresh();
update();
}
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
index 980c0e0..5940fba 100644
--- a/src/network/access/qhttpnetworkconnection.cpp
+++ b/src/network/access/qhttpnetworkconnection.cpp
@@ -265,6 +265,11 @@ bool QHttpNetworkConnectionPrivate::ensureConnection(QAbstractSocket *socket)
if (socket->state() != QAbstractSocket::ConnectedState) {
// connect to the host if not already connected.
int index = indexOf(socket);
+ // resend this request after we receive the disconnected signal
+ if (socket->state() == QAbstractSocket::ClosingState) {
+ channels[index].resendCurrent = true;
+ return false;
+ }
channels[index].state = ConnectingState;
channels[index].pendingEncrypt = encrypt;
@@ -982,6 +987,9 @@ void QHttpNetworkConnectionPrivate::_q_disconnected()
channels[i].state = ReadingState;
if (channels[i].reply)
receiveReply(socket, channels[i].reply);
+ } else if (channels[i].state == IdleState && channels[i].resendCurrent) {
+ // re-sending request because the socket was in ClosingState
+ QMetaObject::invokeMethod(q, "_q_startNextRequest", Qt::QueuedConnection);
}
channels[i].state = IdleState;
}
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
index 11e1e46..bcbeef1 100644
--- a/src/network/access/qnetworkaccessmanager.cpp
+++ b/src/network/access/qnetworkaccessmanager.cpp
@@ -477,7 +477,8 @@ void QNetworkAccessManager::setCache(QAbstractNetworkCache *cache)
if (d->networkCache != cache) {
delete d->networkCache;
d->networkCache = cache;
- d->networkCache->setParent(this);
+ if (d->networkCache)
+ d->networkCache->setParent(this);
}
}
diff --git a/src/network/access/qnetworkcookie.cpp b/src/network/access/qnetworkcookie.cpp
index 01a743b..67df526 100644
--- a/src/network/access/qnetworkcookie.cpp
+++ b/src/network/access/qnetworkcookie.cpp
@@ -913,6 +913,17 @@ static QDateTime parseDateString(const QByteArray &dateString)
*/
QList<QNetworkCookie> QNetworkCookie::parseCookies(const QByteArray &cookieString)
{
+ // cookieString can be a number of set-cookie header strings joined together
+ // by \n, parse each line separately.
+ QList<QNetworkCookie> cookies;
+ QList<QByteArray> list = cookieString.split('\n');
+ for (int a = 0; a < list.size(); a++)
+ cookies += QNetworkCookiePrivate::parseSetCookieHeaderLine(list.at(a));
+ return cookies;
+}
+
+QList<QNetworkCookie> QNetworkCookiePrivate::parseSetCookieHeaderLine(const QByteArray &cookieString)
+{
// According to http://wp.netscape.com/newsref/std/cookie_spec.html,<
// the Set-Cookie response header is of the format:
//
@@ -930,12 +941,6 @@ QList<QNetworkCookie> QNetworkCookie::parseCookies(const QByteArray &cookieStrin
while (position < length) {
QNetworkCookie cookie;
- // When there are multiple SetCookie headers they are join with a new line
- // \n will always be the start of a new cookie
- int endOfSetCookie = cookieString.indexOf('\n', position);
- if (endOfSetCookie == -1)
- endOfSetCookie = length;
-
// The first part is always the "NAME=VALUE" part
QPair<QByteArray,QByteArray> field = nextField(cookieString, position);
if (field.first.isEmpty() || field.second.isNull())
@@ -946,7 +951,7 @@ QList<QNetworkCookie> QNetworkCookie::parseCookies(const QByteArray &cookieStrin
position = nextNonWhitespace(cookieString, position);
bool endOfCookie = false;
- while (!endOfCookie && position < endOfSetCookie)
+ while (!endOfCookie && position < length) {
switch (cookieString.at(position++)) {
case ',':
// end of the cookie
@@ -969,27 +974,24 @@ QList<QNetworkCookie> QNetworkCookie::parseCookies(const QByteArray &cookieStrin
position = end;
QDateTime dt = parseDateString(dateString.toLower());
if (!dt.isValid()) {
- cookie = QNetworkCookie();
- endOfCookie = true;
- continue;
+ return result;
}
cookie.setExpirationDate(dt);
} else if (field.first == "domain") {
QByteArray rawDomain = field.second;
- QString maybeLeadingDot;
if (rawDomain.startsWith('.')) {
- maybeLeadingDot = QLatin1Char('.');
rawDomain = rawDomain.mid(1);
}
-
QString normalizedDomain = QUrl::fromAce(QUrl::toAce(QString::fromUtf8(rawDomain)));
- cookie.setDomain(maybeLeadingDot + normalizedDomain);
+ // always add the dot, there are some servers that forget the
+ // leading dot. This is actually forbidden according to RFC 2109,
+ // but all browsers accept it anyway so we do that as well
+ cookie.setDomain(QLatin1Char('.') + normalizedDomain);
} else if (field.first == "max-age") {
bool ok = false;
int secs = field.second.toInt(&ok);
if (!ok)
- // invalid cookie string
- return QList<QNetworkCookie>();
+ return result;
cookie.setExpirationDate(now.addSecs(secs));
} else if (field.first == "path") {
QString path = QUrl::fromPercentEncoding(field.second);
@@ -1003,9 +1005,7 @@ QList<QNetworkCookie> QNetworkCookie::parseCookies(const QByteArray &cookieStrin
} else if (field.first == "version") {
if (field.second != "1") {
// oops, we don't know how to handle this cookie
- cookie = QNetworkCookie();
- endOfCookie = true;
- continue;
+ return result;
}
} else {
// got an unknown field in the cookie
@@ -1013,9 +1013,8 @@ QList<QNetworkCookie> QNetworkCookie::parseCookies(const QByteArray &cookieStrin
}
position = nextNonWhitespace(cookieString, position);
- if (position > endOfSetCookie)
- endOfCookie = true;
}
+ }
if (!cookie.name().isEmpty())
result += cookie;
@@ -1184,7 +1183,6 @@ bool QNetworkCookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieLis
cookie.expirationDate() < now;
// validate the cookie & set the defaults if unset
- // (RFC 2965: "The request-URI MUST path-match the Path attribute of the cookie.")
if (cookie.path().isEmpty())
cookie.setPath(defaultPath);
else if (!isParentPath(pathAndFileName, cookie.path()))
@@ -1198,6 +1196,13 @@ bool QNetworkCookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieLis
|| isParentDomain(defaultDomain, domain))) {
continue; // not accepted
}
+
+ // reject if domain is like ".com"
+ // (i.e., reject if domain does not contain embedded dots, see RFC 2109 section 4.3.2)
+ // this is just a rudimentary check and does not cover all cases
+ if (domain.lastIndexOf(QLatin1Char('.')) == 0)
+ continue; // not accepted
+
}
QList<QNetworkCookie>::Iterator it = d->allCookies.begin(),
diff --git a/src/network/access/qnetworkcookie_p.h b/src/network/access/qnetworkcookie_p.h
index 83ef14a..0c41322 100644
--- a/src/network/access/qnetworkcookie_p.h
+++ b/src/network/access/qnetworkcookie_p.h
@@ -61,6 +61,7 @@ class QNetworkCookiePrivate: public QSharedData
{
public:
inline QNetworkCookiePrivate() : secure(false), httpOnly(false) { }
+ static QList<QNetworkCookie> parseSetCookieHeaderLine(const QByteArray &cookieString);
QDateTime expirationDate;
QString domain;
diff --git a/src/network/access/qnetworkdiskcache.cpp b/src/network/access/qnetworkdiskcache.cpp
index 93360c8..892929e 100644
--- a/src/network/access/qnetworkdiskcache.cpp
+++ b/src/network/access/qnetworkdiskcache.cpp
@@ -191,7 +191,11 @@ QIODevice *QNetworkDiskCache::prepare(const QNetworkCacheMetaData &metaData)
} else {
QString templateName = d->tmpCacheFileName();
cacheItem->file = new QTemporaryFile(templateName, &cacheItem->data);
- cacheItem->file->open();
+ if (!cacheItem->file->open()) {
+ qWarning() << "QNetworkDiskCache::prepare() unable to open temporary file";
+ delete cacheItem;
+ return 0;
+ }
cacheItem->writeHeader(cacheItem->file);
device = cacheItem->file;
}
@@ -229,7 +233,7 @@ void QNetworkDiskCachePrivate::storeItem(QCacheItem *cacheItem)
if (QFile::exists(fileName)) {
if (!QFile::remove(fileName)) {
- qWarning() << "QNetworkDiskCache: could't remove the cache file " << fileName;
+ qWarning() << "QNetworkDiskCache: couldn't remove the cache file " << fileName;
return;
}
}
diff --git a/src/network/kernel/qauthenticator.cpp b/src/network/kernel/qauthenticator.cpp
index c9161f8..33795aa 100644
--- a/src/network/kernel/qauthenticator.cpp
+++ b/src/network/kernel/qauthenticator.cpp
@@ -73,6 +73,15 @@ static QByteArray qNtlmPhase3(QAuthenticatorPrivate *ctx, const QByteArray& phas
authentication information to the socket when accessing services that
require authentication.
+ QAuthenticator supports the following authentication methods:
+ \list
+ \o Basic
+ \o NTLM version 1
+ \o Digest-MD5
+ \endlist
+
+ Note that, in particular, NTLM version 2 is not supported.
+
\sa QSslSocket
*/
diff --git a/src/network/kernel/qnetworkproxy.cpp b/src/network/kernel/qnetworkproxy.cpp
index f4ece97..62bdfc7 100644
--- a/src/network/kernel/qnetworkproxy.cpp
+++ b/src/network/kernel/qnetworkproxy.cpp
@@ -86,10 +86,11 @@
The SOCKS5 support in Qt 4 is based on \l{RFC 1928} and \l{RFC 1929}.
The supported authentication methods are no authentication and
username/password authentication. Both IPv4 and IPv6 are
- supported, but domain name resolution via the SOCKS server is not
- supported; i.e. all domain names are resolved locally. There are
- several things to remember when using SOCKS5 with QUdpSocket and
- QTcpServer:
+ supported. Domain names are resolved through the SOCKS5 server if
+ the QNetworkProxy::HostNameLookupCapability is enabled, otherwise
+ they are resolved locally and the IP address is sent to the
+ server. There are several things to remember when using SOCKS5
+ with QUdpSocket and QTcpServer:
With QUdpSocket, a call to \l {QUdpSocket::bind()}{bind()} may fail
with a timeout error. If a port number other than 0 is passed to
@@ -365,7 +366,8 @@ static QNetworkProxy::Capabilities defaultCapabilitiesForType(QNetworkProxy::Pro
int(QNetworkProxy::HostNameLookupCapability)),
};
- Q_ASSERT(int(type) >= 0 && int(type) <= int(QNetworkProxy::FtpCachingProxy));
+ if (int(type) < 0 && int(type) > int(QNetworkProxy::FtpCachingProxy))
+ type = QNetworkProxy::DefaultProxy;
return QNetworkProxy::Capabilities(defaults[int(type)]);
}
@@ -378,6 +380,7 @@ public:
QNetworkProxy::Capabilities capabilities;
quint16 port;
QNetworkProxy::ProxyType type;
+ bool capabilitiesSet;
inline QNetworkProxyPrivate(QNetworkProxy::ProxyType t = QNetworkProxy::DefaultProxy,
const QString &h = QString(), quint16 p = 0,
@@ -387,7 +390,8 @@ public:
password(pw),
capabilities(defaultCapabilitiesForType(t)),
port(p),
- type(t)
+ type(t),
+ capabilitiesSet(false)
{ }
inline bool operator==(const QNetworkProxyPrivate &other) const
@@ -490,13 +494,16 @@ QNetworkProxy &QNetworkProxy::operator=(const QNetworkProxy &other)
Sets the proxy type for this instance to be \a type.
Note that changing the type of a proxy does not change
- the set of capabilities this QNetworkProxy object holds.
+ the set of capabilities this QNetworkProxy object holds if any
+ capabilities have been set with setCapabilities().
\sa type(), setCapabilities()
*/
void QNetworkProxy::setType(QNetworkProxy::ProxyType type)
{
d->type = type;
+ if (!d->capabilitiesSet)
+ d->capabilities = defaultCapabilitiesForType(type);
}
/*!
@@ -519,6 +526,7 @@ QNetworkProxy::ProxyType QNetworkProxy::type() const
void QNetworkProxy::setCapabilities(Capabilities capabilities)
{
d->capabilities = capabilities;
+ d->capabilitiesSet = true;
}
/*!
diff --git a/src/network/socket/qlocalserver_unix.cpp b/src/network/socket/qlocalserver_unix.cpp
index 065a9de..e7d2252 100644
--- a/src/network/socket/qlocalserver_unix.cpp
+++ b/src/network/socket/qlocalserver_unix.cpp
@@ -148,9 +148,11 @@ void QLocalServerPrivate::closeServer()
QT_CLOSE(listenSocket);
listenSocket = -1;
- if (socketNotifier)
+ if (socketNotifier) {
+ socketNotifier->setEnabled(false); // Otherwise, closed socket is checked before deleter runs
socketNotifier->deleteLater();
- socketNotifier = 0;
+ socketNotifier = 0;
+ }
if (!fullServerName.isEmpty())
QFile::remove(fullServerName);
diff --git a/src/network/socket/qlocalsocket_win.cpp b/src/network/socket/qlocalsocket_win.cpp
index e759d0b..39c9284 100644
--- a/src/network/socket/qlocalsocket_win.cpp
+++ b/src/network/socket/qlocalsocket_win.cpp
@@ -298,7 +298,7 @@ qint64 QLocalSocketPrivate::bytesAvailable()
if (PeekNamedPipe(handle, NULL, 0, NULL, &bytes, NULL)) {
return bytes;
} else {
- if (ERROR_BROKEN_PIPE == GetLastError() && !pipeClosed) {
+ if (!pipeClosed) {
pipeClosed = true;
QTimer::singleShot(0, q, SLOT(_q_pipeClosed()));
}
diff --git a/src/network/ssl/qsslcipher.cpp b/src/network/ssl/qsslcipher.cpp
index 505c662..7fec2df 100644
--- a/src/network/ssl/qsslcipher.cpp
+++ b/src/network/ssl/qsslcipher.cpp
@@ -64,9 +64,9 @@
#ifndef QT_NO_DEBUG_STREAM
#include <QtCore/qdebug.h>
+#endif
QT_BEGIN_NAMESPACE
-#endif
/*!
Constructs an empty QSslCipher object.
diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
index e09e764..42c09f5 100644
--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
@@ -364,11 +364,14 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
// DT_RPATH tags on our library header as well as other system-specific search
// paths. See the man page for dlopen(3) on your system for more information.
+#ifdef Q_OS_OPENBSD
+ libcrypto->setLoadHints(QLibrary::ExportExternalSymbolsHint);
+#endif
#ifdef SHLIB_VERSION_NUMBER
// first attempt: the canonical name is libssl.so.<SHLIB_VERSION_NUMBER>
libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER));
libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER));
- if (libssl->load() && libcrypto->load()) {
+ if (libcrypto->load() && libssl->load()) {
// libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found
return pair;
} else {
@@ -380,7 +383,7 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
// second attempt: find the development files libssl.so and libcrypto.so
libssl->setFileNameAndVersion(QLatin1String("ssl"), -1);
libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1);
- if (libssl->load() && libcrypto->load()) {
+ if (libcrypto->load() && libssl->load()) {
// libssl.so.0 and libcrypto.so.0 found
return pair;
} else {
@@ -395,7 +398,7 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
crypto.replace(QLatin1String("ssl"), QLatin1String("crypto"));
libssl->setFileNameAndVersion(ssl, -1);
libcrypto->setFileNameAndVersion(crypto, -1);
- if (libssl->load() && libcrypto->load()) {
+ if (libcrypto->load() && libssl->load()) {
// libssl.so.0 and libcrypto.so.0 found
return pair;
} else {
diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp
index b4a0e5c..04bc611 100644
--- a/src/opengl/qgl.cpp
+++ b/src/opengl/qgl.cpp
@@ -1327,13 +1327,21 @@ QImage qt_gl_read_framebuffer(const QSize &size, bool alpha_format, bool include
// This is an old legacy fix for PowerPC based Macs, which
// we shouldn't remove
while (p < end) {
- *p = 0xFF000000 | (*p>>8);
+ *p = 0xff000000 | (*p>>8);
++p;
}
}
} else {
// OpenGL gives ABGR (i.e. RGBA backwards); Qt wants ARGB
- img = img.rgbSwapped();
+ for (int y = 0; y < h; y++) {
+ uint *q = (uint*)img.scanLine(y);
+ for (int x=0; x < w; ++x) {
+ const uint pixel = *q;
+ *q = ((pixel << 16) & 0xff0000) | ((pixel >> 16) & 0xff) | (pixel & 0xff00ff00);
+ q++;
+ }
+ }
+
}
return img.mirrored();
}
@@ -2398,6 +2406,10 @@ bool QGLContext::create(const QGLContext* shareContext)
return false;
reset();
d->valid = chooseContext(shareContext);
+ if (d->valid && d->paintDevice->devType() == QInternal::Widget) {
+ QWidgetPrivate *wd = qt_widget_private(static_cast<QWidget *>(d->paintDevice));
+ wd->usesDoubleBufferedGLContext = d->glFormat.doubleBuffer();
+ }
if (d->sharing) // ok, we managed to share
qgl_share_reg()->addShare(this, shareContext);
return d->valid;
diff --git a/src/opengl/qglpixelbuffer_mac.mm b/src/opengl/qglpixelbuffer_mac.mm
index 9a679b1..e95e36b 100644
--- a/src/opengl/qglpixelbuffer_mac.mm
+++ b/src/opengl/qglpixelbuffer_mac.mm
@@ -299,9 +299,8 @@ void QGLPixelBuffer::releaseFromDynamicTexture()
GLuint QGLPixelBuffer::generateDynamicTexture() const
{
- Q_D(const QGLPixelBuffer);
-
#ifdef QT_MAC_USE_COCOA
+ Q_D(const QGLPixelBuffer);
NSOpenGLContext *oldContext = [NSOpenGLContext currentContext];
if (d->share_ctx != oldContext)
[static_cast<NSOpenGLContext *>(d->share_ctx) makeCurrentContext];
diff --git a/src/opengl/qpaintengine_opengl.cpp b/src/opengl/qpaintengine_opengl.cpp
index 88fd379..5a212f5 100644
--- a/src/opengl/qpaintengine_opengl.cpp
+++ b/src/opengl/qpaintengine_opengl.cpp
@@ -3716,8 +3716,14 @@ void QOpenGLPaintEngine::drawRects(const QRectF *rects, int rectCount)
d->disableClipping();
GLuint program = qt_gl_program_cache()->getProgram(d->drawable.context(),
FRAGMENT_PROGRAM_MASK_TRAPEZOID_AA, 0, true);
- QGLRectMaskGenerator maskGenerator(path, d->matrix, d->offscreen, program);
- d->addItem(qt_mask_texture_cache()->getMask(maskGenerator, d));
+
+ if (d->matrix.type() >= QTransform::TxProject) {
+ QGLPathMaskGenerator maskGenerator(path, d->matrix, d->offscreen, program);
+ d->addItem(qt_mask_texture_cache()->getMask(maskGenerator, d));
+ } else {
+ QGLRectMaskGenerator maskGenerator(path, d->matrix, d->offscreen, program);
+ d->addItem(qt_mask_texture_cache()->getMask(maskGenerator, d));
+ }
d->enableClipping();
}
@@ -5062,9 +5068,8 @@ void QOpenGLPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textIte
// fall back to drawing a polygon if the scale factor is large, or
// we use a gradient pen
- if (ti.fontEngine->fontDef.pixelSize >= 64
- || (d->matrix.det() > 1) || (d->pen_brush_style >= Qt::LinearGradientPattern
- && d->pen_brush_style <= Qt::ConicalGradientPattern)) {
+ if ((d->matrix.det() > 1) || (d->pen_brush_style >= Qt::LinearGradientPattern
+ && d->pen_brush_style <= Qt::ConicalGradientPattern)) {
QPaintEngine::drawTextItem(p, textItem);
return;
}
diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp
index 837ccf2..b41adf9 100644
--- a/src/opengl/qwindowsurface_gl.cpp
+++ b/src/opengl/qwindowsurface_gl.cpp
@@ -86,7 +86,7 @@ QT_BEGIN_NAMESPACE
// QGLGraphicsSystem
//
#ifdef Q_WS_WIN
-Q_GUI_EXPORT bool qt_win_owndc_required;
+extern Q_GUI_EXPORT bool qt_win_owndc_required;
#endif
QGLGraphicsSystem::QGLGraphicsSystem()
: QGraphicsSystem()
diff --git a/src/plugins/gfxdrivers/directfb/directfb.pro b/src/plugins/gfxdrivers/directfb/directfb.pro
index 89a289c..5c60b2f 100644
--- a/src/plugins/gfxdrivers/directfb/directfb.pro
+++ b/src/plugins/gfxdrivers/directfb/directfb.pro
@@ -3,9 +3,10 @@ include(../../qpluginbase.pri)
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/gfxdrivers
-# These defines might be necessary if your DirectFB driver doesn't
+# These defines might be necessary if your DirectFB driver doesn't
# support all of the DirectFB API.
#
+#DEFINES += QT_DIRECTFB_IMAGECACHE
#DEFINES += QT_NO_DIRECTFB_WM
#DEFINES += QT_NO_DIRECTFB_LAYER
#DEFINES += QT_NO_DIRECTFB_PALETTE
@@ -14,29 +15,30 @@ QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/gfxdrivers
#DEFINES += QT_NO_DIRECTFB_KEYBOARD
#DEFINES += QT_DIRECTFB_TIMING
#DEFINES += QT_NO_DIRECTFB_OPAQUE_DETECTION
+#DIRECTFB_DRAWINGOPERATIONS=DRAW_RECTS|DRAW_LINES|DRAW_IMAGE|DRAW_PIXMAP|DRAW_TILED_PIXMAP|STROKE_PATH|DRAW_PATH|DRAW_POINTS|DRAW_ELLIPSE|DRAW_POLYGON|DRAW_TEXT|FILL_PATH|FILL_RECT|DRAW_COLORSPANS
+#DEFINES += \"QT_DIRECTFB_WARN_ON_RASTERFALLBACKS=$$DIRECTFB_DRAWINGOPERATIONS\"
+#DEFINES += \"QT_DIRECTFB_DISABLE_RASTERFALLBACKS=$$DIRECTFB_DRAWINGOPERATIONS\"
target.path = $$[QT_INSTALL_PLUGINS]/gfxdrivers
INSTALLS += target
-HEADERS = \
- qdirectfbscreen.h \
- qdirectfbsurface.h \
- qdirectfbpaintengine.h \
- qdirectfbpaintdevice.h \
- qdirectfbpixmap.h \
- qdirectfbkeyboard.h \
- qdirectfbmouse.h
+HEADERS = qdirectfbscreen.h \
+ qdirectfbwindowsurface.h \
+ qdirectfbpaintengine.h \
+ qdirectfbpaintdevice.h \
+ qdirectfbpixmap.h \
+ qdirectfbkeyboard.h \
+ qdirectfbmouse.h
-SOURCES = \
- qdirectfbscreen.cpp \
- qdirectfbscreenplugin.cpp \
- qdirectfbsurface.cpp \
- qdirectfbpaintengine.cpp \
- qdirectfbpaintdevice.cpp \
- qdirectfbpixmap.cpp \
- qdirectfbkeyboard.cpp \
- qdirectfbmouse.cpp
+SOURCES = qdirectfbscreen.cpp \
+ qdirectfbscreenplugin.cpp \
+ qdirectfbwindowsurface.cpp \
+ qdirectfbpaintengine.cpp \
+ qdirectfbpaintdevice.cpp \
+ qdirectfbpixmap.cpp \
+ qdirectfbkeyboard.cpp \
+ qdirectfbmouse.cpp
QMAKE_CXXFLAGS += $$QT_CFLAGS_DIRECTFB
LIBS += $$QT_LIBS_DIRECTFB
-
+DEFINES += $$QT_DEFINES_DIRECTFB
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp
index cd19f69..368b9f9 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp
@@ -173,6 +173,22 @@ void QDirectFBKeyboardHandlerPrivate::readKeyboardData()
Qt::KeyboardModifiers modifiers = Qt::NoModifier;
+ // Not implemented:
+ // if (input.modifiers & DIMM_SUPER)
+ // if (input.modifiers & DIMM_HYPER)
+
+ if (!(input.flags & DIEF_KEYSYMBOL) ||
+ !(input.flags & DIEF_KEYID) ||
+ !(input.type & (DIET_KEYPRESS|DIET_KEYRELEASE)))
+ {
+ static bool first = true;
+ if (first) {
+ qWarning("QDirectFBKeyboardHandler - Getting unexpected non-keyboard related events");
+ first = false;
+ }
+ break;
+ }
+
if (input.flags & DIEF_MODIFIERS) {
if (input.modifiers & DIMM_SHIFT)
modifiers |= Qt::ShiftModifier;
@@ -185,31 +201,15 @@ void QDirectFBKeyboardHandlerPrivate::readKeyboardData()
if (input.modifiers & DIMM_META)
modifiers |= Qt::MetaModifier;
}
- // Not implemented:
- // if (input.modifiers & DIMM_SUPER)
- // if (input.modifiers & DIMM_HYPER)
- if ( !(input.flags & DIEF_KEYSYMBOL) ||
- !(input.flags & DIEF_KEYID) ||
- !(input.type & (DIET_KEYPRESS | DIET_KEYRELEASE)) )
- {
- static int warningCount = 0;
- if (!warningCount) {
- qWarning("QDirectFBKeyboardHandler - Getting unexpected non-keyboard related events");
- warningCount = 100;
- }
- else
- warningCount--;
- break;
- }
- bool press = input.type & DIET_KEYPRESS;
+ const bool press = input.type & DIET_KEYPRESS;
DFBInputDeviceKeySymbol symbol = input.key_symbol;
int unicode = -1;
int keycode = 0;
keycode = keymap()->value(symbol);
- if (keycode == 0 && DFB_KEY_TYPE(symbol) == DIKT_UNICODE)
+ if (DFB_KEY_TYPE(symbol) == DIKT_UNICODE)
unicode = symbol;
if (unicode != -1 || keycode != 0) {
@@ -314,6 +314,100 @@ KeyMap::KeyMap()
insert(DIKS_DEAD_SEMIVOICED_SOUND , Qt::Key_Dead_Semivoiced_Sound);
insert(DIKS_DEAD_TILDE , Qt::Key_Dead_Tilde);
insert(DIKS_DEAD_VOICED_SOUND , Qt::Key_Dead_Voiced_Sound);
+ insert(DIKS_SPACE , Qt::Key_Space);
+ insert(DIKS_EXCLAMATION_MARK , Qt::Key_Exclam);
+ insert(DIKS_QUOTATION , Qt::Key_QuoteDbl);
+ insert(DIKS_NUMBER_SIGN , Qt::Key_NumberSign);
+ insert(DIKS_DOLLAR_SIGN , Qt::Key_Dollar);
+ insert(DIKS_PERCENT_SIGN , Qt::Key_Percent);
+ insert(DIKS_AMPERSAND , Qt::Key_Ampersand);
+ insert(DIKS_APOSTROPHE , Qt::Key_Apostrophe);
+ insert(DIKS_PARENTHESIS_LEFT , Qt::Key_ParenLeft);
+ insert(DIKS_PARENTHESIS_RIGHT , Qt::Key_ParenRight);
+ insert(DIKS_ASTERISK , Qt::Key_Asterisk);
+ insert(DIKS_PLUS_SIGN , Qt::Key_Plus);
+ insert(DIKS_COMMA , Qt::Key_Comma);
+ insert(DIKS_MINUS_SIGN , Qt::Key_Minus);
+ insert(DIKS_PERIOD , Qt::Key_Period);
+ insert(DIKS_SLASH , Qt::Key_Slash);
+ insert(DIKS_0 , Qt::Key_0);
+ insert(DIKS_1 , Qt::Key_1);
+ insert(DIKS_2 , Qt::Key_2);
+ insert(DIKS_3 , Qt::Key_3);
+ insert(DIKS_4 , Qt::Key_4);
+ insert(DIKS_5 , Qt::Key_5);
+ insert(DIKS_6 , Qt::Key_6);
+ insert(DIKS_7 , Qt::Key_7);
+ insert(DIKS_8 , Qt::Key_8);
+ insert(DIKS_9 , Qt::Key_9);
+ insert(DIKS_COLON , Qt::Key_Colon);
+ insert(DIKS_SEMICOLON , Qt::Key_Semicolon);
+ insert(DIKS_LESS_THAN_SIGN , Qt::Key_Less);
+ insert(DIKS_EQUALS_SIGN , Qt::Key_Equal);
+ insert(DIKS_GREATER_THAN_SIGN , Qt::Key_Greater);
+ insert(DIKS_QUESTION_MARK , Qt::Key_Question);
+ insert(DIKS_AT , Qt::Key_At);
+ insert(DIKS_CAPITAL_A , Qt::Key_A);
+ insert(DIKS_CAPITAL_B , Qt::Key_B);
+ insert(DIKS_CAPITAL_C , Qt::Key_C);
+ insert(DIKS_CAPITAL_D , Qt::Key_D);
+ insert(DIKS_CAPITAL_E , Qt::Key_E);
+ insert(DIKS_CAPITAL_F , Qt::Key_F);
+ insert(DIKS_CAPITAL_G , Qt::Key_G);
+ insert(DIKS_CAPITAL_H , Qt::Key_H);
+ insert(DIKS_CAPITAL_I , Qt::Key_I);
+ insert(DIKS_CAPITAL_J , Qt::Key_J);
+ insert(DIKS_CAPITAL_K , Qt::Key_K);
+ insert(DIKS_CAPITAL_L , Qt::Key_L);
+ insert(DIKS_CAPITAL_M , Qt::Key_M);
+ insert(DIKS_CAPITAL_N , Qt::Key_N);
+ insert(DIKS_CAPITAL_O , Qt::Key_O);
+ insert(DIKS_CAPITAL_P , Qt::Key_P);
+ insert(DIKS_CAPITAL_Q , Qt::Key_Q);
+ insert(DIKS_CAPITAL_R , Qt::Key_R);
+ insert(DIKS_CAPITAL_S , Qt::Key_S);
+ insert(DIKS_CAPITAL_T , Qt::Key_T);
+ insert(DIKS_CAPITAL_U , Qt::Key_U);
+ insert(DIKS_CAPITAL_V , Qt::Key_V);
+ insert(DIKS_CAPITAL_W , Qt::Key_W);
+ insert(DIKS_CAPITAL_X , Qt::Key_X);
+ insert(DIKS_CAPITAL_Y , Qt::Key_Y);
+ insert(DIKS_CAPITAL_Z , Qt::Key_Z);
+ insert(DIKS_SQUARE_BRACKET_LEFT , Qt::Key_BracketLeft);
+ insert(DIKS_BACKSLASH , Qt::Key_Backslash);
+ insert(DIKS_SQUARE_BRACKET_RIGHT , Qt::Key_BracketRight);
+ insert(DIKS_CIRCUMFLEX_ACCENT , Qt::Key_AsciiCircum);
+ insert(DIKS_UNDERSCORE , Qt::Key_Underscore);
+ insert(DIKS_SMALL_A , Qt::Key_A);
+ insert(DIKS_SMALL_B , Qt::Key_B);
+ insert(DIKS_SMALL_C , Qt::Key_C);
+ insert(DIKS_SMALL_D , Qt::Key_D);
+ insert(DIKS_SMALL_E , Qt::Key_E);
+ insert(DIKS_SMALL_F , Qt::Key_F);
+ insert(DIKS_SMALL_G , Qt::Key_G);
+ insert(DIKS_SMALL_H , Qt::Key_H);
+ insert(DIKS_SMALL_I , Qt::Key_I);
+ insert(DIKS_SMALL_J , Qt::Key_J);
+ insert(DIKS_SMALL_K , Qt::Key_K);
+ insert(DIKS_SMALL_L , Qt::Key_L);
+ insert(DIKS_SMALL_M , Qt::Key_M);
+ insert(DIKS_SMALL_N , Qt::Key_N);
+ insert(DIKS_SMALL_O , Qt::Key_O);
+ insert(DIKS_SMALL_P , Qt::Key_P);
+ insert(DIKS_SMALL_Q , Qt::Key_Q);
+ insert(DIKS_SMALL_R , Qt::Key_R);
+ insert(DIKS_SMALL_S , Qt::Key_S);
+ insert(DIKS_SMALL_T , Qt::Key_T);
+ insert(DIKS_SMALL_U , Qt::Key_U);
+ insert(DIKS_SMALL_V , Qt::Key_V);
+ insert(DIKS_SMALL_W , Qt::Key_W);
+ insert(DIKS_SMALL_X , Qt::Key_X);
+ insert(DIKS_SMALL_Y , Qt::Key_Y);
+ insert(DIKS_SMALL_Z , Qt::Key_Z);
+ insert(DIKS_CURLY_BRACKET_LEFT , Qt::Key_BraceLeft);
+ insert(DIKS_VERTICAL_BAR , Qt::Key_Bar);
+ insert(DIKS_CURLY_BRACKET_RIGHT , Qt::Key_BraceRight);
+ insert(DIKS_TILDE , Qt::Key_AsciiTilde);
}
#include "qdirectfbkeyboard.moc"
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp
index f4d9b46..b999dd2 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp
@@ -56,9 +56,7 @@ public:
QDirectFBMouseHandlerPrivate(QDirectFBMouseHandler *h);
~QDirectFBMouseHandlerPrivate();
- void suspend();
- void resume();
-
+ void setEnabled(bool on);
private:
QDirectFBMouseHandler *handler;
IDirectFBEventBuffer *eventBuffer;
@@ -130,7 +128,7 @@ QDirectFBMouseHandlerPrivate::QDirectFBMouseHandlerPrivate(QDirectFBMouseHandler
mouseNotifier = new QSocketNotifier(fd, QSocketNotifier::Read, this);
connect(mouseNotifier, SIGNAL(activated(int)),this, SLOT(readMouseData()));
- resume();
+ setEnabled(true);
}
QDirectFBMouseHandlerPrivate::~QDirectFBMouseHandlerPrivate()
@@ -139,15 +137,32 @@ QDirectFBMouseHandlerPrivate::~QDirectFBMouseHandlerPrivate()
eventBuffer->Release(eventBuffer);
}
-void QDirectFBMouseHandlerPrivate::suspend()
+void QDirectFBMouseHandlerPrivate::setEnabled(bool on)
{
- mouseNotifier->setEnabled(false);
-}
+ if (mouseNotifier->isEnabled() != on) {
+#ifndef QT_NO_DIRECTFB_LAYER
+ DFBResult result;
+ result = layer->SetCooperativeLevel(layer, DLSCL_ADMINISTRATIVE);
+ if (result != DFB_OK) {
+ DirectFBError("QDirectFBScreenCursor::QDirectFBScreenCursor: "
+ "Unable to set cooperative level", result);
+ }
+ result = layer->EnableCursor(layer, on ? 1 : 0);
+ if (result != DFB_OK) {
+ DirectFBError("QDirectFBScreenCursor::QDirectFBScreenCursor: "
+ "Unable to enable cursor", result);
+ }
-void QDirectFBMouseHandlerPrivate::resume()
-{
- eventBuffer->Reset(eventBuffer);
- mouseNotifier->setEnabled(true);
+ result = layer->SetCooperativeLevel(layer, DLSCL_SHARED);
+ if (result != DFB_OK) {
+ DirectFBError("QDirectFBScreenCursor::show: "
+ "Unable to set cooperative level", result);
+ }
+
+ layer->SetCooperativeLevel(layer, DLSCL_SHARED);
+#endif
+ mouseNotifier->setEnabled(on);
+ }
}
void QDirectFBMouseHandlerPrivate::readMouseData()
@@ -260,12 +275,12 @@ QDirectFBMouseHandler::~QDirectFBMouseHandler()
void QDirectFBMouseHandler::suspend()
{
- d->suspend();
+ d->setEnabled(false);
}
void QDirectFBMouseHandler::resume()
{
- d->resume();
+ d->setEnabled(true);
}
#include "qdirectfbmouse.moc"
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbmouse.h b/src/plugins/gfxdrivers/directfb/qdirectfbmouse.h
index e81a4ba..d2eccfc 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbmouse.h
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbmouse.h
@@ -61,7 +61,6 @@ public:
void suspend();
void resume();
-
protected:
QDirectFBMouseHandlerPrivate *d;
};
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp
index 2a2ef5c..72e0ce5 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp
@@ -56,23 +56,21 @@ IDirectFBSurface *QDirectFBPaintDevice::directFBSurface() const
}
-// Locks the dfb surface and creates a QImage (lockedImage) from the pointer
-void QDirectFBPaintDevice::lockDirectFB() {
-
- if (lockedImage)
- return; // Already locked
-
- void *mem;
- int w, h;
- DFBResult result = dfbSurface->Lock(dfbSurface, DSLF_WRITE, &mem, &bpl);
- if (result != DFB_OK || !mem) {
- DirectFBError("QDirectFBPixmapData::buffer()", result);
- return;
+void QDirectFBPaintDevice::lockDirectFB(uint flags)
+{
+ if (!(lock & flags)) {
+ if (lock)
+ unlockDirectFB();
+ if ((mem = QDirectFBScreen::lockSurface(dfbSurface, flags, &bpl))) {
+ const QSize s = size();
+ lockedImage = new QImage(mem, s.width(), s.height(), bpl,
+ QDirectFBScreen::getImageFormat(dfbSurface));
+ lock = flags;
+ Q_ASSERT(mem);
+ } else {
+ lock = 0;
+ }
}
-
- dfbSurface->GetSize(dfbSurface, &w, &h);
- lockedImage = new QImage(static_cast<uchar*>(mem), w, h, bpl,
- QDirectFBScreen::getImageFormat(dfbSurface));
}
@@ -84,15 +82,19 @@ void QDirectFBPaintDevice::unlockDirectFB()
dfbSurface->Unlock(dfbSurface);
delete lockedImage;
lockedImage = 0;
+ mem = 0;
+ lock = 0;
}
-void* QDirectFBPaintDevice::memory() const
+void *QDirectFBPaintDevice::memory() const
{
- QDirectFBPaintDevice* that = const_cast<QDirectFBPaintDevice*>(this);
- that->lockDirectFB();
- Q_ASSERT(that->lockedImage);
- return that->lockedImage->bits();
+ if (lock != (DSLF_READ|DSLF_WRITE)) {
+ QDirectFBPaintDevice *that = const_cast<QDirectFBPaintDevice*>(this);
+ that->lockDirectFB(DSLF_READ|DSLF_WRITE);
+ Q_ASSERT(that->lockedImage);
+ }
+ return mem;
}
@@ -108,7 +110,7 @@ int QDirectFBPaintDevice::bytesPerLine() const
// Can only get the stride when we lock the surface
Q_ASSERT(!lockedImage);
QDirectFBPaintDevice* that = const_cast<QDirectFBPaintDevice*>(this);
- that->lockDirectFB();
+ that->lockDirectFB(DSLF_READ);
Q_ASSERT(bpl != -1);
}
return bpl;
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h b/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
index a11064b..13f0a8f 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
@@ -58,7 +58,7 @@ public:
IDirectFBSurface *directFBSurface() const;
- void lockDirectFB();
+ void lockDirectFB(uint flags);
void unlockDirectFB();
inline bool forceRasterPrimitives() const { return forceRaster; }
@@ -69,6 +69,7 @@ public:
int bytesPerLine() const;
QSize size() const;
int metric(QPaintDevice::PaintDeviceMetric metric) const;
+ uint lockFlags() const { return lock; }
protected:
// Shouldn't create QDirectFBPaintDevice by itself but only sub-class it:
QDirectFBPaintDevice(QDirectFBScreen *scr = QDirectFBScreen::instance())
@@ -76,7 +77,10 @@ protected:
dfbSurface(0),
lockedImage(0),
screen(scr),
- forceRaster(false) {}
+ forceRaster(false),
+ lock(0),
+ mem(0)
+ {}
inline int dotsPerMeterX() const
{
@@ -92,6 +96,8 @@ protected:
QDirectFBScreen *screen;
int bpl;
bool forceRaster;
+ uint lock;
+ uchar *mem;
private:
Q_DISABLE_COPY(QDirectFBPaintDevice)
};
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
index d9346fd..989a37a 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
@@ -43,7 +43,7 @@
#ifndef QT_NO_DIRECTFB
-#include "qdirectfbsurface.h"
+#include "qdirectfbwindowsurface.h"
#include "qdirectfbscreen.h"
#include "qdirectfbpixmap.h"
#include <directfb.h>
@@ -54,6 +54,98 @@
#include <private/qpixmapdata_p.h>
#include <private/qpixmap_raster_p.h>
+#if defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS || defined QT_DIRECTFB_DISABLE_RASTERFALLBACKS
+#define VOID_ARG() static_cast<bool>(false)
+enum PaintOperation {
+ DRAW_RECTS = 0x0001,
+ DRAW_LINES = 0x0002,
+ DRAW_IMAGE = 0x0004,
+ DRAW_PIXMAP = 0x0008,
+ DRAW_TILED_PIXMAP = 0x0010,
+ STROKE_PATH = 0x0020,
+ DRAW_PATH = 0x0040,
+ DRAW_POINTS = 0x0080,
+ DRAW_ELLIPSE = 0x0100,
+ DRAW_POLYGON = 0x0200,
+ DRAW_TEXT = 0x0400,
+ FILL_PATH = 0x0800,
+ FILL_RECT = 0x1000,
+ DRAW_COLORSPANS = 0x2000,
+ ALL = 0xffff
+};
+#endif
+
+#ifdef QT_DIRECTFB_WARN_ON_RASTERFALLBACKS
+template <typename T> inline const T *ptr(const T &t) { return &t; }
+template <> inline const bool* ptr<bool>(const bool &) { return 0; }
+template <typename device, typename T1, typename T2, typename T3>
+static void rasterFallbackWarn(const char *msg, const char *func, const device *dev,
+ int scale, bool matrixRotShear, bool simplePen,
+ bool dfbHandledClip, bool forceRasterPrimitives,
+ const char *nameOne, const T1 &one,
+ const char *nameTwo, const T2 &two,
+ const char *nameThree, const T3 &three)
+{
+ QString out;
+ QDebug dbg(&out);
+ dbg << msg << (QByteArray(func) + "()") << "painting on";
+ if (dev->devType() == QInternal::Widget) {
+ dbg << static_cast<const QWidget*>(dev);
+ } else {
+ dbg << dev << "of type" << dev->devType();
+ }
+
+ dbg << "scale" << scale
+ << "matrixRotShear" << matrixRotShear
+ << "simplePen" << simplePen
+ << "dfbHandledClip" << dfbHandledClip
+ << "forceRasterPrimitives" << forceRasterPrimitives;
+
+ const T1 *t1 = ptr(one);
+ const T2 *t2 = ptr(two);
+ const T3 *t3 = ptr(three);
+
+ if (t1) {
+ dbg << nameOne << *t1;
+ if (t2) {
+ dbg << nameTwo << *t2;
+ if (t3) {
+ dbg << nameThree << *t3;
+ }
+ }
+ }
+ qWarning("%s", qPrintable(out));
+}
+#endif
+
+#if defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS && defined QT_DIRECTFB_DISABLE_RASTERFALLBACKS
+#define RASTERFALLBACK(op, one, two, three) \
+ if (op & (QT_DIRECTFB_WARN_ON_RASTERFALLBACKS)) \
+ rasterFallbackWarn("Disabled raster engine operation", \
+ __FUNCTION__, state()->painter->device(), \
+ d_func()->scale, d_func()->matrixRotShear, \
+ d_func()->simplePen, d_func()->dfbCanHandleClip(), \
+ d_func()->forceRasterPrimitives, \
+ #one, one, #two, two, #three, three); \
+ if (op & (QT_DIRECTFB_DISABLE_RASTERFALLBACKS)) \
+ return;
+#elif defined QT_DIRECTFB_DISABLE_RASTERFALLBACKS
+#define RASTERFALLBACK(op, one, two, three) \
+ if (op & (QT_DIRECTFB_DISABLE_RASTERFALLBACKS)) \
+ return;
+#elif defined QT_DIRECTFB_WARN_ON_RASTERFALLBACKS
+#define RASTERFALLBACK(op, one, two, three) \
+ if (op & (QT_DIRECTFB_WARN_ON_RASTERFALLBACKS)) \
+ rasterFallbackWarn("Falling back to raster engine for", \
+ __FUNCTION__, state()->painter->device(), \
+ d_func()->scale, d_func()->matrixRotShear, \
+ d_func()->simplePen, d_func()->dfbCanHandleClip(), \
+ d_func()->forceRasterPrimitives, \
+ #one, one, #two, two, #three, three);
+#else
+#define RASTERFALLBACK(op, one, two, three)
+#endif
+
static inline uint ALPHA_MUL(uint x, uint a)
{
uint t = x * a;
@@ -64,137 +156,68 @@ static inline uint ALPHA_MUL(uint x, uint a)
class SurfaceCache
{
public:
- SurfaceCache();
- ~SurfaceCache();
-
- inline IDirectFBSurface *getSurface(const uint *buffer, int size);
- inline void clear();
-
-private:
- IDirectFBSurface *surface;
- uint *buffer;
- int bufsize;
-};
+ SurfaceCache() : surface(0), buffer(0), bufsize(0) {}
+ ~SurfaceCache() { clear(); }
-SurfaceCache::SurfaceCache()
- : surface(0), buffer(0), bufsize(0)
-{
-}
-class CachedImage
-{
-public:
- CachedImage(const QImage &image);
- ~CachedImage();
+ IDirectFBSurface *getSurface(const uint *buf, int size)
+ {
+ if (buffer == buf && bufsize == size)
+ return surface;
- IDirectFBSurface *surface() { return s; }
+ clear();
-private:
- IDirectFBSurface *s;
-};
+ const DFBSurfaceDescription description = QDirectFBScreen::getSurfaceDescription(buf, size);
+ surface = QDirectFBScreen::instance()->createDFBSurface(description, QDirectFBScreen::TrackSurface);
+ if (!surface)
+ qWarning("QDirectFBPaintEngine: SurfaceCache: Unable to create surface");
-CachedImage::CachedImage(const QImage &image)
- : s(0)
-{
- IDirectFBSurface *tmpSurface = 0;
- DFBSurfaceDescription description;
- description = QDirectFBScreen::getSurfaceDescription(image);
- QDirectFBScreen* screen = QDirectFBScreen::instance();
+ buffer = const_cast<uint*>(buf);
+ bufsize = size;
- tmpSurface = screen->createDFBSurface(&description, QDirectFBScreen::TrackSurface);
- if (!tmpSurface) {
- qWarning("CachedImage CreateSurface failed!");
- return;
+ return surface;
}
-#ifndef QT_NO_DIRECTFB_PALETTE
- QDirectFBScreen::setSurfaceColorTable(tmpSurface, image);
-#endif
-
- description.flags = DFBSurfaceDescriptionFlags(description.flags & ~DSDESC_PREALLOCATED);
-
- s = screen->createDFBSurface(&description, QDirectFBScreen::TrackSurface);
- if (!s)
- qWarning("QDirectFBPaintEngine failed caching image");
-
-#ifndef QT_NO_DIRECTFB_PALETTE
- QDirectFBScreen::setSurfaceColorTable(s, image);
-#endif
-
- if (s) {
- s->SetBlittingFlags(s, DSBLIT_NOFX);
- s->Blit(s, tmpSurface, 0, 0, 0);
- s->ReleaseSource(s);
+ void clear()
+ {
+ if (surface && QDirectFBScreen::instance())
+ QDirectFBScreen::instance()->releaseDFBSurface(surface);
+ surface = 0;
+ buffer = 0;
+ bufsize = 0;
}
- if (tmpSurface)
- screen->releaseDFBSurface(tmpSurface);
-}
-
-CachedImage::~CachedImage()
-{
- if (s && QDirectFBScreen::instance())
- QDirectFBScreen::instance()->releaseDFBSurface(s);
-}
-
-static QCache<qint64, CachedImage> imageCache(4*1024*1024); // 4 MB
-
-IDirectFBSurface* SurfaceCache::getSurface(const uint *buf, int size)
-{
- if (buffer == buf && bufsize == size)
- return surface;
-
- clear();
-
- DFBSurfaceDescription description;
- description = QDirectFBScreen::getSurfaceDescription(buf, size);
-
- surface = QDirectFBScreen::instance()->createDFBSurface(&description, QDirectFBScreen::TrackSurface);
- if (!surface)
- qWarning("QDirectFBPaintEngine: SurfaceCache: Unable to create surface");
-
- buffer = const_cast<uint*>(buf);
- bufsize = size;
-
- return surface;
-}
+private:
+ IDirectFBSurface *surface;
+ uint *buffer;
+ int bufsize;
+};
-void SurfaceCache::clear()
-{
- if (surface)
- QDirectFBScreen::instance()->releaseDFBSurface(surface);
- surface = 0;
- buffer = 0;
- bufsize = 0;
-}
-SurfaceCache::~SurfaceCache()
+#ifdef QT_DIRECTFB_IMAGECACHE
+#include <private/qimage_p.h>
+struct CachedImage
{
- clear();
-}
+ IDirectFBSurface *surface;
+ ~CachedImage()
+ {
+ if (surface && QDirectFBScreen::instance()) {
+ QDirectFBScreen::instance()->releaseDFBSurface(surface);
+ }
+ }
+};
+static QCache<qint64, CachedImage> imageCache(4*1024*1024); // 4 MB
+#endif
class QDirectFBPaintEnginePrivate : public QRasterPaintEnginePrivate
{
public:
+ enum Scale { NoScale, Scaled, NegativeScale };
+
QDirectFBPaintEnginePrivate(QDirectFBPaintEngine *p);
~QDirectFBPaintEnginePrivate();
- IDirectFBSurface *surface;
-
- QPen pen;
- QBrush brush;
-
- bool antialiased;
- bool forceRasterPrimitives;
-
- bool simplePen;
- bool simpleBrush;
-
- bool matrixRotShear;
- bool matrixScale;
-
void setTransform(const QTransform &m);
void setPen(const QPen &pen);
- void setBrush(const QBrush &brush);
void setCompositionMode(QPainter::CompositionMode mode);
void setOpacity(quint8 value);
void setRenderHints(QPainter::RenderHints hints);
@@ -207,35 +230,51 @@ public:
inline bool dfbCanHandleClip(const QRect &rect) const;
inline bool dfbCanHandleClip(const QRectF &rect) const;
inline bool dfbCanHandleClip() const;
+ inline bool isSimpleBrush(const QBrush &brush) const;
- void drawLines(const QLine *lines, int count) const;
- void drawLines(const QLineF *lines, int count) const;
+ void drawLines(const QLine *lines, int count);
+ void drawLines(const QLineF *lines, int count);
- void fillRegion(const QRegion &r) const;
- void fillRects(const QRect *rects, int count) const;
- void drawRects(const QRect *rects, int count) const;
- void fillRects(const QRectF *rects, int count) const;
- void drawRects(const QRectF *rects, int count) const;
+ void fillRegion(const QRegion &r);
+ void fillRects(const QRect *rects, int count);
+ void drawRects(const QRect *rects, int count);
+ void fillRects(const QRectF *rects, int count);
+ void drawRects(const QRectF *rects, int count);
- void drawPixmap(const QRectF &dest,
- const QPixmap &pixmap, const QRectF &src);
void drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap);
- void drawImage(const QRectF &dest, const QImage &image, const QRectF &src);
+ void blit(const QRectF &dest, IDirectFBSurface *surface, const QRectF &src);
inline void updateClip();
- inline void setClipDirty();
void systemStateChanged();
void begin(QPaintDevice *device);
void end();
+ static IDirectFBSurface *getSurface(const QImage &img, bool *release);
+
+#ifdef QT_DIRECTFB_IMAGECACHE
+ static inline int cacheCost(const QImage &img) { return img.width() * img.height() * img.depth() / 8; }
+#endif
+
void prepareForBlit(bool alpha);
+private:
+ IDirectFBSurface *surface;
+
+ QPen pen;
+
+ bool antialiased;
+ bool forceRasterPrimitives;
+
+ bool simplePen;
+
+ bool matrixRotShear;
+ Scale scale;
+
SurfaceCache *surfaceCache;
QTransform transform;
int lastLockedHeight;
-private:
+
IDirectFB *fb;
- DFBSurfaceDescription fbDescription;
int fbWidth;
int fbHeight;
@@ -246,470 +285,14 @@ private:
bool dirtyClip;
bool dfbHandledClip;
+ bool ignoreSystemClip;
QDirectFBPaintDevice *dfbDevice;
+ void *lockedMemory;
QDirectFBPaintEngine *q;
+ friend class QDirectFBPaintEngine;
};
-QDirectFBPaintEnginePrivate::QDirectFBPaintEnginePrivate(QDirectFBPaintEngine *p)
- : surface(0), antialiased(false), forceRasterPrimitives(false), simplePen(false),
- simpleBrush(false), matrixRotShear(false), matrixScale(false), lastLockedHeight(-1),
- fbWidth(-1), fbHeight(-1), opacity(255), drawFlagsFromCompositionMode(0),
- blitFlagsFromCompositionMode(0), porterDuffRule(DSPD_SRC_OVER), dirtyClip(true),
- dfbHandledClip(false), dfbDevice(0), q(p)
-{
- fb = QDirectFBScreen::instance()->dfb();
- surfaceCache = new SurfaceCache;
- static int cacheLimit = qgetenv("QT_DIRECTFB_IMAGECACHE").toInt();
- if (cacheLimit > 0)
- imageCache.setMaxCost(cacheLimit * 1024);
-}
-
-QDirectFBPaintEnginePrivate::~QDirectFBPaintEnginePrivate()
-{
- delete surfaceCache;
-}
-
-bool QDirectFBPaintEnginePrivate::dfbCanHandleClip(const QRect &rect) const
-{
- // TODO: Check to see if DirectFB can handle the clip for the given rect
- return dfbHandledClip;
-}
-
-bool QDirectFBPaintEnginePrivate::dfbCanHandleClip(const QRectF &rect) const
-{
- // TODO: Check to see if DirectFB can handle the clip for the given rect
- return dfbHandledClip;
-}
-
-bool QDirectFBPaintEnginePrivate::dfbCanHandleClip() const
-{
- return dfbHandledClip;
-}
-
-void QDirectFBPaintEnginePrivate::setClipDirty()
-{
- dirtyClip = true;
-}
-
-void QDirectFBPaintEnginePrivate::lock()
-{
- // We will potentially get a new pointer to the buffer after a
- // lock so we need to call the base implementation of prepare so
- // it updates its rasterBuffer to point to the new buffer address.
- lastLockedHeight = dfbDevice->height();
-
- Q_ASSERT(dfbDevice);
- prepare(dfbDevice);
-}
-
-void QDirectFBPaintEnginePrivate::unlock()
-{
- Q_ASSERT(dfbDevice);
- dfbDevice->unlockDirectFB();
-}
-
-void QDirectFBPaintEnginePrivate::setTransform(const QTransform &m)
-{
- transform = m;
- matrixRotShear = (transform.m12() != 0 || transform.m21() != 0);
- matrixScale = (transform.m11() != 1 || transform.m22() != 1);
-}
-
-void QDirectFBPaintEnginePrivate::begin(QPaintDevice *device)
-{
- lastLockedHeight = -1;
- if (device->devType() == QInternal::CustomRaster)
- dfbDevice = static_cast<QDirectFBPaintDevice*>(device);
- else if (device->devType() == QInternal::Pixmap) {
- QPixmapData *data = static_cast<QPixmap*>(device)->pixmapData();
- Q_ASSERT(data->classId() == QPixmapData::DirectFBClass);
- QDirectFBPixmapData* dfbPixmapData = static_cast<QDirectFBPixmapData*>(data);
- dfbDevice = static_cast<QDirectFBPaintDevice*>(dfbPixmapData);
- }
-
- if (dfbDevice)
- surface = dfbDevice->directFBSurface();
-
- if (!surface) {
- qFatal("QDirectFBPaintEngine used on an invalid device: 0x%x",
- device->devType());
- }
- forceRasterPrimitives = dfbDevice->forceRasterPrimitives();
-
- surface->GetSize(surface, &fbWidth, &fbHeight);
-
- setTransform(QTransform());
- antialiased = false;
- opacity = 255;
- setCompositionMode(q->state()->compositionMode());
- dirtyClip = true;
- setPen(q->state()->pen);
- setDFBColor(pen.color());
-}
-
-void QDirectFBPaintEnginePrivate::end()
-{
- dfbDevice = 0;
- surface->ReleaseSource(surface);
- surface->SetClip(surface, NULL);
- surface = 0;
-}
-
-void QDirectFBPaintEnginePrivate::setPen(const QPen &p)
-{
- pen = p;
- simplePen = (pen.style() == Qt::NoPen) ||
- (pen.style() == Qt::SolidLine
- && !antialiased
- && (pen.brush().style() == Qt::SolidPattern)
- && (pen.widthF() <= 1 && !matrixScale));
-}
-
-void QDirectFBPaintEnginePrivate::setBrush(const QBrush &b)
-{
- brush = b;
- simpleBrush = (brush.style() == Qt::NoBrush) ||
- (brush.style() == Qt::SolidPattern && !antialiased);
-}
-
-void QDirectFBPaintEnginePrivate::setCompositionMode(QPainter::CompositionMode mode)
-{
- blitFlagsFromCompositionMode = DSBLIT_NOFX;
- drawFlagsFromCompositionMode = DSDRAW_NOFX;
-
- bool blend = true;
- switch (mode) {
- case QPainter::CompositionMode_SourceOver:
- porterDuffRule = DSPD_SRC_OVER;
- break;
- case QPainter::CompositionMode_DestinationOver:
- porterDuffRule = DSPD_DST_OVER;
- break;
- case QPainter::CompositionMode_Clear:
- porterDuffRule = DSPD_CLEAR;
- blend = false;
- break;
- case QPainter::CompositionMode_Source:
- porterDuffRule = DSPD_SRC;
- blend = false;
- break;
- case QPainter::CompositionMode_Destination:
- porterDuffRule = DSPD_NONE; // ### need to double check this
- blend = false;
- return;
- case QPainter::CompositionMode_SourceIn:
- porterDuffRule = DSPD_SRC_IN;
- break;
- case QPainter::CompositionMode_DestinationIn:
- porterDuffRule = DSPD_DST_IN;
- break;
- case QPainter::CompositionMode_SourceOut:
- porterDuffRule = DSPD_SRC_OUT;
- break;
- case QPainter::CompositionMode_DestinationOut:
- porterDuffRule = DSPD_DST_OUT;
- break;
- case QPainter::CompositionMode_Xor:
- porterDuffRule = DSPD_XOR;
- blitFlagsFromCompositionMode |= DSBLIT_XOR;
- drawFlagsFromCompositionMode |= DSDRAW_XOR;
- break;
-// case QPainter::CompositionMode_Plus: // ???
-// porterDuffRule = DSPD_ADD;
-// break;
- default:
- qWarning("QDirectFBPaintEnginePrivate::setCompositionMode(): "
- "mode %d not implemented", mode);
- return;
- }
- // intentially not comparing with current porterDuffRule. surface might have changed.
- if (blend) {
- blitFlagsFromCompositionMode |= DSBLIT_BLEND_ALPHACHANNEL;
- drawFlagsFromCompositionMode |= DSDRAW_BLEND;
- }
- if (opacity != 255) {
- setOpacity(opacity);
- }
-}
-
-void QDirectFBPaintEnginePrivate::setOpacity(quint8 op)
-{
- opacity = op;
- if (opacity == 255) {
- blitFlagsFromCompositionMode &= ~DSBLIT_BLEND_COLORALPHA;
- } else {
- blitFlagsFromCompositionMode |= DSBLIT_BLEND_COLORALPHA;
- }
-}
-
-void QDirectFBPaintEnginePrivate::setRenderHints(QPainter::RenderHints hints)
-{
- const bool old = antialiased;
- antialiased = bool(hints & QPainter::Antialiasing);
- if (old != antialiased) {
- setPen(q->state()->pen);
- }
-}
-
-void QDirectFBPaintEnginePrivate::prepareForBlit(bool alpha)
-{
- quint32 blittingFlags = blitFlagsFromCompositionMode;
- if (alpha) {
- surface->SetPorterDuff(surface,
- (blittingFlags & DSBLIT_BLEND_COLORALPHA)
- ? DSPD_NONE
- : porterDuffRule);
- } else {
- blittingFlags &= ~DSBLIT_BLEND_ALPHACHANNEL;
- surface->SetPorterDuff(surface, DSPD_NONE);
- }
- surface->SetColor(surface, 0xff, 0xff, 0xff, opacity);
- surface->SetBlittingFlags(surface, DFBSurfaceBlittingFlags(blittingFlags));
-}
-
-void QDirectFBPaintEnginePrivate::setDFBColor(const QColor &color)
-{
- Q_ASSERT(surface);
- const quint8 alpha = (opacity == 255 ?
- color.alpha() : ALPHA_MUL(color.alpha(), opacity));
- surface->SetColor(surface,
- color.red(), color.green(), color.blue(), alpha);
- quint32 drawingFlags = drawFlagsFromCompositionMode;
- if (alpha == 255) {
- drawingFlags &= ~DSDRAW_BLEND;
- }
- surface->SetPorterDuff(surface, DSPD_NONE);
- // PorterDuff messes up alpha values for primitives
- surface->SetDrawingFlags(surface, DFBSurfaceDrawingFlags(drawingFlags));
-}
-
-void QDirectFBPaintEnginePrivate::drawLines(const QLine *lines, int n) const
-{
- for (int i = 0; i < n; ++i) {
- const QLine l = transform.map(lines[i]);
- surface->DrawLine(surface, l.x1(), l.y1(), l.x2(), l.y2());
- }
-}
-
-void QDirectFBPaintEnginePrivate::drawLines(const QLineF *lines, int n) const
-{
- for (int i = 0; i < n; ++i) {
- const QLine l = transform.map(lines[i]).toLine();
- surface->DrawLine(surface, l.x1(), l.y1(), l.x2(), l.y2());
- }
-}
-
-void QDirectFBPaintEnginePrivate::fillRegion(const QRegion &region) const
-{
- const QVector<QRect> rects = region.rects();
- const int n = rects.size();
- fillRects(rects.constData(), n);
-}
-
-void QDirectFBPaintEnginePrivate::fillRects(const QRect *rects, int n) const
-{
- for (int i = 0; i < n; ++i) {
- const QRect r = transform.mapRect(rects[i]);
- surface->FillRectangle(surface, r.x(), r.y(),
- r.width(), r.height());
- }
-}
-
-void QDirectFBPaintEnginePrivate::fillRects(const QRectF *rects, int n) const
-{
- for (int i = 0; i < n; ++i) {
- const QRect r = transform.mapRect(rects[i]).toRect();
- surface->FillRectangle(surface, r.x(), r.y(),
- r.width(), r.height());
- }
-}
-
-void QDirectFBPaintEnginePrivate::drawRects(const QRect *rects, int n) const
-{
- for (int i = 0; i < n; ++i) {
- const QRect r = transform.mapRect(rects[i]);
- surface->DrawRectangle(surface, r.x(), r.y(),
- r.width() + 1, r.height() + 1);
- }
-}
-
-void QDirectFBPaintEnginePrivate::drawRects(const QRectF *rects, int n) const
-{
- for (int i = 0; i < n; ++i) {
- const QRect r = transform.mapRect(rects[i]).toRect();
- surface->DrawRectangle(surface, r.x(), r.y(),
- r.width() + 1, r.height() + 1);
- }
-}
-
-void QDirectFBPaintEnginePrivate::drawPixmap(const QRectF &dest,
- const QPixmap &pixmap,
- const QRectF &src)
-{
- prepareForBlit(pixmap.hasAlphaChannel());
- QPixmapData *data = pixmap.pixmapData();
- Q_ASSERT(data->classId() == QPixmapData::DirectFBClass);
- QDirectFBPixmapData *dfbData = static_cast<QDirectFBPixmapData*>(data);
- IDirectFBSurface *s = dfbData->directFBSurface();
- const QRect sr = src.toRect();
- const QRect dr = transform.mapRect(dest).toRect();
- const DFBRectangle sRect = { sr.x(), sr.y(), sr.width(), sr.height() };
- DFBResult result;
-
- if (dr.size() == sr.size()) {
- result = surface->Blit(surface, s, &sRect, dr.x(), dr.y());
- } else {
- const DFBRectangle dRect = { dr.x(), dr.y(), dr.width(), dr.height() };
- result = surface->StretchBlit(surface, s, &sRect, &dRect);
- }
- if (result != DFB_OK)
- DirectFBError("QDirectFBPaintEngine::drawPixmap()", result);
-}
-
-void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest,
- const QPixmap &pixmap)
-{
- prepareForBlit(pixmap.hasAlphaChannel());
- QPixmapData *data = pixmap.pixmapData();
- Q_ASSERT(data->classId() == QPixmapData::DirectFBClass);
- QDirectFBPixmapData *dfbData = static_cast<QDirectFBPixmapData*>(data);
- IDirectFBSurface *s = dfbData->directFBSurface();
- const QRect dr = transform.mapRect(dest).toRect();
- DFBResult result = DFB_OK;
-
- if (!matrixScale && dr == QRect(0, 0, fbWidth, fbHeight)) {
- result = surface->TileBlit(surface, s, 0, 0, 0);
- } else if (!matrixScale) {
- const int dx = pixmap.width();
- const int dy = pixmap.height();
- const DFBRectangle rect = { 0, 0, dx, dy };
- QVarLengthArray<DFBRectangle> rects;
- QVarLengthArray<DFBPoint> points;
-
- for (int y = dr.y(); y <= dr.bottom(); y += dy) {
- for (int x = dr.x(); x <= dr.right(); x += dx) {
- rects.append(rect);
- const DFBPoint point = { x, y };
- points.append(point);
- }
- }
- result = surface->BatchBlit(surface, s, rects.constData(),
- points.constData(), points.size());
- } else {
- const QRect sr = transform.mapRect(QRect(0, 0, pixmap.width(), pixmap.height()));
- const int dx = sr.width();
- const int dy = sr.height();
- const DFBRectangle sRect = { 0, 0, dx, dy };
-
- for (int y = dr.y(); y <= dr.bottom(); y += dy) {
- for (int x = dr.x(); x <= dr.right(); x += dx) {
- const DFBRectangle dRect = { x, y, dx, dy };
- result = surface->StretchBlit(surface, s, &sRect, &dRect);
- if (result != DFB_OK) {
- y = dr.bottom() + 1;
- break;
- }
- }
- }
- }
-
- if (result != DFB_OK)
- DirectFBError("QDirectFBPaintEngine::drawTiledPixmap()", result);
-}
-
-void QDirectFBPaintEnginePrivate::drawImage(const QRectF &dest,
- const QImage &image,
- const QRectF &src)
-{
- Q_ASSERT(QDirectFBScreen::getSurfacePixelFormat(image.format()) != DSPF_UNKNOWN);
- CachedImage *img = imageCache[image.cacheKey()];
- IDirectFBSurface *imgSurface = 0;
- bool doRelease = false;
-
- if (img) {
- imgSurface = img->surface();
- } else {
- const int cost = image.width() * image.height() * image.depth() / 8;
- if (cost <= imageCache.maxCost()) {
- img = new CachedImage(image);
- imgSurface = img->surface();
- if (imgSurface) {
- imageCache.insert(image.cacheKey(), img, cost);
- } else {
- delete img;
- img = 0;
- }
- }
-
- if (!imgSurface) {
- DFBSurfaceDescription description;
-
- description = QDirectFBScreen::getSurfaceDescription(image);
- imgSurface = QDirectFBScreen::instance()->createDFBSurface(&description,
- QDirectFBScreen::DontTrackSurface);
- if (!imgSurface) {
- qWarning("QDirectFBPaintEnginePrivate::drawImage");
- return;
- }
-
-#ifndef QT_NO_DIRECTFB_PALETTE
- QDirectFBScreen::setSurfaceColorTable(surface, image);
-#endif
- doRelease = (imgSurface != 0);
- }
- }
-
- const QRect sr = src.toRect();
- const QRect dr = transform.mapRect(dest).toRect();
- const DFBRectangle sRect = { sr.x(), sr.y(), sr.width(), sr.height() };
-
- prepareForBlit(image.hasAlphaChannel());
- if (dr.size() == sr.size()) {
- surface->Blit(surface, imgSurface, &sRect, dr.x(), dr.y());
- } else {
- const DFBRectangle dRect = { dr.x(), dr.y(),
- dr.width(), dr.height() };
- surface->StretchBlit(surface, imgSurface, &sRect, &dRect);
- }
- if (doRelease) {
- surface->ReleaseSource(surface);
- imgSurface->Release(imgSurface);
- }
-}
-
-void QDirectFBPaintEnginePrivate::updateClip()
-{
- if (!dirtyClip)
- return;
-
- if (!clip() || !clip()->enabled) {
- surface->SetClip(surface, NULL);
- dfbHandledClip = true;
- }
- else if (clip()->hasRectClip) {
- const DFBRegion r = {
- clip()->clipRect.x(),
- clip()->clipRect.y(),
- clip()->clipRect.x() + clip()->clipRect.width(),
- clip()->clipRect.y() + clip()->clipRect.height()
- };
- surface->SetClip(surface, &r);
-
- dfbHandledClip = true;
- }
- else
- dfbHandledClip = false;
-
- dirtyClip = false;
-}
-
-void QDirectFBPaintEnginePrivate::systemStateChanged()
-{
- setClipDirty();
- QRasterPaintEnginePrivate::systemStateChanged();
-}
-
QDirectFBPaintEngine::QDirectFBPaintEngine(QPaintDevice *device)
: QRasterPaintEngine(*(new QDirectFBPaintEnginePrivate(this)), device)
{
@@ -738,12 +321,10 @@ bool QDirectFBPaintEngine::end()
return QRasterPaintEngine::end();
}
-
-
void QDirectFBPaintEngine::clipEnabledChanged()
{
Q_D(QDirectFBPaintEngine);
- d->setClipDirty();
+ d->dirtyClip = true;
QRasterPaintEngine::clipEnabledChanged();
}
@@ -755,14 +336,6 @@ void QDirectFBPaintEngine::penChanged()
QRasterPaintEngine::penChanged();
}
-void QDirectFBPaintEngine::brushChanged()
-{
- Q_D(QDirectFBPaintEngine);
- d->setBrush(state()->brush);
-
- QRasterPaintEngine::brushChanged();
-}
-
void QDirectFBPaintEngine::opacityChanged()
{
Q_D(QDirectFBPaintEngine);
@@ -787,9 +360,9 @@ void QDirectFBPaintEngine::renderHintsChanged()
void QDirectFBPaintEngine::transformChanged()
{
Q_D(QDirectFBPaintEngine);
- const bool old = d->matrixScale;
+ const QDirectFBPaintEnginePrivate::Scale old = d->scale;
d->setTransform(state()->transform());
- if (d->matrixScale != old) {
+ if (d->scale != old) {
d->setPen(state()->pen);
}
QRasterPaintEngine::transformChanged();
@@ -799,9 +372,8 @@ void QDirectFBPaintEngine::setState(QPainterState *s)
{
Q_D(QDirectFBPaintEngine);
QRasterPaintEngine::setState(s);
- d->setClipDirty();
+ d->dirtyClip = true;
d->setPen(state()->pen);
- d->setBrush(state()->brush);
d->setOpacity(quint8(state()->opacity * 255));
d->setCompositionMode(state()->compositionMode());
d->setTransform(state()->transform());
@@ -810,7 +382,7 @@ void QDirectFBPaintEngine::setState(QPainterState *s)
void QDirectFBPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op)
{
Q_D(QDirectFBPaintEngine);
- d->setClipDirty();
+ d->dirtyClip = true;
const QPoint bottom = d->transform.map(QPoint(0, path.controlPointRect().y2));
if (bottom.y() >= d->lastLockedHeight)
d->lock();
@@ -820,8 +392,8 @@ void QDirectFBPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op)
void QDirectFBPaintEngine::clip(const QRect &rect, Qt::ClipOperation op)
{
Q_D(QDirectFBPaintEngine);
- d->setClipDirty();
- if (!d->clip()->hasRectClip && d->clip()->enabled) {
+ d->dirtyClip = true;
+ if (d->clip() && !d->clip()->hasRectClip && d->clip()->enabled) {
const QPoint bottom = d->transform.map(QPoint(0, rect.bottom()));
if (bottom.y() >= d->lastLockedHeight)
d->lock();
@@ -834,8 +406,11 @@ void QDirectFBPaintEngine::drawRects(const QRect *rects, int rectCount)
{
Q_D(QDirectFBPaintEngine);
d->updateClip();
- if (!d->dfbCanHandleClip() || d->matrixRotShear || !d->simpleBrush
- || !d->simplePen || d->forceRasterPrimitives) {
+ const QBrush &brush = state()->brush;
+ if (!d->dfbCanHandleClip() || d->matrixRotShear
+ || !d->simplePen || d->forceRasterPrimitives
+ || !d->isSimpleBrush(brush)) {
+ RASTERFALLBACK(DRAW_RECTS, rectCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawRects(rects, rectCount);
return;
@@ -843,8 +418,8 @@ void QDirectFBPaintEngine::drawRects(const QRect *rects, int rectCount)
d->unlock();
- if (d->brush != Qt::NoBrush) {
- d->setDFBColor(d->brush.color());
+ if (brush != Qt::NoBrush) {
+ d->setDFBColor(brush.color());
d->fillRects(rects, rectCount);
}
if (d->pen != Qt::NoPen) {
@@ -857,8 +432,11 @@ void QDirectFBPaintEngine::drawRects(const QRectF *rects, int rectCount)
{
Q_D(QDirectFBPaintEngine);
d->updateClip();
- if (!d->dfbCanHandleClip() || d->matrixRotShear || !d->simpleBrush
- || !d->simplePen || d->forceRasterPrimitives) {
+ const QBrush &brush = state()->brush;
+ if (!d->dfbCanHandleClip() || d->matrixRotShear
+ || !d->simplePen || d->forceRasterPrimitives
+ || !d->isSimpleBrush(brush)) {
+ RASTERFALLBACK(DRAW_RECTS, rectCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawRects(rects, rectCount);
return;
@@ -866,8 +444,8 @@ void QDirectFBPaintEngine::drawRects(const QRectF *rects, int rectCount)
d->unlock();
- if (d->brush != Qt::NoBrush) {
- d->setDFBColor(d->brush.color());
+ if (brush != Qt::NoBrush) {
+ d->setDFBColor(brush.color());
d->fillRects(rects, rectCount);
}
if (d->pen != Qt::NoPen) {
@@ -881,6 +459,7 @@ void QDirectFBPaintEngine::drawLines(const QLine *lines, int lineCount)
Q_D(QDirectFBPaintEngine);
d->updateClip();
if (!d->simplePen || !d->dfbCanHandleClip() || d->forceRasterPrimitives) {
+ RASTERFALLBACK(DRAW_LINES, lineCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawLines(lines, lineCount);
return;
@@ -898,6 +477,7 @@ void QDirectFBPaintEngine::drawLines(const QLineF *lines, int lineCount)
Q_D(QDirectFBPaintEngine);
d->updateClip();
if (!d->simplePen || !d->dfbCanHandleClip() || d->forceRasterPrimitives) {
+ RASTERFALLBACK(DRAW_LINES, lineCount, VOID_ARG(), VOID_ARG());
d->lock();
QRasterPaintEngine::drawLines(lines, lineCount);
return;
@@ -915,22 +495,53 @@ void QDirectFBPaintEngine::drawImage(const QRectF &r, const QImage &image,
Qt::ImageConversionFlags flags)
{
Q_D(QDirectFBPaintEngine);
- Q_UNUSED(flags); // XXX
+ Q_UNUSED(flags);
+
+ /* This is hard to read. The way it works is like this:
+
+ - If you do not have support for preallocated surfaces and do not use an
+ image cache we always fall back to raster engine.
+
+ - If it's rotated/sheared/mirrored (negative scale) or we can't
+ clip it we fall back to raster engine.
+
+ - If we don't cache the image, but we do have support for
+ preallocated surfaces we fall back to the raster engine if the
+ image is in a format DirectFB can't handle.
+
+ - If we do cache the image but don't have support for preallocated
+ images and the cost of caching the image (bytes used) is higher
+ than the max image cache size we fall back to raster engine.
+ */
-#ifndef QT_NO_DIRECTFB_PREALLOCATED
d->updateClip();
- if (!d->dfbCanHandleClip(r) || d->matrixRotShear
- || QDirectFBScreen::getSurfacePixelFormat(image.format()) == DSPF_UNKNOWN)
+#if !defined QT_NO_DIRECTFB_PREALLOCATED || defined QT_DIRECTFB_IMAGECACHE
+ if (d->matrixRotShear
+ || d->scale == QDirectFBPaintEnginePrivate::NegativeScale
+ || !d->dfbCanHandleClip(r)
+#ifndef QT_DIRECTFB_IMAGECACHE
+ || QDirectFBScreen::getSurfacePixelFormat(image.format()) == DSPF_UNKNOWN
+#elif defined QT_NO_DIRECTFB_PREALLOCATED
+ || QDirectFBPaintEnginePrivate::cacheCost(image) > imageCache.maxCost()
+#endif
+ )
#endif
{
+ RASTERFALLBACK(DRAW_IMAGE, r, image.size(), sr);
d->lock();
QRasterPaintEngine::drawImage(r, image, sr, flags);
return;
}
-
-#ifndef QT_NO_DIRECTFB_PREALLOCATED
+#if !defined QT_NO_DIRECTFB_PREALLOCATED || defined QT_DIRECTFB_IMAGECACHE
d->unlock();
- d->drawImage(r, image, sr);
+ bool release;
+ IDirectFBSurface *imgSurface = d->getSurface(image, &release);
+ d->prepareForBlit(QDirectFBScreen::hasAlpha(imgSurface));
+ d->blit(r, imgSurface, sr);
+ if (release) {
+ imgSurface->ReleaseSource(imgSurface);
+ imgSurface->Release(imgSurface);
+ }
#endif
}
@@ -946,15 +557,23 @@ void QDirectFBPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pixmap,
d->updateClip();
if (pixmap.pixmapData()->classId() != QPixmapData::DirectFBClass) {
+ RASTERFALLBACK(DRAW_PIXMAP, r, pixmap.size(), sr);
d->lock();
QRasterPaintEngine::drawPixmap(r, pixmap, sr);
- } else if (!d->dfbCanHandleClip(r) || d->matrixRotShear) {
- const QImage *img = static_cast<QDirectFBPixmapData*>(pixmap.pixmapData())->buffer();
+ } else if (!d->dfbCanHandleClip(r) || d->matrixRotShear
+ || d->scale == QDirectFBPaintEnginePrivate::NegativeScale) {
+ RASTERFALLBACK(DRAW_PIXMAP, r, pixmap.size(), sr);
+ const QImage *img = static_cast<QDirectFBPixmapData*>(pixmap.pixmapData())->buffer(DSLF_READ);
d->lock();
QRasterPaintEngine::drawImage(r, *img, sr);
} else {
d->unlock();
- d->drawPixmap(r, pixmap, sr);
+ d->prepareForBlit(pixmap.hasAlphaChannel());
+ QPixmapData *data = pixmap.pixmapData();
+ Q_ASSERT(data->classId() == QPixmapData::DirectFBClass);
+ QDirectFBPixmapData *dfbData = static_cast<QDirectFBPixmapData*>(data);
+ IDirectFBSurface *s = dfbData->directFBSurface();
+ d->blit(r, s, sr);
}
}
@@ -970,10 +589,13 @@ void QDirectFBPaintEngine::drawTiledPixmap(const QRectF &r,
Q_D(QDirectFBPaintEngine);
d->updateClip();
if (pixmap.pixmapData()->classId() != QPixmapData::DirectFBClass) {
+ RASTERFALLBACK(DRAW_TILED_PIXMAP, r, pixmap.size(), sp);
d->lock();
QRasterPaintEngine::drawTiledPixmap(r, pixmap, sp);
- } else if (!d->dfbCanHandleClip(r) || d->matrixRotShear || !sp.isNull()) {
- const QImage *img = static_cast<QDirectFBPixmapData*>(pixmap.pixmapData())->buffer();
+ } else if (!d->dfbCanHandleClip(r) || d->matrixRotShear || !sp.isNull()
+ || d->scale == QDirectFBPaintEnginePrivate::NegativeScale) {
+ RASTERFALLBACK(DRAW_TILED_PIXMAP, r, pixmap.size(), sp);
+ const QImage *img = static_cast<QDirectFBPixmapData*>(pixmap.pixmapData())->buffer(DSLF_READ);
d->lock();
QRasterPixmapData *data = new QRasterPixmapData(QPixmapData::PixmapType);
data->fromImage(*img, Qt::AutoColor);
@@ -988,6 +610,7 @@ void QDirectFBPaintEngine::drawTiledPixmap(const QRectF &r,
void QDirectFBPaintEngine::stroke(const QVectorPath &path, const QPen &pen)
{
+ RASTERFALLBACK(STROKE_PATH, path, VOID_ARG(), VOID_ARG());
Q_D(QDirectFBPaintEngine);
d->lock();
QRasterPaintEngine::stroke(path, pen);
@@ -995,6 +618,7 @@ void QDirectFBPaintEngine::stroke(const QVectorPath &path, const QPen &pen)
void QDirectFBPaintEngine::drawPath(const QPainterPath &path)
{
+ RASTERFALLBACK(DRAW_PATH, path, VOID_ARG(), VOID_ARG());
Q_D(QDirectFBPaintEngine);
d->lock();
QRasterPaintEngine::drawPath(path);
@@ -1002,6 +626,7 @@ void QDirectFBPaintEngine::drawPath(const QPainterPath &path)
void QDirectFBPaintEngine::drawPoints(const QPointF *points, int pointCount)
{
+ RASTERFALLBACK(DRAW_POINTS, pointCount, VOID_ARG(), VOID_ARG());
Q_D(QDirectFBPaintEngine);
d->lock();
QRasterPaintEngine::drawPoints(points, pointCount);
@@ -1009,6 +634,7 @@ void QDirectFBPaintEngine::drawPoints(const QPointF *points, int pointCount)
void QDirectFBPaintEngine::drawPoints(const QPoint *points, int pointCount)
{
+ RASTERFALLBACK(DRAW_POINTS, pointCount, VOID_ARG(), VOID_ARG());
Q_D(QDirectFBPaintEngine);
d->lock();
QRasterPaintEngine::drawPoints(points, pointCount);
@@ -1016,6 +642,7 @@ void QDirectFBPaintEngine::drawPoints(const QPoint *points, int pointCount)
void QDirectFBPaintEngine::drawEllipse(const QRectF &rect)
{
+ RASTERFALLBACK(DRAW_ELLIPSE, rect, VOID_ARG(), VOID_ARG());
Q_D(QDirectFBPaintEngine);
d->lock();
QRasterPaintEngine::drawEllipse(rect);
@@ -1024,6 +651,7 @@ void QDirectFBPaintEngine::drawEllipse(const QRectF &rect)
void QDirectFBPaintEngine::drawPolygon(const QPointF *points, int pointCount,
PolygonDrawMode mode)
{
+ RASTERFALLBACK(DRAW_POLYGON, pointCount, mode, VOID_ARG());
Q_D(QDirectFBPaintEngine);
d->lock();
QRasterPaintEngine::drawPolygon(points, pointCount, mode);
@@ -1032,6 +660,7 @@ void QDirectFBPaintEngine::drawPolygon(const QPointF *points, int pointCount,
void QDirectFBPaintEngine::drawPolygon(const QPoint *points, int pointCount,
PolygonDrawMode mode)
{
+ RASTERFALLBACK(DRAW_POLYGON, pointCount, mode, VOID_ARG());
Q_D(QDirectFBPaintEngine);
d->lock();
QRasterPaintEngine::drawPolygon(points, pointCount, mode);
@@ -1040,6 +669,7 @@ void QDirectFBPaintEngine::drawPolygon(const QPoint *points, int pointCount,
void QDirectFBPaintEngine::drawTextItem(const QPointF &p,
const QTextItem &textItem)
{
+ RASTERFALLBACK(DRAW_TEXT, p, textItem.text(), VOID_ARG());
Q_D(QDirectFBPaintEngine);
d->lock();
QRasterPaintEngine::drawTextItem(p, textItem);
@@ -1047,6 +677,7 @@ void QDirectFBPaintEngine::drawTextItem(const QPointF &p,
void QDirectFBPaintEngine::fill(const QVectorPath &path, const QBrush &brush)
{
+ RASTERFALLBACK(FILL_PATH, path, brush, VOID_ARG());
Q_D(QDirectFBPaintEngine);
d->lock();
QRasterPaintEngine::fill(path, brush);
@@ -1080,6 +711,7 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QBrush &brush)
break;
}
}
+ RASTERFALLBACK(FILL_RECT, rect, brush, VOID_ARG());
d->lock();
QRasterPaintEngine::fillRect(rect, brush);
}
@@ -1089,6 +721,7 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QColor &color)
Q_D(QDirectFBPaintEngine);
d->updateClip();
if (!d->dfbCanHandleClip() || d->matrixRotShear || d->forceRasterPrimitives) {
+ RASTERFALLBACK(FILL_RECT, rect, color, VOID_ARG());
d->lock();
QRasterPaintEngine::fillRect(rect, color);
} else {
@@ -1105,6 +738,7 @@ void QDirectFBPaintEngine::drawColorSpans(const QSpan *spans, int count,
{
Q_D(QDirectFBPaintEngine);
if (d->forceRasterPrimitives) {
+ RASTERFALLBACK(DRAW_COLORSPANS, count, color, VOID_ARG());
d->lock();
QRasterPaintEngine::drawColorSpans(spans, count, color);
} else {
@@ -1149,4 +783,457 @@ void QDirectFBPaintEngine::drawBufferSpan(const uint *buffer, int bufsize,
d->surface->Blit(d->surface, src, &rect, x, y);
}
+#ifdef QT_DIRECTFB_IMAGECACHE
+static void cachedImageCleanupHook(qint64 key)
+{
+ delete imageCache.take(key);
+}
+void QDirectFBPaintEngine::initImageCache(int size)
+{
+ Q_ASSERT(size >= 0);
+ imageCache.setMaxCost(size);
+ typedef void (*_qt_image_cleanup_hook_64)(qint64);
+ extern Q_GUI_EXPORT _qt_image_cleanup_hook_64 qt_image_cleanup_hook_64;
+ qt_image_cleanup_hook_64 = ::cachedImageCleanupHook;
+}
+
+#endif // QT_DIRECTFB_IMAGECACHE
+
+// ---- QDirectFBPaintEnginePrivate ----
+
+
+QDirectFBPaintEnginePrivate::QDirectFBPaintEnginePrivate(QDirectFBPaintEngine *p)
+ : surface(0), antialiased(false), forceRasterPrimitives(false), simplePen(false),
+ matrixRotShear(false), scale(NoScale), lastLockedHeight(-1),
+ fbWidth(-1), fbHeight(-1), opacity(255), drawFlagsFromCompositionMode(0),
+ blitFlagsFromCompositionMode(0), porterDuffRule(DSPD_SRC_OVER), dirtyClip(true),
+ dfbHandledClip(false), dfbDevice(0), lockedMemory(0), q(p)
+{
+ fb = QDirectFBScreen::instance()->dfb();
+ ignoreSystemClip = QDirectFBScreen::instance()->directFBFlags() & QDirectFBScreen::IgnoreSystemClip;
+ surfaceCache = new SurfaceCache;
+}
+
+QDirectFBPaintEnginePrivate::~QDirectFBPaintEnginePrivate()
+{
+ delete surfaceCache;
+}
+
+bool QDirectFBPaintEnginePrivate::dfbCanHandleClip(const QRect &rect) const
+{
+ // TODO: Check to see if DirectFB can handle the clip for the given rect
+ return dfbHandledClip;
+}
+
+bool QDirectFBPaintEnginePrivate::dfbCanHandleClip(const QRectF &rect) const
+{
+ // TODO: Check to see if DirectFB can handle the clip for the given rect
+ return dfbHandledClip;
+}
+
+bool QDirectFBPaintEnginePrivate::dfbCanHandleClip() const
+{
+ return dfbHandledClip;
+}
+
+bool QDirectFBPaintEnginePrivate::isSimpleBrush(const QBrush &brush) const
+{
+ return (brush.style() == Qt::NoBrush) || (brush.style() == Qt::SolidPattern && !antialiased);
+}
+
+void QDirectFBPaintEnginePrivate::lock()
+{
+ // We will potentially get a new pointer to the buffer after a
+ // lock so we need to call the base implementation of prepare so
+ // it updates its rasterBuffer to point to the new buffer address.
+ Q_ASSERT(dfbDevice);
+ if (dfbDevice->lockFlags() != (DSLF_WRITE|DSLF_READ)
+ || dfbDevice->height() != lastLockedHeight
+ || dfbDevice->memory() != lockedMemory) {
+ prepare(dfbDevice);
+ lastLockedHeight = dfbDevice->height();
+ lockedMemory = dfbDevice->memory();
+ }
+}
+
+void QDirectFBPaintEnginePrivate::unlock()
+{
+ Q_ASSERT(dfbDevice);
+ dfbDevice->unlockDirectFB();
+ lockedMemory = 0;
+}
+
+void QDirectFBPaintEnginePrivate::setTransform(const QTransform &m)
+{
+ transform = m;
+ matrixRotShear = (transform.m12() != 0 || transform.m21() != 0);
+ if (qMin(transform.m11(), transform.m22()) < 0) {
+ scale = NegativeScale;
+ } else if (transform.m11() != 1 || transform.m22() != 1) {
+ scale = Scaled;
+ } else {
+ scale = NoScale;
+ }
+}
+
+void QDirectFBPaintEnginePrivate::begin(QPaintDevice *device)
+{
+ lastLockedHeight = -1;
+ if (device->devType() == QInternal::CustomRaster)
+ dfbDevice = static_cast<QDirectFBPaintDevice*>(device);
+ else if (device->devType() == QInternal::Pixmap) {
+ QPixmapData *data = static_cast<QPixmap*>(device)->pixmapData();
+ Q_ASSERT(data->classId() == QPixmapData::DirectFBClass);
+ QDirectFBPixmapData* dfbPixmapData = static_cast<QDirectFBPixmapData*>(data);
+ dfbDevice = static_cast<QDirectFBPaintDevice*>(dfbPixmapData);
+ }
+
+ if (dfbDevice)
+ surface = dfbDevice->directFBSurface();
+
+ if (!surface) {
+ qFatal("QDirectFBPaintEngine used on an invalid device: 0x%x",
+ device->devType());
+ }
+ lockedMemory = 0;
+ forceRasterPrimitives = dfbDevice->forceRasterPrimitives();
+
+ surface->GetSize(surface, &fbWidth, &fbHeight);
+
+ setTransform(QTransform());
+ antialiased = false;
+ opacity = 255;
+ setCompositionMode(q->state()->compositionMode());
+ dirtyClip = true;
+ setPen(q->state()->pen);
+ setDFBColor(pen.color());
+}
+
+void QDirectFBPaintEnginePrivate::end()
+{
+ lockedMemory = 0;
+ dfbDevice = 0;
+ surface->ReleaseSource(surface);
+ surface->SetClip(surface, NULL);
+ surface = 0;
+}
+
+void QDirectFBPaintEnginePrivate::setPen(const QPen &p)
+{
+ pen = p;
+ simplePen = (pen.style() == Qt::NoPen) ||
+ (pen.style() == Qt::SolidLine
+ && !antialiased
+ && (pen.brush().style() == Qt::SolidPattern)
+ && (pen.widthF() <= 1 && scale != NoScale));
+}
+
+void QDirectFBPaintEnginePrivate::setCompositionMode(QPainter::CompositionMode mode)
+{
+ blitFlagsFromCompositionMode = DSBLIT_NOFX;
+ drawFlagsFromCompositionMode = DSDRAW_NOFX;
+
+ bool blend = true;
+ switch (mode) {
+ case QPainter::CompositionMode_SourceOver:
+ porterDuffRule = DSPD_SRC_OVER;
+ break;
+ case QPainter::CompositionMode_DestinationOver:
+ porterDuffRule = DSPD_DST_OVER;
+ break;
+ case QPainter::CompositionMode_Clear:
+ porterDuffRule = DSPD_CLEAR;
+ blend = false;
+ break;
+ case QPainter::CompositionMode_Source:
+ porterDuffRule = DSPD_SRC;
+ blend = false;
+ break;
+ case QPainter::CompositionMode_Destination:
+ porterDuffRule = DSPD_NONE; // ### need to double check this
+ blend = false;
+ return;
+ case QPainter::CompositionMode_SourceIn:
+ porterDuffRule = DSPD_SRC_IN;
+ break;
+ case QPainter::CompositionMode_DestinationIn:
+ porterDuffRule = DSPD_DST_IN;
+ break;
+ case QPainter::CompositionMode_SourceOut:
+ porterDuffRule = DSPD_SRC_OUT;
+ break;
+ case QPainter::CompositionMode_DestinationOut:
+ porterDuffRule = DSPD_DST_OUT;
+ break;
+ case QPainter::CompositionMode_Xor:
+ porterDuffRule = DSPD_XOR;
+ blitFlagsFromCompositionMode |= DSBLIT_XOR;
+ drawFlagsFromCompositionMode |= DSDRAW_XOR;
+ break;
+// case QPainter::CompositionMode_Plus: // ???
+// porterDuffRule = DSPD_ADD;
+// break;
+ default:
+ qWarning("QDirectFBPaintEnginePrivate::setCompositionMode(): "
+ "mode %d not implemented", mode);
+ return;
+ }
+ // intentially not comparing with current porterDuffRule. surface might have changed.
+ if (blend) {
+ blitFlagsFromCompositionMode |= DSBLIT_BLEND_ALPHACHANNEL;
+ drawFlagsFromCompositionMode |= DSDRAW_BLEND;
+ }
+ if (opacity != 255) {
+ setOpacity(opacity);
+ }
+}
+
+void QDirectFBPaintEnginePrivate::setOpacity(quint8 op)
+{
+ opacity = op;
+ if (opacity == 255) {
+ blitFlagsFromCompositionMode &= ~DSBLIT_BLEND_COLORALPHA;
+ } else {
+ blitFlagsFromCompositionMode |= DSBLIT_BLEND_COLORALPHA;
+ }
+}
+
+void QDirectFBPaintEnginePrivate::setRenderHints(QPainter::RenderHints hints)
+{
+ const bool old = antialiased;
+ antialiased = bool(hints & QPainter::Antialiasing);
+ if (old != antialiased) {
+ setPen(q->state()->pen);
+ }
+}
+
+void QDirectFBPaintEnginePrivate::prepareForBlit(bool alpha)
+{
+ quint32 blittingFlags = blitFlagsFromCompositionMode;
+ if (alpha) {
+ surface->SetPorterDuff(surface,
+ (blittingFlags & DSBLIT_BLEND_COLORALPHA)
+ ? DSPD_NONE
+ : porterDuffRule);
+ } else {
+ blittingFlags &= ~DSBLIT_BLEND_ALPHACHANNEL;
+ surface->SetPorterDuff(surface, DSPD_NONE);
+ }
+ surface->SetColor(surface, 0xff, 0xff, 0xff, opacity);
+ surface->SetBlittingFlags(surface, DFBSurfaceBlittingFlags(blittingFlags));
+}
+
+void QDirectFBPaintEnginePrivate::setDFBColor(const QColor &color)
+{
+ Q_ASSERT(surface);
+ const quint8 alpha = (opacity == 255 ?
+ color.alpha() : ALPHA_MUL(color.alpha(), opacity));
+ surface->SetColor(surface,
+ color.red(), color.green(), color.blue(), alpha);
+ quint32 drawingFlags = drawFlagsFromCompositionMode;
+ if (alpha == 255) {
+ drawingFlags &= ~DSDRAW_BLEND;
+ }
+ surface->SetPorterDuff(surface, DSPD_NONE);
+ // PorterDuff messes up alpha values for primitives
+ surface->SetDrawingFlags(surface, DFBSurfaceDrawingFlags(drawingFlags));
+}
+
+void QDirectFBPaintEnginePrivate::drawLines(const QLine *lines, int n)
+{
+ for (int i = 0; i < n; ++i) {
+ const QLine l = transform.map(lines[i]);
+ surface->DrawLine(surface, l.x1(), l.y1(), l.x2(), l.y2());
+ }
+}
+
+void QDirectFBPaintEnginePrivate::drawLines(const QLineF *lines, int n)
+{
+ for (int i = 0; i < n; ++i) {
+ const QLine l = transform.map(lines[i]).toLine();
+ surface->DrawLine(surface, l.x1(), l.y1(), l.x2(), l.y2());
+ }
+}
+
+void QDirectFBPaintEnginePrivate::fillRegion(const QRegion &region)
+{
+ Q_ASSERT(isSimpleBrush(q->state()->brush));
+ setDFBColor(q->state()->brush.color());
+ const QVector<QRect> rects = region.rects();
+ const int n = rects.size();
+ fillRects(rects.constData(), n);
+}
+
+void QDirectFBPaintEnginePrivate::fillRects(const QRect *rects, int n)
+{
+ for (int i = 0; i < n; ++i) {
+ const QRect r = transform.mapRect(rects[i]);
+ surface->FillRectangle(surface, r.x(), r.y(),
+ r.width(), r.height());
+ }
+}
+
+void QDirectFBPaintEnginePrivate::fillRects(const QRectF *rects, int n)
+{
+ for (int i = 0; i < n; ++i) {
+ const QRect r = transform.mapRect(rects[i]).toRect();
+ surface->FillRectangle(surface, r.x(), r.y(),
+ r.width(), r.height());
+ }
+}
+
+void QDirectFBPaintEnginePrivate::drawRects(const QRect *rects, int n)
+{
+ for (int i = 0; i < n; ++i) {
+ const QRect r = transform.mapRect(rects[i]);
+ surface->DrawRectangle(surface, r.x(), r.y(),
+ r.width() + 1, r.height() + 1);
+ }
+}
+
+void QDirectFBPaintEnginePrivate::drawRects(const QRectF *rects, int n)
+{
+ for (int i = 0; i < n; ++i) {
+ const QRect r = transform.mapRect(rects[i]).toRect();
+ surface->DrawRectangle(surface, r.x(), r.y(),
+ r.width() + 1, r.height() + 1);
+ }
+}
+
+IDirectFBSurface *QDirectFBPaintEnginePrivate::getSurface(const QImage &img, bool *release)
+{
+#ifndef QT_DIRECTFB_IMAGECACHE
+ *release = true;
+ return QDirectFBScreen::instance()->createDFBSurface(img, QDirectFBScreen::DontTrackSurface);
+#else
+ const qint64 key = img.cacheKey();
+ *release = false;
+ if (imageCache.contains(key)) {
+ return imageCache[key]->surface;
+ }
+
+ const int cost = cacheCost(img);
+ const bool cache = cost <= imageCache.maxCost();
+ QDirectFBScreen *screen = QDirectFBScreen::instance();
+ const QImage::Format format = (img.format() == screen->alphaPixmapFormat() || QDirectFBPixmapData::hasAlphaChannel(img)
+ ? screen->alphaPixmapFormat() : screen->pixelFormat());
+
+ IDirectFBSurface *surface = screen->copyToDFBSurface(img, format,
+ cache
+ ? QDirectFBScreen::TrackSurface
+ : QDirectFBScreen::DontTrackSurface);
+ if (cache) {
+ CachedImage *cachedImage = new CachedImage;
+ const_cast<QImage&>(img).data_ptr()->is_cached = true;
+ cachedImage->surface = surface;
+ imageCache.insert(key, cachedImage, cost);
+ } else {
+ *release = true;
+ }
+ return surface;
+#endif
+}
+
+
+void QDirectFBPaintEnginePrivate::blit(const QRectF &dest, IDirectFBSurface *s, const QRectF &src)
+{
+ const QRect sr = src.toRect();
+ const QRect dr = transform.mapRect(dest).toRect();
+ const DFBRectangle sRect = { sr.x(), sr.y(), sr.width(), sr.height() };
+ DFBResult result;
+
+ if (dr.size() == sr.size()) {
+ result = surface->Blit(surface, s, &sRect, dr.x(), dr.y());
+ } else {
+ const DFBRectangle dRect = { dr.x(), dr.y(), dr.width(), dr.height() };
+ result = surface->StretchBlit(surface, s, &sRect, &dRect);
+ }
+ if (result != DFB_OK)
+ DirectFBError("QDirectFBPaintEngine::drawPixmap()", result);
+}
+
+void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest,
+ const QPixmap &pixmap)
+{
+ prepareForBlit(pixmap.hasAlphaChannel());
+ QPixmapData *data = pixmap.pixmapData();
+ Q_ASSERT(data->classId() == QPixmapData::DirectFBClass);
+ QDirectFBPixmapData *dfbData = static_cast<QDirectFBPixmapData*>(data);
+ IDirectFBSurface *s = dfbData->directFBSurface();
+ const QRect dr = transform.mapRect(dest).toRect();
+ DFBResult result = DFB_OK;
+
+ if (scale == NoScale && dr == QRect(0, 0, fbWidth, fbHeight)) {
+ result = surface->TileBlit(surface, s, 0, 0, 0);
+ } else if (scale == NoScale) {
+ const int dx = pixmap.width();
+ const int dy = pixmap.height();
+ const DFBRectangle rect = { 0, 0, dx, dy };
+ QVarLengthArray<DFBRectangle> rects;
+ QVarLengthArray<DFBPoint> points;
+
+ for (int y = dr.y(); y <= dr.bottom(); y += dy) {
+ for (int x = dr.x(); x <= dr.right(); x += dx) {
+ rects.append(rect);
+ const DFBPoint point = { x, y };
+ points.append(point);
+ }
+ }
+ result = surface->BatchBlit(surface, s, rects.constData(),
+ points.constData(), points.size());
+ } else {
+ const QRect sr = transform.mapRect(QRect(0, 0, pixmap.width(), pixmap.height()));
+ const int dx = sr.width();
+ const int dy = sr.height();
+ const DFBRectangle sRect = { 0, 0, dx, dy };
+
+ for (int y = dr.y(); y <= dr.bottom(); y += dy) {
+ for (int x = dr.x(); x <= dr.right(); x += dx) {
+ const DFBRectangle dRect = { x, y, dx, dy };
+ result = surface->StretchBlit(surface, s, &sRect, &dRect);
+ if (result != DFB_OK) {
+ y = dr.bottom() + 1;
+ break;
+ }
+ }
+ }
+ }
+
+ if (result != DFB_OK)
+ DirectFBError("QDirectFBPaintEngine::drawTiledPixmap()", result);
+}
+
+void QDirectFBPaintEnginePrivate::updateClip()
+{
+ if (!dirtyClip)
+ return;
+
+ const QClipData *clipData = clip();
+ if (!clipData || !clipData->enabled) {
+ surface->SetClip(surface, NULL);
+ dfbHandledClip = true;
+ } else if (clipData->hasRectClip) {
+ const DFBRegion r = {
+ clipData->clipRect.x(),
+ clipData->clipRect.y(),
+ clipData->clipRect.x() + clipData->clipRect.width(),
+ clipData->clipRect.y() + clipData->clipRect.height()
+ };
+ surface->SetClip(surface, &r);
+ dfbHandledClip = true;
+ } else if (clipData->hasRegionClip && ignoreSystemClip && clipData->clipRegion == systemClip) {
+ dfbHandledClip = true;
+ } else {
+ dfbHandledClip = false;
+ }
+
+ dirtyClip = false;
+}
+
+void QDirectFBPaintEnginePrivate::systemStateChanged()
+{
+ dirtyClip = true;
+ QRasterPaintEnginePrivate::systemStateChanged();
+}
+
#endif // QT_NO_DIRECTFB
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h
index 3c2cefa..d33255b 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h
@@ -96,7 +96,6 @@ public:
virtual void clipEnabledChanged();
virtual void penChanged();
- virtual void brushChanged();
virtual void opacityChanged();
virtual void compositionModeChanged();
virtual void renderHintsChanged();
@@ -107,6 +106,7 @@ public:
virtual void clip(const QVectorPath &path, Qt::ClipOperation op);
virtual void clip(const QRect &rect, Qt::ClipOperation op);
+ static void initImageCache(int size);
};
QT_END_HEADER
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
index 0a1696a..c9b676a 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
@@ -157,13 +157,26 @@ static bool checkForAlphaPixels(const QImage &img)
return false;
}
-void QDirectFBPixmapData::fromImage(const QImage &img,
+bool QDirectFBPixmapData::hasAlphaChannel(const QImage &img)
+{
+#ifndef QT_NO_DIRECTFB_OPAQUE_DETECTION
+ return ::checkForAlphaPixels(img);
+#else
+ return img.hasAlphaChannel();
+#endif
+}
+
+
+void QDirectFBPixmapData::fromImage(const QImage &i,
Qt::ImageConversionFlags flags)
{
- Q_ASSERT(img.depth() != 1); // these should be handled by QRasterPixmapData
+#ifdef QT_NO_DIRECTFB_OPAQUE_DETECTION
+ Q_UNUSED(flags);
+#endif
+ const QImage img = (i.depth() == 1 ? i.convertToFormat(screen->alphaPixmapFormat()) : i);
if (img.hasAlphaChannel()
#ifndef QT_NO_DIRECTFB_OPAQUE_DETECTION
- && (flags & Qt::NoOpaqueDetection || ::checkForAlphaPixels(img))
+ && (flags & Qt::NoOpaqueDetection || QDirectFBPixmapData::hasAlphaChannel(img))
#endif
) {
alpha = true;
@@ -258,7 +271,7 @@ void QDirectFBPixmapData::fill(const QColor &color)
forceRaster = false;
setSerialNumber(++global_ser_no);
if (!dfbSurface) {
- qWarning("QDirecttFBPixmapData::fill()");
+ qWarning("QDirectFBPixmapData::fill()");
invalidate();
return;
}
@@ -267,16 +280,17 @@ void QDirectFBPixmapData::fill(const QColor &color)
if (forceRaster) {
// in DSPF_RGB32 all dfb drawing causes the Alpha byte to be
// set to 0. This causes issues for the raster engine.
- char *mem;
- int bpl;
- const int h = QPixmapData::height();
- dfbSurface->Lock(dfbSurface, DSLF_WRITE, (void**)&mem, &bpl);
- const int c = color.rgba();
- for (int i = 0; i < h; ++i) {
- memset(mem, c, bpl);
- mem += bpl;
+ uchar *mem = QDirectFBScreen::lockSurface(dfbSurface, DSLF_WRITE, &bpl);
+ if (mem) {
+ const int h = QPixmapData::height();
+ const int w = QPixmapData::width() * 4; // 4 bytes per 32 bit pixel
+ const int c = color.rgba();
+ for (int i = 0; i < h; ++i) {
+ memset(mem, c, w);
+ mem += bpl;
+ }
+ dfbSurface->Unlock(dfbSurface);
}
- dfbSurface->Unlock(dfbSurface);
} else {
dfbSurface->Clear(dfbSurface, color.red(), color.green(), color.blue(),
color.alpha());
@@ -353,7 +367,7 @@ QImage QDirectFBPixmapData::toImage() const
return img->copy();
}
-QPaintEngine* QDirectFBPixmapData::paintEngine() const
+QPaintEngine *QDirectFBPixmapData::paintEngine() const
{
if (!engine) {
// QDirectFBPixmapData is also a QCustomRasterPaintDevice, so pass
@@ -364,10 +378,15 @@ QPaintEngine* QDirectFBPixmapData::paintEngine() const
return engine;
}
+QImage *QDirectFBPixmapData::buffer()
+{
+ lockDirectFB(DSLF_READ|DSLF_WRITE);
+ return lockedImage;
+}
-QImage* QDirectFBPixmapData::buffer()
+QImage * QDirectFBPixmapData::buffer(uint lockFlags)
{
- lockDirectFB();
+ lockDirectFB(lockFlags);
return lockedImage;
}
@@ -377,3 +396,4 @@ void QDirectFBPixmapData::invalidate()
alpha = false;
format = QImage::Format_Invalid;
}
+
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h
index 6cfafcd..7cd60d6 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h
@@ -69,11 +69,13 @@ public:
Qt::TransformationMode mode) const;
QImage toImage() const;
QPaintEngine* paintEngine() const;
- QImage *buffer();
+ virtual QImage *buffer();
+ QImage *buffer(uint lockFlags);
// Pure virtual in QPixmapData, so re-implement here and delegate to QDirectFBPaintDevice
int metric(QPaintDevice::PaintDeviceMetric m) const {return QDirectFBPaintDevice::metric(m);}
inline QImage::Format pixelFormat() const { return format; }
+ static bool hasAlphaChannel(const QImage &img);
private:
void invalidate();
QDirectFBPaintEngine *engine;
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
index 041d522..65fddbf 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
@@ -40,7 +40,7 @@
****************************************************************************/
#include "qdirectfbscreen.h"
-#include "qdirectfbsurface.h"
+#include "qdirectfbwindowsurface.h"
#include "qdirectfbpixmap.h"
#include "qdirectfbmouse.h"
#include "qdirectfbkeyboard.h"
@@ -80,11 +80,11 @@ public:
#ifndef QT_NO_DIRECTFB_KEYBOARD
QDirectFBKeyboardHandler *keyboard;
#endif
- bool videoonly;
+ QDirectFBScreen::DirectFBFlags directFBFlags;
QImage::Format alphaPixmapFormat;
};
-QDirectFBScreenPrivate::QDirectFBScreenPrivate(QDirectFBScreen* screen)
+QDirectFBScreenPrivate::QDirectFBScreenPrivate(QDirectFBScreen *screen)
: QWSGraphicsSystem(screen), dfb(0), dfbSurface(0), flipFlags(DSFLIP_NONE)
#ifndef QT_NO_DIRECTFB_LAYER
, dfbLayer(0)
@@ -96,7 +96,7 @@ QDirectFBScreenPrivate::QDirectFBScreenPrivate(QDirectFBScreen* screen)
#ifndef QT_NO_DIRECTFB_KEYBOARD
, keyboard(0)
#endif
- , videoonly(false)
+ , directFBFlags(QDirectFBScreen::NoFlags)
, alphaPixmapFormat(QImage::Format_Invalid)
{
#ifndef QT_NO_QWS_SIGNALHANDLER
@@ -113,9 +113,9 @@ QDirectFBScreenPrivate::~QDirectFBScreenPrivate()
delete keyboard;
#endif
- foreach (IDirectFBSurface* surf, allocatedSurfaces)
- surf->Release(surf);
- allocatedSurfaces.clear();
+ for (QSet<IDirectFBSurface*>::const_iterator it = allocatedSurfaces.begin(); it != allocatedSurfaces.end(); ++it) {
+ (*it)->Release(*it);
+ }
if (dfbSurface)
dfbSurface->Release(dfbSurface);
@@ -137,7 +137,7 @@ QDirectFBScreenPrivate::~QDirectFBScreenPrivate()
// creates a preallocated surface with the same format as the image if
// possible.
-IDirectFBSurface* QDirectFBScreen::createDFBSurface(const QImage &img, SurfaceCreationOptions options)
+IDirectFBSurface *QDirectFBScreen::createDFBSurface(const QImage &img, SurfaceCreationOptions options)
{
if (img.isNull()) // assert?
return 0;
@@ -155,19 +155,20 @@ IDirectFBSurface* QDirectFBScreen::createDFBSurface(const QImage &img, SurfaceCr
return surface;
}
- DFBSurfaceDescription desc = QDirectFBScreen::getSurfaceDescription(img);
- IDirectFBSurface *surface = createDFBSurface(&desc, options);
+ IDirectFBSurface *surface = createDFBSurface(QDirectFBScreen::getSurfaceDescription(img), options);
#ifdef QT_NO_DIRECTFB_PREALLOCATED
if (surface) {
- char *mem;
int bpl;
- surface->Lock(surface, DSLF_WRITE, (void**)&mem, &bpl);
- const int h = img.height();
- for (int i = 0; i < h; ++i) {
- memcpy(mem, img.scanLine(i), bpl);
- mem += bpl;
+ uchar *mem = QDirectFBScreen::lockSurface(surface, DSLF_WRITE, &bpl);
+ if (mem) {
+ const int h = img.height();
+ const int w = img.width() * img.depth() / 8;
+ for (int i = 0; i < h; ++i) {
+ memcpy(mem, img.scanLine(i), w);
+ mem += bpl;
+ }
+ surface->Unlock(surface);
}
- surface->Unlock(surface);
}
#endif
#ifndef QT_NO_DIRECTFB_PALETTE
@@ -204,58 +205,61 @@ IDirectFBSurface *QDirectFBScreen::createDFBSurface(const QSize &size,
SurfaceCreationOptions options)
{
DFBSurfaceDescription desc;
+ memset(&desc, 0, sizeof(DFBSurfaceDescription));
desc.flags = DFBSurfaceDescriptionFlags(DSDESC_WIDTH|DSDESC_HEIGHT);
if (!QDirectFBScreen::initSurfaceDescriptionPixelFormat(&desc, format))
return 0;
desc.width = size.width();
desc.height = size.height();
- return createDFBSurface(&desc, options);
+ return createDFBSurface(desc, options);
}
-
-IDirectFBSurface* QDirectFBScreen::createDFBSurface(const DFBSurfaceDescription *desc, SurfaceCreationOptions options)
+IDirectFBSurface *QDirectFBScreen::createDFBSurface(DFBSurfaceDescription desc, SurfaceCreationOptions options)
{
- DFBResult result;
- IDirectFBSurface* newSurface = 0;
+ DFBResult result = DFB_OK;
+ IDirectFBSurface *newSurface = 0;
if (!d_ptr->dfb) {
qWarning("QDirectFBScreen::createDFBSurface() - not connected");
return 0;
}
- if (d_ptr->videoonly && !(desc->flags & DSDESC_PREALLOCATED)) {
+ if (d_ptr->directFBFlags & VideoOnly && !(desc.flags & DSDESC_PREALLOCATED)) {
// Add the video only capability. This means the surface will be created in video ram
- DFBSurfaceDescription voDesc = *desc;
- if (!(voDesc.flags & DSDESC_CAPS)) {
- voDesc.caps = DSCAPS_VIDEOONLY;
- voDesc.flags = DFBSurfaceDescriptionFlags(voDesc.flags | DSDESC_CAPS);
+ if (!(desc.flags & DSDESC_CAPS)) {
+ desc.caps = DSCAPS_VIDEOONLY;
+ desc.flags = DFBSurfaceDescriptionFlags(desc.flags | DSDESC_CAPS);
} else {
- voDesc.caps = DFBSurfaceCapabilities(voDesc.caps | DSCAPS_VIDEOONLY);
+ desc.caps = DFBSurfaceCapabilities(desc.caps | DSCAPS_VIDEOONLY);
}
- result = d_ptr->dfb->CreateSurface(d_ptr->dfb, &voDesc, &newSurface);
+ result = d_ptr->dfb->CreateSurface(d_ptr->dfb, &desc, &newSurface);
if (result != DFB_OK
#ifdef QT_NO_DEBUG
- && (desc->flags & DSDESC_CAPS) && (desc->caps & DSCAPS_PRIMARY)
+ && (desc.flags & DSDESC_CAPS) && (desc.caps & DSCAPS_PRIMARY)
#endif
) {
qWarning("QDirectFBScreen::createDFBSurface() Failed to create surface in video memory!\n"
" Flags %0x Caps %0x width %d height %d pixelformat %0x %d preallocated %p %d\n%s",
- desc->flags, desc->caps, desc->width, desc->height,
- desc->pixelformat, DFB_PIXELFORMAT_INDEX(desc->pixelformat),
- desc->preallocated[0].data, desc->preallocated[0].pitch,
+ desc.flags, desc.caps, desc.width, desc.height,
+ desc.pixelformat, DFB_PIXELFORMAT_INDEX(desc.pixelformat),
+ desc.preallocated[0].data, desc.preallocated[0].pitch,
DirectFBErrorString(result));
}
+ desc.caps = DFBSurfaceCapabilities(desc.caps & ~DSCAPS_VIDEOONLY);
}
+ if (d_ptr->directFBFlags & SystemOnly)
+ desc.caps = DFBSurfaceCapabilities(desc.caps | DSCAPS_SYSTEMONLY);
+
if (!newSurface)
- result = d_ptr->dfb->CreateSurface(d_ptr->dfb, desc, &newSurface);
+ result = d_ptr->dfb->CreateSurface(d_ptr->dfb, &desc, &newSurface);
if (result != DFB_OK) {
qWarning("QDirectFBScreen::createDFBSurface() Failed!\n"
" Flags %0x Caps %0x width %d height %d pixelformat %0x %d preallocated %p %d\n%s",
- desc->flags, desc->caps, desc->width, desc->height,
- desc->pixelformat, DFB_PIXELFORMAT_INDEX(desc->pixelformat),
- desc->preallocated[0].data, desc->preallocated[0].pitch,
+ desc.flags, desc.caps, desc.width, desc.height,
+ desc.pixelformat, DFB_PIXELFORMAT_INDEX(desc.pixelformat),
+ desc.preallocated[0].data, desc.preallocated[0].pitch,
DirectFBErrorString(result));
return 0;
}
@@ -317,15 +321,17 @@ IDirectFBSurface *QDirectFBScreen::copyToDFBSurface(const QImage &img,
imgSurface->Release(imgSurface);
#else // QT_NO_DIRECTFB_PREALLOCATED
Q_ASSERT(image.format() == pixmapFormat);
- char *mem;
int bpl;
- dfbSurface->Lock(dfbSurface, DSLF_WRITE, (void**)&mem, &bpl);
- const int w = image.width() * image.depth() / 8;
- for (int i = 0; i < image.height(); ++i) {
- memcpy(mem, image.scanLine(i), w);
- mem += bpl;
+ uchar *mem = QDirectFBScreen::lockSurface(dfbSurface, DSLF_WRITE, &bpl);
+ if (mem) {
+ const int h = image.height();
+ const int w = image.width() * image.depth() / 8;
+ for (int i=0; i<h; ++i) {
+ memcpy(mem, image.scanLine(i), w);
+ mem += bpl;
+ }
+ dfbSurface->Unlock(dfbSurface);
}
- dfbSurface->Unlock(dfbSurface);
#endif
return dfbSurface;
}
@@ -341,23 +347,23 @@ void QDirectFBScreen::releaseDFBSurface(IDirectFBSurface *surface)
//qDebug("Released surface at %p. New count = %d", surface, d_ptr->allocatedSurfaces.count());
}
-bool QDirectFBScreen::preferVideoOnly() const
+QDirectFBScreen::DirectFBFlags QDirectFBScreen::directFBFlags() const
{
- return d_ptr->videoonly;
+ return d_ptr->directFBFlags;
}
-IDirectFB* QDirectFBScreen::dfb()
+IDirectFB *QDirectFBScreen::dfb()
{
return d_ptr->dfb;
}
-IDirectFBSurface* QDirectFBScreen::dfbSurface()
+IDirectFBSurface *QDirectFBScreen::dfbSurface()
{
return d_ptr->dfbSurface;
}
#ifndef QT_NO_DIRECTFB_LAYER
-IDirectFBDisplayLayer* QDirectFBScreen::dfbDisplayLayer()
+IDirectFBDisplayLayer *QDirectFBScreen::dfbDisplayLayer()
{
return d_ptr->dfbLayer;
}
@@ -440,6 +446,7 @@ QImage::Format QDirectFBScreen::getImageFormat(IDirectFBSurface *surface)
DFBSurfaceDescription QDirectFBScreen::getSurfaceDescription(const QImage &image)
{
DFBSurfaceDescription description;
+ memset(&description, 0, sizeof(DFBSurfaceDescription));
const DFBSurfacePixelFormat format = getSurfacePixelFormat(image.format());
@@ -474,6 +481,7 @@ DFBSurfaceDescription QDirectFBScreen::getSurfaceDescription(const uint *buffer,
int length)
{
DFBSurfaceDescription description;
+ memset(&description, 0, sizeof(DFBSurfaceDescription));
description.flags = DFBSurfaceDescriptionFlags(DSDESC_CAPS
| DSDESC_WIDTH
@@ -535,16 +543,12 @@ class Q_GUI_EXPORT QDirectFBScreenCursor : public QScreenCursor
{
public:
QDirectFBScreenCursor();
- ~QDirectFBScreenCursor();
-
- void set(const QImage &image, int hotx, int hoty);
- void move(int x, int y);
- void show();
- void hide();
-
+ virtual void set(const QImage &image, int hotx, int hoty);
+ virtual void move(int x, int y);
+ virtual void show();
+ virtual void hide();
private:
IDirectFBDisplayLayer *layer;
- bool implicitHide;
};
QDirectFBScreenCursor::QDirectFBScreenCursor()
@@ -554,116 +558,101 @@ QDirectFBScreenCursor::QDirectFBScreenCursor()
qFatal("QDirectFBScreenCursor: DirectFB not initialized");
layer = QDirectFBScreen::instance()->dfbDisplayLayer();
+ Q_ASSERT(layer);
- if (layer)
- layer->SetCooperativeLevel(layer, DLSCL_SHARED); // XXX: hw: remove?
- else
- qFatal("QDirectFBScreenCursor: Unable to get primary display layer!");
-
- enable = true;
+ enable = false;
hwaccel = true;
- implicitHide = false;
supportsAlpha = true;
-
- set(QImage(), 0, 0);
}
-QDirectFBScreenCursor::~QDirectFBScreenCursor()
-{
-}
-
-void QDirectFBScreenCursor::show()
+void QDirectFBScreenCursor::move(int x, int y)
{
- DFBResult result;
- result = layer->SetCooperativeLevel(layer, DLSCL_ADMINISTRATIVE);
- if (result != DFB_OK) {
- DirectFBError("QDirectFBScreenCursor::show: "
- "Unable to set cooperative level", result);
- }
- result = layer->EnableCursor(layer, 1);
- if (result != DFB_OK) {
- DirectFBError("QDirectFBScreenCursor::show: "
- "Unable to enable cursor", result);
- }
- result = layer->SetCooperativeLevel(layer, DLSCL_SHARED);
- if (result != DFB_OK) {
- DirectFBError("QDirectFBScreenCursor::show: "
- "Unable to reset cooperative level", result);
- }
- implicitHide = false;
+ layer->WarpCursor(layer, x, y);
}
void QDirectFBScreenCursor::hide()
{
- DFBResult result;
- result = layer->SetCooperativeLevel(layer, DLSCL_ADMINISTRATIVE);
- if (result != DFB_OK) {
- DirectFBError("QDirectFBScreenCursor::hide: "
- "Unable to set cooperative level", result);
- }
- result = layer->EnableCursor(layer, 0);
- if (result != DFB_OK) {
- DirectFBError("QDirectFBScreenCursor::hide: "
- "Unable to disable cursor", result);
- }
- result = layer->SetCooperativeLevel(layer, DLSCL_SHARED);
- if (result != DFB_OK) {
- DirectFBError("QDirectFBScreenCursor::hide: "
- "Unable to reset cooperative level", result);
+ if (enable) {
+ enable = false;
+ DFBResult result;
+ result = layer->SetCooperativeLevel(layer, DLSCL_ADMINISTRATIVE);
+ if (result != DFB_OK) {
+ DirectFBError("QDirectFBScreenCursor::hide: "
+ "Unable to set cooperative level", result);
+ }
+ result = layer->SetCursorOpacity(layer, 0);
+ if (result != DFB_OK) {
+ DirectFBError("QDirectFBScreenCursor::hide: "
+ "Unable to set cursor opacity", result);
+ }
+ result = layer->SetCooperativeLevel(layer, DLSCL_SHARED);
+ if (result != DFB_OK) {
+ DirectFBError("QDirectFBScreenCursor::hide: "
+ "Unable to set cooperative level", result);
+ }
}
- implicitHide = true;
}
-void QDirectFBScreenCursor::move(int x, int y)
+void QDirectFBScreenCursor::show()
{
- layer->WarpCursor(layer, x, y);
+ if (!enable) {
+ enable = true;
+ DFBResult result;
+ result = layer->SetCooperativeLevel(layer, DLSCL_ADMINISTRATIVE);
+ if (result != DFB_OK) {
+ DirectFBError("QDirectFBScreenCursor::show: "
+ "Unable to set cooperative level", result);
+ }
+ result = layer->SetCursorOpacity(layer, 255);
+ if (result != DFB_OK) {
+ DirectFBError("QDirectFBScreenCursor::show: "
+ "Unable to set cursor shape", result);
+ }
+ result = layer->SetCooperativeLevel(layer, DLSCL_SHARED);
+ if (result != DFB_OK) {
+ DirectFBError("QDirectFBScreenCursor::show: "
+ "Unable to set cooperative level", result);
+ }
+ }
}
void QDirectFBScreenCursor::set(const QImage &image, int hotx, int hoty)
{
- if (image.isNull() && isVisible()) {
- hide();
- implicitHide = true;
- } else if (!image.isNull() && implicitHide) {
- show();
- }
- cursor = image.convertToFormat(QDirectFBScreen::instance()->alphaPixmapFormat());
+ QDirectFBScreen *screen = QDirectFBScreen::instance();
+ if (!screen)
+ return;
- if (!image.isNull()) {
- Q_ASSERT(cursor.numColors() == 0);
+ if (image.isNull()) {
+ cursor = QImage();
+ hide();
+ } else {
+ cursor = image.convertToFormat(screen->alphaPixmapFormat());
size = cursor.size();
hotspot = QPoint(hotx, hoty);
-
- DFBSurfaceDescription description;
- description = QDirectFBScreen::getSurfaceDescription(cursor);
-
- IDirectFBSurface *surface;
- surface = QDirectFBScreen::instance()->createDFBSurface(&description,
- QDirectFBScreen::TrackSurface);
+ IDirectFBSurface *surface = screen->createDFBSurface(cursor, QDirectFBScreen::DontTrackSurface);
if (!surface) {
qWarning("QDirectFBScreenCursor::set: Unable to create surface");
return;
}
DFBResult result = layer->SetCooperativeLevel(layer, DLSCL_ADMINISTRATIVE);
if (result != DFB_OK) {
- DirectFBError("QDirectFBScreenCursor::set: "
+ DirectFBError("QDirectFBScreenCursor::show: "
"Unable to set cooperative level", result);
}
result = layer->SetCursorShape(layer, surface, hotx, hoty);
if (result != DFB_OK) {
- DirectFBError("QDirectFBScreenCursor::set: Unable to set cursor shape",
- result);
+ DirectFBError("QDirectFBScreenCursor::show: "
+ "Unable to set cursor shape", result);
}
-
+ surface->Release(surface);
result = layer->SetCooperativeLevel(layer, DLSCL_SHARED);
if (result != DFB_OK) {
- DirectFBError("QDirectFBScreenCursor::set: "
- "Unable to reset cooperative level", result);
+ DirectFBError("QDirectFBScreenCursor::show: "
+ "Unable to set cooperative level", result);
}
-
- if (surface)
- QDirectFBScreen::instance()->releaseDFBSurface(surface);
+ show();
}
+
}
#endif // QT_NO_DIRECTFB_LAYER
@@ -746,7 +735,7 @@ void QDirectFBScreenPrivate::setFlipFlags(const QStringList &args)
}
}
-QPixmapData* QDirectFBScreenPrivate::createPixmapData(QPixmapData::PixelType type) const
+QPixmapData *QDirectFBScreenPrivate::createPixmapData(QPixmapData::PixelType type) const
{
if (type == QPixmapData::BitmapType)
return QWSGraphicsSystem::createPixmapData(type);
@@ -754,7 +743,85 @@ QPixmapData* QDirectFBScreenPrivate::createPixmapData(QPixmapData::PixelType typ
return new QDirectFBPixmapData(type);
}
-static void printDirectFBInfo(IDirectFB *fb)
+#ifdef QT_NO_DEBUG
+struct FlagDescription;
+static const FlagDescription *accelerationDescriptions = 0;
+static const FlagDescription *blitDescriptions = 0;
+static const FlagDescription *drawDescriptions = 0;
+#else
+struct FlagDescription {
+ const char *name;
+ uint flag;
+};
+
+static const FlagDescription accelerationDescriptions[] = {
+ { " DFXL_NONE ", DFXL_NONE },
+ { " DFXL_FILLRECTANGLE", DFXL_FILLRECTANGLE },
+ { " DFXL_DRAWRECTANGLE", DFXL_DRAWRECTANGLE },
+ { " DFXL_DRAWLINE", DFXL_DRAWLINE },
+ { " DFXL_FILLTRIANGLE", DFXL_FILLTRIANGLE },
+ { " DFXL_BLIT", DFXL_BLIT },
+ { " DFXL_STRETCHBLIT", DFXL_STRETCHBLIT },
+ { " DFXL_TEXTRIANGLES", DFXL_TEXTRIANGLES },
+ { " DFXL_DRAWSTRING", DFXL_DRAWSTRING },
+ { 0, 0 }
+};
+
+static const FlagDescription blitDescriptions[] = {
+ { " DSBLIT_NOFX", DSBLIT_NOFX },
+ { " DSBLIT_BLEND_ALPHACHANNEL", DSBLIT_BLEND_ALPHACHANNEL },
+ { " DSBLIT_BLEND_COLORALPHA", DSBLIT_BLEND_COLORALPHA },
+ { " DSBLIT_COLORIZE", DSBLIT_COLORIZE },
+ { " DSBLIT_SRC_COLORKEY", DSBLIT_SRC_COLORKEY },
+ { " DSBLIT_DST_COLORKEY", DSBLIT_DST_COLORKEY },
+ { " DSBLIT_SRC_PREMULTIPLY", DSBLIT_SRC_PREMULTIPLY },
+ { " DSBLIT_DST_PREMULTIPLY", DSBLIT_DST_PREMULTIPLY },
+ { " DSBLIT_DEMULTIPLY", DSBLIT_DEMULTIPLY },
+ { " DSBLIT_DEINTERLACE", DSBLIT_DEINTERLACE },
+ { " DSBLIT_SRC_PREMULTCOLOR", DSBLIT_SRC_PREMULTCOLOR },
+ { " DSBLIT_XOR", DSBLIT_XOR },
+ { " DSBLIT_INDEX_TRANSLATION", DSBLIT_INDEX_TRANSLATION },
+ { 0, 0 }
+};
+
+static const FlagDescription drawDescriptions[] = {
+ { " DSDRAW_NOFX", DSDRAW_NOFX },
+ { " DSDRAW_BLEND", DSDRAW_BLEND },
+ { " DSDRAW_DST_COLORKEY", DSDRAW_DST_COLORKEY },
+ { " DSDRAW_SRC_PREMULTIPLY", DSDRAW_SRC_PREMULTIPLY },
+ { " DSDRAW_DST_PREMULTIPLY", DSDRAW_DST_PREMULTIPLY },
+ { " DSDRAW_DEMULTIPLY", DSDRAW_DEMULTIPLY },
+ { " DSDRAW_XOR", DSDRAW_XOR },
+ { 0, 0 }
+};
+#endif
+
+
+
+static const QByteArray flagDescriptions(uint mask, const FlagDescription *flags)
+{
+#ifdef QT_NO_DEBUG
+ Q_UNUSED(mask);
+ Q_UNUSED(flags);
+ return QByteArray("");
+#else
+ if (!mask)
+ return flags[0].name;
+
+ QStringList list;
+ for (int i=1; flags[i].name; ++i) {
+ if (mask & flags[i].flag) {
+ list.append(QString::fromLatin1(flags[i].name));
+ }
+ }
+ Q_ASSERT(!list.isEmpty());
+ return (QLatin1Char(' ') + list.join(QLatin1String("|"))).toLatin1();
+#endif
+}
+
+
+
+static void printDirectFBInfo(IDirectFB *fb, IDirectFBSurface *primarySurface)
{
DFBResult result;
DFBGraphicsDeviceDescription dev;
@@ -765,11 +832,18 @@ static void printDirectFBInfo(IDirectFB *fb)
return;
}
- qDebug("Device: %s (%s), Driver: %s v%i.%i (%s)\n"
- " acceleration: 0x%x, blit: 0x%x, draw: 0x%0x video: %i\n",
+ DFBSurfacePixelFormat pixelFormat;
+ primarySurface->GetPixelFormat(primarySurface, &pixelFormat);
+
+ qDebug("Device: %s (%s), Driver: %s v%i.%i (%s) Pixelformat: %d (%d)\n"
+ "acceleration: 0x%x%s\nblit: 0x%x%s\ndraw: 0x%0x%s\nvideo: %iKB\n",
dev.name, dev.vendor, dev.driver.name, dev.driver.major,
- dev.driver.minor, dev.driver.vendor, dev.acceleration_mask,
- dev.blitting_flags, dev.drawing_flags, dev.video_memory);
+ dev.driver.minor, dev.driver.vendor, DFB_PIXELFORMAT_INDEX(pixelFormat),
+ QDirectFBScreen::getImageFormat(primarySurface), dev.acceleration_mask,
+ ::flagDescriptions(dev.acceleration_mask, accelerationDescriptions).constData(),
+ dev.blitting_flags, ::flagDescriptions(dev.blitting_flags, blitDescriptions).constData(),
+ dev.drawing_flags, ::flagDescriptions(dev.drawing_flags, drawDescriptions).constData(),
+ (dev.video_memory >> 10));
}
static inline bool setIntOption(const QStringList &arguments, const QString &variable, int *value)
@@ -816,11 +890,29 @@ bool QDirectFBScreen::connect(const QString &displaySpec)
return false;
}
- if (displayArgs.contains(QLatin1String("debug"), Qt::CaseInsensitive))
- printDirectFBInfo(d_ptr->dfb);
+ if (displayArgs.contains(QLatin1String("videoonly"), Qt::CaseInsensitive))
+ d_ptr->directFBFlags |= VideoOnly;
- if (displayArgs.contains(QLatin1String("videoonly")))
- d_ptr->videoonly = true;
+ if (displayArgs.contains(QLatin1String("systemonly"), Qt::CaseInsensitive)) {
+ if (d_ptr->directFBFlags & VideoOnly) {
+ qWarning("QDirectFBScreen: error. videoonly and systemonly are mutually exclusive");
+ } else {
+ d_ptr->directFBFlags |= SystemOnly;
+ }
+ }
+
+ if (displayArgs.contains(QLatin1String("boundingrectflip"), Qt::CaseInsensitive)) {
+ d_ptr->directFBFlags |= BoundingRectFlip;
+ }
+
+#ifdef QT_DIRECTFB_IMAGECACHE
+ int imageCacheSize = 4 * 1024 * 1024; // 4 MB
+ ::setIntOption(displayArgs, QLatin1String("imagecachesize"), &imageCacheSize);
+ QDirectFBPaintEngine::initImageCache(imageCacheSize);
+#endif
+
+ if (displayArgs.contains(QLatin1String("ignoresystemclip"), Qt::CaseInsensitive))
+ d_ptr->directFBFlags |= IgnoreSystemClip;
#ifndef QT_NO_DIRECTFB_WM
if (displayArgs.contains(QLatin1String("fullscreen")))
@@ -828,28 +920,47 @@ bool QDirectFBScreen::connect(const QString &displaySpec)
d_ptr->dfb->SetCooperativeLevel(d_ptr->dfb, DFSCL_FULLSCREEN);
DFBSurfaceDescription description;
+ memset(&description, 0, sizeof(DFBSurfaceDescription));
+
description.flags = DFBSurfaceDescriptionFlags(DSDESC_CAPS);
if (::setIntOption(displayArgs, QLatin1String("width"), &description.width))
description.flags = DFBSurfaceDescriptionFlags(description.flags | DSDESC_WIDTH);
if (::setIntOption(displayArgs, QLatin1String("height"), &description.height))
description.flags = DFBSurfaceDescriptionFlags(description.flags | DSDESC_HEIGHT);
- description.caps = DFBSurfaceCapabilities(DSCAPS_PRIMARY
- | DSCAPS_DOUBLE
- | DSCAPS_STATIC_ALLOC);
- if (displayArgs.contains(QLatin1String("forcepremultiplied"),
- Qt::CaseInsensitive)) {
- description.caps = DFBSurfaceCapabilities(description.caps
- | DSCAPS_PREMULTIPLIED);
+
+ uint caps = DSCAPS_PRIMARY|DSCAPS_DOUBLE;
+ struct {
+ const char *name;
+ const DFBSurfaceCapabilities cap;
+ } const capabilities[] = {
+ { "static_alloc", DSCAPS_STATIC_ALLOC },
+ { "triplebuffer", DSCAPS_TRIPLE },
+ { "interlaced", DSCAPS_INTERLACED },
+ { "separated", DSCAPS_SEPARATED },
+// { "depthbuffer", DSCAPS_DEPTH }, // only makes sense with TextureTriangles which are not supported
+ { 0, DSCAPS_NONE }
+ };
+ for (int i=0; capabilities[i].name; ++i) {
+ if (displayArgs.contains(QString::fromLatin1(capabilities[i].name), Qt::CaseInsensitive))
+ caps |= capabilities[i].cap;
}
+ if (displayArgs.contains(QLatin1String("forcepremultiplied"), Qt::CaseInsensitive)) {
+ caps |= DSCAPS_PREMULTIPLIED;
+ }
+
+ description.caps = DFBSurfaceCapabilities(caps);
// We don't track the primary surface as it's released in disconnect
- d_ptr->dfbSurface = createDFBSurface(&description, DontTrackSurface);
+ d_ptr->dfbSurface = createDFBSurface(description, DontTrackSurface);
if (!d_ptr->dfbSurface) {
DirectFBError("QDirectFBScreen: error creating primary surface",
result);
return false;
}
+ if (displayArgs.contains(QLatin1String("debug"), Qt::CaseInsensitive))
+ printDirectFBInfo(d_ptr->dfb, d_ptr->dfbSurface);
+
// Work out what format we're going to use for surfaces with an alpha channel
d_ptr->alphaPixmapFormat = QDirectFBScreen::getImageFormat(d_ptr->dfbSurface);
setPixelFormat(d_ptr->alphaPixmapFormat);
@@ -934,7 +1045,7 @@ void QDirectFBScreen::disconnect()
d_ptr->dfbSurface->Release(d_ptr->dfbSurface);
d_ptr->dfbSurface = 0;
- foreach (IDirectFBSurface* surf, d_ptr->allocatedSurfaces)
+ foreach (IDirectFBSurface *surf, d_ptr->allocatedSurfaces)
surf->Release(surf);
d_ptr->allocatedSurfaces.clear();
@@ -952,16 +1063,15 @@ void QDirectFBScreen::disconnect()
bool QDirectFBScreen::initDevice()
{
- QWSServer *server = QWSServer::instance();
#ifndef QT_NO_DIRECTFB_MOUSE
if (qgetenv("QWS_MOUSE_PROTO").isEmpty()) {
- server->setDefaultMouse("None");
+ QWSServer::instance()->setDefaultMouse("None");
d_ptr->mouse = new QDirectFBMouseHandler;
}
#endif
#ifndef QT_NO_DIRECTFB_KEYBOARD
if (qgetenv("QWS_KEYBOARD").isEmpty()) {
- server->setDefaultKeyboard("None");
+ QWSServer::instance()->setDefaultKeyboard("None");
d_ptr->keyboard = new QDirectFBKeyboardHandler(QString());
}
#endif
@@ -1004,23 +1114,23 @@ void QDirectFBScreen::blank(bool on)
(on ? DSPM_ON : DSPM_SUSPEND));
}
-QWSWindowSurface* QDirectFBScreen::createSurface(QWidget *widget) const
+QWSWindowSurface *QDirectFBScreen::createSurface(QWidget *widget) const
{
#ifdef QT_NO_DIRECTFB_WM
if (QApplication::type() == QApplication::GuiServer) {
- return new QDirectFBSurface(d_ptr->flipFlags, const_cast<QDirectFBScreen*>(this), widget);
+ return new QDirectFBWindowSurface(d_ptr->flipFlags, const_cast<QDirectFBScreen*>(this), widget);
} else {
return QScreen::createSurface(widget);
}
#else
- return new QDirectFBSurface(d_ptr->flipFlags, const_cast<QDirectFBScreen*>(this), widget);
+ return new QDirectFBWindowSurface(d_ptr->flipFlags, const_cast<QDirectFBScreen*>(this), widget);
#endif
}
-QWSWindowSurface* QDirectFBScreen::createSurface(const QString &key) const
+QWSWindowSurface *QDirectFBScreen::createSurface(const QString &key) const
{
if (key == QLatin1String("directfb")) {
- return new QDirectFBSurface(d_ptr->flipFlags, const_cast<QDirectFBScreen*>(this));
+ return new QDirectFBWindowSurface(d_ptr->flipFlags, const_cast<QDirectFBScreen*>(this));
}
return QScreen::createSurface(key);
}
@@ -1053,7 +1163,7 @@ void QDirectFBScreen::compose(const QRegion &region)
const QPoint offset = win->requestedRegion().boundingRect().topLeft();
if (surface->key() == QLatin1String("directfb")) {
- QDirectFBSurface *s = static_cast<QDirectFBSurface*>(surface);
+ QDirectFBWindowSurface *s = static_cast<QDirectFBWindowSurface*>(surface);
blit(s->directFBSurface(), offset, r);
} else {
blit(surface->image(), offset, r);
@@ -1102,7 +1212,7 @@ void QDirectFBScreen::compose(const QRegion &region)
const QPoint offset = win->requestedRegion().boundingRect().topLeft();
if (surface->key() == QLatin1String("directfb")) {
- QDirectFBSurface *s = static_cast<QDirectFBSurface*>(surface);
+ QDirectFBWindowSurface *s = static_cast<QDirectFBWindowSurface*>(surface);
blit(s->directFBSurface(), offset, r);
} else {
blit(surface->image(), offset, r);
@@ -1188,23 +1298,23 @@ void QDirectFBScreen::blit(IDirectFBSurface *src, const QPoint &topLeft,
points.data(), n);
}
+// This function is only ever called by QScreen::drawBackground which
+// is only ever called by QScreen::compose which is never called with
+// DirectFB so it's really a noop.
void QDirectFBScreen::solidFill(const QColor &color, const QRegion &region)
{
if (region.isEmpty())
return;
if (QDirectFBScreen::getImageFormat(d_ptr->dfbSurface) == QImage::Format_RGB32) {
- uchar *mem;
- int bpl;
- d_ptr->dfbSurface->Lock(d_ptr->dfbSurface, DSLF_WRITE, (void**)&mem, &bpl);
- QImage img(mem, w, h, bpl, QImage::Format_RGB32);
- QPainter p(&img);
- p.setBrush(color);
- p.setPen(Qt::NoPen);
- const QVector<QRect> rects = region.rects();
- p.drawRects(rects.constData(), rects.size());
- p.end();
+ data = QDirectFBScreen::lockSurface(d_ptr->dfbSurface, DSLF_WRITE, &lstep);
+ if (!data)
+ return;
+
+ QScreen::solidFill(color, region);
d_ptr->dfbSurface->Unlock(d_ptr->dfbSurface);
+ data = 0;
+ lstep = 0;
} else {
d_ptr->dfbSurface->SetColor(d_ptr->dfbSurface,
color.red(), color.green(), color.blue(),
@@ -1241,3 +1351,15 @@ bool QDirectFBScreen::initSurfaceDescriptionPixelFormat(DFBSurfaceDescription *d
}
return true;
}
+
+uchar *QDirectFBScreen::lockSurface(IDirectFBSurface *surface, uint flags, int *bpl)
+{
+ void *mem;
+ const DFBResult result = surface->Lock(surface, static_cast<DFBSurfaceLockFlags>(flags), static_cast<void**>(&mem), bpl);
+ if (result != DFB_OK) {
+ DirectFBError("QDirectFBScreen::lockSurface()", result);
+ }
+
+ return reinterpret_cast<uchar*>(mem);
+}
+
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h
index f394ac1..84199a2 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h
@@ -59,6 +59,18 @@ public:
QDirectFBScreen(int display_id);
~QDirectFBScreen();
+ enum DirectFBFlag {
+ NoFlags = 0x00,
+ VideoOnly = 0x01,
+ SystemOnly = 0x02,
+ IgnoreSystemClip = 0x04,
+ BoundingRectFlip = 0x08
+ };
+
+ Q_DECLARE_FLAGS(DirectFBFlags, DirectFBFlag);
+
+ DirectFBFlags directFBFlags() const;
+
bool connect(const QString &displaySpec);
void disconnect();
bool initDevice();
@@ -72,19 +84,19 @@ public:
void setMode(int width, int height, int depth);
void blank(bool on);
- QWSWindowSurface* createSurface(QWidget *widget) const;
- QWSWindowSurface* createSurface(const QString &key) const;
+ QWSWindowSurface *createSurface(QWidget *widget) const;
+ QWSWindowSurface *createSurface(const QString &key) const;
- static inline QDirectFBScreen* instance() {
+ static inline QDirectFBScreen *instance() {
QScreen *inst = QScreen::instance();
Q_ASSERT(!inst || inst->classId() == QScreen::DirectFBClass);
return static_cast<QDirectFBScreen*>(inst);
}
- IDirectFB* dfb();
- IDirectFBSurface* dfbSurface();
+ IDirectFB *dfb();
+ IDirectFBSurface *dfbSurface();
#ifndef QT_NO_DIRECTFB_LAYER
- IDirectFBDisplayLayer* dfbDisplayLayer();
+ IDirectFBDisplayLayer *dfbDisplayLayer();
#endif
// Track surface creation/release so we can release all on exit
@@ -93,8 +105,6 @@ public:
TrackSurface = 1
};
Q_DECLARE_FLAGS(SurfaceCreationOptions, SurfaceCreationOption);
- IDirectFBSurface *createDFBSurface(const DFBSurfaceDescription *desc,
- SurfaceCreationOptions options);
IDirectFBSurface *createDFBSurface(const QImage &image,
SurfaceCreationOptions options);
IDirectFBSurface *createDFBSurface(const QSize &size,
@@ -106,9 +116,7 @@ public:
IDirectFBSurface *copyToDFBSurface(const QImage &image,
QImage::Format format,
SurfaceCreationOptions options);
- void releaseDFBSurface(IDirectFBSurface* surface);
-
- bool preferVideoOnly() const;
+ void releaseDFBSurface(IDirectFBSurface *surface);
static int depth(DFBSurfacePixelFormat format);
@@ -120,6 +128,7 @@ public:
static bool initSurfaceDescriptionPixelFormat(DFBSurfaceDescription *description, QImage::Format format);
static inline bool isPremultiplied(QImage::Format format);
static inline bool hasAlpha(DFBSurfacePixelFormat format);
+ static inline bool hasAlpha(IDirectFBSurface *surface);
QImage::Format alphaPixmapFormat() const;
#ifndef QT_NO_DIRECTFB_PALETTE
@@ -127,15 +136,21 @@ public:
const QImage &image);
#endif
+ static uchar *lockSurface(IDirectFBSurface *surface, uint flags, int *bpl = 0);
+
private:
+ IDirectFBSurface *createDFBSurface(DFBSurfaceDescription desc,
+ SurfaceCreationOptions options);
void compose(const QRegion &r);
void blit(IDirectFBSurface *src, const QPoint &topLeft,
const QRegion &region);
QDirectFBScreenPrivate *d_ptr;
+ friend class SurfaceCache;
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QDirectFBScreen::SurfaceCreationOptions);
+Q_DECLARE_OPERATORS_FOR_FLAGS(QDirectFBScreen::DirectFBFlags);
inline bool QDirectFBScreen::isPremultiplied(QImage::Format format)
{
@@ -173,6 +188,14 @@ inline bool QDirectFBScreen::hasAlpha(DFBSurfacePixelFormat format)
}
}
+inline bool QDirectFBScreen::hasAlpha(IDirectFBSurface *surface)
+{
+ Q_ASSERT(surface);
+ DFBSurfacePixelFormat format;
+ surface->GetPixelFormat(surface, &format);
+ return QDirectFBScreen::hasAlpha(format);
+}
+
QT_END_HEADER
#endif // QDIRECTFBSCREEN_H
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
index 8ed308c..cd8796b 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbsurface.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include "qdirectfbsurface.h"
+#include "qdirectfbwindowsurface.h"
#include "qdirectfbscreen.h"
#include "qdirectfbpaintengine.h"
@@ -50,13 +50,14 @@
//#define QT_DIRECTFB_DEBUG_SURFACES 1
-QDirectFBSurface::QDirectFBSurface(DFBSurfaceFlipFlags flip, QDirectFBScreen* scr)
+QDirectFBWindowSurface::QDirectFBWindowSurface(DFBSurfaceFlipFlags flip, QDirectFBScreen *scr)
: QDirectFBPaintDevice(scr)
#ifndef QT_NO_DIRECTFB_WM
, dfbWindow(0)
#endif
, engine(0)
, flipFlags(flip)
+ , boundingRectFlip(scr->directFBFlags() & QDirectFBScreen::BoundingRectFlip)
{
setSurfaceFlags(Opaque | Buffered);
#ifdef QT_DIRECTFB_TIMING
@@ -65,13 +66,14 @@ QDirectFBSurface::QDirectFBSurface(DFBSurfaceFlipFlags flip, QDirectFBScreen* sc
#endif
}
-QDirectFBSurface::QDirectFBSurface(DFBSurfaceFlipFlags flip, QDirectFBScreen *scr, QWidget *widget)
+QDirectFBWindowSurface::QDirectFBWindowSurface(DFBSurfaceFlipFlags flip, QDirectFBScreen *scr, QWidget *widget)
: QWSWindowSurface(widget), QDirectFBPaintDevice(scr)
#ifndef QT_NO_DIRECTFB_WM
, dfbWindow(0)
#endif
, engine(0)
, flipFlags(flip)
+ , boundingRectFlip(scr->directFBFlags() & QDirectFBScreen::BoundingRectFlip)
{
onscreen = widget->testAttribute(Qt::WA_PaintOnScreen);
if (onscreen)
@@ -84,17 +86,17 @@ QDirectFBSurface::QDirectFBSurface(DFBSurfaceFlipFlags flip, QDirectFBScreen *sc
#endif
}
-QDirectFBSurface::~QDirectFBSurface()
+QDirectFBWindowSurface::~QDirectFBWindowSurface()
{
}
-bool QDirectFBSurface::isValid() const
+bool QDirectFBWindowSurface::isValid() const
{
return true;
}
#ifndef QT_NO_DIRECTFB_WM
-void QDirectFBSurface::createWindow()
+void QDirectFBWindowSurface::createWindow()
{
#ifdef QT_NO_DIRECTFB_LAYER
#warning QT_NO_DIRECTFB_LAYER requires QT_NO_DIRECTFB_WM
@@ -110,7 +112,7 @@ void QDirectFBSurface::createWindow()
|DWDESC_PIXELFORMAT);
description.surface_caps = DSCAPS_NONE;
- if (screen->preferVideoOnly())
+ if (screen->directFBFlags() & QDirectFBScreen::VideoOnly)
description.surface_caps = DFBSurfaceCapabilities(description.surface_caps|DSCAPS_VIDEOONLY);
const QImage::Format format = screen->pixelFormat();
description.pixelformat = QDirectFBScreen::getSurfacePixelFormat(format);
@@ -130,7 +132,7 @@ void QDirectFBSurface::createWindow()
}
#endif // QT_NO_DIRECTFB_WM
-void QDirectFBSurface::setGeometry(const QRect &rect, const QRegion &mask)
+void QDirectFBWindowSurface::setGeometry(const QRect &rect, const QRegion &mask)
{
if (rect.isNull()) {
#ifndef QT_NO_DIRECTFB_WM
@@ -176,15 +178,7 @@ void QDirectFBSurface::setGeometry(const QRect &rect, const QRegion &mask)
"Unable to get DirectFB handle!");
}
- DFBSurfaceDescription description;
- description.flags = DFBSurfaceDescriptionFlags(DSDESC_WIDTH |
- DSDESC_HEIGHT |
- DSDESC_PIXELFORMAT);
- description.width = rect.width();
- description.height = rect.height();
- QDirectFBScreen::initSurfaceDescriptionPixelFormat(&description,
- screen->pixelFormat());
- dfbSurface = screen->createDFBSurface(&description, false);
+ dfbSurface = screen->createDFBSurface(rect.size(), screen->pixelFormat(), QDirectFBScreen::DontTrackSurface);
forceRaster = (dfbSurface && QDirectFBScreen::getImageFormat(dfbSurface) == QImage::Format_RGB32);
} else {
Q_ASSERT(dfbSurface);
@@ -209,13 +203,13 @@ void QDirectFBSurface::setGeometry(const QRect &rect, const QRegion &mask)
}
if (result != DFB_OK)
- DirectFBErrorFatal("QDirectFBSurface::setGeometry()", result);
+ DirectFBErrorFatal("QDirectFBWindowSurface::setGeometry()", result);
}
QWSWindowSurface::setGeometry(rect, mask);
}
-QByteArray QDirectFBSurface::permanentState() const
+QByteArray QDirectFBWindowSurface::permanentState() const
{
QByteArray array;
#ifdef QT_NO_DIRECTFB_WM
@@ -234,7 +228,7 @@ QByteArray QDirectFBSurface::permanentState() const
return array;
}
-void QDirectFBSurface::setPermanentState(const QByteArray &state)
+void QDirectFBWindowSurface::setPermanentState(const QByteArray &state)
{
SurfaceFlags flags;
const char *ptr = state.constData();
@@ -248,7 +242,7 @@ void QDirectFBSurface::setPermanentState(const QByteArray &state)
#endif
}
-bool QDirectFBSurface::scroll(const QRegion &region, int dx, int dy)
+bool QDirectFBWindowSurface::scroll(const QRegion &region, int dx, int dy)
{
if (!dfbSurface || !(flipFlags & DSFLIP_BLIT))
return false;
@@ -276,7 +270,7 @@ bool QDirectFBSurface::scroll(const QRegion &region, int dx, int dy)
return true;
}
-bool QDirectFBSurface::move(const QPoint &offset)
+bool QDirectFBWindowSurface::move(const QPoint &offset)
{
QWSWindowSurface::move(offset);
@@ -291,7 +285,7 @@ bool QDirectFBSurface::move(const QPoint &offset)
#endif
}
-QRegion QDirectFBSurface::move(const QPoint &offset, const QRegion &newClip)
+QRegion QDirectFBWindowSurface::move(const QPoint &offset, const QRegion &newClip)
{
#ifdef QT_NO_DIRECTFB_WM
return QWSWindowSurface::move(offset, newClip);
@@ -304,10 +298,10 @@ QRegion QDirectFBSurface::move(const QPoint &offset, const QRegion &newClip)
#endif
}
-QPaintEngine* QDirectFBSurface::paintEngine() const
+QPaintEngine* QDirectFBWindowSurface::paintEngine() const
{
if (!engine) {
- QDirectFBSurface *that = const_cast<QDirectFBSurface*>(this);
+ QDirectFBWindowSurface *that = const_cast<QDirectFBWindowSurface*>(this);
that->engine = new QDirectFBPaintEngine(that);
return that->engine;
}
@@ -337,8 +331,8 @@ inline bool isWidgetOpaque(const QWidget *w)
return false;
}
-void QDirectFBSurface::flush(QWidget *widget, const QRegion &region,
- const QPoint &offset)
+void QDirectFBWindowSurface::flush(QWidget *widget, const QRegion &region,
+ const QPoint &offset)
{
Q_UNUSED(widget);
#ifdef QT_NO_DIRECTFB_WM
@@ -369,20 +363,15 @@ void QDirectFBSurface::flush(QWidget *widget, const QRegion &region,
if (!(flipFlags & DSFLIP_BLIT)) {
dfbSurface->Flip(dfbSurface, 0, flipFlags);
} else {
- if (region.numRects() > 1) {
+ if (!boundingRectFlip && region.numRects() > 1) {
const QVector<QRect> rects = region.rects();
- DFBSurfaceFlipFlags tmpFlags = flipFlags;
- if (flipFlags & DSFLIP_WAIT)
- tmpFlags = DFBSurfaceFlipFlags(flipFlags & ~DSFLIP_WAIT);
+ const DFBSurfaceFlipFlags nonWaitFlags = DFBSurfaceFlipFlags(flipFlags & ~DSFLIP_WAIT);
for (int i=0; i<rects.size(); ++i) {
const QRect &r = rects.at(i);
const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
r.x() + r.width() + offset.x(),
r.y() + r.height() + offset.y() };
- dfbSurface->Flip(dfbSurface, &dfbReg,
- i + 1 < rects.size()
- ? tmpFlags
- : flipFlags);
+ dfbSurface->Flip(dfbSurface, &dfbReg, i + 1 < rects.size() ? nonWaitFlags : flipFlags);
}
} else {
const QRect r = region.boundingRect();
@@ -405,15 +394,15 @@ void QDirectFBSurface::flush(QWidget *widget, const QRegion &region,
}
-void QDirectFBSurface::beginPaint(const QRegion &)
+void QDirectFBWindowSurface::beginPaint(const QRegion &)
{
}
-void QDirectFBSurface::endPaint(const QRegion &)
+void QDirectFBWindowSurface::endPaint(const QRegion &)
{
#ifdef QT_DIRECTFB_DEBUG_SURFACES
if (bufferImages.count()) {
- qDebug("QDirectFBSurface::endPaint() this=%p", this);
+ qDebug("QDirectFBWindowSurface::endPaint() this=%p", this);
foreach(QImage* bufferImg, bufferImages)
qDebug(" Deleting buffer image %p", bufferImg);
@@ -426,7 +415,7 @@ void QDirectFBSurface::endPaint(const QRegion &)
}
-QImage* QDirectFBSurface::buffer(const QWidget *widget)
+QImage *QDirectFBWindowSurface::buffer(const QWidget *widget)
{
if (!lockedImage)
return 0;
@@ -444,7 +433,7 @@ QImage* QDirectFBSurface::buffer(const QWidget *widget)
bufferImages.append(img);
#ifdef QT_DIRECTFB_DEBUG_SURFACES
- qDebug("QDirectFBSurface::buffer() Created & returned %p", img);
+ qDebug("QDirectFBWindowSurface::buffer() Created & returned %p", img);
#endif
return img;
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbsurface.h b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h
index ab4145d..75998c4 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbsurface.h
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h
@@ -58,12 +58,12 @@ QT_BEGIN_HEADER
QT_MODULE(Gui)
-class QDirectFBSurface: public QWSWindowSurface, public QDirectFBPaintDevice
+class QDirectFBWindowSurface : public QWSWindowSurface, public QDirectFBPaintDevice
{
public:
- QDirectFBSurface(DFBSurfaceFlipFlags flipFlags, QDirectFBScreen* scr);
- QDirectFBSurface(DFBSurfaceFlipFlags flipFlags, QDirectFBScreen* scr, QWidget *widget);
- ~QDirectFBSurface();
+ QDirectFBWindowSurface(DFBSurfaceFlipFlags flipFlags, QDirectFBScreen* scr);
+ QDirectFBWindowSurface(DFBSurfaceFlipFlags flipFlags, QDirectFBScreen* scr, QWidget *widget);
+ ~QDirectFBWindowSurface();
bool isValid() const;
@@ -79,15 +79,15 @@ public:
QRegion move(const QPoint &offset, const QRegion &newClip);
QImage image() const { return QImage(); }
- QPaintDevice* paintDevice() { return this; }
- QPaintEngine* paintEngine() const;
+ QPaintDevice *paintDevice() { return this; }
+ QPaintEngine *paintEngine() const;
void flush(QWidget *widget, const QRegion &region, const QPoint &offset);
void beginPaint(const QRegion &);
void endPaint(const QRegion &);
- QImage* buffer(const QWidget *widget);
+ QImage *buffer(const QWidget *widget);
private:
#ifndef QT_NO_DIRECTFB_WM
@@ -100,6 +100,7 @@ private:
QList<QImage*> bufferImages;
DFBSurfaceFlipFlags flipFlags;
+ bool boundingRectFlip;
#ifdef QT_DIRECTFB_TIMING
int frames;
QTime timer;
diff --git a/src/plugins/gfxdrivers/powervr/QWSWSEGL/QWSWSEGL.pro b/src/plugins/gfxdrivers/powervr/QWSWSEGL/QWSWSEGL.pro
index b62894d..9331d0a 100644
--- a/src/plugins/gfxdrivers/powervr/QWSWSEGL/QWSWSEGL.pro
+++ b/src/plugins/gfxdrivers/powervr/QWSWSEGL/QWSWSEGL.pro
@@ -22,3 +22,5 @@ LIBS += -lpvr2d
DESTDIR = $$QMAKE_LIBDIR_QT
target.path = $$[QT_INSTALL_LIBS]
INSTALLS += target
+
+include(../powervr.pri) \ No newline at end of file
diff --git a/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c b/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c
index 5c37253..4771d14 100644
--- a/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c
+++ b/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c
@@ -72,7 +72,7 @@ static int pvrQwsInitFbScreen(int screen)
/* Bail out if already initialized, or the number is incorrect */
if (screen < 0 || screen >= PVRQWS_MAX_SCREENS)
return 0;
- if (pvrQwsDisplay.screens[screen].mapped)
+ if (pvrQwsDisplay.screens[screen].initialized)
return 1;
/* Open the framebuffer and fetch its properties */
@@ -125,26 +125,33 @@ static int pvrQwsInitFbScreen(int screen)
start = fix.smem_start;
length = var.xres_virtual * var.yres_virtual * bytesPerPixel;
- /* Map the framebuffer region into memory */
- mapped = mmap(0, length, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
- if (!mapped || mapped == (void *)(-1)) {
- perror("mmap");
- close(fd);
- return 0;
- }
-
- /* Allocate a PVR2D memory region for the framebuffer */
- memInfo = 0;
- if (pvrQwsDisplay.context) {
- pageAddresses[0] = start & 0xFFFFF000;
- pageAddresses[1] = 0;
- if (PVR2DMemWrap
- (pvrQwsDisplay.context, mapped, PVR2D_WRAPFLAG_CONTIGUOUS,
- length, pageAddresses, &memInfo) != PVR2D_OK) {
- munmap(mapped, length);
+ if (screen == 0) {
+ /* We use PVR2DGetFrameBuffer to map the first screen.
+ On some chipsets it is more reliable than using PVR2DMemWrap */
+ mapped = 0;
+ memInfo = 0;
+ } else {
+ /* Other screens: map the framebuffer region into memory */
+ mapped = mmap(0, length, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+ if (!mapped || mapped == (void *)(-1)) {
+ perror("mmap");
close(fd);
return 0;
}
+
+ /* Allocate a PVR2D memory region for the framebuffer */
+ memInfo = 0;
+ if (pvrQwsDisplay.context) {
+ pageAddresses[0] = start & 0xFFFFF000;
+ pageAddresses[1] = 0;
+ if (PVR2DMemWrap
+ (pvrQwsDisplay.context, mapped, PVR2D_WRAPFLAG_CONTIGUOUS,
+ length, pageAddresses, &memInfo) != PVR2D_OK) {
+ munmap(mapped, length);
+ close(fd);
+ return 0;
+ }
+ }
}
/* We don't need the file descriptor any more */
@@ -158,11 +165,17 @@ static int pvrQwsInitFbScreen(int screen)
pvrQwsDisplay.screens[screen].screenStride = stride;
pvrQwsDisplay.screens[screen].pixelFormat = format;
pvrQwsDisplay.screens[screen].bytesPerPixel = bytesPerPixel;
- pvrQwsDisplay.screens[screen].frameBuffer = memInfo;
pvrQwsDisplay.screens[screen].screenDrawable = 0;
- pvrQwsDisplay.screens[screen].mapped = mapped;
+ if (mapped) {
+ /* Don't set these fields if mapped is 0, because PVR2DGetFrameBuffer
+ may have already been called and set them */
+ pvrQwsDisplay.screens[screen].frameBuffer = memInfo;
+ pvrQwsDisplay.screens[screen].mapped = mapped;
+ }
pvrQwsDisplay.screens[screen].mappedLength = length;
pvrQwsDisplay.screens[screen].screenStart = start;
+ pvrQwsDisplay.screens[screen].needsUnmap = (mapped != 0);
+ pvrQwsDisplay.screens[screen].initialized = 1;
return 1;
}
@@ -209,7 +222,7 @@ static int pvrQwsAddDrawable(void)
/* Create the PVR2DMEMINFO blocks for the active framebuffers */
for (screen = 0; screen < PVRQWS_MAX_SCREENS; ++screen) {
- if (pvrQwsDisplay.screens[screen].mapped) {
+ if (screen != 0 && pvrQwsDisplay.screens[screen].mapped) {
pageAddresses[0]
= pvrQwsDisplay.screens[screen].screenStart & 0xFFFFF000;
pageAddresses[1] = 0;
@@ -224,6 +237,17 @@ static int pvrQwsAddDrawable(void)
return 0;
}
pvrQwsDisplay.screens[screen].frameBuffer = memInfo;
+ } else if (screen == 0) {
+ if (PVR2DGetFrameBuffer
+ (pvrQwsDisplay.context,
+ PVR2D_FB_PRIMARY_SURFACE, &memInfo) != PVR2D_OK) {
+ fprintf(stderr, "QWSWSEGL: could not get the primary framebuffer surface\n");
+ PVR2DDestroyDeviceContext(pvrQwsDisplay.context);
+ pvrQwsDisplay.context = 0;
+ return 0;
+ }
+ pvrQwsDisplay.screens[screen].frameBuffer = memInfo;
+ pvrQwsDisplay.screens[screen].mapped = memInfo->pBase;
}
}
@@ -330,7 +354,7 @@ void pvrQwsDisplayClose(void)
pvrQwsDestroyDrawableForced(info->screenDrawable);
if (info->frameBuffer)
PVR2DMemFree(pvrQwsDisplay.context, info->frameBuffer);
- if (info->mapped)
+ if (info->mapped && info->needsUnmap)
munmap(info->mapped, info->mappedLength);
}
diff --git a/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h b/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h
index d6c42a6..4f3ea90 100644
--- a/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h
+++ b/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h
@@ -76,6 +76,8 @@ typedef struct {
void *mapped;
int mappedLength;
unsigned long screenStart;
+ int needsUnmap;
+ int initialized;
} PvrQwsScreenInfo;
diff --git a/src/plugins/gfxdrivers/powervr/README b/src/plugins/gfxdrivers/powervr/README
index ec02efb..4dce87f 100644
--- a/src/plugins/gfxdrivers/powervr/README
+++ b/src/plugins/gfxdrivers/powervr/README
@@ -29,12 +29,13 @@ strictly Unix-style markers.
***************************************************************************
* IMPORTANT: To build the QScreen plugin and the WSEGL library it depends *
-* on, the pvr2d.h, wsegl.h headers for your platform are required. These *
-* can be obtained either through your platform provider or directly from *
-* Imagination Technologies. *
+* on, the pvr2d.h, wsegl.h headers for your platform are required. You *
+* can find a copy of these headers in src/3rdparty/powervr for SGX based *
+* platforms like the TI OMAP3xxx. They may also work on MBX platforms too *
+* depending on how old your libEGL is. You can tell Qt where to find *
+* these headers by setting QMAKE_INCDIR_POWERVR in the mkspec. *
***************************************************************************
-
When you start a Qt/Embedded application, you should modify the QWS_DISPLAY
environment variable to use the "powervr" driver instead of "LinuxFb". For
example, if your original QWS_DISPLAY variable was:
diff --git a/src/plugins/gfxdrivers/powervr/powervr.pri b/src/plugins/gfxdrivers/powervr/powervr.pri
new file mode 100644
index 0000000..9df8c0e
--- /dev/null
+++ b/src/plugins/gfxdrivers/powervr/powervr.pri
@@ -0,0 +1,2 @@
+
+INCLUDEPATH += $$QMAKE_INCDIR_POWERVR
diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.pro b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.pro
index 691cd2d..675be85 100644
--- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.pro
+++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.pro
@@ -9,9 +9,10 @@ DEFINES += QT_QWS_CLIENTBLIT
INCLUDEPATH += ../QWSWSEGL
+
HEADERS = \
- pvreglscreen.h \
- pvreglwindowsurface.h
+ pvreglscreen.h \
+ pvreglwindowsurface.h
SOURCES = \
pvreglscreenplugin.cpp \
@@ -22,3 +23,5 @@ QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/gfxdrivers
target.path = $$[QT_INSTALL_PLUGINS]/gfxdrivers
INSTALLS += target
+
+include(../powervr.pri) \ No newline at end of file
diff --git a/src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp b/src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp
index 7fdf81f..3273513 100644
--- a/src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp
+++ b/src/plugins/iconengines/svgiconengine/qsvgiconengine.cpp
@@ -121,17 +121,11 @@ QSize QSvgIconEngine::actualSize(const QSize &size, QIcon::Mode mode,
if (!pm.isNull() && pm.size() == size)
return size;
}
-
- QSvgRenderer renderer;
- d->loadDataForModeAndState(&renderer, mode, state);
- if (renderer.isValid()) {
- QSize defaultSize = renderer.defaultSize();
- if (!defaultSize.isNull())
- defaultSize.scale(size, Qt::KeepAspectRatio);
- return defaultSize;
- } else {
+
+ QPixmap pm = pixmap(size, mode, state);
+ if (pm.isNull())
return QSize();
- }
+ return pm.size();
}
void QSvgIconEnginePrivate::loadDataForModeAndState(QSvgRenderer *renderer, QIcon::Mode mode, QIcon::State state)
@@ -158,9 +152,13 @@ void QSvgIconEnginePrivate::loadDataForModeAndState(QSvgRenderer *renderer, QIco
QPixmap QSvgIconEngine::pixmap(const QSize &size, QIcon::Mode mode,
QIcon::State state)
-{
+{
QPixmap pm;
+ QString pmckey(d->pmcKey(size, mode, state));
+ if (QPixmapCache::find(pmckey, pm))
+ return pm;
+
if (d->addedPixmaps) {
pm = d->addedPixmaps->value(d->hashKey(mode, state));
if (!pm.isNull() && pm.size() == size)
@@ -176,10 +174,6 @@ QPixmap QSvgIconEngine::pixmap(const QSize &size, QIcon::Mode mode,
if (!actualSize.isNull())
actualSize.scale(size, Qt::KeepAspectRatio);
- QString pmckey(d->pmcKey(actualSize, mode, state));
- if (QPixmapCache::find(pmckey, pm))
- return pm;
-
QImage img(actualSize, QImage::Format_ARGB32_Premultiplied);
img.fill(0x00000000);
QPainter p(&img);
diff --git a/src/plugins/qpluginbase.pri b/src/plugins/qpluginbase.pri
index 446efab..ae39021 100644
--- a/src/plugins/qpluginbase.pri
+++ b/src/plugins/qpluginbase.pri
@@ -1,6 +1,6 @@
TEMPLATE = lib
isEmpty(QT_MAJOR_VERSION) {
- VERSION=4.5.1
+ VERSION=4.5.2
} else {
VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
}
diff --git a/src/qbase.pri b/src/qbase.pri
index e9da61d..f7c8a95 100644
--- a/src/qbase.pri
+++ b/src/qbase.pri
@@ -4,7 +4,7 @@ INCLUDEPATH *= $$QMAKE_INCDIR_QT/$$TARGET #just for today to have some compat
isEmpty(QT_ARCH):!isEmpty(ARCH):QT_ARCH=$$ARCH #another compat that will rot for change #215700
TEMPLATE = lib
isEmpty(QT_MAJOR_VERSION) {
- VERSION=4.5.1
+ VERSION=4.5.2
} else {
VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
}
diff --git a/src/qt3support/dialogs/q3filedialog.cpp b/src/qt3support/dialogs/q3filedialog.cpp
index 4874b6d..1ec0cfc 100644
--- a/src/qt3support/dialogs/q3filedialog.cpp
+++ b/src/qt3support/dialogs/q3filedialog.cpp
@@ -631,6 +631,7 @@ public:
protected:
void keyPressEvent(QKeyEvent *e);
void focusOutEvent(QFocusEvent *e);
+ void emitDoRename();
signals:
void cancelRename();
@@ -1143,16 +1144,20 @@ void QRenameEdit::keyPressEvent(QKeyEvent *e)
void QRenameEdit::focusOutEvent(QFocusEvent *)
{
- if (!doRenameAlreadyEmitted) {
- doRenameAlreadyEmitted = true;
- emit doRename();
- }
+ if (!doRenameAlreadyEmitted)
+ emitDoRename();
}
void QRenameEdit::slotReturnPressed()
{
+ emitDoRename();
+}
+
+void QRenameEdit::emitDoRename()
+{
doRenameAlreadyEmitted = true;
emit doRename();
+ doRenameAlreadyEmitted = false;
}
/************************************************************************
diff --git a/src/script/qscriptvalueiterator.cpp b/src/script/qscriptvalueiterator.cpp
index fe5ef9f..1a60632 100644
--- a/src/script/qscriptvalueiterator.cpp
+++ b/src/script/qscriptvalueiterator.cpp
@@ -106,6 +106,7 @@ QScriptValueIteratorPrivate::QScriptValueIteratorPrivate()
*/
QScriptValueIteratorPrivate::~QScriptValueIteratorPrivate()
{
+ delete it;
}
/*!
@@ -130,7 +131,6 @@ QScriptValueIterator::QScriptValueIterator(const QScriptValue &object)
QScriptValueIterator::~QScriptValueIterator()
{
if (d_ptr) {
- delete d_ptr->it;
delete d_ptr;
d_ptr = 0;
}
@@ -312,7 +312,7 @@ void QScriptValueIterator::remove()
QScriptValueIterator& QScriptValueIterator::operator=(QScriptValue &object)
{
if (d_ptr) {
- delete d_ptr->it;
+ delete d_ptr;
d_ptr = 0;
}
QScriptValueImpl val = QScriptValuePrivate::valueOf(object);
diff --git a/src/sql/drivers/ibase/qsql_ibase.cpp b/src/sql/drivers/ibase/qsql_ibase.cpp
index 0705722..6834d9a 100644
--- a/src/sql/drivers/ibase/qsql_ibase.cpp
+++ b/src/sql/drivers/ibase/qsql_ibase.cpp
@@ -871,7 +871,7 @@ QIBaseResult::~QIBaseResult()
bool QIBaseResult::prepare(const QString& query)
{
- //qDebug("prepare: %s\n", qPrintable(query));
+// qDebug("prepare: %s", qPrintable(query));
if (!driver() || !driver()->isOpen() || driver()->isOpenError())
return false;
d->cleanup();
@@ -1025,7 +1025,7 @@ bool QIBaseResult::exec()
}
if (ok) {
- if (colCount()) {
+ if (colCount() && d->queryType != isc_info_sql_stmt_exec_procedure) {
isc_dsql_free_statement(d->status, &d->stmt, DSQL_close);
if (d->isError(QT_TRANSLATE_NOOP("QIBaseResult", "Unable to close statement")))
return false;
@@ -1039,7 +1039,7 @@ bool QIBaseResult::exec()
return false;
// Not all stored procedures necessarily return values.
- if (d->queryType == isc_info_sql_stmt_exec_procedure && d->sqlda->sqld == 0)
+ if (d->queryType == isc_info_sql_stmt_exec_procedure && d->sqlda && d->sqlda->sqld == 0)
delDA(d->sqlda);
if (d->sqlda)
@@ -1270,27 +1270,27 @@ QSqlRecord QIBaseResult::record() const
v = d->sqlda->sqlvar[i];
QSqlField f(QString::fromLatin1(v.aliasname, v.aliasname_length).simplified(),
qIBaseTypeName2(v.sqltype, v.sqlscale < 0));
- QSqlQuery q(new QIBaseResult(d->db));
- q.setForwardOnly(true);
- q.exec(QLatin1String("select b.RDB$FIELD_PRECISION, b.RDB$FIELD_SCALE, b.RDB$FIELD_LENGTH, a.RDB$NULL_FLAG "
- "FROM RDB$RELATION_FIELDS a, RDB$FIELDS b "
- "WHERE b.RDB$FIELD_NAME = a.RDB$FIELD_SOURCE "
- "AND a.RDB$RELATION_NAME = '") + QString::fromAscii(v.relname, v.relname_length).toUpper() + QLatin1String("' "
- "AND a.RDB$FIELD_NAME = '") + QString::fromAscii(v.sqlname, v.sqlname_length).toUpper() + QLatin1String("' "));
- if(q.first()) {
- if(v.sqlscale < 0) {
- f.setLength(q.value(0).toInt());
- f.setPrecision(qAbs(q.value(1).toInt()));
- } else {
- f.setLength(q.value(2).toInt());
- f.setPrecision(0);
+ f.setLength(v.sqllen);
+ f.setPrecision(qAbs(v.sqlscale));
+ f.setRequiredStatus((v.sqltype & 1) == 0 ? QSqlField::Required : QSqlField::Optional);
+ if(v.sqlscale < 0) {
+ QSqlQuery q(new QIBaseResult(d->db));
+ q.setForwardOnly(true);
+ q.exec(QLatin1String("select b.RDB$FIELD_PRECISION, b.RDB$FIELD_SCALE, b.RDB$FIELD_LENGTH, a.RDB$NULL_FLAG "
+ "FROM RDB$RELATION_FIELDS a, RDB$FIELDS b "
+ "WHERE b.RDB$FIELD_NAME = a.RDB$FIELD_SOURCE "
+ "AND a.RDB$RELATION_NAME = '") + QString::fromAscii(v.relname, v.relname_length).toUpper() + QLatin1String("' "
+ "AND a.RDB$FIELD_NAME = '") + QString::fromAscii(v.sqlname, v.sqlname_length).toUpper() + QLatin1String("' "));
+ if(q.first()) {
+ if(v.sqlscale < 0) {
+ f.setLength(q.value(0).toInt());
+ f.setPrecision(qAbs(q.value(1).toInt()));
+ } else {
+ f.setLength(q.value(2).toInt());
+ f.setPrecision(0);
+ }
+ f.setRequiredStatus(q.value(3).toBool() ? QSqlField::Required : QSqlField::Optional);
}
- f.setRequiredStatus(q.value(3).toBool() ? QSqlField::Required : QSqlField::Optional);
- }
- else {
- f.setLength(0);
- f.setPrecision(0);
- f.setRequiredStatus(QSqlField::Unknown);
}
f.setSqlType(v.sqltype);
rec.append(f);
diff --git a/src/sql/drivers/mysql/qsql_mysql.cpp b/src/sql/drivers/mysql/qsql_mysql.cpp
index a84e840..1f54db7 100644
--- a/src/sql/drivers/mysql/qsql_mysql.cpp
+++ b/src/sql/drivers/mysql/qsql_mysql.cpp
@@ -224,7 +224,7 @@ static QTextCodec* codec(MYSQL* mysql)
static QSqlError qMakeError(const QString& err, QSqlError::ErrorType type,
const QMYSQLDriverPrivate* p)
{
- const char *cerr = mysql_error(p->mysql);
+ const char *cerr = p->mysql ? mysql_error(p->mysql) : 0;
return QSqlError(QLatin1String("QMYSQL: ") + err,
p->tc ? toUnicode(p->tc, cerr) : QString::fromLatin1(cerr),
type, mysql_errno(p->mysql));
diff --git a/src/sql/drivers/oci/qsql_oci.cpp b/src/sql/drivers/oci/qsql_oci.cpp
index fa9b5f0..d63c482 100644
--- a/src/sql/drivers/oci/qsql_oci.cpp
+++ b/src/sql/drivers/oci/qsql_oci.cpp
@@ -2208,7 +2208,7 @@ QStringList QOCIDriver::tables(QSql::TableType type) const
user = user.toUpper();
while (t.next()) {
- if (t.value(0).toString() != user)
+ if (t.value(0).toString().toUpper() != user.toUpper())
tl.append(t.value(0).toString() + QLatin1String(".") + t.value(1).toString());
else
tl.append(t.value(1).toString());
@@ -2224,7 +2224,7 @@ QStringList QOCIDriver::tables(QSql::TableType type) const
"and owner != 'CTXSYS'"
"and owner != 'WMSYS'"));
while (t.next()) {
- if (t.value(0).toString() != d->user)
+ if (t.value(0).toString().toUpper() != d->user.toUpper())
tl.append(t.value(0).toString() + QLatin1String(".") + t.value(1).toString());
else
tl.append(t.value(1).toString());
diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp
index 2a83fe6..ee500a0 100644
--- a/src/sql/drivers/odbc/qsql_odbc.cpp
+++ b/src/sql/drivers/odbc/qsql_odbc.cpp
@@ -70,18 +70,15 @@ QT_BEGIN_NAMESPACE
#endif
// newer platform SDKs use SQLLEN instead of SQLINTEGER
-#if defined(SQLLEN) || defined(Q_OS_WIN64)
-# define QSQLLEN SQLLEN
-#else
+#if defined(WIN32) && (_MSC_VER < 1300)
# define QSQLLEN SQLINTEGER
-#endif
-
-#if defined(SQLULEN) || defined(Q_OS_WIN64)
-# define QSQLULEN SQLULEN
-#else
# define QSQLULEN SQLUINTEGER
+#else
+# define QSQLLEN SQLLEN
+# define QSQLULEN SQLULEN
#endif
+
static const int COLNAMESIZE = 256;
//Map Qt parameter types to ODBC types
static const SQLSMALLINT qParamType[4] = { SQL_PARAM_INPUT, SQL_PARAM_INPUT, SQL_PARAM_OUTPUT, SQL_PARAM_INPUT_OUTPUT };
@@ -566,7 +563,6 @@ QChar QODBCDriverPrivate::quoteChar() const
static QChar quote = QChar::fromLatin1('"');
if (!isQuoteInitialized) {
char driverResponse[4];
- SQLUSMALLINT casing;
SQLSMALLINT length;
int r = SQLGetInfo(hDbc,
SQL_IDENTIFIER_QUOTE_CHAR,
diff --git a/src/src.pro b/src/src.pro
index fb28882..f40c6ad 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -13,7 +13,7 @@ wince*:{
contains(QT_CONFIG, qt3support): SRC_SUBDIRS += src_tools_uic3
}
}
-win32:!contains(QT_EDITION, OpenSource|Console): {
+win32:{
SRC_SUBDIRS += src_activeqt
!wince*: SRC_SUBDIRS += src_tools_idc
}
diff --git a/src/svg/qsvgstyle.cpp b/src/svg/qsvgstyle.cpp
index b065395..bd0804c 100644
--- a/src/svg/qsvgstyle.cpp
+++ b/src/svg/qsvgstyle.cpp
@@ -808,6 +808,7 @@ void QSvgGradientStyle::resolveStops()
static_cast<QSvgGradientStyle*>(prop);
st->resolveStops();
m_gradient->setStops(st->qgradient()->stops());
+ m_gradientStopsSet = st->gradientStopsSet();
}
}
m_link = QString();
diff --git a/src/svg/qsvgwidget.cpp b/src/svg/qsvgwidget.cpp
index a4200ca..ac8595f 100644
--- a/src/svg/qsvgwidget.cpp
+++ b/src/svg/qsvgwidget.cpp
@@ -83,18 +83,6 @@ class QSvgWidgetPrivate : public QWidgetPrivate
{
Q_DECLARE_PUBLIC(QSvgWidget)
public:
- QSvgWidgetPrivate()
- : QWidgetPrivate()
- {
- Q_Q(QSvgWidget);
- renderer = new QSvgRenderer(q);
- }
- QSvgWidgetPrivate(const QString &file)
- : QWidgetPrivate()
- {
- Q_Q(QSvgWidget);
- renderer = new QSvgRenderer(file, q);
- }
QSvgRenderer *renderer;
};
@@ -104,6 +92,7 @@ public:
QSvgWidget::QSvgWidget(QWidget *parent)
: QWidget(*new QSvgWidgetPrivate, parent, 0)
{
+ d_func()->renderer = new QSvgRenderer(this);
QObject::connect(d_func()->renderer, SIGNAL(repaintNeeded()),
this, SLOT(update()));
}
@@ -113,8 +102,9 @@ QSvgWidget::QSvgWidget(QWidget *parent)
of the specified \a file.
*/
QSvgWidget::QSvgWidget(const QString &file, QWidget *parent)
- : QWidget(*new QSvgWidgetPrivate(file), parent, 0)
+ : QWidget(*new QSvgWidgetPrivate, parent, 0)
{
+ d_func()->renderer = new QSvgRenderer(file, this);
QObject::connect(d_func()->renderer, SIGNAL(repaintNeeded()),
this, SLOT(update()));
}
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp
index f17d95d..b5200dc 100644
--- a/src/testlib/qtestcase.cpp
+++ b/src/testlib/qtestcase.cpp
@@ -1481,7 +1481,7 @@ int QTest::qExec(QObject *testObject, int argc, char **argv)
}
#endif
-#if defined(QTEST_NOEXITCODE) || (defined(QT_BUILD_INTERNAL) && !defined(QTEST_FORCE_EXITCODE))
+#if defined(QTEST_NOEXITCODE)
return 0;
#else
diff --git a/src/tools/uic/cpp/cppwriteinitialization.cpp b/src/tools/uic/cpp/cppwriteinitialization.cpp
index 3d702dd..47566ad 100644
--- a/src/tools/uic/cpp/cppwriteinitialization.cpp
+++ b/src/tools/uic/cpp/cppwriteinitialization.cpp
@@ -1650,19 +1650,19 @@ QString WriteInitialization::writeIconProperties(const DomResourceIcon *i)
if (i->hasElementNormalOff())
m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementNormalOff()->text(), m_dindent) << "), QSize(), QIcon::Normal, QIcon::Off);\n";
if (i->hasElementNormalOn())
- m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementNormalOff()->text(), m_dindent) << "), QSize(), QIcon::Normal, QIcon::On);\n";
+ m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementNormalOn()->text(), m_dindent) << "), QSize(), QIcon::Normal, QIcon::On);\n";
if (i->hasElementDisabledOff())
- m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementNormalOff()->text(), m_dindent) << "), QSize(), QIcon::Disabled, QIcon::Off);\n";
+ m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementDisabledOff()->text(), m_dindent) << "), QSize(), QIcon::Disabled, QIcon::Off);\n";
if (i->hasElementDisabledOn())
- m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementNormalOff()->text(), m_dindent) << "), QSize(), QIcon::Disabled, QIcon::On);\n";
+ m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementDisabledOn()->text(), m_dindent) << "), QSize(), QIcon::Disabled, QIcon::On);\n";
if (i->hasElementActiveOff())
- m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementNormalOff()->text(), m_dindent) << "), QSize(), QIcon::Active, QIcon::Off);\n";
+ m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementActiveOff()->text(), m_dindent) << "), QSize(), QIcon::Active, QIcon::Off);\n";
if (i->hasElementActiveOn())
- m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementNormalOff()->text(), m_dindent) << "), QSize(), QIcon::Active, QIcon::On);\n";
+ m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementActiveOn()->text(), m_dindent) << "), QSize(), QIcon::Active, QIcon::On);\n";
if (i->hasElementSelectedOff())
- m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementNormalOff()->text(), m_dindent) << "), QSize(), QIcon::Selected, QIcon::Off);\n";
+ m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementSelectedOff()->text(), m_dindent) << "), QSize(), QIcon::Selected, QIcon::Off);\n";
if (i->hasElementSelectedOn())
- m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementNormalOff()->text(), m_dindent) << "), QSize(), QIcon::Selected, QIcon::On);\n";
+ m_output << m_indent << iconName << ".addFile(QString::fromUtf8(" << fixString(i->elementSelectedOn()->text(), m_dindent) << "), QSize(), QIcon::Selected, QIcon::On);\n";
} else { // pre-4.4 legacy
m_output << m_indent << "const QIcon " << iconName << " = " << pixCall(QLatin1String("QIcon"), i->text())<< ";\n";
}
diff --git a/src/xmlpatterns/expr/qapplytemplate.cpp b/src/xmlpatterns/expr/qapplytemplate.cpp
index 95f4fdf..b91c2f0 100644
--- a/src/xmlpatterns/expr/qapplytemplate.cpp
+++ b/src/xmlpatterns/expr/qapplytemplate.cpp
@@ -160,8 +160,7 @@ Item::Iterator::Ptr ApplyTemplate::evaluateSequence(const DynamicContext::Ptr &c
focus->setFocusIterator(focusIterator);
return makeSequenceMappingIterator<Item>(ConstPtr(this), focusIterator, focus);
}
- else
- return CommonValues::emptyIterator;
+ return CommonValues::emptyIterator;
}
}
diff --git a/src/xmlpatterns/functions/qsequencefns.cpp b/src/xmlpatterns/functions/qsequencefns.cpp
index f6d5391..faa787e 100644
--- a/src/xmlpatterns/functions/qsequencefns.cpp
+++ b/src/xmlpatterns/functions/qsequencefns.cpp
@@ -246,8 +246,7 @@ Item::Iterator::Ptr SubsequenceFN::evaluateSequence(const DynamicContext::Ptr &c
if(length < 1 && length != -1)
return CommonValues::emptyIterator;
- else
- return Item::Iterator::Ptr(new SubsequenceIterator(it, startingLoc, length));
+ return Item::Iterator::Ptr(new SubsequenceIterator(it, startingLoc, length));
}
Item SubsequenceFN::evaluateSingleton(const DynamicContext::Ptr &context) const
diff --git a/tests/arthur/common/images.qrc b/tests/arthur/common/images.qrc
index 8e94760..060b52c 100644
--- a/tests/arthur/common/images.qrc
+++ b/tests/arthur/common/images.qrc
@@ -3,6 +3,7 @@
<qresource>
<file>images/alpha.png</file>
<file>images/border.png</file>
+ <file>images/borderimage.png</file>
<file>images/dome_argb32.png</file>
<file>images/dome_indexed.png</file>
<file>images/dome_mono_palette.png</file>
diff --git a/tests/arthur/common/images/borderimage.png b/tests/arthur/common/images/borderimage.png
new file mode 100644
index 0000000..f7f6b66
--- /dev/null
+++ b/tests/arthur/common/images/borderimage.png
Binary files differ
diff --git a/tests/arthur/data/qps/borderimage.qps b/tests/arthur/data/qps/borderimage.qps
new file mode 100644
index 0000000..8d2e54b
--- /dev/null
+++ b/tests/arthur/data/qps/borderimage.qps
@@ -0,0 +1,164 @@
+image_load borderimage.png borderimage
+
+translate -128 -128
+begin_block draw_border
+
+# top
+drawImage borderimage 0 0 16 16 0 0 16 16
+drawImage borderimage 16 0 36 16 16 0 32 16
+drawImage borderimage 52 0 16 16 48 0 16 16
+
+# sides
+drawImage borderimage 0 16 16 16 0 16 16 32
+drawImage borderimage 52 16 16 16 48 16 16 32
+
+#bottom
+drawImage borderimage 0 32 16 16 0 48 16 16
+drawImage borderimage 16 32 36 16 16 48 32 16
+drawImage borderimage 52 32 16 16 48 48 16 16
+
+end_block draw_border
+
+resetMatrix
+
+begin_block draw_column
+
+translate 1 1
+repeat_block draw_border
+translate 0.1 64.1
+repeat_block draw_border
+translate 0.1 64.1
+repeat_block draw_border
+translate 0.1 64.1
+repeat_block draw_border
+translate 0.1 64.1
+repeat_block draw_border
+translate 0.1 64.1
+repeat_block draw_border
+translate 0.1 64.1
+repeat_block draw_border
+translate 0.1 64.1
+repeat_block draw_border
+translate 0.1 64.1
+repeat_block draw_border
+translate 0.1 64.1
+repeat_block draw_border
+
+end_block draw_column
+
+setRenderHint Antialiasing
+
+resetMatrix
+translate 72 0
+
+repeat_block draw_column
+
+resetMatrix
+scale 1.25 1.25
+translate 144 0
+
+repeat_block draw_border
+
+resetMatrix
+scale 1.25 1.25
+translate 246 0
+rotate 30
+
+repeat_block draw_border
+
+setRenderHint SmoothPixmapTransform
+
+resetMatrix
+scale 1.25 1.25
+translate 144 120
+
+repeat_block draw_border
+
+resetMatrix
+scale 1.25 1.25
+translate 246 120
+rotate 30
+
+repeat_block draw_border
+
+resetMatrix
+translate 215 260
+scale 3.55 3.55
+rotate 30
+
+repeat_block draw_border
+
+resetMatrix
+setRenderHint SmoothPixmapTransform off
+setRenderHint Antialiasing off
+
+translate 480 627
+rotate 180
+repeat_block draw_column
+
+resetMatrix
+setRenderHint Antialiasing
+
+translate 552 627
+rotate 180
+repeat_block draw_column
+
+resetMatrix
+setRenderHint Antialiasing off
+
+translate 200.1 520.1
+
+begin_block one_pixel_border
+drawImage borderimage 0 0 16 16 0 0 16 16
+drawImage borderimage 16 0 64 16 16 0 1 1
+drawImage borderimage 80 0 16 16 48 0 16 16
+
+drawImage borderimage 0 16 16 64 16 0 1 1
+drawImage borderimage 80 16 16 64 16 0 1 1
+
+drawImage borderimage 0 80 16 16 0 48 16 16
+drawImage borderimage 16 80 64 16 16 0 1 1
+drawImage borderimage 80 80 16 16 48 48 16 16
+end_block one_pixel_border
+
+resetMatrix
+
+translate 205.1 626.1
+scale 0.4 0.4
+
+repeat_block one_pixel_border
+
+resetMatrix
+
+translate 255.1 624.1
+scale 0.4 0.4
+rotate 10
+
+repeat_block one_pixel_border
+
+resetMatrix
+
+setPen red
+
+drawRect 0 0 70 680
+drawText 10 670 "aa off"
+
+drawRect 72 0 70 680
+drawText 80 670 "aa on"
+
+drawRect 409 0 70 680
+drawText 419 650 "rot 180"
+drawText 419 670 "aa off"
+
+drawRect 481 0 70 680
+drawText 491 650 "rot 180"
+drawText 491 670 "aa on"
+
+drawRect 164 0 224 124
+drawText 174 114 "smoothpixmaptransform off"
+
+drawRect 164 128 224 134
+drawText 174 252 "smoothpixmaptransform on"
+
+drawRect 200 520 97 188
+drawText 210 698 "1x1 edges"
diff --git a/tests/arthur/data/qps/borderimage_qps.png b/tests/arthur/data/qps/borderimage_qps.png
new file mode 100644
index 0000000..ed51d5f
--- /dev/null
+++ b/tests/arthur/data/qps/borderimage_qps.png
Binary files differ
diff --git a/tests/auto/q3accel/q3accel.pro b/tests/auto/q3accel/q3accel.pro
index 002033f..61d4f38 100644
--- a/tests/auto/q3accel/q3accel.pro
+++ b/tests/auto/q3accel/q3accel.pro
@@ -3,6 +3,7 @@ HEADERS +=
SOURCES += tst_q3accel.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3action/q3action.pro b/tests/auto/q3action/q3action.pro
index ee5d780..c85a158 100644
--- a/tests/auto/q3action/q3action.pro
+++ b/tests/auto/q3action/q3action.pro
@@ -1,3 +1,4 @@
load(qttest_p4)
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
SOURCES += tst_q3action.cpp
diff --git a/tests/auto/q3actiongroup/q3actiongroup.pro b/tests/auto/q3actiongroup/q3actiongroup.pro
index bfe1f68..139e48c 100644
--- a/tests/auto/q3actiongroup/q3actiongroup.pro
+++ b/tests/auto/q3actiongroup/q3actiongroup.pro
@@ -1,5 +1,6 @@
load(qttest_p4)
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
SOURCES += tst_q3actiongroup.cpp
diff --git a/tests/auto/q3buttongroup/clickLock/clickLock.pro b/tests/auto/q3buttongroup/clickLock/clickLock.pro
index 68f5ed2..a1aa105 100644
--- a/tests/auto/q3buttongroup/clickLock/clickLock.pro
+++ b/tests/auto/q3buttongroup/clickLock/clickLock.pro
@@ -3,7 +3,8 @@ TEMPLATE = app
win32:TARGET = ../clickLock
!win32:TARGET = clickLock
-contains(QT_CONFIG, qt3support): QT += qt3support
+QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
DEPENDPATH += .
INCLUDEPATH += .
CONFIG -= app_bundle
diff --git a/tests/auto/q3buttongroup/tst_q3buttongroup.pro b/tests/auto/q3buttongroup/tst_q3buttongroup.pro
index 8ec25d0..9f1f090 100644
--- a/tests/auto/q3buttongroup/tst_q3buttongroup.pro
+++ b/tests/auto/q3buttongroup/tst_q3buttongroup.pro
@@ -1,5 +1,6 @@
load(qttest_p4)
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
# Input
SOURCES += tst_q3buttongroup.cpp
diff --git a/tests/auto/q3canvas/q3canvas.pro b/tests/auto/q3canvas/q3canvas.pro
index cac538d..70e9b88 100644
--- a/tests/auto/q3canvas/q3canvas.pro
+++ b/tests/auto/q3canvas/q3canvas.pro
@@ -3,5 +3,6 @@ SOURCES += tst_q3canvas.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3checklistitem/q3checklistitem.pro b/tests/auto/q3checklistitem/q3checklistitem.pro
index 77d96e8..9ae9c55 100644
--- a/tests/auto/q3checklistitem/q3checklistitem.pro
+++ b/tests/auto/q3checklistitem/q3checklistitem.pro
@@ -3,5 +3,6 @@ SOURCES += tst_q3checklistitem.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3combobox/q3combobox.pro b/tests/auto/q3combobox/q3combobox.pro
index 2391f6c..7dcde2b 100644
--- a/tests/auto/q3combobox/q3combobox.pro
+++ b/tests/auto/q3combobox/q3combobox.pro
@@ -1,3 +1,4 @@
load(qttest_p4)
SOURCES += tst_q3combobox.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3cstring/q3cstring.pro b/tests/auto/q3cstring/q3cstring.pro
index 78077b8..1171093 100644
--- a/tests/auto/q3cstring/q3cstring.pro
+++ b/tests/auto/q3cstring/q3cstring.pro
@@ -3,5 +3,6 @@ SOURCES += tst_q3cstring.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3databrowser/q3databrowser.pro b/tests/auto/q3databrowser/q3databrowser.pro
index 09c16b7..d65a5ef 100644
--- a/tests/auto/q3databrowser/q3databrowser.pro
+++ b/tests/auto/q3databrowser/q3databrowser.pro
@@ -2,5 +2,6 @@ load(qttest_p4)
SOURCES += tst_q3databrowser.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3dateedit/q3dateedit.pro b/tests/auto/q3dateedit/q3dateedit.pro
index ba585ce..85e0ebf 100644
--- a/tests/auto/q3dateedit/q3dateedit.pro
+++ b/tests/auto/q3dateedit/q3dateedit.pro
@@ -1,6 +1,7 @@
load(qttest_p4)
SOURCES += tst_q3dateedit.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3datetimeedit/q3datetimeedit.pro b/tests/auto/q3datetimeedit/q3datetimeedit.pro
index f2c0097..9c980be 100644
--- a/tests/auto/q3datetimeedit/q3datetimeedit.pro
+++ b/tests/auto/q3datetimeedit/q3datetimeedit.pro
@@ -4,6 +4,7 @@
load(qttest_p4)
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
SOURCES += tst_q3datetimeedit.cpp
diff --git a/tests/auto/q3deepcopy/q3deepcopy.pro b/tests/auto/q3deepcopy/q3deepcopy.pro
index 04e0690..9ac1a10 100644
--- a/tests/auto/q3deepcopy/q3deepcopy.pro
+++ b/tests/auto/q3deepcopy/q3deepcopy.pro
@@ -3,5 +3,6 @@ SOURCES += tst_q3deepcopy.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3dict/q3dict.pro b/tests/auto/q3dict/q3dict.pro
index 5ccd875..7bbea61 100644
--- a/tests/auto/q3dict/q3dict.pro
+++ b/tests/auto/q3dict/q3dict.pro
@@ -3,5 +3,6 @@ SOURCES += tst_q3dict.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3dns/q3dns.pro b/tests/auto/q3dns/q3dns.pro
index 10c24e5..7fd2e4c 100644
--- a/tests/auto/q3dns/q3dns.pro
+++ b/tests/auto/q3dns/q3dns.pro
@@ -3,5 +3,6 @@ SOURCES += tst_q3dns.cpp
QT += network qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3dockwindow/q3dockwindow.pro b/tests/auto/q3dockwindow/q3dockwindow.pro
index 5f23c40..1352123 100644
--- a/tests/auto/q3dockwindow/q3dockwindow.pro
+++ b/tests/auto/q3dockwindow/q3dockwindow.pro
@@ -3,6 +3,7 @@ HEADERS +=
SOURCES += tst_q3dockwindow.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3filedialog/q3filedialog.pro b/tests/auto/q3filedialog/q3filedialog.pro
index 2394111..f57f9c0 100644
--- a/tests/auto/q3filedialog/q3filedialog.pro
+++ b/tests/auto/q3filedialog/q3filedialog.pro
@@ -4,6 +4,7 @@
load(qttest_p4)
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
SOURCES += tst_q3filedialog.cpp
diff --git a/tests/auto/q3frame/q3frame.pro b/tests/auto/q3frame/q3frame.pro
index 7f0d24f..1d1f5a7 100644
--- a/tests/auto/q3frame/q3frame.pro
+++ b/tests/auto/q3frame/q3frame.pro
@@ -1,4 +1,5 @@
load(qttest_p4)
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
SOURCES += tst_q3frame.cpp
diff --git a/tests/auto/q3groupbox/q3groupbox.pro b/tests/auto/q3groupbox/q3groupbox.pro
index 5153a25..fd4cced 100644
--- a/tests/auto/q3groupbox/q3groupbox.pro
+++ b/tests/auto/q3groupbox/q3groupbox.pro
@@ -1,5 +1,6 @@
load(qttest_p4)
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
# Input
SOURCES += tst_q3groupbox.cpp
diff --git a/tests/auto/q3hbox/q3hbox.pro b/tests/auto/q3hbox/q3hbox.pro
index d5b7c65..bbd7f5b 100644
--- a/tests/auto/q3hbox/q3hbox.pro
+++ b/tests/auto/q3hbox/q3hbox.pro
@@ -2,6 +2,7 @@ load(qttest_p4)
SOURCES += tst_q3hbox.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3header/q3header.pro b/tests/auto/q3header/q3header.pro
index 64ffb0f..d1a913a 100644
--- a/tests/auto/q3header/q3header.pro
+++ b/tests/auto/q3header/q3header.pro
@@ -2,6 +2,7 @@ load(qttest_p4)
SOURCES += tst_q3header.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3iconview/q3iconview.pro b/tests/auto/q3iconview/q3iconview.pro
index 37a138b..9416c08 100644
--- a/tests/auto/q3iconview/q3iconview.pro
+++ b/tests/auto/q3iconview/q3iconview.pro
@@ -2,6 +2,7 @@ load(qttest_p4)
SOURCES += tst_q3iconview.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3listbox/q3listbox.pro b/tests/auto/q3listbox/q3listbox.pro
index d193ace..dc2d197 100644
--- a/tests/auto/q3listbox/q3listbox.pro
+++ b/tests/auto/q3listbox/q3listbox.pro
@@ -2,6 +2,7 @@ load(qttest_p4)
SOURCES += tst_qlistbox.cpp
-contains(QT_CONFIG, qt3support): QT += qt3support
+QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3listview/q3listview.pro b/tests/auto/q3listview/q3listview.pro
index 56c62d1..5d72ea6 100644
--- a/tests/auto/q3listview/q3listview.pro
+++ b/tests/auto/q3listview/q3listview.pro
@@ -2,4 +2,5 @@ load(qttest_p4)
SOURCES += tst_q3listview.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3listviewitemiterator/q3listviewitemiterator.pro b/tests/auto/q3listviewitemiterator/q3listviewitemiterator.pro
index 143e0c0..b50d012 100644
--- a/tests/auto/q3listviewitemiterator/q3listviewitemiterator.pro
+++ b/tests/auto/q3listviewitemiterator/q3listviewitemiterator.pro
@@ -2,6 +2,7 @@ load(qttest_p4)
SOURCES += tst_q3listviewitemiterator.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3mainwindow/q3mainwindow.pro b/tests/auto/q3mainwindow/q3mainwindow.pro
index 7a198d1..c4cb7c4 100644
--- a/tests/auto/q3mainwindow/q3mainwindow.pro
+++ b/tests/auto/q3mainwindow/q3mainwindow.pro
@@ -2,6 +2,7 @@ load(qttest_p4)
SOURCES += tst_q3mainwindow.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
CONFIG += console
diff --git a/tests/auto/q3popupmenu/q3popupmenu.pro b/tests/auto/q3popupmenu/q3popupmenu.pro
index c9c0dd5..216722b 100644
--- a/tests/auto/q3popupmenu/q3popupmenu.pro
+++ b/tests/auto/q3popupmenu/q3popupmenu.pro
@@ -4,5 +4,6 @@
load(qttest_p4)
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
SOURCES += tst_q3popupmenu.cpp
diff --git a/tests/auto/q3process/q3process.pro b/tests/auto/q3process/q3process.pro
index 8dc3541..a665c2b 100644
--- a/tests/auto/q3process/q3process.pro
+++ b/tests/auto/q3process/q3process.pro
@@ -5,6 +5,7 @@ SUBDIRS = cat \
tst
TARGET = tst_q3process
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
#no install rule for subdir
INSTALLS =
diff --git a/tests/auto/q3process/tst/tst.pro b/tests/auto/q3process/tst/tst.pro
index 090d76b..359148b 100644
--- a/tests/auto/q3process/tst/tst.pro
+++ b/tests/auto/q3process/tst/tst.pro
@@ -11,6 +11,7 @@ win32 {
}
}
-contains(QT_CONFIG, qt3support): QT += qt3support
+QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3progressbar/q3progressbar.pro b/tests/auto/q3progressbar/q3progressbar.pro
index b3c8864..582c39e 100644
--- a/tests/auto/q3progressbar/q3progressbar.pro
+++ b/tests/auto/q3progressbar/q3progressbar.pro
@@ -4,6 +4,7 @@
load(qttest_p4)
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
SOURCES += tst_q3progressbar.cpp
diff --git a/tests/auto/q3progressdialog/q3progressdialog.pro b/tests/auto/q3progressdialog/q3progressdialog.pro
index 65e24ed..08528db 100644
--- a/tests/auto/q3progressdialog/q3progressdialog.pro
+++ b/tests/auto/q3progressdialog/q3progressdialog.pro
@@ -4,6 +4,7 @@
load(qttest_p4)
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
SOURCES += tst_q3progressdialog.cpp
diff --git a/tests/auto/q3ptrlist/q3ptrlist.pro b/tests/auto/q3ptrlist/q3ptrlist.pro
index 186a707..d7431f4 100644
--- a/tests/auto/q3ptrlist/q3ptrlist.pro
+++ b/tests/auto/q3ptrlist/q3ptrlist.pro
@@ -2,5 +2,6 @@ load(qttest_p4)
SOURCES += tst_q3ptrlist.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3richtext/q3richtext.pro b/tests/auto/q3richtext/q3richtext.pro
index 2d4fc5a..e22fa37 100644
--- a/tests/auto/q3richtext/q3richtext.pro
+++ b/tests/auto/q3richtext/q3richtext.pro
@@ -3,6 +3,7 @@ HEADERS +=
SOURCES += tst_q3richtext.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3scrollview/q3scrollview.pro b/tests/auto/q3scrollview/q3scrollview.pro
index 1750e8b..d98d234 100644
--- a/tests/auto/q3scrollview/q3scrollview.pro
+++ b/tests/auto/q3scrollview/q3scrollview.pro
@@ -2,6 +2,7 @@ load(qttest_p4)
SOURCES += tst_qscrollview.cpp
-contains(QT_CONFIG, qt3support): QT += qt3support
+QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3semaphore/q3semaphore.pro b/tests/auto/q3semaphore/q3semaphore.pro
index ad8c154..935917d 100644
--- a/tests/auto/q3semaphore/q3semaphore.pro
+++ b/tests/auto/q3semaphore/q3semaphore.pro
@@ -1,5 +1,6 @@
load(qttest_p4)
SOURCES += tst_q3semaphore.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3serversocket/q3serversocket.pro b/tests/auto/q3serversocket/q3serversocket.pro
index 4fa9dce..4e5e364 100644
--- a/tests/auto/q3serversocket/q3serversocket.pro
+++ b/tests/auto/q3serversocket/q3serversocket.pro
@@ -3,5 +3,6 @@ SOURCES += tst_q3serversocket.cpp
QT += network qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3socket/q3socket.pro b/tests/auto/q3socket/q3socket.pro
index a9bf0c0..a8324e9 100644
--- a/tests/auto/q3socket/q3socket.pro
+++ b/tests/auto/q3socket/q3socket.pro
@@ -2,5 +2,6 @@ load(qttest_p4)
SOURCES += tst_qsocket.cpp
QT += network qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3socketdevice/q3socketdevice.pro b/tests/auto/q3socketdevice/q3socketdevice.pro
index c6e9e93..d2cbfb2 100644
--- a/tests/auto/q3socketdevice/q3socketdevice.pro
+++ b/tests/auto/q3socketdevice/q3socketdevice.pro
@@ -2,5 +2,6 @@ load(qttest_p4)
SOURCES += tst_q3socketdevice.cpp
QT += network qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3sqlcursor/q3sqlcursor.pro b/tests/auto/q3sqlcursor/q3sqlcursor.pro
index 2844540..2d316fb 100644
--- a/tests/auto/q3sqlcursor/q3sqlcursor.pro
+++ b/tests/auto/q3sqlcursor/q3sqlcursor.pro
@@ -2,6 +2,7 @@ load(qttest_p4)
SOURCES += tst_q3sqlcursor.cpp
QT += sql qt3support
+requires(contains(QT_CONFIG,qt3support))
win32:LIBS += -lws2_32
diff --git a/tests/auto/q3sqlselectcursor/q3sqlselectcursor.pro b/tests/auto/q3sqlselectcursor/q3sqlselectcursor.pro
index 21e311f..59448eb 100644
--- a/tests/auto/q3sqlselectcursor/q3sqlselectcursor.pro
+++ b/tests/auto/q3sqlselectcursor/q3sqlselectcursor.pro
@@ -2,6 +2,7 @@ load(qttest_p4)
SOURCES += tst_q3sqlselectcursor.cpp
QT += sql qt3support
+requires(contains(QT_CONFIG,qt3support))
win32:LIBS += -lws2_32
diff --git a/tests/auto/q3stylesheet/q3stylesheet.pro b/tests/auto/q3stylesheet/q3stylesheet.pro
index a5e8438..f0fcd8b 100644
--- a/tests/auto/q3stylesheet/q3stylesheet.pro
+++ b/tests/auto/q3stylesheet/q3stylesheet.pro
@@ -4,6 +4,7 @@
load(qttest_p4)
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
SOURCES += tst_q3stylesheet.cpp
diff --git a/tests/auto/q3tabdialog/q3tabdialog.pro b/tests/auto/q3tabdialog/q3tabdialog.pro
index 1ba72f9..815510d 100644
--- a/tests/auto/q3tabdialog/q3tabdialog.pro
+++ b/tests/auto/q3tabdialog/q3tabdialog.pro
@@ -4,6 +4,7 @@
load(qttest_p4)
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
SOURCES += tst_q3tabdialog.cpp
diff --git a/tests/auto/q3table/q3table.pro b/tests/auto/q3table/q3table.pro
index 6d96a4e..bdda8ba 100644
--- a/tests/auto/q3table/q3table.pro
+++ b/tests/auto/q3table/q3table.pro
@@ -2,5 +2,6 @@ load(qttest_p4)
SOURCES += tst_q3table.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3textbrowser/q3textbrowser.pro b/tests/auto/q3textbrowser/q3textbrowser.pro
index 8ddeaba..4dfd12e 100644
--- a/tests/auto/q3textbrowser/q3textbrowser.pro
+++ b/tests/auto/q3textbrowser/q3textbrowser.pro
@@ -3,6 +3,7 @@ HEADERS +=
SOURCES += tst_q3textbrowser.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3textedit/q3textedit.pro b/tests/auto/q3textedit/q3textedit.pro
index a4b24a9..ff90c4a 100644
--- a/tests/auto/q3textedit/q3textedit.pro
+++ b/tests/auto/q3textedit/q3textedit.pro
@@ -4,5 +4,6 @@ SOURCES += tst_q3textedit.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3textstream/q3textstream.pro b/tests/auto/q3textstream/q3textstream.pro
index 7c80af7..bf2584a 100644
--- a/tests/auto/q3textstream/q3textstream.pro
+++ b/tests/auto/q3textstream/q3textstream.pro
@@ -1,6 +1,7 @@
load(qttest_p4)
SOURCES += tst_q3textstream.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
MOC_DIR=tmp
diff --git a/tests/auto/q3timeedit/q3timeedit.pro b/tests/auto/q3timeedit/q3timeedit.pro
index 17b4a84..0f231df 100644
--- a/tests/auto/q3timeedit/q3timeedit.pro
+++ b/tests/auto/q3timeedit/q3timeedit.pro
@@ -1,6 +1,7 @@
load(qttest_p4)
SOURCES += tst_q3timeedit.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3toolbar/q3toolbar.pro b/tests/auto/q3toolbar/q3toolbar.pro
index 8fcab99..974f14f 100644
--- a/tests/auto/q3toolbar/q3toolbar.pro
+++ b/tests/auto/q3toolbar/q3toolbar.pro
@@ -1,6 +1,7 @@
load(qttest_p4)
SOURCES += tst_q3toolbar.cpp
QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3uridrag/q3uridrag.pro b/tests/auto/q3uridrag/q3uridrag.pro
index 526623e..b6e77fc 100644
--- a/tests/auto/q3uridrag/q3uridrag.pro
+++ b/tests/auto/q3uridrag/q3uridrag.pro
@@ -2,6 +2,7 @@ load(qttest_p4)
SOURCES += tst_q3uridrag.cpp
-contains(QT_CONFIG, qt3support): QT += qt3support
+QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3urloperator/q3urloperator.pro b/tests/auto/q3urloperator/q3urloperator.pro
index 3364dac..29282eb 100644
--- a/tests/auto/q3urloperator/q3urloperator.pro
+++ b/tests/auto/q3urloperator/q3urloperator.pro
@@ -2,7 +2,8 @@ load(qttest_p4)
SOURCES += tst_q3urloperator.cpp
-contains(QT_CONFIG, qt3support): QT += qt3support
+QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
QT += network
diff --git a/tests/auto/q3valuelist/q3valuelist.pro b/tests/auto/q3valuelist/q3valuelist.pro
index ab82d31..d359779 100644
--- a/tests/auto/q3valuelist/q3valuelist.pro
+++ b/tests/auto/q3valuelist/q3valuelist.pro
@@ -2,6 +2,7 @@ load(qttest_p4)
SOURCES += tst_q3valuelist.cpp
-contains(QT_CONFIG, qt3support): QT += qt3support
+QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3valuevector/q3valuevector.pro b/tests/auto/q3valuevector/q3valuevector.pro
index 883fda2..55956cb 100644
--- a/tests/auto/q3valuevector/q3valuevector.pro
+++ b/tests/auto/q3valuevector/q3valuevector.pro
@@ -2,6 +2,7 @@ load(qttest_p4)
SOURCES += tst_q3valuevector.cpp
-contains(QT_CONFIG, qt3support): QT += qt3support
+QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/q3widgetstack/q3widgetstack.pro b/tests/auto/q3widgetstack/q3widgetstack.pro
index 9783f58..1bd6a89 100644
--- a/tests/auto/q3widgetstack/q3widgetstack.pro
+++ b/tests/auto/q3widgetstack/q3widgetstack.pro
@@ -2,6 +2,7 @@ load(qttest_p4)
SOURCES += tst_q3widgetstack.cpp
-contains(QT_CONFIG, qt3support): QT += qt3support
+QT += qt3support
+requires(contains(QT_CONFIG,qt3support))
diff --git a/tests/auto/qaccessibility/tst_qaccessibility.cpp b/tests/auto/qaccessibility/tst_qaccessibility.cpp
index dc52416..df770b3 100644
--- a/tests/auto/qaccessibility/tst_qaccessibility.cpp
+++ b/tests/auto/qaccessibility/tst_qaccessibility.cpp
@@ -4046,7 +4046,7 @@ void tst_QAccessibility::accelerators()
window->show();
QAccessibleInterface *accLineEdit = QAccessible::queryAccessibleInterface(le);
- QCOMPARE(accLineEdit->text(QAccessible::Accelerator, 0), QString(QKeySequence(Qt::ALT) + QLatin1String("L")));
+ QCOMPARE(accLineEdit->text(QAccessible::Accelerator, 0), QKeySequence(Qt::ALT).toString() + QLatin1String("L"));
label->setText(tr("Q &"));
QCOMPARE(accLineEdit->text(QAccessible::Accelerator, 0), QString());
label->setText(tr("Q &&"));
@@ -4054,11 +4054,11 @@ void tst_QAccessibility::accelerators()
label->setText(tr("Q && A"));
QCOMPARE(accLineEdit->text(QAccessible::Accelerator, 0), QString());
label->setText(tr("Q &&&A"));
- QCOMPARE(accLineEdit->text(QAccessible::Accelerator, 0), QString(QKeySequence(Qt::ALT) + QLatin1String("A")));
+ QCOMPARE(accLineEdit->text(QAccessible::Accelerator, 0), QKeySequence(Qt::ALT).toString() + QLatin1String("A"));
label->setText(tr("Q &&A"));
QCOMPARE(accLineEdit->text(QAccessible::Accelerator, 0), QString());
label->setText(tr("Q &A&B"));
- QCOMPARE(accLineEdit->text(QAccessible::Accelerator, 0), QString(QKeySequence(Qt::ALT) + QLatin1String("A")));
+ QCOMPARE(accLineEdit->text(QAccessible::Accelerator, 0), QKeySequence(Qt::ALT).toString() + QLatin1String("A"));
#if defined(Q_WS_X11)
qt_x11_wait_for_window_manager(window);
diff --git a/tests/auto/qbytearraymatcher/qbytearraymatcher.pro b/tests/auto/qbytearraymatcher/qbytearraymatcher.pro
new file mode 100644
index 0000000..1618c3e
--- /dev/null
+++ b/tests/auto/qbytearraymatcher/qbytearraymatcher.pro
@@ -0,0 +1,4 @@
+load(qttest_p4)
+SOURCES += tst_qbytearraymatcher.cpp
+
+QT = core
diff --git a/tests/auto/qbytearraymatcher/tst_qbytearraymatcher.cpp b/tests/auto/qbytearraymatcher/tst_qbytearraymatcher.cpp
new file mode 100644
index 0000000..c3f2fd9
--- /dev/null
+++ b/tests/auto/qbytearraymatcher/tst_qbytearraymatcher.cpp
@@ -0,0 +1,124 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (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 either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtTest/QtTest>
+
+#include <qbytearraymatcher.h>
+
+class tst_QByteArrayMatcher : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void interface();
+ void task251958();
+};
+
+static QByteArrayMatcher matcher1;
+
+void tst_QByteArrayMatcher::interface()
+{
+ const char needle[] = "abc123";
+ QByteArray haystack(500, 'a');
+ haystack.insert(6, "123");
+ haystack.insert(31, "abc");
+ haystack.insert(42, "abc123");
+ haystack.insert(84, "abc123");
+
+ matcher1 = QByteArrayMatcher(QByteArray(needle));
+ QByteArrayMatcher matcher2;
+ matcher2.setPattern(QByteArray(needle));
+
+ QByteArrayMatcher matcher3 = QByteArrayMatcher(QByteArray(needle));
+ QByteArrayMatcher matcher4(needle, sizeof(needle - 1));
+ QByteArrayMatcher matcher5(matcher2);
+ QByteArrayMatcher matcher6;
+ matcher6 = matcher3;
+
+ QCOMPARE(matcher1.indexIn(haystack), 42);
+ QCOMPARE(matcher2.indexIn(haystack), 42);
+ QCOMPARE(matcher3.indexIn(haystack), 42);
+ QCOMPARE(matcher4.indexIn(haystack), 42);
+ QCOMPARE(matcher5.indexIn(haystack), 42);
+ QCOMPARE(matcher6.indexIn(haystack), 42);
+
+ QCOMPARE(matcher1.indexIn(haystack.constData(), haystack.length()), 42);
+
+ QCOMPARE(matcher1.indexIn(haystack, 43), 84);
+ QCOMPARE(matcher1.indexIn(haystack.constData(), haystack.length(), 43), 84);
+ QCOMPARE(matcher1.indexIn(haystack, 85), -1);
+ QCOMPARE(matcher1.indexIn(haystack.constData(), haystack.length(), 85), -1);
+
+ QByteArrayMatcher matcher7(QByteArray("123"));
+ QCOMPARE(matcher7.indexIn(haystack), 6);
+
+ matcher7 = QByteArrayMatcher(QByteArray("abc"));
+ QCOMPARE(matcher7.indexIn(haystack), 31);
+
+ matcher7.setPattern(matcher4.pattern());
+ QCOMPARE(matcher7.indexIn(haystack), 42);
+}
+
+
+static QByteArrayMatcher matcher;
+
+void tst_QByteArrayMatcher::task251958()
+{
+ const char p_data[] = { 0x0, 0x0, 0x1 };
+ QByteArray pattern(p_data, sizeof(p_data));
+
+ QByteArray haystack(8, '\0');
+ haystack[7] = 0x1;
+
+ matcher = QByteArrayMatcher(pattern);
+ QCOMPARE(matcher.indexIn(haystack, 0), 5);
+ QCOMPARE(matcher.indexIn(haystack, 1), 5);
+ QCOMPARE(matcher.indexIn(haystack, 2), 5);
+
+ matcher.setPattern(pattern);
+ QCOMPARE(matcher.indexIn(haystack, 0), 5);
+ QCOMPARE(matcher.indexIn(haystack, 1), 5);
+ QCOMPARE(matcher.indexIn(haystack, 2), 5);
+}
+
+QTEST_APPLESS_MAIN(tst_QByteArrayMatcher)
+#include "tst_qbytearraymatcher.moc"
diff --git a/tests/auto/qcompleter/tst_qcompleter.cpp b/tests/auto/qcompleter/tst_qcompleter.cpp
index 656995a..b71cdc6 100644
--- a/tests/auto/qcompleter/tst_qcompleter.cpp
+++ b/tests/auto/qcompleter/tst_qcompleter.cpp
@@ -143,6 +143,9 @@ private slots:
void task246056_setCompletionPrefix();
void task250064_lostFocus();
+ void task253125_lineEditCompletion_data();
+ void task253125_lineEditCompletion();
+
private:
void filter();
void testRowCount();
@@ -1184,5 +1187,48 @@ void tst_QCompleter::task250064_lostFocus()
QCOMPARE(textEdit->focusPolicy(), origPolicy);
}
+void tst_QCompleter::task253125_lineEditCompletion_data()
+{
+ QTest::addColumn<QStringList>("list");
+ QTest::addColumn<int>("completionMode");
+
+ QStringList list = QStringList()
+ << "alpha" << "beta" << "gamma" << "delta" << "epsilon" << "zeta"
+ << "eta" << "theta" << "iota" << "kappa" << "lambda" << "mu"
+ << "nu" << "xi" << "omicron" << "pi" << "rho" << "sigma"
+ << "tau" << "upsilon" << "phi" << "chi" << "psi" << "omega";
+
+ QTest::newRow("Inline") << list << (int)QCompleter::InlineCompletion;
+ QTest::newRow("Filtered") << list << (int)QCompleter::PopupCompletion;
+ QTest::newRow("Unfiltered") << list << (int)QCompleter::UnfilteredPopupCompletion;
+}
+
+void tst_QCompleter::task253125_lineEditCompletion()
+{
+ QFETCH(QStringList, list);
+ QFETCH(int, completionMode);
+
+ QStringListModel *model = new QStringListModel;
+ model->setStringList(list);
+
+ QCompleter *completer = new QCompleter(list);
+ completer->setModel(model);
+ completer->setCompletionMode((QCompleter::CompletionMode)completionMode);
+
+ QLineEdit edit;
+ edit.setCompleter(completer);
+ edit.show();
+ edit.setFocus();
+
+ QTest::qWait(100);
+
+ QTest::keyClick(&edit, 'i');
+ QCOMPARE(edit.completer()->currentCompletion(), QString("iota"));
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("iota"));
+}
+
QTEST_MAIN(tst_QCompleter)
#include "tst_qcompleter.moc"
diff --git a/tests/auto/qdbuspendingcall/tst_qdbuspendingcall.cpp b/tests/auto/qdbuspendingcall/tst_qdbuspendingcall.cpp
index 58707f1..947e8d6 100644
--- a/tests/auto/qdbuspendingcall/tst_qdbuspendingcall.cpp
+++ b/tests/auto/qdbuspendingcall/tst_qdbuspendingcall.cpp
@@ -90,6 +90,8 @@ private Q_SLOTS:
void watcher();
void watcher_error();
void watcher_waitForFinished();
+ void watcher_waitForFinished_alreadyFinished();
+ void watcher_waitForFinished_alreadyFinished_eventLoop();
void watcher_waitForFinished_error();
void callInsideWaitForFinished();
@@ -375,6 +377,77 @@ void tst_QDBusPendingCall::watcher_waitForFinished()
QVERIFY(args2.at(0).toStringList().contains(conn.baseService()));
}
+void tst_QDBusPendingCall::watcher_waitForFinished_alreadyFinished()
+{
+ QDBusPendingCall ac = sendMessage();
+ QVERIFY(!ac.isFinished());
+ QVERIFY(!ac.isError());
+ QVERIFY(ac.reply().type() == QDBusMessage::InvalidMessage);
+
+ ac.waitForFinished();
+ QVERIFY(ac.isFinished());
+ QVERIFY(!ac.isError());
+
+ callCount = 0;
+ watchArgument = 0;
+
+ // create a watcher on an already-finished reply
+ QDBusPendingCallWatcher watch(ac);
+ connect(&watch, SIGNAL(finished(QDBusPendingCallWatcher*)),
+ SLOT(finished(QDBusPendingCallWatcher*)));
+
+ watch.waitForFinished();
+
+ QVERIFY(ac.isFinished());
+ QVERIFY(!ac.isError());
+
+ QCOMPARE(callCount, 1);
+ QCOMPARE(slotCalled, (int)FinishCalled);
+ QCOMPARE(watchArgument, &watch);
+ QVERIFY(!watch.isError());
+
+ const QVariantList args2 = ac.reply().arguments();
+ QVERIFY(!args2.isEmpty());
+ QVERIFY(args2.at(0).toStringList().contains(conn.baseService()));
+}
+
+void tst_QDBusPendingCall::watcher_waitForFinished_alreadyFinished_eventLoop()
+{
+ QDBusPendingCall ac = sendMessage();
+ QVERIFY(!ac.isFinished());
+ QVERIFY(!ac.isError());
+ QVERIFY(ac.reply().type() == QDBusMessage::InvalidMessage);
+
+ ac.waitForFinished();
+ QVERIFY(ac.isFinished());
+ QVERIFY(!ac.isError());
+
+ callCount = 0;
+ watchArgument = 0;
+
+ // create a watcher on an already-finished reply
+ QDBusPendingCallWatcher watch(ac);
+ connect(&watch, SIGNAL(finished(QDBusPendingCallWatcher*)),
+ SLOT(finished(QDBusPendingCallWatcher*)));
+ connect(&watch, SIGNAL(finished(QDBusPendingCallWatcher*)),
+ &QTestEventLoop::instance(), SLOT(exitLoop()));
+
+ QTestEventLoop::instance().enterLoop(1);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ QVERIFY(ac.isFinished());
+ QVERIFY(!ac.isError());
+
+ QCOMPARE(callCount, 1);
+ QCOMPARE(slotCalled, (int)FinishCalled);
+ QCOMPARE(watchArgument, &watch);
+ QVERIFY(!watch.isError());
+
+ const QVariantList args2 = ac.reply().arguments();
+ QVERIFY(!args2.isEmpty());
+ QVERIFY(args2.at(0).toStringList().contains(conn.baseService()));
+}
+
void tst_QDBusPendingCall::watcher_waitForFinished_error()
{
QDBusPendingCall ac = sendError();
diff --git a/tests/auto/qfiledialog/tst_qfiledialog.cpp b/tests/auto/qfiledialog/tst_qfiledialog.cpp
index 695bfe7..689f73d 100644
--- a/tests/auto/qfiledialog/tst_qfiledialog.cpp
+++ b/tests/auto/qfiledialog/tst_qfiledialog.cpp
@@ -157,6 +157,8 @@ private slots:
void task228844_ensurePreviousSorting();
void task239706_editableFilterCombo();
void task218353_relativePaths();
+ void task251321_sideBarHiddenEntries();
+ void task251341_sideBarRemoveEntries();
private:
QByteArray userSettings;
@@ -1600,6 +1602,19 @@ void tst_QFiledialog::task227304_proxyOnFileDialog()
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<QSidebar*>(&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
}
void tst_QFiledialog::task227930_correctNavigationKeyboardBehavior()
@@ -1852,5 +1867,119 @@ void tst_QFiledialog::task218353_relativePaths()
appDir.rmdir("test");
}
+void tst_QFiledialog::task251321_sideBarHiddenEntries()
+{
+ 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<QUrl> urls;
+ urls << QUrl::fromLocalFile(hiddenSubDir.absolutePath());
+ fd.setSidebarUrls(urls);
+ fd.show();
+ QTest::qWait(250);
+
+ QSidebar *sidebar = qFindChild<QSidebar*>(&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<QFileSystemModel*>(&fd, "qt_filesystem_model");
+ QCOMPARE(model->rowCount(model->index(hiddenSubDir.absolutePath())), 2);
+
+ hiddenSubDir.rmdir("happy2");
+ hiddenSubDir.rmdir("happy");
+ hiddenDir.rmdir("subdir");
+ current.rmdir(".hidden");
+}
+
+class MyQSideBar : public QSidebar
+{
+public :
+ MyQSideBar(QWidget *parent = 0) : QSidebar(parent)
+ {}
+
+ void removeSelection() {
+ QList<QModelIndex> idxs = selectionModel()->selectedIndexes();
+ QList<QPersistentModelIndex> 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());
+ }
+};
+
+void tst_QFiledialog::task251341_sideBarRemoveEntries()
+{
+ QNonNativeFileDialog fd;
+
+ QDir current = QDir::currentPath();
+ current.mkdir("testDir");
+ QDir testSubDir = QDir("testDir");
+
+ QList<QUrl> urls;
+ urls << QUrl::fromLocalFile(testSubDir.absolutePath());
+ urls << QUrl::fromLocalFile("NotFound");
+ fd.setSidebarUrls(urls);
+ fd.show();
+ QTest::qWait(250);
+
+ QSidebar *sidebar = qFindChild<QSidebar*>(&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<QFileSystemModel*>(&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<bool>(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<bool>(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<QUrl> 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");
+}
+
QTEST_MAIN(tst_QFiledialog)
#include "tst_qfiledialog.moc"
diff --git a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp
index 826d278..59d57ce 100644
--- a/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp
+++ b/tests/auto/qfilesystemmodel/tst_qfilesystemmodel.cpp
@@ -45,6 +45,7 @@
#include <QFileIconProvider>
#include "../../shared/util.h"
#include <QTime>
+#include <QStyle>
#include <QtGlobal>
//TESTED_CLASS=
@@ -284,6 +285,33 @@ void tst_QFileSystemModel::readOnly()
QVERIFY(model->flags(model->index(file.fileName())) & Qt::ItemIsEditable);
}
+class CustomFileIconProvider : public QFileIconProvider
+{
+public:
+ CustomFileIconProvider() : QFileIconProvider() {
+ mb = qApp->style()->standardIcon(QStyle::SP_MessageBoxCritical);
+ dvd = qApp->style()->standardIcon(QStyle::SP_DriveDVDIcon);
+ }
+
+ virtual QIcon icon(const QFileInfo &info) const
+ {
+ if (info.isDir())
+ return mb;
+
+ return QFileIconProvider::icon(info);
+ }
+ virtual QIcon icon(IconType type) const
+ {
+ if (type == QFileIconProvider::Folder)
+ return dvd;
+
+ return QFileIconProvider::icon(type);
+ }
+private:
+ QIcon mb;
+ QIcon dvd;
+};
+
void tst_QFileSystemModel::iconProvider()
{
QVERIFY(model->iconProvider());
@@ -292,6 +320,19 @@ void tst_QFileSystemModel::iconProvider()
QCOMPARE(model->iconProvider(), p);
model->setIconProvider(0);
delete p;
+
+ QFileSystemModel *myModel = new QFileSystemModel();
+ myModel->setRootPath(QDir::homePath());
+ //Let's wait to populate the model
+ QTest::qWait(250);
+ //We change the provider, icons must me updated
+ CustomFileIconProvider *custom = new CustomFileIconProvider();
+ myModel->setIconProvider(custom);
+
+ QPixmap mb = qApp->style()->standardIcon(QStyle::SP_MessageBoxCritical).pixmap(50, 50);
+ QCOMPARE(myModel->fileIcon(myModel->index(QDir::homePath())).pixmap(50, 50), mb);
+ delete myModel;
+ delete custom;
}
bool tst_QFileSystemModel::createFiles(const QString &test_path, const QStringList &initial_files, int existingFileCount, const QStringList &initial_dirs, const QString &dir)
diff --git a/tests/auto/qgl/tst_qgl.cpp b/tests/auto/qgl/tst_qgl.cpp
index a64dfc4..69141f3 100644
--- a/tests/auto/qgl/tst_qgl.cpp
+++ b/tests/auto/qgl/tst_qgl.cpp
@@ -66,6 +66,8 @@ private slots:
void getSetCheck();
void openGLVersionCheck();
void graphicsViewClipping();
+ void partialGLWidgetUpdates_data();
+ void partialGLWidgetUpdates();
};
tst_QGL::tst_QGL()
@@ -404,5 +406,68 @@ void tst_QGL::graphicsViewClipping()
#endif
}
+void tst_QGL::partialGLWidgetUpdates_data()
+{
+ QTest::addColumn<bool>("doubleBufferedContext");
+ QTest::addColumn<bool>("autoFillBackground");
+ QTest::addColumn<bool>("supportsPartialUpdates");
+
+ QTest::newRow("Double buffered context") << true << true << false;
+ QTest::newRow("Double buffered context without auto-fill background") << true << false << false;
+ QTest::newRow("Single buffered context") << false << true << false;
+ QTest::newRow("Single buffered context without auto-fill background") << false << false << true;
+}
+
+void tst_QGL::partialGLWidgetUpdates()
+{
+#ifdef QT_NO_OPENGL
+ QSKIP("QGL not yet supported", SkipAll);
+#else
+ if (!QGLFormat::hasOpenGL())
+ QSKIP("QGL not supported on this platform", SkipAll);
+
+ QFETCH(bool, doubleBufferedContext);
+ QFETCH(bool, autoFillBackground);
+ QFETCH(bool, supportsPartialUpdates);
+
+ class MyGLWidget : public QGLWidget
+ {
+ public:
+ QRegion paintEventRegion;
+ void paintEvent(QPaintEvent *e)
+ {
+ paintEventRegion = e->region();
+ }
+ };
+
+ QGLFormat format = QGLFormat::defaultFormat();
+ format.setDoubleBuffer(doubleBufferedContext);
+ QGLFormat::setDefaultFormat(format);
+
+ MyGLWidget widget;
+ widget.setFixedSize(150, 150);
+ widget.setAutoFillBackground(autoFillBackground);
+ widget.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&widget);
+#endif
+ QTest::qWait(200);
+
+ if (widget.format().doubleBuffer() != doubleBufferedContext)
+ QSKIP("Platform does not support requested format", SkipAll);
+
+ widget.paintEventRegion = QRegion();
+ widget.repaint(50, 50, 50, 50);
+#ifdef Q_WS_MAC
+ // repaint() is not immediate on the Mac; it has to go through the event loop.
+ QTest::qWait(200);
+#endif
+ if (supportsPartialUpdates)
+ QCOMPARE(widget.paintEventRegion, QRegion(50, 50, 50, 50));
+ else
+ QCOMPARE(widget.paintEventRegion, QRegion(widget.rect()));
+#endif
+}
+
QTEST_MAIN(tst_QGL)
#include "tst_qgl.moc"
diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
index 5565aa6..6d150cb 100644
--- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -78,8 +78,7 @@ Q_DECLARE_METATYPE(QRectF)
class EventTester : public QGraphicsItem
{
public:
- EventTester()
- : repaints(0)
+ EventTester(QGraphicsItem *parent = 0) : QGraphicsItem(parent), repaints(0)
{ br = QRectF(-10, -10, 20, 20); }
void setGeometry(const QRectF &rect)
@@ -207,6 +206,7 @@ private slots:
void itemTransform_unrelated();
void opacity_data();
void opacity();
+ void opacity2();
void itemStacksBehindParent();
void nestedClipping();
void nestedClippingTransforms();
@@ -214,6 +214,7 @@ private slots:
void tabChangesFocus();
void tabChangesFocus_data();
void cacheMode();
+ void updateCachedItemAfterMove();
// task specific tests below me
void task141694_textItemEnsureVisible();
@@ -3654,6 +3655,8 @@ void tst_QGraphicsItem::defaultItemTest_QGraphicsEllipseItem()
class ItemChangeTester : public QGraphicsRectItem
{
public:
+ ItemChangeTester(){}
+ ItemChangeTester(QGraphicsItem *parent) : QGraphicsRectItem(parent) {}
QVariant itemChangeReturnValue;
QGraphicsScene *itemSceneChangeTargetScene;
@@ -3928,6 +3931,39 @@ void tst_QGraphicsItem::itemChange()
QCOMPARE(tester.changes.size(), ++changeCount);
QCOMPARE(tester.changes.last(), QGraphicsItem::ItemChildRemovedChange);
QCOMPARE(qVariantValue<QGraphicsItem *>(tester.values.last()), (QGraphicsItem *)&testerHelper);
+
+ // ItemChildRemovedChange 1
+ ItemChangeTester *test = new ItemChangeTester;
+ test->itemSceneChangeTargetScene = 0;
+ int count = 0;
+ QGraphicsScene *scene = new QGraphicsScene;
+ scene->addItem(test);
+ count = test->changes.size();
+ //We test here the fact that when a child is deleted the parent receive only one ItemChildRemovedChange
+ QGraphicsRectItem *child = new QGraphicsRectItem(test);
+ //We received ItemChildAddedChange
+ QCOMPARE(test->changes.size(), ++count);
+ QCOMPARE(test->changes.last(), QGraphicsItem::ItemChildAddedChange);
+ delete child;
+ child = 0;
+ QCOMPARE(test->changes.size(), ++count);
+ QCOMPARE(test->changes.last(), QGraphicsItem::ItemChildRemovedChange);
+
+ ItemChangeTester *childTester = new ItemChangeTester(test);
+ //Changes contains all sceneHasChanged and so on, we don't want to test that
+ int childCount = childTester->changes.size();
+ //We received ItemChildAddedChange
+ QCOMPARE(test->changes.size(), ++count);
+ child = new QGraphicsRectItem(childTester);
+ //We received ItemChildAddedChange
+ QCOMPARE(childTester->changes.size(), ++childCount);
+ QCOMPARE(childTester->changes.last(), QGraphicsItem::ItemChildAddedChange);
+ //Delete the child of the top level with all its children
+ delete childTester;
+ //Only one removal
+ QCOMPARE(test->changes.size(), ++count);
+ QCOMPARE(test->changes.last(), QGraphicsItem::ItemChildRemovedChange);
+ delete scene;
}
{
// ItemChildRemovedChange 2
@@ -5534,6 +5570,91 @@ void tst_QGraphicsItem::opacity()
QCOMPARE(c3->effectiveOpacity(), c3_effectiveOpacity);
}
+void tst_QGraphicsItem::opacity2()
+{
+ EventTester *parent = new EventTester;
+ EventTester *child = new EventTester(parent);
+ EventTester *grandChild = new EventTester(child);
+
+ QGraphicsScene scene;
+ scene.addItem(parent);
+
+ class MyGraphicsView : public QGraphicsView
+ { public:
+ int repaints;
+ MyGraphicsView(QGraphicsScene *scene) : QGraphicsView(scene), repaints(0) {}
+ void paintEvent(QPaintEvent *e) { ++repaints; QGraphicsView::paintEvent(e); }
+ };
+
+ MyGraphicsView view(&scene);
+ view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(250);
+
+#define RESET_REPAINT_COUNTERS \
+ parent->repaints = 0; \
+ child->repaints = 0; \
+ grandChild->repaints = 0; \
+ view.repaints = 0;
+
+ RESET_REPAINT_COUNTERS
+
+ child->setOpacity(0.0);
+ QTest::qWait(100);
+ QCOMPARE(view.repaints, 1);
+ QCOMPARE(parent->repaints, 1);
+ QCOMPARE(child->repaints, 0);
+ QCOMPARE(grandChild->repaints, 0);
+
+ RESET_REPAINT_COUNTERS
+
+ child->setOpacity(1.0);
+ QTest::qWait(100);
+ QCOMPARE(view.repaints, 1);
+ QCOMPARE(parent->repaints, 1);
+ QCOMPARE(child->repaints, 1);
+ QCOMPARE(grandChild->repaints, 1);
+
+ RESET_REPAINT_COUNTERS
+
+ parent->setOpacity(0.0);
+ QTest::qWait(100);
+ QCOMPARE(view.repaints, 1);
+ QCOMPARE(parent->repaints, 0);
+ QCOMPARE(child->repaints, 0);
+ QCOMPARE(grandChild->repaints, 0);
+
+ RESET_REPAINT_COUNTERS
+
+ parent->setOpacity(1.0);
+ QTest::qWait(100);
+ QCOMPARE(view.repaints, 1);
+ QCOMPARE(parent->repaints, 1);
+ QCOMPARE(child->repaints, 1);
+ QCOMPARE(grandChild->repaints, 1);
+
+ grandChild->setFlag(QGraphicsItem::ItemIgnoresParentOpacity);
+ RESET_REPAINT_COUNTERS
+
+ child->setOpacity(0.0);
+ QTest::qWait(100);
+ QCOMPARE(view.repaints, 1);
+ QCOMPARE(parent->repaints, 1);
+ QCOMPARE(child->repaints, 0);
+ QCOMPARE(grandChild->repaints, 1);
+
+ RESET_REPAINT_COUNTERS
+
+ child->setOpacity(0.0); // Already 0.0; no change.
+ QTest::qWait(100);
+ QCOMPARE(view.repaints, 0);
+ QCOMPARE(parent->repaints, 0);
+ QCOMPARE(child->repaints, 0);
+ QCOMPARE(grandChild->repaints, 0);
+}
+
void tst_QGraphicsItem::itemStacksBehindParent()
{
QGraphicsRectItem *parent1 = new QGraphicsRectItem(QRectF(0, 0, 100, 50));
@@ -6038,5 +6159,46 @@ void tst_QGraphicsItem::cacheMode()
QCOMPARE(testerChild2->repaints, 6);
}
+void tst_QGraphicsItem::updateCachedItemAfterMove()
+{
+ // A simple item that uses ItemCoordinateCache
+ EventTester *tester = new EventTester;
+ tester->setCacheMode(QGraphicsItem::ItemCoordinateCache);
+
+ // Add to a scene, show in a view, ensure it's painted and reset its
+ // repaint counter.
+ QGraphicsScene scene;
+ scene.addItem(tester);
+ QGraphicsView view(&scene);
+ view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(125);
+ tester->repaints = 0;
+
+ // Move the item, should not cause repaints
+ tester->setPos(10, 0);
+ QTest::qWait(125);
+ QCOMPARE(tester->repaints, 0);
+
+ // Move then update, should cause one repaint
+ tester->setPos(20, 0);
+ tester->update();
+ QTest::qWait(125);
+ QCOMPARE(tester->repaints, 1);
+
+ // Hiding the item doesn't cause a repaint
+ tester->hide();
+ QTest::qWait(125);
+ QCOMPARE(tester->repaints, 1);
+
+ // Moving a hidden item doesn't cause a repaint
+ tester->setPos(30, 0);
+ tester->update();
+ QTest::qWait(125);
+ QCOMPARE(tester->repaints, 1);
+}
+
QTEST_MAIN(tst_QGraphicsItem)
#include "tst_qgraphicsitem.moc"
diff --git a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
index f25a079..b85abd3 100644
--- a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
+++ b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
@@ -50,6 +50,7 @@
#include <qcleanlooksstyle.h>
#include <qlineedit.h>
#include <qboxlayout.h>
+#include <qaction.h>
#include "../../shared/util.h"
@@ -150,6 +151,7 @@ private slots:
// Task fixes
void task236127_bspTreeIndexFails();
void task243004_setStyleCrash();
+ void task250119_shortcutContext();
};
@@ -1827,6 +1829,89 @@ void tst_QGraphicsWidget::task243004_setStyleCrash()
delete item2;
}
+class GraphicsWidget_task250119 : public QGraphicsWidget
+{
+public:
+ GraphicsWidget_task250119()
+ : shortcutEvents(0)
+ {
+ setFocusPolicy(Qt::StrongFocus);
+ resize(100, 100);
+ }
+
+ int shortcutEvents;
+
+private:
+ bool event(QEvent *event)
+ {
+ if (event->type() == QEvent::Shortcut)
+ shortcutEvents++;
+ return QGraphicsWidget::event(event);
+ }
+
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)
+ {
+ if (hasFocus()) {
+ painter->setPen(QPen(Qt::black, 0, Qt::DashLine));
+ painter->drawRect(rect());
+ }
+ painter->setPen(QPen(Qt::black, 0, Qt::SolidLine));
+ painter->fillRect(rect().adjusted(2, 2, -2, -2), Qt::yellow);
+ painter->drawRect(rect().adjusted(2, 2, -2, -2));
+ }
+};
+
+void tst_QGraphicsWidget::task250119_shortcutContext()
+{
+ QGraphicsScene scene;
+ QGraphicsView view;
+ view.setScene(&scene);
+ view.show();
+ QTest::qWait(100);
+
+
+ // *** Event: ***
+
+ GraphicsWidget_task250119 w_event;
+ scene.addItem(&w_event);
+
+ const int id = w_event.grabShortcut(Qt::Key_A, Qt::WidgetWithChildrenShortcut);
+ w_event.setShortcutEnabled(id, true);
+
+ w_event.setFocus();
+ QTest::keyPress(&view, Qt::Key_A);
+ QCOMPARE(w_event.shortcutEvents, 1);
+
+ w_event.clearFocus();
+ QTest::keyPress(&view, Qt::Key_A);
+ QCOMPARE(w_event.shortcutEvents, 1);
+
+ scene.removeItem(&w_event);
+
+
+ // *** Signal: ***
+
+ GraphicsWidget_task250119 w_signal;
+ scene.addItem(&w_signal);
+
+ QAction action(0);
+ action.setShortcut(Qt::Key_B);
+ action.setShortcutContext(Qt::WidgetWithChildrenShortcut);
+ QSignalSpy spy(&action, SIGNAL(triggered()));
+
+ w_signal.addAction(&action);
+
+ w_signal.setFocus();
+ QTest::keyPress(&view, Qt::Key_B);
+ QCOMPARE(spy.count(), 1);
+
+ w_signal.clearFocus();
+ QTest::keyPress(&view, Qt::Key_B);
+ QCOMPARE(spy.count(), 1);
+
+ scene.removeItem(&w_signal);
+}
+
QTEST_MAIN(tst_QGraphicsWidget)
#include "tst_qgraphicswidget.moc"
diff --git a/tests/auto/qheaderview/tst_qheaderview.cpp b/tests/auto/qheaderview/tst_qheaderview.cpp
index 0867e48..6478854 100644
--- a/tests/auto/qheaderview/tst_qheaderview.cpp
+++ b/tests/auto/qheaderview/tst_qheaderview.cpp
@@ -187,6 +187,7 @@ private slots:
void emptySectionSpan();
void task236450_hidden_data();
void task236450_hidden();
+ void task248050_hideRow();
protected:
QHeaderView *view;
@@ -1919,5 +1920,28 @@ void tst_QHeaderView::task236450_hidden()
}
+void tst_QHeaderView::task248050_hideRow()
+{
+ //this is the sequence of events that make the task fail
+ protected_QHeaderView header(Qt::Vertical);
+ QStandardItemModel model(0, 1);
+ header.setStretchLastSection(false);
+ header.setDefaultSectionSize(17);
+ header.setModel(&model);
+ header.doItemsLayout();
+
+ model.setRowCount(3);
+
+ QCOMPARE(header.sectionPosition(2), 17*2);
+
+ header.hideSection(1);
+ QCOMPARE(header.sectionPosition(2), 17);
+
+ QTest::qWait(100);
+ //the size of the section shouldn't have changed
+ QCOMPARE(header.sectionPosition(2), 17);
+}
+
+
QTEST_MAIN(tst_QHeaderView)
#include "tst_qheaderview.moc"
diff --git a/tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp b/tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp
index 15b36b8..9bd1ce3 100644
--- a/tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp
+++ b/tests/auto/qitemselectionmodel/tst_qitemselectionmodel.cpp
@@ -89,6 +89,7 @@ private slots:
void merge_data();
void merge();
void task119433_isRowSelected();
+ void task252069_rowIntersectsSelection();
private:
QAbstractItemModel *model;
@@ -2140,6 +2141,51 @@ void tst_QItemSelectionModel::task119433_isRowSelected()
QVERIFY(sel.isRowSelected(0, QModelIndex()));
}
+void tst_QItemSelectionModel::task252069_rowIntersectsSelection()
+{
+ QStandardItemModel m;
+ for (int i=0; i<8; ++i) {
+ for (int j=0; j<8; ++j) {
+ QStandardItem *item = new QStandardItem(QString("Item number %1").arg(i));
+ if ((i % 2 == 0 && j == 0) ||
+ (j % 2 == 0 && i == 0) ||
+ j == 5 || i == 5 ) {
+ item->setEnabled(false);
+ //item->setSelectable(false);
+ }
+ m.setItem(i, j, item);
+ }
+ }
+
+ QItemSelectionModel selected(&m);
+ //nothing is selected
+ QVERIFY(!selected.rowIntersectsSelection(0, QModelIndex()));
+ QVERIFY(!selected.rowIntersectsSelection(2, QModelIndex()));
+ QVERIFY(!selected.rowIntersectsSelection(3, QModelIndex()));
+ QVERIFY(!selected.rowIntersectsSelection(5, QModelIndex()));
+ QVERIFY(!selected.columnIntersectsSelection(0, QModelIndex()));
+ QVERIFY(!selected.columnIntersectsSelection(2, QModelIndex()));
+ QVERIFY(!selected.columnIntersectsSelection(3, QModelIndex()));
+ QVERIFY(!selected.columnIntersectsSelection(5, QModelIndex()));
+ selected.select(m.index(2, 0), QItemSelectionModel::Select | QItemSelectionModel::Rows);
+ QVERIFY(!selected.rowIntersectsSelection(0, QModelIndex()));
+ QVERIFY( selected.rowIntersectsSelection(2, QModelIndex()));
+ QVERIFY(!selected.rowIntersectsSelection(3, QModelIndex()));
+ QVERIFY(!selected.rowIntersectsSelection(5, QModelIndex()));
+ QVERIFY(!selected.columnIntersectsSelection(0, QModelIndex()));
+ QVERIFY( selected.columnIntersectsSelection(2, QModelIndex()));
+ QVERIFY( selected.columnIntersectsSelection(3, QModelIndex()));
+ QVERIFY(!selected.columnIntersectsSelection(5, QModelIndex()));
+ selected.select(m.index(0, 5), QItemSelectionModel::Select | QItemSelectionModel::Columns);
+ QVERIFY(!selected.rowIntersectsSelection(0, QModelIndex()));
+ QVERIFY( selected.rowIntersectsSelection(2, QModelIndex()));
+ QVERIFY(!selected.rowIntersectsSelection(3, QModelIndex()));
+ QVERIFY(!selected.rowIntersectsSelection(5, QModelIndex()));
+ QVERIFY(!selected.columnIntersectsSelection(0, QModelIndex()));
+ QVERIFY( selected.columnIntersectsSelection(2, QModelIndex()));
+ QVERIFY( selected.columnIntersectsSelection(3, QModelIndex()));
+ QVERIFY(!selected.columnIntersectsSelection(5, QModelIndex()));
+}
QTEST_MAIN(tst_QItemSelectionModel)
#include "tst_qitemselectionmodel.moc"
diff --git a/tests/auto/qlistview/tst_qlistview.cpp b/tests/auto/qlistview/tst_qlistview.cpp
index 2e7f412..c372475 100644
--- a/tests/auto/qlistview/tst_qlistview.cpp
+++ b/tests/auto/qlistview/tst_qlistview.cpp
@@ -105,6 +105,7 @@ private slots:
void task203585_selectAll();
void task228566_infiniteRelayout();
void task248430_crashWith0SizedItem();
+ void task250446_scrollChanged();
};
// Testing get/set functions
@@ -1528,5 +1529,32 @@ void tst_QListView::task248430_crashWith0SizedItem()
QTest::qWait(100);
}
+void tst_QListView::task250446_scrollChanged()
+{
+ QStandardItemModel model(200, 1);
+ QListView view;
+ view.setModel(&model);
+ QModelIndex index = model.index(0, 0);
+ QVERIFY(index.isValid());
+ view.setCurrentIndex(index);
+ view.show();
+ QTest::qWait(100);
+ const int scrollValue = view.verticalScrollBar()->maximum();
+ view.verticalScrollBar()->setValue(scrollValue);
+ QCOMPARE(view.verticalScrollBar()->value(), scrollValue);
+ QCOMPARE(view.currentIndex(), index);
+
+ view.showMinimized();
+ QTest::qWait(100);
+ QCOMPARE(view.verticalScrollBar()->value(), scrollValue);
+ QCOMPARE(view.currentIndex(), index);
+
+ view.showNormal();
+ QTest::qWait(100);
+ QCOMPARE(view.verticalScrollBar()->value(), scrollValue);
+ QCOMPARE(view.currentIndex(), index);
+}
+
+
QTEST_MAIN(tst_QListView)
#include "tst_qlistview.moc"
diff --git a/tests/auto/qlocalsocket/test/test.pro b/tests/auto/qlocalsocket/test/test.pro
index 8ce7c50..7befdf9 100644
--- a/tests/auto/qlocalsocket/test/test.pro
+++ b/tests/auto/qlocalsocket/test/test.pro
@@ -1,7 +1,5 @@
load(qttest_p4)
-include(../src/src.pri)
-
DEFINES += QLOCALSERVER_DEBUG
DEFINES += QLOCALSOCKET_DEBUG
!wince*: {
@@ -14,14 +12,16 @@ DEFINES += QLOCALSOCKET_DEBUG
QT = core network
SOURCES += ../tst_qlocalsocket.cpp
-TARGET = ../tst_qlocalsocket
-win32 {
+TARGET = tst_qlocalsocket
+CONFIG(debug_and_release) {
CONFIG(debug, debug|release) {
- TARGET = ../../debug/tst_qlocalsocket
-} else {
- TARGET = ../../release/tst_qlocalsocket
+ DESTDIR = ../debug
+ } else {
+ DESTDIR = ../release
}
+} else {
+ DESTDIR = ..
}
wince* {
diff --git a/tests/auto/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
index f741b96..deabda6 100644
--- a/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
+++ b/tests/auto/qlocalsocket/tst_qlocalsocket.cpp
@@ -95,6 +95,7 @@ private slots:
void longPath();
void waitForDisconnect();
+ void waitForDisconnectByServer();
void removeServer();
@@ -112,6 +113,8 @@ tst_QLocalSocket::tst_QLocalSocket()
#endif
))
qWarning() << "lackey executable doesn't exists!";
+
+ QLocalServer::removeServer("tst_localsocket");
}
tst_QLocalSocket::~tst_QLocalSocket()
@@ -783,6 +786,25 @@ void tst_QLocalSocket::waitForDisconnect()
QVERIFY(timer.elapsed() < 2000);
}
+void tst_QLocalSocket::waitForDisconnectByServer()
+{
+ QString name = "tst_localsocket";
+ LocalServer server;
+ QVERIFY(server.listen(name));
+ LocalSocket socket;
+ QSignalSpy spy(&socket, SIGNAL(disconnected()));
+ QVERIFY(spy.isValid());
+ socket.connectToServer(name);
+ QVERIFY(socket.waitForConnected(3000));
+ QVERIFY(server.waitForNewConnection(3000));
+ QLocalSocket *serverSocket = server.nextPendingConnection();
+ QVERIFY(serverSocket);
+ serverSocket->close();
+ QVERIFY(serverSocket->state() == QLocalSocket::UnconnectedState);
+ QVERIFY(socket.waitForDisconnected(3000));
+ QCOMPARE(spy.count(), 1);
+}
+
void tst_QLocalSocket::removeServer()
{
// this is a hostile takeover, but recovering from a crash results in the same
diff --git a/tests/auto/qmenu/tst_qmenu.cpp b/tests/auto/qmenu/tst_qmenu.cpp
index a86b754..5b6e54c 100644
--- a/tests/auto/qmenu/tst_qmenu.cpp
+++ b/tests/auto/qmenu/tst_qmenu.cpp
@@ -684,7 +684,7 @@ void tst_QMenu::task250673_activeMutliColumnSubMenuPosition()
class MyMenu : public QMenu
{
public:
- friend class tst_QMenu;
+ int columnCount() const { return QMenu::columnCount(); }
};
QMenu sub;
diff --git a/tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp b/tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp
index 36a4b45..4ee5b9f 100644
--- a/tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp
+++ b/tests/auto/qnetworkcookie/tst_qnetworkcookie.cpp
@@ -234,7 +234,7 @@ void tst_QNetworkCookie::parseSingleCookie_data()
QTest::newRow("path-with-utf8-2") << "a=b;path=/R%C3%A9sum%C3%A9" << cookie;
cookie.setPath(QString());
- cookie.setDomain("trolltech.com");
+ cookie.setDomain(".trolltech.com");
QTest::newRow("plain-domain1") << "a=b;domain=trolltech.com" << cookie;
QTest::newRow("plain-domain2") << "a=b; domain=trolltech.com " << cookie;
QTest::newRow("plain-domain3") << "a=b;domain=TROLLTECH.COM" << cookie;
@@ -246,7 +246,7 @@ void tst_QNetworkCookie::parseSingleCookie_data()
QTest::newRow("dot-domain3") << "a=b; domain=.TROLLTECH.COM" << cookie;
QTest::newRow("dot-domain4") << "a=b; Domain = .TROLLTECH.COM" << cookie;
- cookie.setDomain(QString::fromUtf8("d\303\270gn\303\245pent.troll.no"));
+ cookie.setDomain(QString::fromUtf8(".d\303\270gn\303\245pent.troll.no"));
QTest::newRow("idn-domain1") << "a=b;domain=xn--dgnpent-gxa2o.troll.no" << cookie;
QTest::newRow("idn-domain2") << "a=b;domain=d\303\270gn\303\245pent.troll.no" << cookie;
QTest::newRow("idn-domain3") << "a=b;domain=XN--DGNPENT-GXA2O.TROLL.NO" << cookie;
@@ -259,7 +259,7 @@ void tst_QNetworkCookie::parseSingleCookie_data()
QTest::newRow("dot-idn-domain3") << "a=b;domain=.XN--DGNPENT-GXA2O.TROLL.NO" << cookie;
QTest::newRow("dot-idn-domain4") << "a=b;domain=.D\303\230GN\303\205PENT.troll.NO" << cookie;
- cookie.setDomain("trolltech.com");
+ cookie.setDomain(".trolltech.com");
cookie.setPath("/");
QTest::newRow("two-fields") << "a=b;domain=trolltech.com;path=/" << cookie;
QTest::newRow("two-fields2") << "a=b; domain=trolltech.com; path=/" << cookie;
@@ -662,7 +662,7 @@ void tst_QNetworkCookie::parseMultipleCookies_data()
QTest::newRow("complex-1") << "c=d, a=, foo=bar; path=/" << list;
cookie.setName("baz");
- cookie.setDomain("trolltech.com");
+ cookie.setDomain(".trolltech.com");
list.prepend(cookie);
QTest::newRow("complex-2") << "baz=bar; path=/; domain=trolltech.com, c=d,a=,foo=bar; path=/" << list;
diff --git a/tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp b/tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
index e87a3bf..7aa1d24 100644
--- a/tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
+++ b/tests/auto/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
@@ -171,6 +171,17 @@ void tst_QNetworkCookieJar::setCookiesFromUrl_data()
result.clear();
result += finalCookie;
QTest::newRow("defaults-2") << preset << cookie << "http://www.foo.tld" << result << true;
+
+ // security test: do not accept cookie domains like ".com" nor ".com." (see RFC 2109 section 4.3.2)
+ result.clear();
+ preset.clear();
+ cookie.setDomain(".com");
+ QTest::newRow("rfc2109-4.3.2-ex3") << preset << cookie << "http://x.foo.com" << result << false;
+
+ result.clear();
+ preset.clear();
+ cookie.setDomain(".com.");
+ QTest::newRow("rfc2109-4.3.2-ex3-2") << preset << cookie << "http://x.foo.com" << result << false;
}
void tst_QNetworkCookieJar::setCookiesFromUrl()
diff --git a/tests/auto/qnetworkproxy/tst_qnetworkproxy.cpp b/tests/auto/qnetworkproxy/tst_qnetworkproxy.cpp
index 31a5391..0760ce8 100644
--- a/tests/auto/qnetworkproxy/tst_qnetworkproxy.cpp
+++ b/tests/auto/qnetworkproxy/tst_qnetworkproxy.cpp
@@ -59,6 +59,7 @@ public:
private slots:
void getSetCheck();
+ void capabilitiesPerType();
};
tst_QNetworkProxy::tst_QNetworkProxy()
@@ -79,6 +80,38 @@ void tst_QNetworkProxy::getSetCheck()
QCOMPARE(quint16(0), obj1.port());
obj1.setPort(quint16(0xffff));
QCOMPARE(quint16(0xffff), obj1.port());
+
+ obj1.setType(QNetworkProxy::DefaultProxy);
+ QCOMPARE(obj1.type(), QNetworkProxy::DefaultProxy);
+ obj1.setType(QNetworkProxy::HttpProxy);
+ QCOMPARE(obj1.type(), QNetworkProxy::HttpProxy);
+ obj1.setType(QNetworkProxy::Socks5Proxy);
+ QCOMPARE(obj1.type(), QNetworkProxy::Socks5Proxy);
+}
+
+void tst_QNetworkProxy::capabilitiesPerType()
+{
+ QNetworkProxy proxy(QNetworkProxy::Socks5Proxy);
+ QVERIFY(proxy.capabilities() & QNetworkProxy::TunnelingCapability);
+ QVERIFY(proxy.capabilities() & QNetworkProxy::HostNameLookupCapability);
+ QVERIFY(proxy.capabilities() & QNetworkProxy::UdpTunnelingCapability);
+
+ proxy.setType(QNetworkProxy::NoProxy);
+ // verify that the capabilities changed
+ QVERIFY(!(proxy.capabilities() & QNetworkProxy::HostNameLookupCapability));
+ QVERIFY(proxy.capabilities() & QNetworkProxy::UdpTunnelingCapability);
+
+ proxy.setType(QNetworkProxy::HttpProxy);
+ QVERIFY(proxy.capabilities() & QNetworkProxy::HostNameLookupCapability);
+ QVERIFY(!(proxy.capabilities() & QNetworkProxy::UdpTunnelingCapability));
+
+ // now set the capabilities on stone:
+ proxy.setCapabilities(QNetworkProxy::TunnelingCapability | QNetworkProxy::UdpTunnelingCapability);
+ QCOMPARE(proxy.capabilities(), QNetworkProxy::TunnelingCapability | QNetworkProxy::UdpTunnelingCapability);
+
+ // changing the type shouldn't change the capabilities any more
+ proxy.setType(QNetworkProxy::Socks5Proxy);
+ QCOMPARE(proxy.capabilities(), QNetworkProxy::TunnelingCapability | QNetworkProxy::UdpTunnelingCapability);
}
QTEST_MAIN(tst_QNetworkProxy)
diff --git a/tests/auto/qpainter/tst_qpainter.cpp b/tests/auto/qpainter/tst_qpainter.cpp
index 8b43f9b..87f9c13 100644
--- a/tests/auto/qpainter/tst_qpainter.cpp
+++ b/tests/auto/qpainter/tst_qpainter.cpp
@@ -225,6 +225,8 @@ private slots:
void extendedBlendModes();
+ void zeroOpacity();
+
private:
void fillData();
QColor baseColor( int k, int intensity=255 );
@@ -3792,8 +3794,11 @@ void tst_QPainter::imageBlending()
void tst_QPainter::paintOnNullPixmap()
{
+ QPixmap pix(16, 16);
+
QPixmap textPixmap;
QPainter p(&textPixmap);
+ p.drawPixmap(10, 10, pix);
p.end();
QPixmap textPixmap2(16,16);
@@ -4147,5 +4152,21 @@ void tst_QPainter::extendedBlendModes()
QVERIFY(testCompositionMode(191, 191, 96, QPainter::CompositionMode_Exclusion));
}
+void tst_QPainter::zeroOpacity()
+{
+ QImage source(1, 1, QImage::Format_ARGB32_Premultiplied);
+ source.fill(0xffffffff);
+
+ QImage target(1, 1, QImage::Format_RGB32);
+ target.fill(0xff000000);
+
+ QPainter p(&target);
+ p.setOpacity(0.0);
+ p.drawImage(0, 0, source);
+ p.end();
+
+ QCOMPARE(target.pixel(0, 0), 0xff000000);
+}
+
QTEST_MAIN(tst_QPainter)
#include "tst_qpainter.moc"
diff --git a/tests/auto/qpixmapcache/tst_qpixmapcache.cpp b/tests/auto/qpixmapcache/tst_qpixmapcache.cpp
index c163b52..1f515ff 100644
--- a/tests/auto/qpixmapcache/tst_qpixmapcache.cpp
+++ b/tests/auto/qpixmapcache/tst_qpixmapcache.cpp
@@ -166,6 +166,16 @@ void tst_QPixmapCache::insert()
QVERIFY(estimatedNum - 1 <= num <= estimatedNum + 1);
QPixmap p3;
QPixmapCache::insert("null", p3);
+
+ QPixmap c1(10, 10);
+ c1.fill(Qt::yellow);
+ QPixmapCache::insert("custom", c1);
+ QVERIFY(!c1.isDetached());
+ QPixmap c2(10, 10);
+ c2.fill(Qt::red);
+ QPixmapCache::insert("custom", c2);
+ //We have deleted the old pixmap in the cache for the same key
+ QVERIFY(c1.isDetached());
}
void tst_QPixmapCache::remove()
diff --git a/tests/auto/qprinter/tst_qprinter.cpp b/tests/auto/qprinter/tst_qprinter.cpp
index a598bfc..cde4ae5 100644
--- a/tests/auto/qprinter/tst_qprinter.cpp
+++ b/tests/auto/qprinter/tst_qprinter.cpp
@@ -103,6 +103,7 @@ private slots:
void valuePreservation();
void errorReporting();
void testCustomPageSizes();
+ void printDialogCompleter();
private:
};
@@ -940,5 +941,22 @@ void tst_QPrinter::testCustomPageSizes()
QCOMPARE(paperSize, customSize);
}
+void tst_QPrinter::printDialogCompleter()
+{
+#if defined(QT_NO_COMPLETER) || defined(QT_NO_FILEDIALOG)
+ QSKIP("QT_NO_COMPLETER || QT_NO_FILEDIALOG: Auto-complete turned off in QPrinterDialog.", QTest::SkipAll);
+#else
+ QPrintDialog dialog;
+ dialog.printer()->setOutputFileName("file.pdf");
+ dialog.setEnabledOptions(QAbstractPrintDialog::PrintToFile);
+ dialog.show();
+
+ QTest::qWait(100);
+
+ QTest::keyClick(0, Qt::Key_Tab);
+ QTest::keyClick(0, 'P');
+#endif
+}
+
QTEST_MAIN(tst_QPrinter)
#include "tst_qprinter.moc"
diff --git a/tests/auto/qscriptvalueiterator/tst_qscriptvalueiterator.cpp b/tests/auto/qscriptvalueiterator/tst_qscriptvalueiterator.cpp
index 1413b0d..257ec0b 100644
--- a/tests/auto/qscriptvalueiterator/tst_qscriptvalueiterator.cpp
+++ b/tests/auto/qscriptvalueiterator/tst_qscriptvalueiterator.cpp
@@ -68,6 +68,7 @@ private slots:
void iterateString();
void iterateGetterSetter();
void iterateArgumentsObject();
+ void assignObjectToIterator();
void undefinedBehavior();
};
@@ -562,5 +563,37 @@ void tst_QScriptValueIterator::undefinedBehavior()
QVERIFY(it.value().isNumber());
}
+void tst_QScriptValueIterator::assignObjectToIterator()
+{
+ QScriptEngine eng;
+ QScriptValue obj1 = eng.newObject();
+ obj1.setProperty("foo", 123);
+ QScriptValue obj2 = eng.newObject();
+ obj2.setProperty("bar", 456);
+
+ QScriptValueIterator it(obj1);
+ QVERIFY(it.hasNext());
+ it.next();
+ it = obj2;
+ QVERIFY(it.hasNext());
+ it.next();
+ QCOMPARE(it.name(), QString::fromLatin1("bar"));
+
+ it = obj1;
+ QVERIFY(it.hasNext());
+ it.next();
+ QCOMPARE(it.name(), QString::fromLatin1("foo"));
+
+ it = obj2;
+ QVERIFY(it.hasNext());
+ it.next();
+ QCOMPARE(it.name(), QString::fromLatin1("bar"));
+
+ it = obj2;
+ QVERIFY(it.hasNext());
+ it.next();
+ QCOMPARE(it.name(), QString::fromLatin1("bar"));
+}
+
QTEST_MAIN(tst_QScriptValueIterator)
#include "tst_qscriptvalueiterator.moc"
diff --git a/tests/auto/qsidebar/tst_qsidebar.cpp b/tests/auto/qsidebar/tst_qsidebar.cpp
index 7a262e6..705e222 100644
--- a/tests/auto/qsidebar/tst_qsidebar.cpp
+++ b/tests/auto/qsidebar/tst_qsidebar.cpp
@@ -176,6 +176,32 @@ void tst_QSidebar::addUrls()
qsidebar.addUrls(urls, -1);
qsidebar.addUrls(moreUrls, -1);
QCOMPARE(qsidebar.urls()[0], urls[0]);
+
+ QList<QUrl> doubleUrls;
+ //tow exact same paths, we have only one entry
+ doubleUrls << QUrl::fromLocalFile(QDir::home().absolutePath());
+ doubleUrls << QUrl::fromLocalFile(QDir::home().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());
+ 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());
+ qsidebar.setUrls(emptyUrls);
+ qsidebar.addUrls(doubleUrls, 1);
+ QCOMPARE(qsidebar.urls().size(), 2);
+#endif
+
+
}
void tst_QSidebar::goToUrl()
diff --git a/tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp b/tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
index 18aa5fc..bd66fdf 100644
--- a/tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
+++ b/tests/auto/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
@@ -133,6 +133,7 @@ private slots:
void task248868_dynamicSorting();
void task250023_fetchMore();
void task251296_hiddenChildren();
+ void task252507_mapFromToSource();
protected:
void buildHierarchy(const QStringList &data, QAbstractItemModel *model);
@@ -2612,6 +2613,7 @@ class QtTestModel: public QAbstractItemModel
return fetched.contains(parent) ? rows : 0;
}
int columnCount(const QModelIndex& parent = QModelIndex()) const {
+ Q_UNUSED(parent);
return cols;
}
@@ -2717,6 +2719,22 @@ void tst_QSortFilterProxyModel::task251296_hiddenChildren()
QCOMPARE(proxy.data(indexC).toString(), QString::fromLatin1("C VISIBLE"));
}
+void tst_QSortFilterProxyModel::task252507_mapFromToSource()
+{
+ QtTestModel source(10,10);
+ source.fetchMore(QModelIndex());
+ QSortFilterProxyModel proxy;
+ proxy.setSourceModel(&source);
+ QCOMPARE(proxy.mapFromSource(source.index(5, 4)), proxy.index(5, 4));
+ QCOMPARE(proxy.mapToSource(proxy.index(3, 2)), source.index(3, 2));
+ QCOMPARE(proxy.mapFromSource(QModelIndex()), QModelIndex());
+ QCOMPARE(proxy.mapToSource(QModelIndex()), QModelIndex());
+
+ QTest::ignoreMessage(QtWarningMsg, "QSortFilterProxyModel: index from wrong model passed to mapToSource ");
+ QCOMPARE(proxy.mapToSource(source.index(2, 3)), QModelIndex());
+ QTest::ignoreMessage(QtWarningMsg, "QSortFilterProxyModel: index from wrong model passed to mapFromSource ");
+ QCOMPARE(proxy.mapFromSource(proxy.index(6, 2)), QModelIndex());
+}
QTEST_MAIN(tst_QSortFilterProxyModel)
#include "tst_qsortfilterproxymodel.moc"
diff --git a/tests/auto/qsqldatabase/tst_databases.h b/tests/auto/qsqldatabase/tst_databases.h
index 611077f..ef51285 100644
--- a/tests/auto/qsqldatabase/tst_databases.h
+++ b/tests/auto/qsqldatabase/tst_databases.h
@@ -217,7 +217,7 @@ public:
// addDb( "QMYSQL3", "testdb", "troll", "trond", "horsehead.nokia.troll.no", 3309, "CLIENT_COMPRESS=1;CLIENT_SSL=1" ); // MySQL 5.0.18 Linux
// addDb( "QMYSQL3", "testdb", "troll", "trond", "iceblink.nokia.troll.no" ); // MySQL 5.0.13 Windows
// addDb( "QMYSQL3", "testdb", "testuser", "Ee4Gabf6_", "mysql4-nokia.trolltech.com.au" ); // MySQL 4.1.22-2.el4 linux
-// addDb( "QMYSQL3", "testdb", "testuser", "Ee4Gabf6_", "mysql5-nokia.trolltech.com.au" ); // MySQL 5.0.45-7.el5 linux
+// addDb( "QMYSQL3", "testdb", "testuser", "Ee4Gabf6_", "mysql5-nokia.trolltech.com.au" ); // MySQL 5.0.45-7.el5 linux
// addDb( "QPSQL7", "testdb", "troll", "trond", "horsehead.nokia.troll.no" ); // V7.2 NOT SUPPORTED!
// addDb( "QPSQL7", "testdb", "troll", "trond", "horsehead.nokia.troll.no", 5434 ); // V7.2 NOT SUPPORTED! Multi-byte
@@ -238,14 +238,15 @@ public:
// addDb( "QIBASE", "/opt/firebird/databases/testdb.fdb", "testuser", "Ee4Gabf6_", "firebird2-nokia.trolltech.com.au" ); // Firebird 2.1.1
// use in-memory database to prevent local files
- addDb("QSQLITE", ":memory:");
-// addDb( "QSQLITE", QDir::toNativeSeparators(QDir::tempPath()+"/foo.db") );
+// addDb("QSQLITE", ":memory:");
+ addDb( "QSQLITE", QDir::toNativeSeparators(QDir::tempPath()+"/foo.db") );
// addDb( "QSQLITE2", QDir::toNativeSeparators(QDir::tempPath()+"/foo2.db") );
// addDb( "QODBC3", "DRIVER={SQL SERVER};SERVER=iceblink.nokia.troll.no\\ICEBLINK", "troll", "trond", "" );
// addDb( "QODBC3", "DRIVER={SQL Native Client};SERVER=silence.nokia.troll.no\\SQLEXPRESS", "troll", "trond", "" );
-// addDb( "QODBC", "DRIVER={MySQL ODBC 3.51 Driver};SERVER=mysql5-nokia.trolltech.com.au;DATABASE=testdb", "testuser", "Ee4Gabf6_", "" );
-// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=horsehead.nokia.troll.no;DATABASE=testdb;PORT=4101;UID=troll;PWD=trondk", "troll", "trondk", "" );
+// addDb( "QODBC", "DRIVER={MySQL ODBC 3.51 Driver};SERVER=mysql5-nokia.trolltech.com.au;DATABASE=testdb", "testuser", "Ee4Gabf6_", "" );
+// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=horsehead.nokia.troll.no;DATABASE=testdb;PORT=4101;UID=troll;PWD=trondk", "troll", "trondk", "" );
+// addDb( "QODBC", "DRIVER={FreeTDS};SERVER=silence.nokia.troll.no;DATABASE=testdb;PORT=2392;UID=troll;PWD=trond", "troll", "trond", "" );
}
@@ -312,17 +313,21 @@ public:
QSqlQuery q( db );
QStringList dbtables=db.tables();
- foreach(QString tableName, tableNames)
+ foreach(const QString &tableName, tableNames)
{
wasDropped = true;
QString table=tableName;
if ( db.driver()->isIdentifierEscaped(table, QSqlDriver::TableName))
table = db.driver()->stripDelimiters(table, QSqlDriver::TableName);
- if ( dbtables.contains( table, Qt::CaseSensitive ) )
- wasDropped = q.exec( "drop table " + tableName);
- else if ( dbtables.contains( table, Qt::CaseInsensitive ) )
- wasDropped = q.exec( "drop table " + tableName);
+ foreach(const QString dbtablesName, dbtables) {
+ if(dbtablesName.toUpper() == table.toUpper()) {
+ dbtables.removeAll(dbtablesName);
+ wasDropped = q.exec("drop table " + db.driver()->escapeIdentifier( dbtablesName, QSqlDriver::TableName ));
+ if(!wasDropped)
+ wasDropped = q.exec("drop table " + dbtablesName);
+ }
+ }
if ( !wasDropped )
qWarning() << dbToString(db) << "unable to drop table" << tableName << ':' << q.lastError().text() << "tables:" << dbtables;
@@ -396,12 +401,26 @@ public:
static QByteArray printError( const QSqlError& err )
{
- return QString( "'" + err.driverText() + "' || '" + err.databaseText() + "'" ).toLocal8Bit();
+ QString result;
+ if(err.number() > 0)
+ result += '(' + QString::number(err.number()) + ") ";
+ result += '\'';
+ if(!err.driverText().isEmpty())
+ result += err.driverText() + "' || '";
+ result += err.databaseText() + "'";
+ return result.toLocal8Bit();
}
static QByteArray printError( const QSqlError& err, const QSqlDatabase& db )
{
- return QString( dbToString(db) + ": '" + err.driverText() + "' || '" + err.databaseText() + "'" ).toLocal8Bit();
+ QString result(dbToString(db) + ": ");
+ if(err.number() > 0)
+ result += '(' + QString::number(err.number()) + ") ";
+ result += '\'';
+ if(!err.driverText().isEmpty())
+ result += err.driverText() + "' || '";
+ result += err.databaseText() + "'";
+ return result.toLocal8Bit();
}
static bool isSqlServer( QSqlDatabase db )
diff --git a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
index 8dede12..4fa3dc4 100644
--- a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
+++ b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp
@@ -517,6 +517,8 @@ void tst_QSqlDatabase::tables()
// MySQL doesn't give back anything when calling QSqlDatabase::tables() with QSql::Views
// May be fixable by doing a select on informational_schema.views instead of using the client library api
QEXPECT_FAIL("", "MySQL driver thinks that views are tables", Continue);
+ if(!tables.contains(qTableName("qtest_view"), Qt::CaseInsensitive))
+ qDebug() << "failed to find" << qTableName("qtest_view") << "in" << tables;
QVERIFY(tables.contains(qTableName("qtest_view"), Qt::CaseInsensitive));
}
if (tempTables)
@@ -1880,17 +1882,26 @@ void tst_QSqlDatabase::ibase_procWithReturnValues()
"\nRESULT INTEGER)"
"\nAS"
"\nbegin"
- "\nRESULT = 10;"
+ "\nRESULT = 10 * ABC;"
"\nsuspend;"
"\nend"));
// Interbase procedures can be executed in two ways: EXECUTE PROCEDURE or SELECT
QVERIFY_SQL(q, exec(QString("execute procedure %1(123)").arg(procName)));
QVERIFY_SQL(q, next());
- QCOMPARE(q.value(0).toInt(), 10);
+ QCOMPARE(q.value(0).toInt(), 1230);
QVERIFY_SQL(q, exec(QString("select result from %1(456)").arg(procName)));
QVERIFY_SQL(q, next());
- QCOMPARE(q.value(0).toInt(), 10);
+ QCOMPARE(q.value(0).toInt(), 4560);
+ QVERIFY_SQL(q, prepare(QLatin1String("execute procedure ")+procName+QLatin1String("(?)")));
+ q.bindValue(0, 123);
+ QVERIFY_SQL(q, exec());
+ QVERIFY_SQL(q, next());
+ QCOMPARE(q.value(0).toInt(), 1230);
+ q.bindValue(0, 456);
+ QVERIFY_SQL(q, exec());
+ QVERIFY_SQL(q, next());
+ QCOMPARE(q.value(0).toInt(), 4560);
q.exec(QString("drop procedure %1").arg(procName));
}
@@ -2276,7 +2287,7 @@ void tst_QSqlDatabase::db2_valueCacheUpdate()
void tst_QSqlDatabase::sqlStatementUseIsNull_189093()
{
- // NULL = NULL is unknow, the sqlStatment must use IS NULL
+ // NULL = NULL is unknown, the sqlStatment must use IS NULL
QFETCH(QString, dbName);
QSqlDatabase db = QSqlDatabase::database(dbName);
CHECK_DATABASE(db);
diff --git a/tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp b/tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp
index aa63753..24ccecf 100644
--- a/tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp
+++ b/tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp
@@ -605,8 +605,9 @@ void tst_QStyleSheetStyle::palettePropagation()
QVERIFY(COLOR(gb) == Qt::red);
QVERIFY(COLOR(pb) == APPCOLOR(pb)); // palette shouldn't propagate
gb.setStyleSheet("QGroupBox * { color: red }");
+
QVERIFY(COLOR(pb) == Qt::red);
- QVERIFY(COLOR(gb) == APPCOLOR(pb));
+ QVERIFY(COLOR(gb) == APPCOLOR(gb));
QWidget window;
window.setStyleSheet("* { color: white; }");
diff --git a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
index 4a17031..4da99da 100644
--- a/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
+++ b/tests/auto/qsvgrenderer/tst_qsvgrenderer.cpp
@@ -534,16 +534,42 @@ void tst_QSvgRenderer::gradientStops() const
QCOMPARE(image, refImage);
}
+ const char *svgs[] = {
+ "<svg>"
+ "<defs>"
+ "<linearGradient id=\"gradient\">"
+ "<stop offset=\"0\" stop-color=\"red\" stop-opacity=\"0\"/>"
+ "<stop offset=\"1\" stop-color=\"blue\"/>"
+ "</linearGradient>"
+ "</defs>"
+ "<rect fill=\"url(#gradient)\" height=\"8\" width=\"256\" x=\"0\" y=\"0\"/>"
+ "</svg>",
+ "<svg>"
+ "<defs>"
+ "<linearGradient id=\"gradient\" xlink:href=\"#gradient0\">"
+ "</linearGradient>"
+ "<linearGradient id=\"gradient0\">"
+ "<stop offset=\"0\" stop-color=\"red\" stop-opacity=\"0\"/>"
+ "<stop offset=\"1\" stop-color=\"blue\"/>"
+ "</linearGradient>"
+ "</defs>"
+ "<rect fill=\"url(#gradient)\" height=\"8\" width=\"256\" x=\"0\" y=\"0\"/>"
+ "</svg>",
+ "<svg>"
+ "<defs>"
+ "<linearGradient id=\"gradient0\">"
+ "<stop offset=\"0\" stop-color=\"red\" stop-opacity=\"0\"/>"
+ "<stop offset=\"1\" stop-color=\"blue\"/>"
+ "</linearGradient>"
+ "<linearGradient id=\"gradient\" xlink:href=\"#gradient0\">"
+ "</linearGradient>"
+ "</defs>"
+ "<rect fill=\"url(#gradient)\" height=\"8\" width=\"256\" x=\"0\" y=\"0\"/>"
+ "</svg>"
+ };
+ for (int i = 0 ; i < sizeof(svgs) / sizeof(svgs[0]) ; ++i)
{
- QByteArray data("<svg>"
- "<defs>"
- "<linearGradient id=\"gradient\">"
- "<stop offset=\"0\" stop-color=\"red\" stop-opacity=\"0\"/>"
- "<stop offset=\"1\" stop-color=\"blue\"/>"
- "</linearGradient>"
- "</defs>"
- "<rect fill=\"url(#gradient)\" height=\"8\" width=\"256\" x=\"0\" y=\"0\"/>"
- "</svg>");
+ QByteArray data = svgs[i];
QSvgRenderer renderer(data);
QImage image(256, 8, QImage::Format_ARGB32_Premultiplied);
diff --git a/tests/auto/qtabbar/tst_qtabbar.cpp b/tests/auto/qtabbar/tst_qtabbar.cpp
index 433eb86..31722de 100644
--- a/tests/auto/qtabbar/tst_qtabbar.cpp
+++ b/tests/auto/qtabbar/tst_qtabbar.cpp
@@ -92,6 +92,8 @@ private slots:
void moveTab_data();
void moveTab();
+
+ void task251184_removeTab();
};
// Testing get/set functions
@@ -503,5 +505,35 @@ void tst_QTabBar::moveTab()
bar.callMoveTab(from, to);
}
+
+class MyTabBar : public QTabBar
+{
+ Q_OBJECT
+public slots:
+ void onCurrentChanged()
+ {
+ //we just want this to be done once
+ disconnect(this, SIGNAL(currentChanged(int)), this, SLOT(onCurrentChanged()));
+ removeTab(0);
+ }
+};
+
+void tst_QTabBar::task251184_removeTab()
+{
+ MyTabBar bar;
+ bar.addTab("bar1");
+ bar.addTab("bar2");
+ QCOMPARE(bar.count(), 2);
+ QCOMPARE(bar.currentIndex(), 0);
+
+ bar.connect(&bar, SIGNAL(currentChanged(int)), SLOT(onCurrentChanged()));
+ bar.setCurrentIndex(1);
+
+ QCOMPARE(bar.count(), 1);
+ QCOMPARE(bar.currentIndex(), 0);
+ QCOMPARE(bar.tabText(bar.currentIndex()), QString("bar2"));
+}
+
+
QTEST_MAIN(tst_QTabBar)
#include "tst_qtabbar.moc"
diff --git a/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp b/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp
index 139eb6e..116f46e 100644
--- a/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp
+++ b/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp
@@ -74,6 +74,7 @@ private slots:
void incrementalResults();
void noDetatch();
void stlContainers();
+ void qFutureAssignmentLeak();
void stressTest();
public slots:
void throttling();
@@ -2323,6 +2324,36 @@ void tst_map::stlContainers()
#endif
}
+InstanceCounter ic_fn(const InstanceCounter & ic)
+{
+ return InstanceCounter(ic);
+};
+
+// Verify that held results are deleted when a future is
+// assigned over with operator ==
+void tst_map::qFutureAssignmentLeak()
+{
+ currentInstanceCount = 0;
+ peakInstanceCount = 0;
+ QFuture<InstanceCounter> future;
+ {
+ QList<InstanceCounter> list;
+ for (int i=0;i<1000;++i)
+ list += InstanceCounter();
+ future = QtConcurrent::mapped(list, ic_fn);
+ future.waitForFinished();
+
+ future = QtConcurrent::mapped(list, ic_fn);
+ future.waitForFinished();
+
+ future = QtConcurrent::mapped(list, ic_fn);
+ future.waitForFinished();
+ }
+
+ QCOMPARE(int(currentInstanceCount), 1000);
+ future = QFuture<InstanceCounter>();
+ QCOMPARE(int(currentInstanceCount), 0);
+}
inline void increment(int &num)
{
diff --git a/tests/auto/qtemporaryfile/qtemporaryfile.pro b/tests/auto/qtemporaryfile/qtemporaryfile.pro
index 0c90994..bde990a 100644
--- a/tests/auto/qtemporaryfile/qtemporaryfile.pro
+++ b/tests/auto/qtemporaryfile/qtemporaryfile.pro
@@ -2,5 +2,4 @@ load(qttest_p4)
SOURCES += tst_qtemporaryfile.cpp
QT = core
-
-
+DEFINES += SRCDIR=\\\"$$PWD/\\\"
diff --git a/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp b/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp
index f5155ae..2daa0f6 100644
--- a/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp
+++ b/tests/auto/qtemporaryfile/tst_qtemporaryfile.cpp
@@ -51,6 +51,13 @@
#if defined(Q_OS_WIN)
# include <windows.h>
#endif
+#if defined(Q_OS_UNIX)
+# include <sys/types.h>
+# include <sys/stat.h>
+# include <errno.h>
+# include <fcntl.h> // open(2)
+# include <unistd.h> // close(2)
+#endif
//TESTED_CLASS=
//TESTED_FILES=
@@ -78,6 +85,7 @@ private slots:
void openOnRootDrives();
void stressTest();
void rename();
+ void renameFdLeak();
public:
};
@@ -356,5 +364,42 @@ void tst_QTemporaryFile::rename()
QVERIFY(!dir.exists("temporary-file.txt"));
}
+void tst_QTemporaryFile::renameFdLeak()
+{
+#ifdef Q_OS_UNIX
+ // Test this on Unix only
+
+ // Open a bunch of files to force the fd count to go up
+ static const int count = 10;
+ int bunch_of_files[count];
+ for (int i = 0; i < count; ++i) {
+ bunch_of_files[i] = ::open(SRCDIR "tst_qtemporaryfile.cpp", O_RDONLY);
+ QVERIFY(bunch_of_files[i] != -1);
+ }
+
+ int fd;
+ {
+ QTemporaryFile file;
+ file.setAutoRemove(false);
+ QVERIFY(file.open());
+
+ // close the bunch of files
+ for (int i = 0; i < count; ++i)
+ ::close(bunch_of_files[i]);
+
+ // save the file descriptor for later
+ fd = file.handle();
+
+ // rename the file to something
+ QString newPath = QDir::tempPath() + "/tst_qtemporaryfile-renameFdLeak-" + QString::number(getpid());
+ file.rename(newPath);
+ QFile::remove(newPath);
+ }
+
+ // check if QTemporaryFile closed the file
+ QVERIFY(::close(fd) == -1 && errno == EBADF);
+#endif
+}
+
QTEST_MAIN(tst_QTemporaryFile)
#include "tst_qtemporaryfile.moc"
diff --git a/tests/auto/qtextcodec/tst_qtextcodec.cpp b/tests/auto/qtextcodec/tst_qtextcodec.cpp
index b1bfb86..cf4135b 100644
--- a/tests/auto/qtextcodec/tst_qtextcodec.cpp
+++ b/tests/auto/qtextcodec/tst_qtextcodec.cpp
@@ -68,6 +68,8 @@ private slots:
void flagEFBFBF() const;
void decode0D() const;
void codecForIndex() const;
+ void aliasForUTF16() const;
+ void mibForTSCII() const;
void utf8Codec_data();
void utf8Codec();
@@ -453,6 +455,16 @@ void tst_QTextCodec::codecForIndex() const
{
}
+void tst_QTextCodec::aliasForUTF16() const
+{
+ QVERIFY(QTextCodec::codecForName("UTF-16")->aliases().isEmpty());
+}
+
+void tst_QTextCodec::mibForTSCII() const
+{
+ QCOMPARE(QTextCodec::codecForName("TSCII")->mibEnum(), 2107);
+}
+
static QString fromInvalidUtf8Sequence(const QByteArray &ba)
{
return QString().fill(QChar::ReplacementCharacter, ba.size());
diff --git a/tests/auto/qtextdocumentfragment/tst_qtextdocumentfragment.cpp b/tests/auto/qtextdocumentfragment/tst_qtextdocumentfragment.cpp
index 6edaee3..46f5f0c 100644
--- a/tests/auto/qtextdocumentfragment/tst_qtextdocumentfragment.cpp
+++ b/tests/auto/qtextdocumentfragment/tst_qtextdocumentfragment.cpp
@@ -2309,7 +2309,7 @@ void tst_QTextDocumentFragment::html_tbody()
QVERIFY(table);
QCOMPARE(table->columns(), 1);
QCOMPARE(table->rows(), 2);
- QVERIFY(table->format().headerRowCount(), 1);
+ QCOMPARE(table->format().headerRowCount(), 1);
QCOMPARE(table->cellAt(0, 0).firstCursorPosition().block().text(), QString("First Cell"));
QCOMPARE(table->cellAt(1, 0).firstCursorPosition().block().text(), QString("Second Cell"));
}
diff --git a/tests/auto/qtransform/tst_qtransform.cpp b/tests/auto/qtransform/tst_qtransform.cpp
index 8516ddb..74c405e 100644
--- a/tests/auto/qtransform/tst_qtransform.cpp
+++ b/tests/auto/qtransform/tst_qtransform.cpp
@@ -593,6 +593,16 @@ void tst_QTransform::types()
m3.translate(5.0f, 5.0f);
QCOMPARE(m3.type(), QTransform::TxScale);
QCOMPARE(m3.inverted().type(), QTransform::TxScale);
+
+ m3.setMatrix(1.0f, 0.0f, 0.0f,
+ 0.0f, 1.0f, 0.0f,
+ 0.0f, 0.0f, 2.0f);
+ QCOMPARE(m3.type(), QTransform::TxProject);
+
+ m3.setMatrix(0.0f, 2.0f, 0.0f,
+ 1.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 2.0f);
+ QCOMPARE(m3.type(), QTransform::TxProject);
}
diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp
index a052034..5896df9 100644
--- a/tests/auto/qwidget/tst_qwidget.cpp
+++ b/tests/auto/qwidget/tst_qwidget.cpp
@@ -283,6 +283,11 @@ private slots:
void render_task217815();
void render_windowOpacity();
void render_systemClip();
+ void render_systemClip2_data();
+ void render_systemClip2();
+ void render_systemClip3_data();
+ void render_systemClip3();
+ void render_task252837();
void setContentsMargins();
@@ -6897,6 +6902,212 @@ void tst_QWidget::render_systemClip()
#endif
}
+void tst_QWidget::render_systemClip2_data()
+{
+ QTest::addColumn<bool>("autoFillBackground");
+ QTest::addColumn<bool>("usePaintEvent");
+ QTest::addColumn<QColor>("expectedColor");
+
+ QTest::newRow("Only auto-fill background") << true << false << QColor(Qt::blue);
+ QTest::newRow("Only draw in paintEvent") << false << true << QColor(Qt::green);
+ QTest::newRow("Auto-fill background and draw in paintEvent") << true << true << QColor(Qt::green);
+}
+
+void tst_QWidget::render_systemClip2()
+{
+ QFETCH(bool, autoFillBackground);
+ QFETCH(bool, usePaintEvent);
+ QFETCH(QColor, expectedColor);
+
+ Q_ASSERT_X(expectedColor != QColor(Qt::red), Q_FUNC_INFO,
+ "Qt::red is the reference color for the image, pick another color");
+
+ class MyWidget : public QWidget
+ {
+ public:
+ bool usePaintEvent;
+ void paintEvent(QPaintEvent *)
+ {
+ if (usePaintEvent)
+ QPainter(this).fillRect(rect(), Qt::green);
+ }
+ };
+
+ MyWidget widget;
+ widget.usePaintEvent = usePaintEvent;
+ widget.setPalette(Qt::blue);
+ // NB! widget.setAutoFillBackground(autoFillBackground) won't do the
+ // trick here since the widget is a top-level. The background is filled
+ // regardless, unless Qt::WA_OpaquePaintEvent or Qt::WA_NoSystemBackground
+ // is set. We therefore use the opaque attribute to turn off auto-fill.
+ if (!autoFillBackground)
+ widget.setAttribute(Qt::WA_OpaquePaintEvent);
+ widget.resize(100, 100);
+
+ QImage image(widget.size(), QImage::Format_RGB32);
+ image.fill(QColor(Qt::red).rgb());
+
+ QPaintEngine *paintEngine = image.paintEngine();
+ QVERIFY(paintEngine);
+
+ QRegion systemClip(QRegion(50, 0, 50, 10));
+ systemClip += QRegion(90, 10, 10, 40);
+ paintEngine->setSystemClip(systemClip);
+
+ // Render entire widget directly onto device.
+ widget.render(&image);
+
+#ifdef RENDER_DEBUG
+ image.save("systemclip_with_device.png");
+#endif
+ // All pixels within the system clip should now be
+ // the expectedColor, and the rest should be red.
+ for (int i = 0; i < image.height(); ++i) {
+ for (int j = 0; j < image.width(); ++j) {
+ if (systemClip.contains(QPoint(j, i)))
+ QCOMPARE(image.pixel(j, i), expectedColor.rgb());
+ else
+ QCOMPARE(image.pixel(j, i), QColor(Qt::red).rgb());
+ }
+ }
+
+ // Refill image with red.
+ image.fill(QColor(Qt::red).rgb());
+ paintEngine->setSystemClip(systemClip);
+
+ // Do the same with an untransformed painter.
+ QPainter painter(&image);
+ //Make sure we're using the same paint engine and has the right clip set.
+ QCOMPARE(painter.paintEngine(), paintEngine);
+ QCOMPARE(paintEngine->systemClip(), systemClip);
+
+ widget.render(&painter);
+
+#ifdef RENDER_DEBUG
+ image.save("systemclip_with_untransformed_painter.png");
+#endif
+ // All pixels within the system clip should now be
+ // the expectedColor, and the rest should be red.
+ for (int i = 0; i < image.height(); ++i) {
+ for (int j = 0; j < image.width(); ++j) {
+ if (systemClip.contains(QPoint(j, i)))
+ QCOMPARE(image.pixel(j, i), expectedColor.rgb());
+ else
+ QCOMPARE(image.pixel(j, i), QColor(Qt::red).rgb());
+ }
+ }
+}
+
+void tst_QWidget::render_systemClip3_data()
+{
+ QTest::addColumn<QSize>("size");
+ QTest::addColumn<bool>("useSystemClip");
+
+ // Reference: http://en.wikipedia.org/wiki/Flag_of_Norway
+ QTest::newRow("Norwegian Civil Flag") << QSize(220, 160) << false;
+ QTest::newRow("Norwegian War Flag") << QSize(270, 160) << true;
+}
+
+// This test ensures that the current engine clip (systemClip + painter clip)
+// is preserved after QPainter::setClipRegion(..., Qt::ReplaceClip);
+void tst_QWidget::render_systemClip3()
+{
+ QFETCH(QSize, size);
+ QFETCH(bool, useSystemClip);
+
+ // Calculate the inner/outer cross of the flag.
+ QRegion outerCross(0, 0, size.width(), size.height());
+ outerCross -= QRect(0, 0, 60, 60);
+ outerCross -= QRect(100, 0, size.width() - 100, 60);
+ outerCross -= QRect(0, 100, 60, 60);
+ outerCross -= QRect(100, 100, size.width() - 100, 60);
+
+ QRegion innerCross(0, 0, size.width(), size.height());
+ innerCross -= QRect(0, 0, 70, 70);
+ innerCross -= QRect(90, 0, size.width() - 90, 70);
+ innerCross -= QRect(0, 90, 70, 70);
+ innerCross -= QRect(90, 90, size.width() - 90, 70);
+
+ const QRegion redArea(QRegion(0, 0, size.width(), size.height()) - outerCross);
+ const QRegion whiteArea(outerCross - innerCross);
+ const QRegion blueArea(innerCross);
+ QRegion systemClip;
+
+ // Okay, here's the image that should look like a Norwegian civil/war flag in the end.
+ QImage flag(size, QImage::Format_ARGB32);
+ flag.fill(QColor(Qt::transparent).rgba());
+
+ if (useSystemClip) {
+ QPainterPath warClip(QPoint(size.width(), 0));
+ warClip.lineTo(size.width() - 110, 60);
+ warClip.lineTo(size.width(), 80);
+ warClip.lineTo(size.width() - 110, 100);
+ warClip.lineTo(size.width(), 160);
+ warClip.closeSubpath();
+ systemClip = QRegion(0, 0, size.width(), size.height()) - QRegion(warClip.toFillPolygon().toPolygon());
+ flag.paintEngine()->setSystemClip(systemClip);
+ }
+
+ QPainter painter(&flag);
+ painter.fillRect(QRect(QPoint(), size), Qt::red); // Fill image background with red.
+ painter.setClipRegion(outerCross); // Limit widget painting to inside the outer cross.
+
+ // Here's the widget that's supposed to draw the inner/outer cross of the flag.
+ // The outer cross (white) should be drawn when the background is auto-filled, and
+ // the inner cross (blue) should be drawn in the paintEvent.
+ class MyWidget : public QWidget
+ { public:
+ void paintEvent(QPaintEvent *)
+ {
+ QPainter painter(this);
+ // Be evil and try to paint outside the outer cross. This should not be
+ // possible since the shared painter is clipped to the outer cross.
+ painter.setClipRect(0, 0, 60, 60, Qt::ReplaceClip);
+ painter.fillRect(rect(), Qt::green);
+ painter.setClipRegion(clip, Qt::ReplaceClip);
+ painter.fillRect(rect(), Qt::blue);
+ }
+ QRegion clip;
+ };
+
+ MyWidget widget;
+ widget.clip = innerCross;
+ widget.setFixedSize(size);
+ widget.setPalette(Qt::white);
+ widget.setAutoFillBackground(true);
+ widget.render(&painter);
+
+#ifdef RENDER_DEBUG
+ flag.save("flag.png");
+#endif
+
+ // Let's make sure we got a Norwegian flag.
+ for (int i = 0; i < flag.height(); ++i) {
+ for (int j = 0; j < flag.width(); ++j) {
+ const QPoint pixel(j, i);
+ const QRgb pixelValue = flag.pixel(pixel);
+ if (useSystemClip && !systemClip.contains(pixel))
+ QCOMPARE(pixelValue, QColor(Qt::transparent).rgba());
+ else if (redArea.contains(pixel))
+ QCOMPARE(pixelValue, QColor(Qt::red).rgba());
+ else if (whiteArea.contains(pixel))
+ QCOMPARE(pixelValue, QColor(Qt::white).rgba());
+ else
+ QCOMPARE(pixelValue, QColor(Qt::blue).rgba());
+ }
+ }
+}
+
+void tst_QWidget::render_task252837()
+{
+ QWidget widget;
+ widget.resize(200, 200);
+
+ QPixmap pixmap(widget.size());
+ QPainter painter(&pixmap);
+ // Please do not crash.
+ widget.render(&painter);
+}
void tst_QWidget::setContentsMargins()
{
QLabel label("why does it always rain on me?");
diff --git a/tests/auto/qxmlstream/XML-Test-Suite-LICENSE.txt b/tests/auto/qxmlstream/XML-Test-Suite-LICENSE.txt
new file mode 100644
index 0000000..bd84fae
--- /dev/null
+++ b/tests/auto/qxmlstream/XML-Test-Suite-LICENSE.txt
@@ -0,0 +1,59 @@
+The XML testsuite available here is a copy of the Extensible Markup
+Language (XML) Conformance Test Suites provided by W3C. Please see
+http://www.w3.org/XML/Test/ for updates and other information.
+
+These files are licensed under the W3C Software License (19980720),
+reproduced below:
+
+---
+W3C® SOFTWARE NOTICE AND LICENSE
+
+Copyright © 1994-2002 World Wide Web Consortium, (Massachusetts
+Institute of Technology, Institut National de Recherche en
+Informatique et en Automatique, Keio University). All Rights
+Reserved. http://www.w3.org/Consortium/Legal/
+
+This W3C work (including software, documents, or other related items)
+is being provided by the copyright holders under the following
+license. By obtaining, using and/or copying this work, you (the
+licensee) agree that you have read, understood, and will comply with
+the following terms and conditions:
+
+Permission to use, copy, modify, and distribute this software and its
+documentation, with or without modification, for any purpose and
+without fee or royalty is hereby granted, provided that you include
+the following on ALL copies of the software and documentation or
+portions thereof, including modifications, that you make:
+
+ 1. The full text of this NOTICE in a location viewable to users of
+ the redistributed or derivative work.
+
+ 2. Any pre-existing intellectual property disclaimers, notices, or
+ terms and conditions. If none exist, a short notice of the
+ following form (hypertext is preferred, text is permitted) should
+ be used within the body of any redistributed or derivative code:
+ "Copyright © [$date-of-software] World Wide Web Consortium,
+ (Massachusetts Institute of Technology, Institut National de
+ Recherche en Informatique et en Automatique, Keio University). All
+ Rights Reserved. http://www.w3.org/Consortium/Legal/"
+
+ 3. Notice of any changes or modifications to the W3C files, including
+ the date changes were made. (We recommend you provide URIs to the
+ location from which the code is derived.)
+
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
+HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR
+DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
+TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL
+OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
+DOCUMENTATION.
+
+The name and trademarks of copyright holders may NOT be used in
+advertising or publicity pertaining to the software without specific,
+written prior permission. Title to copyright in this software and any
+associated documentation will at all times remain with copyright
+holders.
diff --git a/tests/auto/utf8/tst_utf8.cpp b/tests/auto/utf8/tst_utf8.cpp
new file mode 100644
index 0000000..3aef69f
--- /dev/null
+++ b/tests/auto/utf8/tst_utf8.cpp
@@ -0,0 +1,309 @@
+/****************************************************************************
+**
+** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (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 either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include <QtTest/QtTest>
+
+#include <qtextcodec.h>
+#include <qsharedpointer.h>
+
+//TESTED_CLASS=
+//TESTED_FILES=
+
+static const char utf8bom[] = "\xEF\xBB\xBF";
+
+class tst_Utf8 : public QObject
+{
+ Q_OBJECT
+
+public:
+ // test data:
+ QTextCodec *codec;
+ QString (*from8BitPtr)(const char *, int);
+ QByteArray (QString:: *to8Bit)() const;
+
+ inline QString from8Bit(const QByteArray &ba)
+ { return from8BitPtr(ba.constData(), ba.length()); }
+public slots:
+ void initTestCase();
+ void init();
+
+private slots:
+ void roundTrip_data();
+ void roundTrip();
+
+ void charByChar_data();
+ void charByChar();
+
+ void invalidUtf8_data();
+ void invalidUtf8();
+};
+
+void tst_Utf8::initTestCase()
+{
+ QTest::addColumn<bool>("useLocale");
+ QTest::newRow("utf8codec") << false;
+
+ // is the locale UTF-8?
+ if (QString(QChar(QChar::ReplacementCharacter)).toLocal8Bit() == "\xEF\xBF\xBD") {
+ QTest::newRow("localecodec") << true;
+ qDebug() << "locale is utf8";
+ }
+}
+
+void tst_Utf8::init()
+{
+ QFETCH_GLOBAL(bool, useLocale);
+ if (useLocale) {
+ codec = QTextCodec::codecForLocale();
+ from8BitPtr = &QString::fromLocal8Bit;
+ to8Bit = &QString::toLocal8Bit;
+ } else {
+ codec = QTextCodec::codecForMib(106);
+ from8BitPtr = &QString::fromUtf8;
+ to8Bit = &QString::toUtf8;
+ }
+}
+
+void tst_Utf8::roundTrip_data()
+{
+ QTest::addColumn<QByteArray>("utf8");
+ QTest::addColumn<QString>("utf16");
+
+ QTest::newRow("empty") << QByteArray() << QString();
+ QTest::newRow("nul") << QByteArray("", 1) << QString(QChar(QChar::Null));
+
+ static const char ascii[] = "This is a standard US-ASCII message";
+ QTest::newRow("ascii") << QByteArray(ascii) << ascii;
+
+ static const char ascii2[] = "\1This\2is\3an\4US-ASCII\020 message interspersed with control chars";
+ QTest::newRow("ascii2") << QByteArray(ascii2) << ascii2;
+
+ static const char utf8_1[] = "\302\240"; // NBSP
+ QTest::newRow("utf8_1") << QByteArray(utf8_1) << QString(QChar(QChar::Nbsp));
+
+ static const char utf8_2[] = "\342\202\254"; // Euro symbol
+ QTest::newRow("utf8_2") << QByteArray(utf8_2) << QString(QChar(0x20AC));
+
+#if 0
+ // Can't test this because QString::fromUtf8 consumes it
+ static const char utf8_3[] = "\357\273\277"; // byte order mark
+ QTest::newRow("utf8_3") << QByteArray(utf8_3) << QString(QChar(QChar::ByteOrderMark));
+#endif
+
+ static const char utf8_4[] = "\357\277\275"; // replacement char
+ QTest::newRow("utf8_4") << QByteArray(utf8_4) << QString(QChar(QChar::ReplacementCharacter));
+
+ static const char utf8_5[] = "\360\220\210\203"; // U+010203
+ static const uint utf32_5[] = { 0x010203 };
+ QTest::newRow("utf8_5") << QByteArray(utf8_5) << QString::fromUcs4(utf32_5, 1);
+
+ static const char utf8_6[] = "\364\217\277\277"; // U+10FFFF
+ static const uint utf32_6[] = { 0x10FFFF };
+ QTest::newRow("utf8_6") << QByteArray(utf8_6) << QString::fromUcs4(utf32_6, 1);
+
+ static const char utf8_7[] = "abc\302\240\303\241\303\251\307\275 \342\202\254def";
+ static const ushort utf16_7[] = { 'a', 'b', 'c', 0x00A0,
+ 0x00E1, 0x00E9, 0x01FD,
+ ' ', 0x20AC, 'd', 'e', 'f', 0 };
+ QTest::newRow("utf8_7") << QByteArray(utf8_7) << QString::fromUtf16(utf16_7);
+
+ static const char utf8_8[] = "abc\302\240\303\241\303\251\307\275 \364\217\277\277 \342\202\254def";
+ static const uint utf32_8[] = { 'a', 'b', 'c', 0x00A0,
+ 0x00E1, 0x00E9, 0x01FD,
+ ' ', 0x10FFFF, ' ',
+ 0x20AC, 'd', 'e', 'f', 0 };
+ QTest::newRow("utf8_8") << QByteArray(utf8_8) << QString::fromUcs4(utf32_8);
+}
+
+void tst_Utf8::roundTrip()
+{
+ QFETCH(QByteArray, utf8);
+ QFETCH(QString, utf16);
+
+ QCOMPARE((utf16.*to8Bit)(), utf8);
+ QCOMPARE(from8Bit(utf8), utf16);
+
+ QCOMPARE((from8Bit(utf8).*to8Bit)(), utf8);
+ QCOMPARE(from8Bit((utf16.*to8Bit)()), utf16);
+}
+
+void tst_Utf8::charByChar_data()
+{
+ roundTrip_data();
+}
+
+void tst_Utf8::charByChar()
+{
+ QFETCH(QByteArray, utf8);
+ QFETCH(QString, utf16);
+
+ {
+ // from utf16 to utf8 char by char:
+ QSharedPointer<QTextEncoder> encoder = QSharedPointer<QTextEncoder>(codec->makeEncoder());
+ QByteArray encoded;
+
+ for (int i = 0; i < utf16.length(); ++i) {
+ encoded += encoder->fromUnicode(utf16.constData() + i, 1);
+ QVERIFY(!encoder->hasFailure());
+ }
+
+ if (encoded.startsWith(utf8bom))
+ encoded = encoded.mid(strlen(utf8bom));
+ QCOMPARE(encoded, utf8);
+ }
+ {
+ // from utf8 to utf16 char by char:
+ QSharedPointer<QTextDecoder> decoder = QSharedPointer<QTextDecoder>(codec->makeDecoder());
+ QString decoded;
+
+ for (int i = 0; i < utf8.length(); ++i) {
+ decoded += decoder->toUnicode(utf8.constData() + i, 1);
+ QVERIFY(!decoder->hasFailure());
+ }
+
+ QCOMPARE(decoded, utf16);
+ }
+}
+
+void tst_Utf8::invalidUtf8_data()
+{
+ QTest::addColumn<QByteArray>("utf8");
+
+ QTest::newRow("1char") << QByteArray("\x80");
+ QTest::newRow("2chars") << QByteArray("\xC2\xC0");
+ QTest::newRow("3chars-1") << QByteArray("\xE0\xA0\xC0");
+ QTest::newRow("3chars-2") << QByteArray("\xE0\xC0\xA0");
+ QTest::newRow("4chars-1") << QByteArray("\xF0\x90\x80\xC0");
+ QTest::newRow("4chars-2") << QByteArray("\xF0\x90\xC0\x80");
+ QTest::newRow("4chars-3") << QByteArray("\xF0\xC0\x80\x80");
+
+ // U+FFFE and U+FFFF are non-characters and must not be present
+ // U+FFFE: 1111 11 1111 11 1110
+ // encoding: xxxz:1111 xz11:1111 xz11:1110
+ QTest::newRow("fffe") << QByteArray("\xEF\xBF\xBE");
+ // U+FFFF: 1111 11 1111 11 1111
+ // encoding: xxxz:1111 xz11:1111 xz11:1111
+ QTest::newRow("ffff") << QByteArray("\xEF\xBF\xBF");
+
+ // Surrogate pairs must now be present either
+ // U+D800: 1101 10 0000 00 0000
+ // encoding: xxxz:1101 xz10:0000 xz00:0000
+ QTest::newRow("hi-surrogate") << QByteArray("\xED\xA0\x80");
+ // U+DC00: 1101 11 0000 00 0000
+ // encoding: xxxz:1101 xz11:0000 xz00:0000
+ QTest::newRow("lo-surrogate") << QByteArray("\xED\xB0\x80");
+
+ // not even in pair:
+ QTest::newRow("surrogate-pair") << QByteArray("\xED\xA0\x80\xED\xB0\x80");
+
+ // Characters outside the Unicode range:
+ // 0x110000: 00 0100 01 0000 00 0000 00 0000
+ // encoding: xxxx:z100 xz01:0000 xz00:0000 xz00:0000
+ QTest::newRow("non-unicode-1") << QByteArray("\xF4\x90\x80\x80");
+ // 0x200000: 00 1000 00 0000 00 0000 00 0000
+ // encoding: xxxx:xz00 xz00:1000 xz00:0000 xz00:0000 xz00:0000
+ QTest::newRow("non-unicode-2") << QByteArray("\xF8\x88\x80\x80\x80");
+ // 0x04000000: 0100 00 0000 00 0000 00 0000 00 0000
+ // encoding: xxxx:xxz0 xz00:0100 xz00:0000 xz00:0000 xz00:0001 xz00:0001
+ QTest::newRow("non-unicode-3") << QByteArray("\xFC\x84\x80\x80\x80\x80");
+ // 0x7fffffff: 1 11 1111 11 1111 11 1111 11 1111 11 1111
+ // encoding: xxxx:xxz0 xz00:0100 xz00:0000 xz00:0000 xz00:0001 xz00:0001
+ QTest::newRow("non-unicode-3") << QByteArray("\xFD\xBF\xBF\xBF\xBF\xBF");
+
+ // As seen above, 0xFE and 0xFF never appear:
+ QTest::newRow("fe") << QByteArray("\xFE");
+ QTest::newRow("fe-bis") << QByteArray("\xFE\xBF\xBF\xBF\xBF\xBF\xBF");
+ QTest::newRow("ff") << QByteArray("\xFF");
+ QTest::newRow("ff-bis") << QByteArray("\xFF\xBF\xBF\xBF\xBF\xBF\xBF\xBF");
+
+ // some combinations in UTF-8 are invalid even though they have the proper bits set
+ // these are known as overlong sequences
+
+ // "A": U+0041: 01 00 0001
+ // overlong 2: xxz0:0001 xz00:0001
+ QTest::newRow("overlong-1-2") << QByteArray("\xC1\x81");
+ // overlong 3: xxxz:0000 xz00:0001 xz00:0001
+ QTest::newRow("overlong-1-3") << QByteArray("\xE0\x81\x81");
+ // overlong 4: xxxx:z000 xz00:0000 xz00:0001 xz00:0001
+ QTest::newRow("overlong-1-4") << QByteArray("\xF0\x80\x81\x81");
+ // overlong 5: xxxx:xz00 xz00:0000 xz00:0000 xz00:0001 xz00:0001
+ QTest::newRow("overlong-1-5") << QByteArray("\xF8\x80\x80\x81\x81");
+ // overlong 6: xxxx:xxz0 xz00:0000 xz00:0000 xz00:0000 xz00:0001 xz00:0001
+ QTest::newRow("overlong-1-6") << QByteArray("\xFC\x80\x80\x80\x81\x81");
+
+ // NBSP: U+00A0: 10 00 0000
+ // proper encoding: xxz0:0010 xz00:0000
+ // overlong 3: xxxz:0000 xz00:0010 xz00:0000
+ QTest::newRow("overlong-2-3") << QByteArray("\xC0\x82\x80");
+ // overlong 4: xxxx:z000 xz00:0000 xz00:0010 xz00:0000
+ QTest::newRow("overlong-2-4") << QByteArray("\xF0\x80\x82\x80");
+ // overlong 5: xxxx:xz00 xz00:0000 xz00:0000 xz00:0010 xz00:0000
+ QTest::newRow("overlong-2-4") << QByteArray("\xF8\x80\x80\x82\x80");
+ // overlong 6: xxxx:xxz0 xz00:0000 xz00:0000 xz00:0000 xz00:0010 xz00:0000
+ QTest::newRow("overlong-2-4") << QByteArray("\xFC\x80\x80\x80\x82\x80");
+
+ // U+0800: 10 0000 00 0000
+ // proper encoding: xxxz:0000 xz10:0000 xz00:0000
+ // overlong 4: xxxx:z000 xz00:0000 xz10:0000 xz00:0000
+ QTest::newRow("overlong-3-4") << QByteArray("\xF0\x80\xA0\x80");
+ // overlong 5: xxxx:xz00 xz00:0000 xz00:0000 xz10:0000 xz00:0000
+ QTest::newRow("overlong-3-5") << QByteArray("\xF8\x80\x80\xA0\x80");
+ // overlong 6: xxxx:xxz0 xz00:0000 xz00:0000 xz00:0000 xz10:0000 xz00:0000
+ QTest::newRow("overlong-3-6") << QByteArray("\xFC\x80\x80\x80\xA0\x80");
+
+ // U+010000: 00 0100 00 0000 00 0000
+ // proper encoding: xxxx:z000 xz00:0100 xz00:0000 xz00:0000
+ // overlong 5: xxxx:xz00 xz00:0000 xz00:0100 xz00:0000 xz00:0000
+ QTest::newRow("overlong-4-5") << QByteArray("\xF8\x80\x84\x80\x80");
+ // overlong 6: xxxx:xxz0 xz00:0000 xz00:0000 xz00:0100 xz00:0000 xz00:0000
+ QTest::newRow("overlong-4-6") << QByteArray("\xFC\x80\x80\x84\x80\x80");
+}
+
+void tst_Utf8::invalidUtf8()
+{
+ QFETCH(QByteArray, utf8);
+
+ QSharedPointer<QTextDecoder> decoder = QSharedPointer<QTextDecoder>(codec->makeDecoder());
+ QString decoded = decoder->toUnicode(utf8);
+ QVERIFY(decoder->hasFailure());
+}
+
+QTEST_MAIN(tst_Utf8)
+#include "tst_utf8.moc"
diff --git a/tests/auto/utf8/utf8.pro b/tests/auto/utf8/utf8.pro
new file mode 100644
index 0000000..4ec6851
--- /dev/null
+++ b/tests/auto/utf8/utf8.pro
@@ -0,0 +1,3 @@
+load(qttest_p4)
+QT -= gui
+SOURCES += tst_utf8.cpp
diff --git a/tests/auto/windowsmobile/test/ddhelper.cpp b/tests/auto/windowsmobile/test/ddhelper.cpp
new file mode 100644
index 0000000..5955cd3
--- /dev/null
+++ b/tests/auto/windowsmobile/test/ddhelper.cpp
@@ -0,0 +1,121 @@
+
+#ifdef Q_OS_WINCE_WM
+
+#include <Ddraw.h>
+#include <QDebug>
+
+static LPDIRECTDRAW g_pDD = NULL; // DirectDraw object
+static LPDIRECTDRAWSURFACE g_pDDSSurface = NULL; // DirectDraw primary surface
+
+static DDSCAPS ddsCaps;
+static DDSURFACEDESC ddsSurfaceDesc;
+static void *buffer = NULL;
+
+static int width = 0;
+static int height = 0;
+static int pitch = 0;
+static int bitCount = 0;
+static int windowId = 0;
+
+static bool initialized = false;
+static bool locked = false;
+
+void q_lock()
+{
+ if (locked) {
+ qWarning("Direct Painter already locked (QDirectPainter::lock())");
+ return;
+ }
+ locked = true;
+
+
+ memset(&ddsSurfaceDesc, 0, sizeof(ddsSurfaceDesc));
+ ddsSurfaceDesc.dwSize = sizeof(ddsSurfaceDesc);
+
+ HRESULT h = g_pDDSSurface->Lock(0, &ddsSurfaceDesc, DDLOCK_WRITEONLY, 0);
+ if (h != DD_OK)
+ qDebug() << "GetSurfaceDesc failed!";
+
+ width = ddsSurfaceDesc.dwWidth;
+ height = ddsSurfaceDesc.dwHeight;
+ bitCount = ddsSurfaceDesc.ddpfPixelFormat.dwRGBBitCount;
+ pitch = ddsSurfaceDesc.lPitch;
+ buffer = ddsSurfaceDesc.lpSurface;
+}
+
+void q_unlock()
+{
+ if( !locked) {
+ qWarning("Direct Painter not locked (QDirectPainter::unlock()");
+ return;
+ }
+ g_pDDSSurface->Unlock(0);
+ locked = false;
+}
+
+void q_initDD()
+{
+ if (initialized)
+ return;
+
+ DirectDrawCreate(NULL, &g_pDD, NULL);
+
+ HRESULT h;
+ h = g_pDD->SetCooperativeLevel(0, DDSCL_NORMAL);
+
+ if (h != DD_OK)
+ qDebug() << "cooperation level failed";
+
+ h = g_pDD->TestCooperativeLevel();
+ if (h != DD_OK)
+ qDebug() << "cooperation level failed test";
+
+ DDSURFACEDESC ddsd;
+ memset(&ddsd, 0, sizeof(ddsd));
+ ddsd.dwSize = sizeof(ddsd);
+
+ ddsd.dwFlags = DDSD_CAPS;
+
+ ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
+
+ h = g_pDD->CreateSurface(&ddsd, &g_pDDSSurface, NULL);
+
+ if (h != DD_OK)
+ qDebug() << "CreateSurface failed!";
+
+ if (g_pDDSSurface->GetCaps(&ddsCaps) != DD_OK)
+ qDebug() << "GetCaps failed";
+
+ q_lock();
+ q_unlock();
+ initialized = true;
+}
+
+uchar* q_frameBuffer()
+{
+ return (uchar*) buffer;
+}
+
+int q_screenDepth()
+{
+ return bitCount;
+}
+
+int q_screenWidth()
+{
+ return width;
+}
+
+int q_screenHeight()
+{
+ return height;
+}
+
+int q_linestep()
+{
+ return pitch;
+}
+
+#endif //Q_OS_WINCE_WM
+
+
diff --git a/tests/auto/windowsmobile/test/ddhelper.h b/tests/auto/windowsmobile/test/ddhelper.h
new file mode 100644
index 0000000..3dfa9e6
--- /dev/null
+++ b/tests/auto/windowsmobile/test/ddhelper.h
@@ -0,0 +1,21 @@
+#ifndef __DDHELPER__
+#define __DDHELPER__
+
+extern uchar* q_frameBuffer();
+
+extern int q_screenDepth();
+
+extern int q_screenWidth();
+
+extern int q_screenHeight();
+
+extern int q_linestep();
+
+extern void q_initDD();
+
+extern void q_unlock();
+
+extern void q_lock();
+
+#endif //__DDHELPER__
+
diff --git a/tests/auto/windowsmobile/test/test.pro b/tests/auto/windowsmobile/test/test.pro
new file mode 100644
index 0000000..2420bf1
--- /dev/null
+++ b/tests/auto/windowsmobile/test/test.pro
@@ -0,0 +1,24 @@
+
+load(qttest_p4)
+
+HEADERS += ddhelper.h
+SOURCES += tst_windowsmobile.cpp ddhelper.cpp
+RESOURCES += windowsmobile.qrc
+
+TARGET = tst_windowsmobile
+
+wincewm*: {
+ addFiles.sources = \
+ ../testQMenuBar/*.exe
+
+
+ addFiles.path = "\Program Files\tst_windowsmobile"
+ DEPLOYMENT += addFiles
+}
+
+wincewm*: {
+ LIBS += Ddraw.lib
+}
+
+
+
diff --git a/tests/auto/windowsmobile/test/testQMenuBar_current.png b/tests/auto/windowsmobile/test/testQMenuBar_current.png
new file mode 100644
index 0000000..d03e69a
--- /dev/null
+++ b/tests/auto/windowsmobile/test/testQMenuBar_current.png
Binary files differ
diff --git a/tests/auto/windowsmobile/test/testSimpleWidget_current.png b/tests/auto/windowsmobile/test/testSimpleWidget_current.png
new file mode 100644
index 0000000..5cbc2bb
--- /dev/null
+++ b/tests/auto/windowsmobile/test/testSimpleWidget_current.png
Binary files differ
diff --git a/tests/auto/windowsmobile/test/tst_windowsmobile.cpp b/tests/auto/windowsmobile/test/tst_windowsmobile.cpp
new file mode 100644
index 0000000..391e206
--- /dev/null
+++ b/tests/auto/windowsmobile/test/tst_windowsmobile.cpp
@@ -0,0 +1,191 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (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 either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+#include <QtCore/QDate>
+#include <QtCore/QDebug>
+#include <QtCore/QObject>
+#include <QtGui>
+#include <windows.h>
+#include <ddhelper.h>
+
+
+
+class tst_WindowsMobile : public QObject
+{
+ Q_OBJECT
+public:
+ tst_WindowsMobile()
+ {
+#ifdef Q_OS_WINCE_WM
+ q_initDD();
+#endif
+ }
+
+#ifdef Q_OS_WINCE_WM
+ private slots:
+ void testMainWindowAndMenuBar();
+ void testSimpleWidget();
+#endif
+};
+
+#ifdef Q_OS_WINCE_WM
+
+bool qt_wince_is_platform(const QString &platformString) {
+ TCHAR tszPlatform[64];
+ if (SystemParametersInfo(SPI_GETPLATFORMTYPE,
+ sizeof(tszPlatform)/sizeof(*tszPlatform),tszPlatform,0))
+ if (0 == _tcsicmp(reinterpret_cast<const wchar_t *> (platformString.utf16()), tszPlatform))
+ return true;
+ return false;
+}
+
+bool qt_wince_is_smartphone() {
+ return qt_wince_is_platform(QString::fromLatin1("Smartphone"));
+}
+
+void openMenu()
+{
+ ::mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE,450,630,0,0);
+ ::mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE,450,630,0,0);
+ QTest::qWait(2000);
+ ::mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE,65535,65535,0,0);
+ ::mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE,65535,65535,0,0);
+ QTest::qWait(2000);
+ ::mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE,55535,55535,0,0);
+ ::mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE,55535,55535,0,0);
+ QTest::qWait(2000);
+ ::mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE,55535,58535,0,0);
+ ::mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE,55535,58535,0,0);
+ QTest::qWait(2000);
+ ::mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE,40535,55535,0,0);
+ ::mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE,40535,55535,0,0);
+ QTest::qWait(2000);
+ ::mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE,32535,55535,0,0);
+ ::mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE,32535,55535,0,0);
+ QTest::qWait(2000);
+ ::mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE,65535,65535,0,0);
+ ::mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE,65535,65535,0,0);
+ QTest::qWait(2000);
+ ::mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE,55535,50535,0,0);
+ ::mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE,55535,50535,0,0);
+ QTest::qWait(2000);
+ ::mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE,55535,40535,0,0);
+ ::mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE,55535,40535,0,0);
+ QTest::qWait(2000);
+ ::mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_ABSOLUTE,48535,45535,0,0);
+ QTest::qWait(2000);
+ ::mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_ABSOLUTE,48535,45535,0,0);
+}
+
+void compareScreenshots(const QString &image1, const QString &image2)
+{
+ if (qt_wince_is_smartphone())
+ QSKIP("This test is only for Windows Mobile", SkipAll);
+ QImage screenShot(image1);
+ QImage original(image2);
+
+ //ignore the clock
+ QPainter p1(&screenShot);
+ QPainter p2(&original);
+ p1.fillRect(310, 6, 400, 34, Qt::black);
+ p2.fillRect(310, 6, 400, 34, Qt::black);
+
+ QVERIFY(original == screenShot);
+}
+
+void takeScreenShot(const QString filename)
+{
+ q_lock();
+ QImage image = QImage(( uchar *) q_frameBuffer(), q_screenWidth(),
+ q_screenHeight(), q_screenWidth() * q_screenDepth() / 8, QImage::Format_RGB16);
+ image.save(filename, "PNG");
+ q_unlock();
+}
+
+void tst_WindowsMobile::testMainWindowAndMenuBar()
+{
+ QProcess process;
+ process.start("testQMenuBar.exe");
+ QCOMPARE(process.state(), QProcess::Running);
+ QTest::qWait(6000);
+ openMenu();
+ QTest::qWait(1000);
+ takeScreenShot("testQMenuBar_current.png");
+ process.close();
+ compareScreenshots("testQMenuBar_current.png", ":/testQMenuBar_current.png");
+}
+
+void tst_WindowsMobile::testSimpleWidget()
+{
+ QMenuBar menubar;
+ menubar.show();
+ QWidget maximized;
+ QPalette pal = maximized.palette();
+ pal.setColor(QPalette::Background, Qt::red);
+ maximized.setPalette(pal);
+ maximized.showMaximized();
+ QWidget widget;
+ widget.setGeometry(100, 100, 200, 200);
+ widget.setWindowTitle("Widget");
+ widget.show();
+ qApp->processEvents();
+ QTest::qWait(1000);
+
+ QWidget widget2;
+ widget2.setGeometry(100, 380, 300, 200);
+ widget2.setWindowTitle("Widget 2");
+ widget2.setWindowFlags(Qt::Popup);
+ widget2.show();
+
+ qApp->processEvents();
+ QTest::qWait(1000);
+ takeScreenShot("testSimpleWidget_current.png");
+ compareScreenshots("testSimpleWidget_current.png", ":/testSimpleWidget_current.png");
+}
+
+
+#endif //Q_OS_WINCE_WM
+
+
+QTEST_MAIN(tst_WindowsMobile)
+#include "tst_windowsmobile.moc"
+
diff --git a/tests/auto/windowsmobile/test/windowsmobile.qrc b/tests/auto/windowsmobile/test/windowsmobile.qrc
new file mode 100644
index 0000000..5d6f614
--- /dev/null
+++ b/tests/auto/windowsmobile/test/windowsmobile.qrc
@@ -0,0 +1,6 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file>testQMenuBar_current.png</file>
+ <file>testSimpleWidget_current.png</file>
+</qresource>
+</RCC>
diff --git a/tests/auto/windowsmobile/testQMenuBar/main.cpp b/tests/auto/windowsmobile/testQMenuBar/main.cpp
new file mode 100644
index 0000000..4a3b3b2
--- /dev/null
+++ b/tests/auto/windowsmobile/testQMenuBar/main.cpp
@@ -0,0 +1,72 @@
+#include <QtTest/QtTest>
+#include <QtCore/QDate>
+#include <QtCore/QDebug>
+#include <QtCore/QObject>
+#include <QtGui>
+#include <windows.h>
+
+int main(int argc, char * argv[])
+{
+ int widgetNum = 20;
+
+ QList<QWidget*> widgets;
+ QApplication app(argc, argv);
+
+ QMainWindow mainWindow;
+ mainWindow.setWindowTitle("Test");
+ QMenu *fileMenu = mainWindow.menuBar()->addMenu("File");
+ QMenu *editMenu = mainWindow.menuBar()->addMenu("Edit");
+ QMenu *viewMenu = mainWindow.menuBar()->addMenu("View");
+ QMenu *toolsMenu = mainWindow.menuBar()->addMenu("Tools");
+ QMenu *optionsMenu = mainWindow.menuBar()->addMenu("Options");
+ QMenu *helpMenu = mainWindow.menuBar()->addMenu("Help");
+
+ qApp->processEvents();
+
+ fileMenu->addAction("Open");
+ QAction *close = fileMenu->addAction("Close");
+ fileMenu->addSeparator();
+ fileMenu->addAction("Exit");
+
+ close->setEnabled(false);
+
+ editMenu->addAction("Cut");
+ editMenu->addAction("Pase");
+ editMenu->addAction("Copy");
+ editMenu->addSeparator();
+ editMenu->addAction("Find");
+
+ viewMenu->addAction("Hide");
+ viewMenu->addAction("Show");
+ viewMenu->addAction("Explore");
+ QAction *visible = viewMenu->addAction("Visible");
+ visible->setCheckable(true);
+ visible->setChecked(true);
+
+ toolsMenu->addMenu("Hammer");
+ toolsMenu->addMenu("Caliper");
+ toolsMenu->addMenu("Helm");
+
+ optionsMenu->addMenu("Settings");
+ optionsMenu->addMenu("Standard");
+ optionsMenu->addMenu("Extended");
+
+ QMenu *subMenu = helpMenu->addMenu("Help");
+ subMenu->addAction("Index");
+ subMenu->addSeparator();
+ subMenu->addAction("Vodoo Help");
+ helpMenu->addAction("Contens");
+ helpMenu->addSeparator();
+ helpMenu->addAction("About");
+
+ QToolBar toolbar;
+ mainWindow.addToolBar(&toolbar);
+ toolbar.addAction(QIcon(qApp->style()->standardPixmap(QStyle::SP_FileIcon)), QString("textAction"));
+
+ QTextEdit textEdit;
+ mainWindow.setCentralWidget(&textEdit);
+
+ mainWindow.showMaximized();
+
+ app.exec();
+}
diff --git a/tests/auto/windowsmobile/testQMenuBar/testQMenuBar.pro b/tests/auto/windowsmobile/testQMenuBar/testQMenuBar.pro
new file mode 100644
index 0000000..6dd288b
--- /dev/null
+++ b/tests/auto/windowsmobile/testQMenuBar/testQMenuBar.pro
@@ -0,0 +1,2 @@
+SOURCES += main.cpp
+DESTDIR = ./
diff --git a/tests/auto/windowsmobile/windowsmobile.pro b/tests/auto/windowsmobile/windowsmobile.pro
new file mode 100644
index 0000000..2e6b444
--- /dev/null
+++ b/tests/auto/windowsmobile/windowsmobile.pro
@@ -0,0 +1,9 @@
+
+TEMPLATE = subdirs
+
+wincewm* {
+ SUBDIRS = testQMenuBar
+}
+ SUBDIRS += test
+
+
diff --git a/tools/activeqt/activeqt.pro b/tools/activeqt/activeqt.pro
index a0e7de3..c50010c 100644
--- a/tools/activeqt/activeqt.pro
+++ b/tools/activeqt/activeqt.pro
@@ -2,10 +2,7 @@ TEMPLATE = subdirs
CONFIG += ordered
-contains(QT_EDITION, OpenSource|Console) {
- message("You are not licensed to use ActiveQt.")
-} else {
- SUBDIRS = dumpdoc \
- dumpcpp \
- testcon
-}
+SUBDIRS = dumpdoc \
+ dumpcpp \
+ testcon
+
diff --git a/tools/assistant/compat/mainwindow.cpp b/tools/assistant/compat/mainwindow.cpp
index 65759ad..9f91f9b 100644
--- a/tools/assistant/compat/mainwindow.cpp
+++ b/tools/assistant/compat/mainwindow.cpp
@@ -311,29 +311,11 @@ void MainWindow::closeEvent(QCloseEvent *e)
void MainWindow::about()
{
QMessageBox box(this);
-#if QT_EDITION == QT_EDITION_OPENSOURCE
- QString edition = tr("Open Source Edition");
- QString info = tr("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.");
- QString moreInfo = tr("You need a commercial Qt license for development of proprietary (closed "
- "source) applications. Please see <a href=\"http://qtsoftware.com/company/model"
- "\">qtsoftware.com/company/model</a> for an overview of Qt licensing.");
-#elif defined(QT_PRODUCT_LICENSE)
- QString edition;
- QString info;
- QString moreInfo(tr("This program is licensed to you under the terms of the "
- "Qt %1 License Agreement. For details, see the license file "
- "that came with this software distribution.").arg(QLatin1String(QT_PRODUCT_LICENSE)));
-#else
+
+ // TODO: Remove these variables for 4.6.0. Must keep this way for 4.5.x due to string freeze.
QString edition;
QString info;
- QString moreInfo(tr("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."));
-
-#endif
+ QString moreInfo;
box.setText(QString::fromLatin1("<center><img src=\":/trolltech/assistant/images/assistant-128.png\">"
"<h3>%1</h3>"
diff --git a/tools/assistant/tools/assistant/assistant.qch b/tools/assistant/tools/assistant/assistant.qch
index 550cd89..99687ed 100644
--- a/tools/assistant/tools/assistant/assistant.qch
+++ b/tools/assistant/tools/assistant/assistant.qch
Binary files differ
diff --git a/tools/assistant/tools/assistant/centralwidget.cpp b/tools/assistant/tools/assistant/centralwidget.cpp
index 1b0e671..b78f346 100644
--- a/tools/assistant/tools/assistant/centralwidget.cpp
+++ b/tools/assistant/tools/assistant/centralwidget.cpp
@@ -72,7 +72,8 @@
QT_BEGIN_NAMESPACE
namespace {
- HelpViewer* helpViewerFromTabPosition(const QTabWidget *widget, const QPoint &point)
+ HelpViewer* helpViewerFromTabPosition(const QTabWidget *widget,
+ const QPoint &point)
{
QTabBar *tabBar = qFindChild<QTabBar*>(widget);
for (int i = 0; i < tabBar->count(); ++i) {
@@ -87,38 +88,32 @@ namespace {
FindWidget::FindWidget(QWidget *parent)
: QWidget(parent)
{
- QString system = QLatin1String("win");
QHBoxLayout *hboxLayout = new QHBoxLayout(this);
-#ifdef Q_OS_MAC
- system = QLatin1String("mac");
-#else
- hboxLayout->setSpacing(6);
+ QString resourcePath = QLatin1String(":/trolltech/assistant/images/");
+
+#ifndef Q_OS_MAC
hboxLayout->setMargin(0);
+ hboxLayout->setSpacing(6);
+ resourcePath.append(QLatin1String("win"));
+#else
+ resourcePath.append(QLatin1String("mac"));
#endif
- toolClose = new QToolButton(this);
- toolClose->setIcon(QIcon(QString::fromUtf8(":/trolltech/assistant/images/%1/closetab.png").arg(system)));
- toolClose->setAutoRaise(true);
+ toolClose = setupToolButton(QLatin1String(""),
+ resourcePath + QLatin1String("/closetab.png"));
hboxLayout->addWidget(toolClose);
editFind = new QLineEdit(this);
- editFind->setMinimumSize(QSize(150, 0));
- connect(editFind, SIGNAL(textChanged(const QString&)),
- this, SLOT(updateButtons()));
hboxLayout->addWidget(editFind);
+ editFind->setMinimumSize(QSize(150, 0));
+ connect(editFind, SIGNAL(textChanged(QString)), this, SLOT(updateButtons()));
- toolPrevious = new QToolButton(this);
- toolPrevious->setAutoRaise(true);
- toolPrevious->setText(tr("Previous"));
- toolPrevious->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
- toolPrevious->setIcon(QIcon(QString::fromUtf8(":/trolltech/assistant/images/%1/previous.png").arg(system)));
+ toolPrevious = setupToolButton(tr("Previous"),
+ resourcePath + QLatin1String("/previous.png"));
hboxLayout->addWidget(toolPrevious);
- toolNext = new QToolButton(this);
- toolNext->setAutoRaise(true);
- toolNext->setText(tr("Next"));
- toolNext->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
- toolNext->setIcon(QIcon(QString::fromUtf8(":/trolltech/assistant/images/%1/next.png").arg(system)));
+ toolNext = setupToolButton(tr("Next"),
+ resourcePath + QLatin1String("/next.png"));
hboxLayout->addWidget(toolNext);
checkCase = new QCheckBox(tr("Case Sensitive"), this);
@@ -131,15 +126,17 @@ FindWidget::FindWidget(QWidget *parent)
#endif
labelWrapped = new QLabel(this);
+ labelWrapped->setScaledContents(true);
+ labelWrapped->setTextFormat(Qt::RichText);
labelWrapped->setMinimumSize(QSize(0, 20));
labelWrapped->setMaximumSize(QSize(105, 20));
- labelWrapped->setTextFormat(Qt::RichText);
- labelWrapped->setScaledContents(true);
- labelWrapped->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
- labelWrapped->setText(tr("<img src=\":/trolltech/assistant/images/wrap.png\">&nbsp;Search wrapped"));
+ labelWrapped->setAlignment(Qt::AlignLeading | Qt::AlignLeft | Qt::AlignVCenter);
+ labelWrapped->setText(tr("<img src=\":/trolltech/assistant/images/wrap.png\""
+ ">&nbsp;Search wrapped"));
hboxLayout->addWidget(labelWrapped);
- QSpacerItem *spacerItem = new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
+ QSpacerItem *spacerItem = new QSpacerItem(20, 20, QSizePolicy::Expanding,
+ QSizePolicy::Minimum);
hboxLayout->addItem(spacerItem);
setMinimumWidth(minimumSizeHint().width());
labelWrapped->hide();
@@ -162,38 +159,54 @@ void FindWidget::updateButtons()
}
}
+QToolButton* FindWidget::setupToolButton(const QString &text, const QString &icon)
+{
+ QToolButton *toolButton = new QToolButton(this);
+
+ toolButton->setText(text);
+ toolButton->setAutoRaise(true);
+ toolButton->setIcon(QIcon(icon));
+ toolButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
+
+ return toolButton;
+}
+
+
+// --
+
CentralWidget::CentralWidget(QHelpEngine *engine, MainWindow *parent)
: QWidget(parent)
+ , lastTabPage(0)
+ , collectionFile(engine->collectionFile())
, findBar(0)
, tabWidget(0)
+ , findWidget(0)
, helpEngine(engine)
, printer(0)
+ , usesDefaultCollection(parent->usesDefaultCollection())
, m_searchWidget(0)
{
- staticCentralWidget = this;
-
- lastTabPage = 0;
globalActionList.clear();
- collectionFile = helpEngine->collectionFile();
- usesDefaultCollection = parent->usesDefaultCollection();
-
- QString system = QLatin1String("win");
+ staticCentralWidget = this;
QVBoxLayout *vboxLayout = new QVBoxLayout(this);
+ QString resourcePath = QLatin1String(":/trolltech/assistant/images/");
-#ifdef Q_OS_MAC
- system = QLatin1String("mac");
-#else
+#ifndef Q_OS_MAC
vboxLayout->setMargin(0);
+ resourcePath.append(QLatin1String("win"));
+#else
+ resourcePath.append(QLatin1String("mac"));
#endif
tabWidget = new QTabWidget(this);
- connect(tabWidget, SIGNAL(currentChanged(int)), this, SLOT(currentPageChanged(int)));
+ connect(tabWidget, SIGNAL(currentChanged(int)), this,
+ SLOT(currentPageChanged(int)));
QToolButton *newTabButton = new QToolButton(this);
newTabButton->setAutoRaise(true);
newTabButton->setToolTip(tr("Add new page"));
- newTabButton->setIcon(QIcon(QString::fromUtf8(":/trolltech/assistant/images/%1/addtab.png").arg(system)));
+ newTabButton->setIcon(QIcon(resourcePath + QLatin1String("/addtab.png")));
tabWidget->setCornerWidget(newTabButton, Qt::TopLeftCorner);
connect(newTabButton, SIGNAL(clicked()), this, SLOT(newTab()));
@@ -202,7 +215,7 @@ CentralWidget::CentralWidget(QHelpEngine *engine, MainWindow *parent)
closeTabButton->setEnabled(false);
closeTabButton->setAutoRaise(true);
closeTabButton->setToolTip(tr("Close current page"));
- closeTabButton->setIcon(QIcon(QString::fromUtf8(":/trolltech/assistant/images/%1/closetab.png").arg(system)));
+ closeTabButton->setIcon(QIcon(resourcePath + QLatin1String("/closetab.png")));
tabWidget->setCornerWidget(closeTabButton, Qt::TopRightCorner);
connect(closeTabButton, SIGNAL(clicked()), this, SLOT(closeTab()));
@@ -216,19 +229,20 @@ CentralWidget::CentralWidget(QHelpEngine *engine, MainWindow *parent)
vboxLayout->addWidget(findBar);
findBar->hide();
findWidget->editFind->installEventFilter(this);
- connect(findWidget->toolClose, SIGNAL(clicked()), findBar, SLOT(hide()));
+ connect(findWidget->toolClose, SIGNAL(clicked()), findBar, SLOT(hide()));
connect(findWidget->toolNext, SIGNAL(clicked()), this, SLOT(findNext()));
connect(findWidget->editFind, SIGNAL(returnPressed()), this, SLOT(findNext()));
- connect(findWidget->editFind, SIGNAL(textChanged(const QString&)), this, SLOT(findCurrentText(const QString&)));
+ connect(findWidget->editFind, SIGNAL(textChanged(QString)), this,
+ SLOT(findCurrentText(QString)));
connect(findWidget->toolPrevious, SIGNAL(clicked()), this, SLOT(findPrevious()));
QTabBar *tabBar = qFindChild<QTabBar*>(tabWidget);
if (tabBar) {
tabBar->installEventFilter(this);
tabBar->setContextMenuPolicy(Qt::CustomContextMenu);
- connect(tabBar, SIGNAL(customContextMenuRequested(const QPoint&)),
- this, SLOT(showTabBarContextMenu(const QPoint&)));
+ connect(tabBar, SIGNAL(customContextMenuRequested(QPoint)), this,
+ SLOT(showTabBarContextMenu(QPoint)));
}
QPalette p = qApp->palette();
@@ -247,21 +261,21 @@ CentralWidget::~CentralWidget()
QString zoomCount;
QString currentPages;
- QLatin1Char sep('|');
- for (int i = 1; i < tabWidget->count(); ++i) {
+ QLatin1Char separator('|');
+ bool searchAttached = m_searchWidget->isAttached();
+
+ int i = searchAttached ? 1 : 0;
+ for (; i < tabWidget->count(); ++i) {
HelpViewer *viewer = qobject_cast<HelpViewer*>(tabWidget->widget(i));
if (viewer && viewer->source().isValid()) {
- currentPages.append(viewer->source().toString()).append(sep);
-#if !defined(QT_NO_WEBKIT)
- zoomCount.append(QString::number(viewer->textSizeMultiplier())).
- append(sep);
-#else
- zoomCount.append(QString::number(viewer->zoom())).append(sep);
-#endif
+ currentPages += viewer->source().toString() + separator;
+ zoomCount += QString::number(viewer->zoom()) + separator;
}
}
+
engine.setCustomValue(QLatin1String("LastTabPage"), lastTabPage);
engine.setCustomValue(QLatin1String("LastShownPages"), currentPages);
+ engine.setCustomValue(QLatin1String("SearchWasAttached"), searchAttached);
#if !defined(QT_NO_WEBKIT)
engine.setCustomValue(QLatin1String("LastPagesZoomWebView"), zoomCount);
#else
@@ -276,14 +290,18 @@ CentralWidget *CentralWidget::instance()
void CentralWidget::newTab()
{
- HelpViewer* viewer = currentHelpViewer();
+ HelpViewer *viewer = currentHelpViewer();
+#if !defined(QT_NO_WEBKIT)
+ if (viewer && viewer->hasLoadFinished())
+#else
if (viewer)
+#endif
setSourceInNewTab(viewer->source());
}
void CentralWidget::zoomIn()
{
- HelpViewer* viewer = currentHelpViewer();
+ HelpViewer *viewer = currentHelpViewer();
if (viewer)
viewer->zoomIn();
@@ -293,7 +311,7 @@ void CentralWidget::zoomIn()
void CentralWidget::zoomOut()
{
- HelpViewer* viewer = currentHelpViewer();
+ HelpViewer *viewer = currentHelpViewer();
if (viewer)
viewer->zoomOut();
@@ -316,7 +334,7 @@ void CentralWidget::nextPage()
void CentralWidget::resetZoom()
{
- HelpViewer* viewer = currentHelpViewer();
+ HelpViewer *viewer = currentHelpViewer();
if (viewer)
viewer->resetZoom();
@@ -340,7 +358,7 @@ void CentralWidget::findPrevious()
void CentralWidget::closeTab()
{
- HelpViewer* viewer = currentHelpViewer();
+ HelpViewer *viewer = currentHelpViewer();
if (!viewer|| tabWidget->count() == 1)
return;
@@ -350,8 +368,8 @@ void CentralWidget::closeTab()
void CentralWidget::setSource(const QUrl &url)
{
- HelpViewer* viewer = currentHelpViewer();
- HelpViewer* lastViewer = qobject_cast<HelpViewer*>(tabWidget->widget(lastTabPage));
+ HelpViewer *viewer = currentHelpViewer();
+ HelpViewer *lastViewer = qobject_cast<HelpViewer*>(tabWidget->widget(lastTabPage));
if (!viewer && !lastViewer) {
viewer = new HelpViewer(helpEngine, this);
@@ -359,8 +377,9 @@ void CentralWidget::setSource(const QUrl &url)
lastTabPage = tabWidget->addTab(viewer, QString());
tabWidget->setCurrentIndex(lastTabPage);
connectSignals();
- } else
+ } else {
viewer = lastViewer;
+ }
viewer->setSource(url);
currentPageChanged(lastTabPage);
@@ -371,48 +390,59 @@ void CentralWidget::setSource(const QUrl &url)
void CentralWidget::setLastShownPages()
{
+ const QLatin1String key("LastShownPages");
+ QString value = helpEngine->customValue(key, QString()).toString();
+ const QStringList lastShownPageList = value.split(QLatin1Char('|'),
+ QString::SkipEmptyParts);
+
+ const int pageCount = lastShownPageList.count();
+ if (pageCount == 0 && usesDefaultCollection) {
+ setSource(QUrl(QLatin1String("help")));
+ return;
+ }
+
#if !defined(QT_NO_WEBKIT)
- QLatin1String zoom("LastPagesZoomWebView");
+ const QLatin1String zoom("LastPagesZoomWebView");
#else
- QLatin1String zoom("LastPagesZoomTextBrowser");
+ const QLatin1String zoom("LastPagesZoomTextBrowser");
#endif
- const QStringList lastShownPageList =
- helpEngine->customValue(QLatin1String("LastShownPages")).toString().
- split(QLatin1Char('|'), QString::SkipEmptyParts);
-
- if (!lastShownPageList.isEmpty()) {
- QVector<QString>zoomList = helpEngine->customValue(zoom).toString().
- split(QLatin1Char('|'), QString::SkipEmptyParts).toVector();
- if (zoomList.isEmpty())
- zoomList.fill(QLatin1String("0.0"), lastShownPageList.size());
- else if(zoomList.count() < lastShownPageList.count()) {
- zoomList.insert(zoomList.count(),
- lastShownPageList.count() - zoomList.count(), QLatin1String("0.0"));
- }
+ value = helpEngine->customValue(zoom, QString()).toString();
+ QVector<QString> zoomVector = value.split(QLatin1Char('|'),
+ QString::SkipEmptyParts).toVector();
- QVector<QString>::const_iterator zIt = zoomList.constBegin();
- QStringList::const_iterator it = lastShownPageList.constBegin();
- for (; it != lastShownPageList.constEnd(); ++it, ++zIt)
- setSourceInNewTab((*it), (*zIt).toFloat());
+ const int zoomCount = zoomVector.count();
+ zoomVector.insert(zoomCount, pageCount - zoomCount, QLatin1String("0.0"));
- tabWidget->setCurrentIndex(helpEngine->customValue(
- QLatin1String("LastTabPage"), 1).toInt());
- } else {
- if (usesDefaultCollection)
- setSource(QUrl(QLatin1String("help")));
- }
+ QVector<QString>::const_iterator zIt = zoomVector.constBegin();
+ QStringList::const_iterator it = lastShownPageList.constBegin();
+ for (; it != lastShownPageList.constEnd(); ++it, ++zIt)
+ setSourceInNewTab((*it), (*zIt).toFloat());
+
+ const QLatin1String lastTab("LastTabPage");
+ int tab = helpEngine->customValue(lastTab, 1).toInt();
+
+ const QLatin1String searchKey("SearchWasAttached");
+ const bool searchIsAttached = m_searchWidget->isAttached();
+ const bool searchWasAttached = helpEngine->customValue(searchKey).toBool();
+
+ if (searchWasAttached && !searchIsAttached)
+ tabWidget->setCurrentIndex(--tab);
+ else if (!searchWasAttached && searchIsAttached)
+ tabWidget->setCurrentIndex(++tab);
+ else
+ tabWidget->setCurrentIndex(tab);
}
bool CentralWidget::hasSelection() const
{
- const HelpViewer* viewer = currentHelpViewer();
+ const HelpViewer *viewer = currentHelpViewer();
return viewer ? viewer->hasSelection() : false;
}
QUrl CentralWidget::currentSource() const
{
- const HelpViewer* viewer = currentHelpViewer();
+ const HelpViewer *viewer = currentHelpViewer();
if (viewer)
return viewer->source();
@@ -421,7 +451,7 @@ QUrl CentralWidget::currentSource() const
QString CentralWidget::currentTitle() const
{
- const HelpViewer* viewer = currentHelpViewer();
+ const HelpViewer *viewer = currentHelpViewer();
if (viewer)
return viewer->documentTitle();
@@ -430,7 +460,7 @@ QString CentralWidget::currentTitle() const
void CentralWidget::copySelection()
{
- HelpViewer* viewer = currentHelpViewer();
+ HelpViewer *viewer = currentHelpViewer();
if (viewer)
viewer->copy();
}
@@ -453,7 +483,7 @@ void CentralWidget::initPrinter()
void CentralWidget::print()
{
#ifndef QT_NO_PRINTER
- HelpViewer* viewer = currentHelpViewer();
+ HelpViewer *viewer = currentHelpViewer();
if (!viewer)
return;
@@ -479,7 +509,8 @@ void CentralWidget::printPreview()
#ifndef QT_NO_PRINTER
initPrinter();
QPrintPreviewDialog preview(printer, this);
- connect(&preview, SIGNAL(paintRequested(QPrinter *)), SLOT(printPreview(QPrinter *)));
+ connect(&preview, SIGNAL(paintRequested(QPrinter*)),
+ SLOT(printPreview(QPrinter*)));
preview.exec();
#endif
}
@@ -509,14 +540,14 @@ bool CentralWidget::isHomeAvailable() const
void CentralWidget::home()
{
- HelpViewer* viewer = currentHelpViewer();
+ HelpViewer *viewer = currentHelpViewer();
if (viewer)
viewer->home();
}
bool CentralWidget::isForwardAvailable() const
{
- const HelpViewer* viewer = currentHelpViewer();
+ const HelpViewer *viewer = currentHelpViewer();
if (viewer)
return viewer->isForwardAvailable();
@@ -525,14 +556,14 @@ bool CentralWidget::isForwardAvailable() const
void CentralWidget::forward()
{
- HelpViewer* viewer = currentHelpViewer();
+ HelpViewer *viewer = currentHelpViewer();
if (viewer)
viewer->forward();
}
bool CentralWidget::isBackwardAvailable() const
{
- const HelpViewer* viewer = currentHelpViewer();
+ const HelpViewer *viewer = currentHelpViewer();
if (viewer)
return viewer->isBackwardAvailable();
@@ -541,7 +572,7 @@ bool CentralWidget::isBackwardAvailable() const
void CentralWidget::backward()
{
- HelpViewer* viewer = currentHelpViewer();
+ HelpViewer *viewer = currentHelpViewer();
if (viewer)
viewer->backward();
}
@@ -559,7 +590,7 @@ void CentralWidget::setGlobalActions(const QList<QAction*> &actions)
void CentralWidget::setSourceInNewTab(const QUrl &url, qreal zoom)
{
- HelpViewer* viewer;
+ HelpViewer *viewer;
#if defined(QT_NO_WEBKIT)
viewer = currentHelpViewer();
@@ -582,20 +613,20 @@ void CentralWidget::setSourceInNewTab(const QUrl &url, qreal zoom)
}
#if !defined(QT_NO_WEBKIT)
- QWebSettings* settings = QWebSettings::globalSettings();
+ QWebSettings *settings = QWebSettings::globalSettings();
if (!userFont) {
int fontSize = settings->fontSize(QWebSettings::DefaultFontSize);
QString fontFamily = settings->fontFamily(QWebSettings::StandardFont);
font = QFont(fontFamily, fontSize);
}
- QWebView* view = qobject_cast<QWebView*> (viewer);
+ QWebView *view = qobject_cast<QWebView*> (viewer);
if (view) {
settings = view->settings();
settings->setFontFamily(QWebSettings::StandardFont, font.family());
settings->setFontSize(QWebSettings::DefaultFontSize, font.pointSize());
} else if (viewer) {
- viewer->setFont(font);
+ viewer->setFont(font);
}
viewer->setTextSizeMultiplier(zoom == 0.0 ? 1.0 : zoom);
#else
@@ -609,7 +640,7 @@ void CentralWidget::setSourceInNewTab(const QUrl &url, qreal zoom)
HelpViewer *CentralWidget::newEmptyTab()
{
- HelpViewer* viewer = new HelpViewer(helpEngine, this);
+ HelpViewer *viewer = new HelpViewer(helpEngine, this);
viewer->installEventFilter(this);
viewer->setFocus(Qt::OtherFocusReason);
#if defined(QT_NO_WEBKIT)
@@ -628,15 +659,20 @@ void CentralWidget::findCurrentText(const QString &text)
void CentralWidget::connectSignals()
{
- const HelpViewer* viewer = currentHelpViewer();
+ const HelpViewer *viewer = currentHelpViewer();
if (viewer) {
- connect(viewer, SIGNAL(copyAvailable(bool)), this, SIGNAL(copyAvailable(bool)));
- connect(viewer, SIGNAL(forwardAvailable(bool)), this, SIGNAL(forwardAvailable(bool)));
- connect(viewer, SIGNAL(backwardAvailable(bool)), this, SIGNAL(backwardAvailable(bool)));
- connect(viewer, SIGNAL(sourceChanged(const QUrl&)), this, SIGNAL(sourceChanged(const QUrl&)));
- connect(viewer, SIGNAL(highlighted(const QString&)), this, SIGNAL(highlighted(const QString&)));
-
- connect(viewer, SIGNAL(sourceChanged(const QUrl&)), this, SLOT(setTabTitle(const QUrl&)));
+ connect(viewer, SIGNAL(copyAvailable(bool)), this,
+ SIGNAL(copyAvailable(bool)));
+ connect(viewer, SIGNAL(forwardAvailable(bool)), this,
+ SIGNAL(forwardAvailable(bool)));
+ connect(viewer, SIGNAL(backwardAvailable(bool)), this,
+ SIGNAL(backwardAvailable(bool)));
+ connect(viewer, SIGNAL(sourceChanged(QUrl)), this,
+ SIGNAL(sourceChanged(QUrl)));
+ connect(viewer, SIGNAL(highlighted(QString)), this,
+ SIGNAL(highlighted(QString)));
+ connect(viewer, SIGNAL(sourceChanged(QUrl)), this,
+ SLOT(setTabTitle(QUrl)));
}
}
@@ -658,85 +694,72 @@ void CentralWidget::activateTab(bool onlyHelpViewer)
}
}
-void CentralWidget::setTabTitle(const QUrl& url)
+void CentralWidget::setTabTitle(const QUrl &url)
{
- int tab = lastTabPage;
- HelpViewer* viewer = currentHelpViewer();
-
+ Q_UNUSED(url)
#if !defined(QT_NO_WEBKIT)
- if (!viewer || viewer->source() != url) {
- QTabBar *tabBar = qFindChild<QTabBar*>(tabWidget);
- for (tab = 0; tab < tabBar->count(); ++tab) {
- viewer = qobject_cast<HelpViewer*>(tabWidget->widget(tab));
- if (viewer && viewer->source() == url)
- break;
- }
+ QTabBar *tabBar = qFindChild<QTabBar*>(tabWidget);
+ for (int tab = 0; tab < tabBar->count(); ++tab) {
+ HelpViewer *viewer = qobject_cast<HelpViewer*>(tabWidget->widget(tab));
+ if (viewer)
+ tabWidget->setTabText(tab, viewer->documentTitle().trimmed());
}
#else
- Q_UNUSED(url)
-#endif
-
+ HelpViewer *viewer = currentHelpViewer();
if (viewer) {
- tabWidget->setTabText(tab,
+ tabWidget->setTabText(lastTabPage,
quoteTabTitle(viewer->documentTitle().trimmed()));
}
+#endif
}
void CentralWidget::currentPageChanged(int index)
{
const HelpViewer *viewer = currentHelpViewer();
-
- if (viewer || tabWidget->count() == 1)
+ if (viewer)
lastTabPage = index;
- bool enabled = false;
- if (viewer) {
- enabled = true;
- if (!m_searchWidget)
- enabled = tabWidget->count() > 1;
- }
+ QWidget *widget = tabWidget->cornerWidget(Qt::TopRightCorner);
+ widget->setEnabled(viewer && enableTabCloseAction());
- tabWidget->cornerWidget(Qt::TopRightCorner)->setEnabled(enabled);
- tabWidget->cornerWidget(Qt::TopLeftCorner)->setEnabled(m_searchWidget ? enabled : true);
+ widget = tabWidget->cornerWidget(Qt::TopLeftCorner);
+ widget->setEnabled(viewer ? true : false);
- emit currentViewerChanged();
+ emit currentViewerChanged();
}
void CentralWidget::showTabBarContextMenu(const QPoint &point)
{
- HelpViewer* viewer = helpViewerFromTabPosition(tabWidget, point);
+ HelpViewer *viewer = helpViewerFromTabPosition(tabWidget, point);
if (!viewer)
return;
QTabBar *tabBar = qFindChild<QTabBar*>(tabWidget);
QMenu menu(QLatin1String(""), tabBar);
- QAction *new_page = menu.addAction(tr("Add New Page"));
- QAction *close_page = menu.addAction(tr("Close This Page"));
- QAction *close_pages = menu.addAction(tr("Close Other Pages"));
- menu.addSeparator();
- QAction *newBookmark = menu.addAction(tr("Add Bookmark for this Page..."));
+ QAction *newPage = menu.addAction(tr("Add New Page"));
- if (tabBar->count() == 1) {
- close_page->setEnabled(false);
- close_pages->setEnabled(false);
- } else if (m_searchWidget && tabBar->count() == 2) {
- close_pages->setEnabled(false);
- }
+ bool enableAction = enableTabCloseAction();
+ QAction *closePage = menu.addAction(tr("Close This Page"));
+ closePage->setEnabled(enableAction);
- QAction *picked_action = menu.exec(tabBar->mapToGlobal(point));
- if (!picked_action)
- return;
+ QAction *closePages = menu.addAction(tr("Close Other Pages"));
+ closePages->setEnabled(enableAction);
- if (picked_action == new_page)
+ menu.addSeparator();
+
+ QAction *newBookmark = menu.addAction(tr("Add Bookmark for this Page..."));
+
+ QAction *pickedAction = menu.exec(tabBar->mapToGlobal(point));
+ if (pickedAction == newPage)
setSourceInNewTab(viewer->source());
- if (picked_action == close_page) {
+ if (pickedAction == closePage) {
tabWidget->removeTab(tabWidget->indexOf(viewer));
QTimer::singleShot(0, viewer, SLOT(deleteLater()));
}
- if (picked_action == close_pages) {
+ if (pickedAction == closePages) {
int currentPage = tabWidget->indexOf(viewer);
for (int i = tabBar->count() -1; i >= 0; --i) {
viewer = qobject_cast<HelpViewer*>(tabWidget->widget(i));
@@ -750,58 +773,68 @@ void CentralWidget::showTabBarContextMenu(const QPoint &point)
}
}
- if (picked_action == newBookmark)
+ if (pickedAction == newBookmark)
emit addNewBookmark(viewer->documentTitle(), viewer->source().toString());
}
bool CentralWidget::eventFilter(QObject *object, QEvent *e)
{
- if (currentHelpViewer() == object && e->type() == QEvent::KeyPress){
+ if (e->type() == QEvent::KeyPress) {
QKeyEvent *ke = static_cast<QKeyEvent*>(e);
- if (ke->key() == Qt::Key_Backspace) {
- HelpViewer *viewer = currentHelpViewer();
+ switch (ke->key()) {
+ default: {
+ return QWidget::eventFilter(object, e);
+ } break;
+
+ case Qt::Key_Escape: {
+ if (findWidget->editFind == object) {
+ findBar->hide();
+ if (HelpViewer *viewer = currentHelpViewer())
+ viewer->setFocus();
+ }
+ } break;
+
+ case Qt::Key_Backspace: {
+ HelpViewer *viewer = currentHelpViewer();
+ if (viewer == object) {
#if defined(QT_NO_WEBKIT)
- if (viewer && viewer->isBackwardAvailable()) {
+ if (viewer->isBackwardAvailable()) {
#else
- if (viewer && viewer->isBackwardAvailable() && !viewer->hasFocus()) {
+ if (viewer->isBackwardAvailable() && !viewer->hasFocus()) {
#endif
- viewer->backward();
- return true;
- }
+ viewer->backward();
+ return true;
+ }
+ }
+ } break;
}
}
- QTabBar *tabBar = qobject_cast<QTabBar*>(object);
- bool mousRel = e->type() == QEvent::MouseButtonRelease;
- bool dblClick = e->type() == QEvent::MouseButtonDblClick;
-
- if (tabBar && (mousRel || dblClick)) {
- QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(e);
- HelpViewer *viewer = helpViewerFromTabPosition(tabWidget, mouseEvent->pos());
- if (!m_searchWidget && tabWidget->count() <= 1)
- return QWidget::eventFilter(object, e);
-
- if (viewer && (mouseEvent->button() == Qt::MidButton || dblClick)) {
- tabWidget->removeTab(tabWidget->indexOf(viewer));
- QTimer::singleShot(0, viewer, SLOT(deleteLater()));
- currentPageChanged(tabWidget->currentIndex());
- return true;
- }
- } else if (object == findWidget->editFind && e->type() == QEvent::KeyPress) {
- QKeyEvent *ke = static_cast<QKeyEvent*>(e);
- if (ke->key() == Qt::Key_Escape) {
- findBar->hide();
- HelpViewer *hv = currentHelpViewer();
- if (hv)
- hv->setFocus();
+ if (qobject_cast<QTabBar*>(object)) {
+ const bool dblClick = e->type() == QEvent::MouseButtonDblClick;
+ if ((e->type() == QEvent::MouseButtonRelease) || dblClick) {
+ QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(e);
+ HelpViewer *viewer = helpViewerFromTabPosition(tabWidget,
+ mouseEvent->pos());
+ if (viewer) {
+ if ((mouseEvent->button() == Qt::MidButton) || dblClick) {
+ if (availableHelpViewer() > 1) {
+ tabWidget->removeTab(tabWidget->indexOf(viewer));
+ QTimer::singleShot(0, viewer, SLOT(deleteLater()));
+ currentPageChanged(tabWidget->currentIndex());
+ return true;
+ }
+ }
+ }
}
}
+
return QWidget::eventFilter(object, e);
}
void CentralWidget::keyPressEvent(QKeyEvent *e)
{
- QString text = e->text();
+ const QString &text = e->text();
if (text.startsWith(QLatin1Char('/'))) {
if (!findBar->isVisible()) {
findBar->show();
@@ -821,7 +854,7 @@ void CentralWidget::find(QString ttf, bool forward, bool backward)
QTextDocument *doc = 0;
QTextBrowser *browser = 0;
- HelpViewer* viewer = currentHelpViewer();
+ HelpViewer *viewer = currentHelpViewer();
QPalette p = findWidget->editFind->palette();
p.setColor(QPalette::Active, QPalette::Base, Qt::white);
@@ -860,7 +893,7 @@ void CentralWidget::find(QString ttf, bool forward, bool backward)
}
if (tabWidget->currentWidget() == m_searchWidget) {
- QTextBrowser* browser = qFindChild<QTextBrowser*>(m_searchWidget);
+ QTextBrowser *browser = qFindChild<QTextBrowser*>(m_searchWidget);
if (browser) {
doc = browser->document();
cursor = browser->textCursor();
@@ -872,8 +905,10 @@ void CentralWidget::find(QString ttf, bool forward, bool backward)
QTextDocument::FindFlags options;
- if (cursor.hasSelection())
- cursor.setPosition(forward ? cursor.position() : cursor.anchor(), QTextCursor::MoveAnchor);
+ if (cursor.hasSelection()) {
+ cursor.setPosition(forward ? cursor.position() : cursor.anchor(),
+ QTextCursor::MoveAnchor);
+ }
QTextCursor newCursor = cursor;
@@ -915,15 +950,6 @@ void CentralWidget::find(QString ttf, bool forward, bool backward)
findWidget->editFind->setPalette(p);
}
-void CentralWidget::activateSearch()
-{
- if (tabWidget->widget(0) != m_searchWidget)
- createSearchWidget(helpEngine->searchEngine());
-
- tabWidget->setCurrentWidget(m_searchWidget);
- m_searchWidget->setFocus();
-}
-
void CentralWidget::updateBrowserFont()
{
QFont font = qApp->font();
@@ -934,7 +960,7 @@ void CentralWidget::updateBrowserFont()
}
#if !defined(QT_NO_WEBKIT)
- QWebSettings* settings = QWebSettings::globalSettings();
+ QWebSettings *settings = QWebSettings::globalSettings();
if (!userFont) {
int fontSize = settings->fontSize(QWebSettings::DefaultFontSize);
QString fontFamily = settings->fontFamily(QWebSettings::StandardFont);
@@ -942,11 +968,11 @@ void CentralWidget::updateBrowserFont()
}
#endif
- QWidget* widget = 0;
+ QWidget *widget = 0;
for (int i = 0; i < tabWidget->count(); ++i) {
widget = tabWidget->widget(i);
#if !defined(QT_NO_WEBKIT)
- QWebView* view = qobject_cast<QWebView*> (widget);
+ QWebView *view = qobject_cast<QWebView*> (widget);
if (view) {
settings = view->settings();
settings->setFontFamily(QWebSettings::StandardFont, font.family());
@@ -965,19 +991,56 @@ void CentralWidget::updateBrowserFont()
void CentralWidget::createSearchWidget(QHelpSearchEngine *searchEngine)
{
- if (!m_searchWidget) {
- m_searchWidget = new SearchWidget(searchEngine, this);
- connect(m_searchWidget, SIGNAL(requestShowLink(const QUrl&)), this,
- SLOT(setSourceFromSearch(const QUrl&)));
- connect(m_searchWidget, SIGNAL(requestShowLinkInNewTab(const QUrl&)), this,
- SLOT(setSourceFromSearchInNewTab(const QUrl&)));
+ if (m_searchWidget)
+ return;
+
+ m_searchWidget = new SearchWidget(searchEngine, this);
+ connect(m_searchWidget, SIGNAL(requestShowLink(QUrl)), this,
+ SLOT(setSourceFromSearch(QUrl)));
+ connect(m_searchWidget, SIGNAL(requestShowLinkInNewTab(QUrl)), this,
+ SLOT(setSourceFromSearchInNewTab(QUrl)));
+}
+
+void CentralWidget::activateSearchWidget(bool updateLastTabPage)
+{
+ if (!m_searchWidget)
+ createSearchWidget(helpEngine->searchEngine());
+
+ if (!m_searchWidget->isAttached()) {
+ tabWidget->insertTab(0, m_searchWidget, tr("Search"));
+ m_searchWidget->setAttached(true);
+
+ if (updateLastTabPage)
+ lastTabPage++;
}
- tabWidget->insertTab(0, m_searchWidget, tr("Search"));
+
+ tabWidget->setCurrentWidget(m_searchWidget);
+ m_searchWidget->setFocus();
}
void CentralWidget::removeSearchWidget()
{
- tabWidget->removeTab(0);
+ if (m_searchWidget && m_searchWidget->isAttached()) {
+ tabWidget->removeTab(0);
+ m_searchWidget->setAttached(false);
+ }
+}
+
+int CentralWidget::availableHelpViewer() const
+{
+ int count = tabWidget->count();
+ if (m_searchWidget && m_searchWidget->isAttached())
+ count--;
+ return count;
+}
+
+bool CentralWidget::enableTabCloseAction() const
+{
+ int minTabCount = 1;
+ if (m_searchWidget && m_searchWidget->isAttached())
+ minTabCount = 2;
+
+ return (tabWidget->count() > minTabCount);
}
QString CentralWidget::quoteTabTitle(const QString &title) const
@@ -1008,7 +1071,7 @@ CentralWidget::highlightSearchTerms()
if (!viewer)
return;
- QHelpSearchEngine* searchEngine = helpEngine->searchEngine();
+ QHelpSearchEngine *searchEngine = helpEngine->searchEngine();
QList<QHelpSearchQuery> queryList = searchEngine->query();
QStringList terms;
diff --git a/tools/assistant/tools/assistant/centralwidget.h b/tools/assistant/tools/assistant/centralwidget.h
index 75bd8be..e3ce200 100644
--- a/tools/assistant/tools/assistant/centralwidget.h
+++ b/tools/assistant/tools/assistant/centralwidget.h
@@ -83,6 +83,9 @@ private slots:
void updateButtons();
private:
+ QToolButton* setupToolButton(const QString &text, const QString &icon);
+
+private:
QLineEdit *editFind;
QCheckBox *checkCase;
QLabel *labelWrapped;
@@ -113,10 +116,14 @@ public:
void setGlobalActions(const QList<QAction*> &actions);
HelpViewer *currentHelpViewer() const;
void activateTab(bool onlyHelpViewer = false);
- void activateSearch();
+
void createSearchWidget(QHelpSearchEngine *searchEngine);
+ void activateSearchWidget(bool updateLastTabPage = false);
void removeSearchWidget();
+ int availableHelpViewer() const;
+ bool enableTabCloseAction() const;
+
void closeTabAt(int index);
QMap<int, QString> currentSourceFileList() const;
@@ -167,7 +174,7 @@ private slots:
void setSourceFromSearchInNewTab(const QUrl &url);
private:
- void connectSignals();
+ void connectSignals();
bool eventFilter(QObject *object, QEvent *e);
void find(QString ttf, bool forward, bool backward);
void initPrinter();
@@ -180,13 +187,13 @@ private:
QList<QAction*> globalActionList;
QWidget *findBar;
- QTabWidget* tabWidget;
+ QTabWidget *tabWidget;
FindWidget *findWidget;
QHelpEngine *helpEngine;
QPrinter *printer;
bool usesDefaultCollection;
-
- SearchWidget* m_searchWidget;
+
+ SearchWidget *m_searchWidget;
};
QT_END_NAMESPACE
diff --git a/tools/assistant/tools/assistant/cmdlineparser.cpp b/tools/assistant/tools/assistant/cmdlineparser.cpp
index 0dae785..67eaa44 100644
--- a/tools/assistant/tools/assistant/cmdlineparser.cpp
+++ b/tools/assistant/tools/assistant/cmdlineparser.cpp
@@ -56,6 +56,7 @@ CmdLineParser::CmdLineParser()
m_bookmarks(Untouched),
m_search(Untouched),
m_register(None),
+ m_removeSearchIndex(false),
m_copy(false),
m_quiet(false)
{
@@ -83,6 +84,7 @@ CmdLineParser::CmdLineParser()
" (.qch) from the give collection\n"
" file.\n"
"-setCurrentFilter filter Set the filter as the active filter.\n"
+ "-remove-search-index Removes the full text search index.\n"
"-quiet Does not display any error or\n"
" status message.\n"
"-help Displays this help.\n"
@@ -217,6 +219,8 @@ CmdLineParser::Result CmdLineParser::parse(const QStringList &arguments)
error = QObject::tr("Missing filter argument!");
break;
}
+ } else if (arg == QLatin1String("-remove-search-index")) {
+ m_removeSearchIndex = true;
} else if (arg == QLatin1String("-quiet")) {
continue;
} else if (arg == QLatin1String("-help")) {
@@ -307,6 +311,11 @@ QString CmdLineParser::currentFilter() const
return m_currentFilter;
}
+bool CmdLineParser::removeSearchIndex() const
+{
+ return m_removeSearchIndex;
+}
+
CmdLineParser::RegisterState CmdLineParser::registerRequest() const
{
return m_register;
diff --git a/tools/assistant/tools/assistant/cmdlineparser.h b/tools/assistant/tools/assistant/cmdlineparser.h
index 332d464..263138b 100644
--- a/tools/assistant/tools/assistant/cmdlineparser.h
+++ b/tools/assistant/tools/assistant/cmdlineparser.h
@@ -67,6 +67,7 @@ public:
ShowState bookmarks() const;
ShowState search() const;
QString currentFilter() const;
+ bool removeSearchIndex() const;
RegisterState registerRequest() const;
QString helpFile() const;
@@ -90,6 +91,7 @@ private:
ShowState m_search;
RegisterState m_register;
QString m_currentFilter;
+ bool m_removeSearchIndex;
bool m_copy;
bool m_quiet;
};
diff --git a/tools/assistant/tools/assistant/doc/HOWTO b/tools/assistant/tools/assistant/doc/HOWTO
index 0e5b67b..a014347 100644
--- a/tools/assistant/tools/assistant/doc/HOWTO
+++ b/tools/assistant/tools/assistant/doc/HOWTO
@@ -1,9 +1,8 @@
How to build/ update a new assistant.qch for Assistant internal help
-- in case of update:
+- update:
- open assistant.qdocconf, update year and qt version
-- all other cases:
- ..\..\..\..\qdoc3\debug\qdoc3.exe assistant.qdocconf
will generate an folder html containing all required stuff
@@ -12,6 +11,6 @@ How to build/ update a new assistant.qch for Assistant internal help
- rebuild assistant
-- to test you changes:
+- to test your changes:
- remove assistant.qch in your cache directory
- restart assistant
diff --git a/tools/assistant/tools/assistant/doc/assistant.qdocconf b/tools/assistant/tools/assistant/doc/assistant.qdocconf
index 0d2271d..aca97ed 100644
--- a/tools/assistant/tools/assistant/doc/assistant.qdocconf
+++ b/tools/assistant/tools/assistant/doc/assistant.qdocconf
@@ -10,8 +10,7 @@ description = "Qt Assistant"
HTML.{postheader,address} = ""
HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
"<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \
- "<td width=\"30%\" align=\"left\">Copyright &copy; 2009 Nokia Corporation " \
- "and/or its subsidiary(-ies)</td>\n" \
+ "<td width=\"30%\" align=\"left\">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \
"<td width=\"40%\" align=\"center\">Trademarks</td>\n" \
- "<td width=\"30%\" align=\"right\"><div align=\"right\">Qt 4.5.1</div></td>\n" \
+ "<td width=\"30%\" align=\"right\"><div align=\"right\">Qt 4.5.2</div></td>\n" \
"</tr></table></div></address>"
diff --git a/tools/assistant/tools/assistant/helpviewer.cpp b/tools/assistant/tools/assistant/helpviewer.cpp
index f7225fa..5726136 100644
--- a/tools/assistant/tools/assistant/helpviewer.cpp
+++ b/tools/assistant/tools/assistant/helpviewer.cpp
@@ -269,7 +269,10 @@ bool HelpPage::acceptNavigationRequest(QWebFrame *,
}
HelpViewer::HelpViewer(QHelpEngine *engine, CentralWidget *parent)
- : QWebView(parent), helpEngine(engine), parentWidget(parent)
+ : QWebView(parent)
+ , helpEngine(engine)
+ , parentWidget(parent)
+ , loadFinished(false)
{
setAcceptDrops(false);
@@ -295,10 +298,12 @@ HelpViewer::HelpViewer(QHelpEngine *engine, CentralWidget *parent)
connect(page(), SIGNAL(linkHovered(QString, QString, QString)), this,
SIGNAL(highlighted(QString)));
connect(this, SIGNAL(urlChanged(QUrl)), this, SIGNAL(sourceChanged(QUrl)));
+ connect(this, SIGNAL(loadFinished(bool)), this, SLOT(setLoadFinished(bool)));
}
void HelpViewer::setSource(const QUrl &url)
{
+ loadFinished = false;
if (url.toString() == QLatin1String("help")) {
load(QUrl(QLatin1String("qthelp://com.trolltech.com."
"assistantinternal_1.0.0/assistant/assistant.html")));
@@ -385,6 +390,12 @@ void HelpViewer::mousePressEvent(QMouseEvent *event)
QWebView::mousePressEvent(event);
}
+void HelpViewer::setLoadFinished(bool ok)
+{
+ loadFinished = ok;
+ emit sourceChanged(url());
+}
+
#else // !defined(QT_NO_WEBKIT)
HelpViewer::HelpViewer(QHelpEngine *engine, CentralWidget *parent)
diff --git a/tools/assistant/tools/assistant/helpviewer.h b/tools/assistant/tools/assistant/helpviewer.h
index eea7340..37545c7 100644
--- a/tools/assistant/tools/assistant/helpviewer.h
+++ b/tools/assistant/tools/assistant/helpviewer.h
@@ -92,6 +92,10 @@ public:
{ return pageAction(QWebPage::Forward)->isEnabled(); }
inline bool isBackwardAvailable() const
{ return pageAction(QWebPage::Back)->isEnabled(); }
+ inline bool hasLoadFinished() const
+ { return loadFinished; }
+ inline qreal zoom() const
+ { return textSizeMultiplier(); }
public Q_SLOTS:
void home();
@@ -111,10 +115,12 @@ protected:
private Q_SLOTS:
void actionChanged();
+ void setLoadFinished(bool ok);
private:
QHelpEngine *helpEngine;
CentralWidget* parentWidget;
+ bool loadFinished;
};
#else
diff --git a/tools/assistant/tools/assistant/indexwindow.cpp b/tools/assistant/tools/assistant/indexwindow.cpp
index 0beb5ee..a2c0950 100644
--- a/tools/assistant/tools/assistant/indexwindow.cpp
+++ b/tools/assistant/tools/assistant/indexwindow.cpp
@@ -197,6 +197,8 @@ void IndexWindow::open(QHelpIndexWidget* indexWidget, const QModelIndex &index)
url = tc.link();
} else if (links.count() == 1) {
url = links.constBegin().value();
+ } else {
+ return;
}
if (url.path().endsWith(QLatin1String(".pdf"), Qt::CaseInsensitive))
diff --git a/tools/assistant/tools/assistant/main.cpp b/tools/assistant/tools/assistant/main.cpp
index 794be02..75955ec 100644
--- a/tools/assistant/tools/assistant/main.cpp
+++ b/tools/assistant/tools/assistant/main.cpp
@@ -52,6 +52,8 @@
#include <QtHelp/QHelpEngineCore>
+#include <QtNetwork/QLocalSocket>
+
#include <QtSql/QSqlDatabase>
#include "mainwindow.h"
@@ -166,6 +168,17 @@ referencedHelpFilesExistAll(QHelpEngineCore& user, QStringList& nameSpaces)
return (counter != nameSpaces.count()) ? false : true;
}
+QString indexFilesFolder(const QString &collectionFile)
+{
+ QString indexFilesFolder = QLatin1String(".fulltextsearch");
+ if (!collectionFile.isEmpty()) {
+ QFileInfo fi(collectionFile);
+ indexFilesFolder = QLatin1Char('.') +
+ fi.fileName().left(fi.fileName().lastIndexOf(QLatin1String(".qhc")));
+ }
+ return indexFilesFolder;
+}
+
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
@@ -212,6 +225,28 @@ int main(int argc, char *argv[])
return 0;
}
+ if (cmd.removeSearchIndex()) {
+ QString file = cmdCollectionFile;
+ if (file.isEmpty())
+ file = MainWindow::defaultHelpCollectionFileName();
+ QString path = QFileInfo(file).path();
+ path += QLatin1String("/") + indexFilesFolder(file);
+
+ QLocalSocket localSocket;
+ localSocket.connectToServer(QString(QLatin1String("QtAssistant%1"))
+ .arg(QLatin1String(QT_VERSION_STR)));
+
+ QDir dir(path); // check if there is no other instance ruinning
+ if (!localSocket.waitForConnected() && dir.exists()) {
+ QStringList lst = dir.entryList(QDir::Files | QDir::Hidden);
+ foreach (const QString &item, lst)
+ dir.remove(item);
+ return 0;
+ } else {
+ return -1;
+ }
+ }
+
{
QSqlDatabase db;
QStringList sqlDrivers(db.drivers());
diff --git a/tools/assistant/tools/assistant/mainwindow.cpp b/tools/assistant/tools/assistant/mainwindow.cpp
index df39650..b0c2c6b 100644
--- a/tools/assistant/tools/assistant/mainwindow.cpp
+++ b/tools/assistant/tools/assistant/mainwindow.cpp
@@ -86,9 +86,9 @@ QT_BEGIN_NAMESPACE
MainWindow::MainWindow(CmdLineParser *cmdLine, QWidget *parent)
: QMainWindow(parent)
+ , m_filterCombo(0)
, m_toolBarMenu(0)
, m_cmdLine(cmdLine)
- , m_searchWidget(0)
, m_progressWidget(0)
, m_qtDocInstaller(0)
, m_connectedInitSignals(false)
@@ -125,20 +125,8 @@ MainWindow::MainWindow(CmdLineParser *cmdLine, QWidget *parent)
connect(searchEngine, SIGNAL(indexingStarted()), this, SLOT(indexingStarted()));
connect(searchEngine, SIGNAL(indexingFinished()), this, SLOT(indexingFinished()));
-#ifdef QT_CLUCENE_SUPPORT
m_centralWidget->createSearchWidget(searchEngine);
-#else
- QDockWidget *dock = new QDockWidget(tr("Search"), this);
- dock->setObjectName(QLatin1String("SearchWindow"));
- m_searchWidget = new SearchWidget(searchEngine, this);
- dock->setWidget(m_searchWidget);
- addDockWidget(Qt::LeftDockWidgetArea, dock);
-
- connect(m_searchWidget, SIGNAL(requestShowLink(const QUrl&)),
- m_centralWidget, SLOT(setSource(const QUrl&)));
- connect(m_searchWidget, SIGNAL(requestShowLinkInNewTab(const QUrl&)),
- m_centralWidget, SLOT(setSourceInNewTab(const QUrl&)));
-#endif
+ m_centralWidget->activateSearchWidget();
QString defWindowTitle = tr("Qt Assistant");
setWindowTitle(defWindowTitle);
@@ -228,11 +216,26 @@ MainWindow::MainWindow(CmdLineParser *cmdLine, QWidget *parent)
else if (m_cmdLine->bookmarks() == CmdLineParser::Activate)
showBookmarks();
+ if (!m_cmdLine->currentFilter().isEmpty()) {
+ const QString &curFilter = m_cmdLine->currentFilter();
+ m_helpEngine->setCurrentFilter(curFilter);
+ if (m_filterCombo) {
+ int idx = m_filterCombo->findText(curFilter);
+ if (idx >= 0) {
+ bool blocked = m_filterCombo->signalsBlocked();
+ m_filterCombo->blockSignals(true);
+ m_filterCombo->setCurrentIndex(idx);
+ m_filterCombo->blockSignals(blocked);
+ }
+ }
+ }
+
if (usesDefaultCollection())
QTimer::singleShot(0, this, SLOT(lookForNewQtDocumentation()));
else
checkInitState();
}
+ setTabPosition(Qt::AllDockWidgetAreas, QTabWidget::North);
}
MainWindow::~MainWindow()
@@ -304,6 +307,7 @@ bool MainWindow::initHelpDB()
hc.addCustomFilter(tr("Unfiltered"), QStringList());
hc.setCustomValue(unfiltered, 1);
}
+
m_helpEngine->blockSignals(true);
m_helpEngine->setCurrentFilter(tr("Unfiltered"));
m_helpEngine->blockSignals(false);
@@ -318,10 +322,10 @@ bool MainWindow::initHelpDB()
void MainWindow::lookForNewQtDocumentation()
{
m_qtDocInstaller = new QtDocInstaller(m_helpEngine->collectionFile());
- connect(m_qtDocInstaller, SIGNAL(errorMessage(const QString&)),
- this, SLOT(displayInstallationError(const QString&)));
- connect(m_qtDocInstaller, SIGNAL(docsInstalled(bool)),
- this, SLOT(qtDocumentationInstalled(bool)));
+ connect(m_qtDocInstaller, SIGNAL(errorMessage(QString)), this,
+ SLOT(displayInstallationError(QString)));
+ connect(m_qtDocInstaller, SIGNAL(docsInstalled(bool)), this,
+ SLOT(qtDocumentationInstalled(bool)));
QString versionKey = QString(QLatin1String("qtVersion%1$$$qt")).
arg(QLatin1String(QT_VERSION_STR));
@@ -353,8 +357,8 @@ void MainWindow::checkInitState()
if (!m_connectedInitSignals) {
connect(m_helpEngine->contentModel(), SIGNAL(contentsCreated()),
this, SLOT(checkInitState()));
- connect(m_helpEngine->indexModel(), SIGNAL(indexCreated()),
- this, SLOT(checkInitState()));
+ connect(m_helpEngine->indexModel(), SIGNAL(indexCreated()), this,
+ SLOT(checkInitState()));
m_connectedInitSignals = true;
}
} else {
@@ -459,7 +463,7 @@ void MainWindow::setupActions()
QKeySequence(tr("ALT+I")));
m_viewMenu->addAction(tr("Bookmarks"), this, SLOT(showBookmarks()),
QKeySequence(tr("ALT+O")));
- m_viewMenu->addAction(tr("Search"), this, SLOT(showSearch()),
+ m_viewMenu->addAction(tr("Search"), this, SLOT(showSearchWidget()),
QKeySequence(tr("ALT+S")));
menu = menuBar()->addMenu(tr("&Go"));
@@ -533,6 +537,8 @@ void MainWindow::setupActions()
SLOT(copyAvailable(bool)));
connect(m_centralWidget, SIGNAL(currentViewerChanged()), this,
SLOT(updateNavigationItems()));
+ connect(m_centralWidget, SIGNAL(currentViewerChanged()), this,
+ SLOT(updateTabCloseAction()));
connect(m_centralWidget, SIGNAL(forwardAvailable(bool)), this,
SLOT(updateNavigationItems()));
connect(m_centralWidget, SIGNAL(backwardAvailable(bool)), this,
@@ -601,8 +607,8 @@ void MainWindow::setupFilterToolbar()
connect(m_helpEngine, SIGNAL(setupFinished()), this,
SLOT(setupFilterCombo()));
- connect(m_filterCombo, SIGNAL(activated(const QString&)), this,
- SLOT(filterDocumentation(const QString&)));
+ connect(m_filterCombo, SIGNAL(activated(QString)), this,
+ SLOT(filterDocumentation(QString)));
setupFilterCombo();
}
@@ -626,12 +632,12 @@ void MainWindow::setupAddressToolbar()
toolBarMenu()->addAction(addressToolBar->toggleViewAction());
// address lineedit
- connect(m_addressLineEdit, SIGNAL(returnPressed()),
- this, SLOT(gotoAddress()));
- connect(m_centralWidget, SIGNAL(currentViewerChanged()),
- this, SLOT(showNewAddress()));
- connect(m_centralWidget, SIGNAL(sourceChanged(const QUrl&)),
- this, SLOT(showNewAddress(const QUrl&)));
+ connect(m_addressLineEdit, SIGNAL(returnPressed()), this,
+ SLOT(gotoAddress()));
+ connect(m_centralWidget, SIGNAL(currentViewerChanged()), this,
+ SLOT(showNewAddress()));
+ connect(m_centralWidget, SIGNAL(sourceChanged(QUrl)), this,
+ SLOT(showNewAddress(QUrl)));
}
void MainWindow::updateAboutMenuText()
@@ -695,10 +701,14 @@ void MainWindow::updateNavigationItems()
m_printAction->setEnabled(hasCurrentViewer);
m_nextAction->setEnabled(m_centralWidget->isForwardAvailable());
m_backAction->setEnabled(m_centralWidget->isBackwardAvailable());
- m_closeTabAction->setEnabled(hasCurrentViewer);
m_newTabAction->setEnabled(hasCurrentViewer);
}
+void MainWindow::updateTabCloseAction()
+{
+ m_closeTabAction->setEnabled(m_centralWidget->enableTabCloseAction());
+}
+
void MainWindow::showTopicChooser(const QMap<QString, QUrl> &links,
const QString &keyword)
{
@@ -712,10 +722,10 @@ void MainWindow::showPreferences()
{
PreferencesDialog dia(m_helpEngine, this);
- connect(&dia, SIGNAL(updateApplicationFont()),
- this, SLOT(updateApplicationFont()));
- connect(&dia, SIGNAL(updateBrowserFont()),
- m_centralWidget, SLOT(updateBrowserFont()));
+ connect(&dia, SIGNAL(updateApplicationFont()), this,
+ SLOT(updateApplicationFont()));
+ connect(&dia, SIGNAL(updateBrowserFont()), m_centralWidget,
+ SLOT(updateBrowserFont()));
dia.showDialog();
}
@@ -787,26 +797,11 @@ void MainWindow::showAboutDialog()
aboutDia.setPixmap(pix);
aboutDia.setWindowTitle(aboutDia.documentTitle());
} else {
-#if QT_EDITION == QT_EDITION_OPENSOURCE
- QString edition = tr("Open Source Edition");
- QString info = tr("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.");
- QString moreInfo = tr("You need a commercial Qt license for development "
- "of proprietary (closed source) applications. Please see "
- "<a href=\"http://qtsoftware.com/company/about/businessmodel"
- "\">http://qtsoftware.com/company/about/businessmodel</a> for an "
- "overview of Qt licensing.");
-#else
+ // TODO: Remove these variables for 4.6.0. Must keep this way for 4.5.x due to string freeze.
QString edition;
QString info;
- QString moreInfo(tr("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."));
+ QString moreInfo;
-#endif
QByteArray resources;
aboutDia.setText(QString::fromLatin1("<center>"
"<h3>%1</h3>"
@@ -884,19 +879,17 @@ void MainWindow::activateCurrentCentralWidgetTab()
void MainWindow::showSearch()
{
- if (m_searchWidget)
- activateDockWidget(m_searchWidget);
- else
- m_centralWidget->activateSearch();
+ m_centralWidget->activateSearchWidget();
+}
+
+void MainWindow::showSearchWidget()
+{
+ m_centralWidget->activateSearchWidget(true);
}
void MainWindow::hideSearch()
{
- if (m_searchWidget) {
- m_searchWidget->parentWidget()->parentWidget()->hide();
- } else {
- m_centralWidget->removeSearchWidget();
- }
+ m_centralWidget->removeSearchWidget();
}
void MainWindow::updateApplicationFont()
@@ -965,8 +958,7 @@ QWidget* MainWindow::setupBookmarkWidget()
{
m_bookmarkManager = new BookmarkManager(m_helpEngine);
m_bookmarkWidget = new BookmarkWidget(m_bookmarkManager, this);
- connect(m_bookmarkWidget, SIGNAL(addBookmark()),
- this, SLOT(addBookmark()));
+ connect(m_bookmarkWidget, SIGNAL(addBookmark()), this, SLOT(addBookmark()));
return m_bookmarkWidget;
}
diff --git a/tools/assistant/tools/assistant/mainwindow.h b/tools/assistant/tools/assistant/mainwindow.h
index c716b1c..d7f5c69 100644
--- a/tools/assistant/tools/assistant/mainwindow.h
+++ b/tools/assistant/tools/assistant/mainwindow.h
@@ -62,8 +62,6 @@ class BookmarkWidget;
class CmdLineParser;
class QtDocInstaller;
-class SearchWidget;
-
class MainWindow : public QMainWindow
{
Q_OBJECT
@@ -94,6 +92,7 @@ public slots:
void showIndex();
void showBookmarks();
void showSearch();
+ void showSearchWidget();
void syncContents();
void activateCurrentCentralWidgetTab();
@@ -106,6 +105,7 @@ private slots:
void showAboutDialog();
void copyAvailable(bool yes);
void updateNavigationItems();
+ void updateTabCloseAction();
void showNewAddress(const QUrl &url);
void addNewBookmark(const QString &title, const QString &url);
void showTopicChooser(const QMap<QString, QUrl> &links, const QString &keyword);
@@ -159,7 +159,6 @@ private:
QMenu *m_toolBarMenu;
CmdLineParser *m_cmdLine;
- SearchWidget *m_searchWidget;
QWidget *m_progressWidget;
QtDocInstaller *m_qtDocInstaller;
diff --git a/tools/assistant/tools/assistant/preferencesdialog.cpp b/tools/assistant/tools/assistant/preferencesdialog.cpp
index 094bd9c..74f7ba8 100644
--- a/tools/assistant/tools/assistant/preferencesdialog.cpp
+++ b/tools/assistant/tools/assistant/preferencesdialog.cpp
@@ -44,6 +44,7 @@
#include "installdialog.h"
#include "fontpanel.h"
#include "centralwidget.h"
+#include "aboutdialog.h"
#include <QtAlgorithms>
@@ -52,6 +53,8 @@
#include <QtGui/QMessageBox>
#include <QtGui/QMenu>
#include <QtGui/QFontDatabase>
+#include <QtGui/QApplication>
+#include <QtGui/QDesktopWidget>
#include <QtHelp/QHelpEngineCore>
@@ -59,36 +62,38 @@ QT_BEGIN_NAMESPACE
PreferencesDialog::PreferencesDialog(QHelpEngineCore *helpEngine, QWidget *parent)
: QDialog(parent)
+ , m_helpEngine(helpEngine)
, m_appFontChanged(false)
, m_browserFontChanged(false)
{
- m_helpEngine = helpEngine;
m_ui.setupUi(this);
- connect(m_ui.buttonBox->button(QDialogButtonBox::Ok),
- SIGNAL(clicked()), this, SLOT(applyChanges()));
- connect(m_ui.buttonBox->button(QDialogButtonBox::Cancel),
- SIGNAL(clicked()), this, SLOT(reject()));
+ connect(m_ui.buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked()),
+ this, SLOT(applyChanges()));
+ connect(m_ui.buttonBox->button(QDialogButtonBox::Cancel), SIGNAL(clicked()),
+ this, SLOT(reject()));
- m_hideFiltersTab = !m_helpEngine->customValue(QLatin1String("EnableFilterFunctionality"),
- true).toBool();
- m_hideDocsTab = !m_helpEngine->customValue(QLatin1String("EnableDocumentationManager"),
- true).toBool();
+ QLatin1String key("EnableFilterFunctionality");
+ m_hideFiltersTab = !m_helpEngine->customValue(key, true).toBool();
+
+ key = QLatin1String("EnableDocumentationManager");
+ m_hideDocsTab = !m_helpEngine->customValue(key, true).toBool();
if (!m_hideFiltersTab) {
m_ui.attributeWidget->header()->hide();
m_ui.attributeWidget->setRootIsDecorated(false);
+
connect(m_ui.attributeWidget, SIGNAL(itemChanged(QTreeWidgetItem*, int)),
this, SLOT(updateFilterMap()));
connect(m_ui.filterWidget,
- SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)),
- this, SLOT(updateAttributes(QListWidgetItem*)));
+ SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this,
+ SLOT(updateAttributes(QListWidgetItem*)));
- connect(m_ui.filterAddButton, SIGNAL(clicked()),
- this, SLOT(addFilter()));
- connect(m_ui.filterRemoveButton, SIGNAL(clicked()),
- this, SLOT(removeFilter()));
+ connect(m_ui.filterAddButton, SIGNAL(clicked()), this,
+ SLOT(addFilter()));
+ connect(m_ui.filterRemoveButton, SIGNAL(clicked()), this,
+ SLOT(removeFilter()));
updateFilterPage();
} else {
@@ -106,22 +111,34 @@ PreferencesDialog::PreferencesDialog(QHelpEngineCore *helpEngine, QWidget *paren
} else {
m_ui.tabWidget->removeTab(m_ui.tabWidget->indexOf(m_ui.docsTab));
}
+
updateFontSettingsPage();
updateOptionsPage();
}
PreferencesDialog::~PreferencesDialog()
{
+ QLatin1String key("");
if (m_appFontChanged) {
- m_helpEngine->setCustomValue(QLatin1String("appFont"), m_appFontPanel->selectedFont());
- m_helpEngine->setCustomValue(QLatin1String("useAppFont"), m_appFontPanel->isChecked());
- m_helpEngine->setCustomValue(QLatin1String("appWritingSystem"), m_appFontPanel->writingSystem());
+ key = QLatin1String("appFont");
+ m_helpEngine->setCustomValue(key, m_appFontPanel->selectedFont());
+
+ key = QLatin1String("useAppFont");
+ m_helpEngine->setCustomValue(key, m_appFontPanel->isChecked());
+
+ key = QLatin1String("appWritingSystem");
+ m_helpEngine->setCustomValue(key, m_appFontPanel->writingSystem());
}
if (m_browserFontChanged) {
- m_helpEngine->setCustomValue(QLatin1String("browserFont"), m_browserFontPanel->selectedFont());
- m_helpEngine->setCustomValue(QLatin1String("useBrowserFont"), m_browserFontPanel->isChecked());
- m_helpEngine->setCustomValue(QLatin1String("browserWritingSystem"), m_browserFontPanel->writingSystem());
+ key = QLatin1String("browserFont");
+ m_helpEngine->setCustomValue(key, m_browserFontPanel->selectedFont());
+
+ key = QLatin1String("useBrowserFont");
+ m_helpEngine->setCustomValue(key, m_browserFontPanel->isChecked());
+
+ key = QLatin1String("browserWritingSystem");
+ m_helpEngine->setCustomValue(key, m_browserFontPanel->writingSystem());
}
if (m_appFontChanged || m_browserFontChanged) {
@@ -129,8 +146,10 @@ PreferencesDialog::~PreferencesDialog()
emit updateBrowserFont();
}
- if (!m_ui.homePageLineEdit->text().isEmpty())
- m_helpEngine->setCustomValue(QLatin1String("homepage"), m_ui.homePageLineEdit->text());
+ if (!m_ui.homePageLineEdit->text().isEmpty()) {
+ key = QLatin1String("homepage");
+ m_helpEngine->setCustomValue(key, m_ui.homePageLineEdit->text());
+ }
}
void PreferencesDialog::showDialog()
@@ -173,7 +192,7 @@ void PreferencesDialog::updateAttributes(QListWidgetItem *item)
if (item)
checkedList = m_filterMap.value(item->text());
QTreeWidgetItem *itm;
- for (int i=0; i<m_ui.attributeWidget->topLevelItemCount(); ++i) {
+ for (int i = 0; i < m_ui.attributeWidget->topLevelItemCount(); ++i) {
itm = m_ui.attributeWidget->topLevelItem(i);
if (checkedList.contains(itm->text(0)))
itm->setCheckState(0, Qt::Checked);
@@ -192,7 +211,7 @@ void PreferencesDialog::updateFilterMap()
QStringList newAtts;
QTreeWidgetItem *itm = 0;
- for (int i=0; i<m_ui.attributeWidget->topLevelItemCount(); ++i) {
+ for (int i = 0; i < m_ui.attributeWidget->topLevelItemCount(); ++i) {
itm = m_ui.attributeWidget->topLevelItem(i);
if (itm->checkState(0) == Qt::Checked)
newAtts.append(itm->text(0));
@@ -219,8 +238,8 @@ void PreferencesDialog::addFilter()
void PreferencesDialog::removeFilter()
{
- QListWidgetItem *item = m_ui.filterWidget
- ->takeItem(m_ui.filterWidget->currentRow());
+ QListWidgetItem *item =
+ m_ui.filterWidget ->takeItem(m_ui.filterWidget->currentRow());
if (!item)
return;
@@ -238,25 +257,48 @@ void PreferencesDialog::addDocumentationLocal()
if (fileNames.isEmpty())
return;
+ QStringList invalidFiles;
+ QStringList alreadyRegistered;
foreach (const QString &fileName, fileNames) {
- const QString ns = QHelpEngineCore::namespaceName(fileName);
- if (ns.isEmpty()) {
- QMessageBox::warning(this, tr("Add Documentation"),
- tr("The specified file is not a valid Qt Help File!"));
+ const QString nameSpace = QHelpEngineCore::namespaceName(fileName);
+ if (nameSpace.isEmpty()) {
+ invalidFiles.append(fileName);
continue;
}
- if (m_ui.registeredDocsListWidget->findItems(ns, Qt::MatchFixedString).count()) {
- QMessageBox::warning(this, tr("Add Documentation"),
- tr("The namespace %1 is already registered!").arg(ns));
- continue;
+ if (m_ui.registeredDocsListWidget->findItems(nameSpace,
+ Qt::MatchFixedString).count()) {
+ alreadyRegistered.append(nameSpace);
+ continue;
}
m_helpEngine->registerDocumentation(fileName);
- m_ui.registeredDocsListWidget->addItem(ns);
- m_regDocs.append(ns);
- m_unregDocs.removeAll(ns);
+ m_ui.registeredDocsListWidget->addItem(nameSpace);
+ m_regDocs.append(nameSpace);
+ m_unregDocs.removeAll(nameSpace);
+ }
+
+ if (!invalidFiles.isEmpty() || !alreadyRegistered.isEmpty()) {
+ QString message;
+ if (!alreadyRegistered.isEmpty()) {
+ foreach (const QString &ns, alreadyRegistered) {
+ message += tr("The namespace %1 is already registered!")
+ .arg(QString("<b>%1</b>").arg(ns)) + QLatin1String("<br>");
+ }
+ if (!invalidFiles.isEmpty())
+ message.append(QLatin1String("<br>"));
+ }
+
+ if (!invalidFiles.isEmpty()) {
+ message += tr("The specified file is not a valid Qt Help File!");
+ message.append(QLatin1String("<ul>"));
+ foreach (const QString &file, invalidFiles)
+ message += QLatin1String("<li>") + file + QLatin1String("</li>");
+ message.append(QLatin1String("</ul>"));
+ }
+ QMessageBox::warning(this, tr("Add Documentation"), message);
}
+
updateFilterPage();
}
@@ -362,35 +404,50 @@ void PreferencesDialog::updateFontSettingsPage()
m_ui.stackedWidget_2->setCurrentIndex(0);
const QString customSettings(tr("Use custom settings"));
- QFont font = qVariantValue<QFont>(m_helpEngine->customValue(QLatin1String("appFont")));
- QFontDatabase::WritingSystem writingSystem = static_cast<QFontDatabase::WritingSystem>
- (m_helpEngine->customValue(QLatin1String("appWritingSystem")).toInt());
-
m_appFontPanel->setTitle(customSettings);
+
+ QLatin1String key = QLatin1String("appFont");
+ QFont font = qVariantValue<QFont>(m_helpEngine->customValue(key));
m_appFontPanel->setSelectedFont(font);
- m_appFontPanel->setWritingSystem(writingSystem);
- m_appFontPanel->setChecked(m_helpEngine->customValue(QLatin1String("useAppFont")).toBool());
- QFont font2 = qVariantValue<QFont>(m_helpEngine->customValue(QLatin1String("browserFont")));
- writingSystem = static_cast<QFontDatabase::WritingSystem>
- (m_helpEngine->customValue(QLatin1String("browserWritingSystem")).toInt());
+ key = QLatin1String("appWritingSystem");
+ QFontDatabase::WritingSystem system = static_cast<QFontDatabase::WritingSystem>
+ (m_helpEngine->customValue(key).toInt());
+ m_appFontPanel->setWritingSystem(system);
+
+ key = QLatin1String("useAppFont");
+ m_appFontPanel->setChecked(m_helpEngine->customValue(key).toBool());
m_browserFontPanel->setTitle(customSettings);
- m_browserFontPanel->setSelectedFont(font2);
- m_browserFontPanel->setWritingSystem(writingSystem);
- m_browserFontPanel->setChecked(m_helpEngine->customValue(QLatin1String("useBrowserFont")).toBool());
- connect(m_appFontPanel, SIGNAL(toggled(bool)), this, SLOT(appFontSettingToggled(bool)));
- connect(m_browserFontPanel, SIGNAL(toggled(bool)), this, SLOT(browserFontSettingToggled(bool)));
+ key = QLatin1String("browserFont");
+ font = qVariantValue<QFont>(m_helpEngine->customValue(key));
+ m_browserFontPanel->setSelectedFont(font);
+
+ key = QLatin1String("browserWritingSystem");
+ system = static_cast<QFontDatabase::WritingSystem>
+ (m_helpEngine->customValue(key).toInt());
+ m_browserFontPanel->setWritingSystem(system);
+
+ key = QLatin1String("useBrowserFont");
+ m_browserFontPanel->setChecked(m_helpEngine->customValue(key).toBool());
+
+ connect(m_appFontPanel, SIGNAL(toggled(bool)), this,
+ SLOT(appFontSettingToggled(bool)));
+ connect(m_browserFontPanel, SIGNAL(toggled(bool)), this,
+ SLOT(browserFontSettingToggled(bool)));
QList<QComboBox*> allCombos = qFindChildren<QComboBox*>(m_appFontPanel);
- foreach (QComboBox* box, allCombos)
- connect(box, SIGNAL(currentIndexChanged(int)), this, SLOT(appFontSettingChanged(int)));
+ foreach (QComboBox* box, allCombos) {
+ connect(box, SIGNAL(currentIndexChanged(int)), this,
+ SLOT(appFontSettingChanged(int)));
+ }
- allCombos.clear();
allCombos = qFindChildren<QComboBox*>(m_browserFontPanel);
- foreach (QComboBox* box, allCombos)
- connect(box, SIGNAL(currentIndexChanged(int)), this, SLOT(browserFontSettingChanged(int)));
+ foreach (QComboBox* box, allCombos) {
+ connect(box, SIGNAL(currentIndexChanged(int)), this,
+ SLOT(browserFontSettingChanged(int)));
+ }
}
void PreferencesDialog::appFontSettingToggled(bool on)
@@ -436,8 +493,8 @@ void PreferencesDialog::updateOptionsPage()
void PreferencesDialog::restoreDefaultHomepage()
{
- QString homepage = m_helpEngine->customValue(
- QLatin1String("defaultHomepage"), QLatin1String("help")).toString();
+ QString homepage = m_helpEngine->customValue(QLatin1String("defaultHomepage"),
+ QLatin1String("help")).toString();
m_ui.homePageLineEdit->setText(homepage);
}
diff --git a/tools/assistant/tools/assistant/searchwidget.cpp b/tools/assistant/tools/assistant/searchwidget.cpp
index 000c73d..c40a9c4 100644
--- a/tools/assistant/tools/assistant/searchwidget.cpp
+++ b/tools/assistant/tools/assistant/searchwidget.cpp
@@ -62,6 +62,7 @@ QT_BEGIN_NAMESPACE
SearchWidget::SearchWidget(QHelpSearchEngine *engine, QWidget *parent)
: QWidget(parent)
, zoomCount(0)
+ , attached(false)
, searchEngine(engine)
{
QVBoxLayout *vLayout = new QVBoxLayout(this);
@@ -70,16 +71,18 @@ SearchWidget::SearchWidget(QHelpSearchEngine *engine, QWidget *parent)
QHelpSearchQueryWidget *queryWidget = searchEngine->queryWidget();
vLayout->addWidget(queryWidget);
- vLayout->addWidget(resultWidget);
-
+ vLayout->addWidget(resultWidget);
+
setFocusProxy(queryWidget);
connect(queryWidget, SIGNAL(search()), this, SLOT(search()));
- connect(resultWidget, SIGNAL(requestShowLink(const QUrl&)),
- this, SIGNAL(requestShowLink(const QUrl&)));
+ connect(resultWidget, SIGNAL(requestShowLink(QUrl)), this,
+ SIGNAL(requestShowLink(QUrl)));
- connect(searchEngine, SIGNAL(searchingStarted()), this, SLOT(searchingStarted()));
- connect(searchEngine, SIGNAL(searchingFinished(int)), this, SLOT(searchingFinished(int)));
+ connect(searchEngine, SIGNAL(searchingStarted()), this,
+ SLOT(searchingStarted()));
+ connect(searchEngine, SIGNAL(searchingFinished(int)), this,
+ SLOT(searchingFinished(int)));
QTextBrowser* browser = qFindChild<QTextBrowser*>(resultWidget);
browser->viewport()->installEventFilter(this);
@@ -92,10 +95,6 @@ SearchWidget::~SearchWidget()
void SearchWidget::zoomIn()
{
-#ifndef QT_CLUCENE_SUPPORT
- return;
-#endif
-
QTextBrowser* browser = qFindChild<QTextBrowser*>(resultWidget);
if (browser && zoomCount != 10) {
zoomCount++;
@@ -105,10 +104,6 @@ void SearchWidget::zoomIn()
void SearchWidget::zoomOut()
{
-#ifndef QT_CLUCENE_SUPPORT
- return;
-#endif
-
QTextBrowser* browser = qFindChild<QTextBrowser*>(resultWidget);
if (browser && zoomCount != -5) {
zoomCount--;
@@ -118,10 +113,6 @@ void SearchWidget::zoomOut()
void SearchWidget::resetZoom()
{
-#ifndef QT_CLUCENE_SUPPORT
- return;
-#endif
-
if (zoomCount == 0)
return;
@@ -132,6 +123,16 @@ void SearchWidget::resetZoom()
}
}
+bool SearchWidget::isAttached() const
+{
+ return attached;
+}
+
+void SearchWidget::setAttached(bool state)
+{
+ attached = state;
+}
+
void SearchWidget::search() const
{
QList<QHelpSearchQuery> query = searchEngine->queryWidget()->query();
@@ -152,7 +153,8 @@ void SearchWidget::searchingFinished(int hits)
bool SearchWidget::eventFilter(QObject* o, QEvent *e)
{
QTextBrowser* browser = qFindChild<QTextBrowser*>(resultWidget);
- if (browser && o == browser->viewport() && e->type() == QEvent::MouseButtonRelease){
+ if (browser && o == browser->viewport()
+ && e->type() == QEvent::MouseButtonRelease){
QMouseEvent *me = static_cast<QMouseEvent*>(e);
QUrl link = resultWidget->linkAt(me->pos());
if (!link.isEmpty() || link.isValid()) {
@@ -179,7 +181,6 @@ void SearchWidget::contextMenuEvent(QContextMenuEvent *contextMenuEvent)
QMenu menu;
QPoint point = contextMenuEvent->globalPos();
-#ifdef QT_CLUCENE_SUPPORT
QTextBrowser* browser = qFindChild<QTextBrowser*>(resultWidget);
if (!browser)
return;
@@ -190,22 +191,25 @@ void SearchWidget::contextMenuEvent(QContextMenuEvent *contextMenuEvent)
QUrl link = browser->anchorAt(point);
- QAction *copyAction = menu.addAction(tr("&Copy") +
- QString(QLatin1String("\t") + QString(QKeySequence(Qt::CTRL | Qt::Key_C))));
+ QKeySequence keySeq(QKeySequence::Copy);
+ QAction *copyAction = menu.addAction(tr("&Copy") + QLatin1String("\t") +
+ keySeq.toString(QKeySequence::NativeText));
copyAction->setEnabled(QTextCursor(browser->textCursor()).hasSelection());
QAction *copyAnchorAction = menu.addAction(tr("Copy &Link Location"));
copyAnchorAction->setEnabled(!link.isEmpty() && link.isValid());
- QAction *newTabAction = menu.addAction(tr("Open Link in New Tab") +
- QString(QLatin1String("\t") + QString(QKeySequence(Qt::CTRL))) +
+ keySeq = QKeySequence(Qt::CTRL);
+ QAction *newTabAction = menu.addAction(tr("Open Link in New Tab") +
+ QLatin1String("\t") + keySeq.toString(QKeySequence::NativeText) +
QLatin1String("LMB"));
newTabAction->setEnabled(!link.isEmpty() && link.isValid());
menu.addSeparator();
- QAction *selectAllAction = menu.addAction(tr("Select All") +
- QString(QLatin1String("\t") + QString(QKeySequence(Qt::CTRL | Qt::Key_A))));
+ keySeq = QKeySequence::SelectAll;
+ QAction *selectAllAction = menu.addAction(tr("Select All") +
+ QLatin1String("\t") + keySeq.toString(QKeySequence::NativeText));
QAction *usedAction = menu.exec(mapToGlobal(contextMenuEvent->pos()));
if (usedAction == copyAction) {
@@ -222,25 +226,10 @@ void SearchWidget::contextMenuEvent(QContextMenuEvent *contextMenuEvent)
}
else if (usedAction == newTabAction) {
emit requestShowLinkInNewTab(link);
- }
+ }
else if (usedAction == selectAllAction) {
browser->selectAll();
}
-#else
- point = resultWidget->mapFromGlobal(point);
- QUrl link = resultWidget->linkAt(point);
- if (link.isEmpty() || !link.isValid())
- return;
-
- QAction *curTab = menu.addAction(tr("Open Link"));
- QAction *newTab = menu.addAction(tr("Open Link in New Tab"));
-
- QAction *action = menu.exec(mapToGlobal(contextMenuEvent->pos()));
- if (curTab == action)
- emit requestShowLink(link);
- else if (newTab == action)
- emit requestShowLinkInNewTab(link);
-#endif
}
QT_END_NAMESPACE
diff --git a/tools/assistant/tools/assistant/searchwidget.h b/tools/assistant/tools/assistant/searchwidget.h
index 22fe80d..34eb86f 100644
--- a/tools/assistant/tools/assistant/searchwidget.h
+++ b/tools/assistant/tools/assistant/searchwidget.h
@@ -65,6 +65,9 @@ public:
void zoomOut();
void resetZoom();
+ bool isAttached() const;
+ void setAttached(bool state);
+
signals:
void requestShowLink(const QUrl &url);
void requestShowLinkInNewTab(const QUrl &url);
@@ -81,6 +84,7 @@ private:
private:
int zoomCount;
+ bool attached;
QHelpSearchEngine *searchEngine;
QHelpSearchResultWidget *resultWidget;
};
diff --git a/tools/assistant/translations/qt_help.pro b/tools/assistant/translations/qt_help.pro
index 1684ac5..efad6bf 100644
--- a/tools/assistant/translations/qt_help.pro
+++ b/tools/assistant/translations/qt_help.pro
@@ -43,7 +43,6 @@ TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/qt_help_de.ts \
$$[QT_INSTALL_TRANSLATIONS]/qt_help_ja.ts \
$$[QT_INSTALL_TRANSLATIONS]/qt_help_pl.ts \
$$[QT_INSTALL_TRANSLATIONS]/qt_help_untranslated.ts \
- $$[QT_INSTALL_TRANSLATIONS]/qt_help_tr_TR.ts \
$$[QT_INSTALL_TRANSLATIONS]/qt_help_zh_CN.ts \
$$[QT_INSTALL_TRANSLATIONS]/qt_help_zh_TW.ts
error("This is a dummy profile to be used for translations ONLY.")
diff --git a/tools/assistant/translations/translations.pro b/tools/assistant/translations/translations.pro
index 84bde8c..58de554 100644
--- a/tools/assistant/translations/translations.pro
+++ b/tools/assistant/translations/translations.pro
@@ -44,6 +44,5 @@ TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/assistant_de.ts \
$$[QT_INSTALL_TRANSLATIONS]/assistant_ja.ts \
$$[QT_INSTALL_TRANSLATIONS]/assistant_pl.ts \
$$[QT_INSTALL_TRANSLATIONS]/assistant_untranslated.ts \
- $$[QT_INSTALL_TRANSLATIONS]/assistant_tr_TR.ts \
$$[QT_INSTALL_TRANSLATIONS]/assistant_zh_CN.ts \
$$[QT_INSTALL_TRANSLATIONS]/assistant_zh_TW.ts
diff --git a/tools/assistant/translations/translations_adp.pro b/tools/assistant/translations/translations_adp.pro
index f6ab62e..e3edca4 100644
--- a/tools/assistant/translations/translations_adp.pro
+++ b/tools/assistant/translations/translations_adp.pro
@@ -35,7 +35,6 @@ TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/assistant_adp_de.ts \
$$[QT_INSTALL_TRANSLATIONS]/assistant_adp_ja.ts \
$$[QT_INSTALL_TRANSLATIONS]/assistant_adp_pl.ts \
$$[QT_INSTALL_TRANSLATIONS]/assistant_adp_untranslated.ts \
- $$[QT_INSTALL_TRANSLATIONS]/assistant_adp_tr_TR.ts \
$$[QT_INSTALL_TRANSLATIONS]/assistant_adp_zh_CN.ts \
$$[QT_INSTALL_TRANSLATIONS]/assistant_adp_zh_TW.ts
error("This is a dummy profile to be used for translations ONLY.")
diff --git a/tools/designer/src/components/propertyeditor/propertyeditor.cpp b/tools/designer/src/components/propertyeditor/propertyeditor.cpp
index 63b57d8..806e1dd 100644
--- a/tools/designer/src/components/propertyeditor/propertyeditor.cpp
+++ b/tools/designer/src/components/propertyeditor/propertyeditor.cpp
@@ -205,14 +205,15 @@ PropertyEditor::PropertyEditor(QDesignerFormEditorInterface *core, QWidget *pare
colors.push_back(QColor(234, 191, 255));
colors.push_back(QColor(255, 191, 239));
m_colors.reserve(colors.count());
+ const int darknessFactor = 250;
for (int i = 0; i < colors.count(); i++) {
QColor c = colors.at(i);
- m_colors.push_back(qMakePair(c, c.darker(150)));
+ m_colors.push_back(qMakePair(c, c.darker(darknessFactor)));
}
QColor dynamicColor(191, 207, 255);
QColor layoutColor(255, 191, 191);
- m_dynamicColor = qMakePair(dynamicColor, dynamicColor.darker(150));
- m_layoutColor = qMakePair(layoutColor, layoutColor.darker(150));
+ m_dynamicColor = qMakePair(dynamicColor, dynamicColor.darker(darknessFactor));
+ m_layoutColor = qMakePair(layoutColor, layoutColor.darker(darknessFactor));
updateForegroundBrightness();
diff --git a/tools/designer/src/designer/versiondialog.cpp b/tools/designer/src/designer/versiondialog.cpp
index a129a4d..c21912b 100644
--- a/tools/designer/src/designer/versiondialog.cpp
+++ b/tools/designer/src/designer/versiondialog.cpp
@@ -169,31 +169,11 @@ VersionDialog::VersionDialog(QWidget *parent)
VersionLabel *label = new VersionLabel;
QLabel *lbl = new QLabel;
QString version = tr("<h3>%1</h3><br/><br/>Version %2");
-#if QT_EDITION == QT_EDITION_OPENSOURCE
- QString open = tr(" Open Source Edition");
- version.append(open);
-#endif
version = version.arg(tr("Qt Designer")).arg(QLatin1String(QT_VERSION_STR));
version.append(tr("<br/>Qt Designer is a graphical user interface designer for Qt applications.<br/>"));
- QString edition =
-#if QT_EDITION == QT_EDITION_OPENSOURCE
- tr("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://qtsoftware.com/company/about/businessmodel\">http://qtsoftware.com/company/about/businessmodel"
- ".html</a> for an overview of Qt licensing.<br/>");
-#elif defined(QT_PRODUCT_LICENSE)
- tr("This program is licensed to you under the terms of the "
- "Qt %1 License Agreement. For details, see the license file "
- "that came with this software distribution.<br/>").arg(QT_PRODUCT_LICENSE);
-#else
- tr("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/>");
-#endif
+ // TODO: Remove this variable for 4.6.0. Must keep this way for 4.5.x due to string freeze
+ QString edition;
lbl->setText(tr("%1"
"<br/>%2"
diff --git a/tools/designer/src/uitools/quiloader.cpp b/tools/designer/src/uitools/quiloader.cpp
index d3d1d54..67bd29c 100644
--- a/tools/designer/src/uitools/quiloader.cpp
+++ b/tools/designer/src/uitools/quiloader.cpp
@@ -259,9 +259,9 @@ public:
const int row_cnt = tablew->rowCount();
const int col_cnt = tablew->columnCount();
for (int j = 0; j < col_cnt; ++j)
- reTranslateTableItem(tablew->verticalHeaderItem(j), m_className);
+ reTranslateTableItem(tablew->horizontalHeaderItem(j), m_className);
for (int i = 0; i < row_cnt; ++i) {
- reTranslateTableItem(tablew->horizontalHeaderItem(i), m_className);
+ reTranslateTableItem(tablew->verticalHeaderItem(i), m_className);
for (int j = 0; j < col_cnt; ++j)
reTranslateTableItem(tablew->item(i, j), m_className);
}
diff --git a/tools/designer/translations/translations.pro b/tools/designer/translations/translations.pro
index 7294956..8395259 100644
--- a/tools/designer/translations/translations.pro
+++ b/tools/designer/translations/translations.pro
@@ -133,7 +133,6 @@ HEADERS += ../../shared/findwidget/abstractfindwidget.h \
TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/designer_de.ts \
$$[QT_INSTALL_TRANSLATIONS]/designer_ja.ts \
$$[QT_INSTALL_TRANSLATIONS]/designer_pl.ts \
- $$[QT_INSTALL_TRANSLATIONS]/designer_tr_TR.ts \
$$[QT_INSTALL_TRANSLATIONS]/designer_zh_CN.ts \
$$[QT_INSTALL_TRANSLATIONS]/designer_zh_TW.ts \
$$[QT_INSTALL_TRANSLATIONS]/designer_untranslated.ts
diff --git a/tools/linguist/linguist/linguist.pro b/tools/linguist/linguist/linguist.pro
index 417ef67..968293a 100644
--- a/tools/linguist/linguist/linguist.pro
+++ b/tools/linguist/linguist/linguist.pro
@@ -100,7 +100,6 @@ RESOURCES += linguist.qrc
TRANSLATIONS=$$[QT_INSTALL_TRANSLATIONS]/linguist_ja.ts \
$$[QT_INSTALL_TRANSLATIONS]/linguist_pl.ts \
$$[QT_INSTALL_TRANSLATIONS]/linguist_untranslated.ts \
- $$[QT_INSTALL_TRANSLATIONS]/linguist_tr_TR.ts \
$$[QT_INSTALL_TRANSLATIONS]/linguist_zh_CN.ts \
$$[QT_INSTALL_TRANSLATIONS]/linguist_zh_TW.ts \
$$[QT_INSTALL_TRANSLATIONS]/linguist_de.ts \
diff --git a/tools/linguist/linguist/mainwindow.cpp b/tools/linguist/linguist/mainwindow.cpp
index 84200d4..5157fbe 100644
--- a/tools/linguist/linguist/mainwindow.cpp
+++ b/tools/linguist/linguist/mainwindow.cpp
@@ -1340,30 +1340,10 @@ void MainWindow::about()
QMessageBox box(this);
box.setTextFormat(Qt::RichText);
QString version = tr("Version %1");
-#if QT_EDITION == QT_EDITION_OPENSOURCE
- QString open = tr(" Open Source Edition");
- version.append(open);
-#endif
version = version.arg(QLatin1String(QT_VERSION_STR));
- QString edition =
-#if QT_EDITION == QT_EDITION_OPENSOURCE
- tr("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://qtsoftware.com/company/model"
- ".html</tt> for an overview of Qt licensing.");
-#elif defined(QT_PRODUCT_LICENSE)
- tr("This program is licensed to you under the terms of the "
- "Qt %1 License Agreement. For details, see the license file "
- "that came with this software distribution.").arg(QLatin1String(QT_PRODUCT_LICENSE));
-#else
- tr("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.");
-#endif
+ // TODO: Remove this variable for 4.6.0. Must keep this way for 4.5.x due to string freeze.
+ QString edition;
box.setText(tr("<center><img src=\":/images/splash.png\"/></img><p>%1</p></center>"
"<p>Qt Linguist is a tool for adding translations to Qt "
diff --git a/tools/linguist/linguist/messageeditor.cpp b/tools/linguist/linguist/messageeditor.cpp
index dc8b8e4..53cbbea 100644
--- a/tools/linguist/linguist/messageeditor.cpp
+++ b/tools/linguist/linguist/messageeditor.cpp
@@ -133,19 +133,12 @@ void MessageEditor::setupEditorPage()
QFrame *editorPage = new QFrame;
editorPage->setObjectName(QLatin1String("editorPage"));
- // Due to CSS being rather broken on the Mac style at the moment, only
- // use the border-image on non-Mac systems.
editorPage->setStyleSheet(QLatin1String(
-#ifndef Q_WS_MAC
"QFrame#editorPage { border-image: url(:/images/transbox.png) 12 16 16 12 repeat;"
" border-width: 12px 16px 16px 12px; }"
-#endif
"QFrame#editorPage { background-color: white; }"
"QLabel { font-weight: bold; }"
));
-#ifdef Q_WS_MAC
- editorPage->setFrameStyle(QFrame::StyledPanel | QFrame::Raised);
-#endif
editorPage->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed));
m_source = new FormWidget(tr("Source text"), false);
diff --git a/tools/qdbus/qdbusviewer/qdbusviewer.cpp b/tools/qdbus/qdbusviewer/qdbusviewer.cpp
index e8ac3a6..9c25a89 100644
--- a/tools/qdbus/qdbusviewer/qdbusviewer.cpp
+++ b/tools/qdbus/qdbusviewer/qdbusviewer.cpp
@@ -440,22 +440,11 @@ void QDBusViewer::refreshChildren()
void QDBusViewer::about()
{
QMessageBox box(this);
-#if QT_EDITION == QT_EDITION_OPENSOURCE
- QString edition = tr("Open Source Edition");
- QString info = tr("This version of Qt's D-Bus Viewer is part of the Qt Open Source Edition. "
- "Qt is a comprehensive C++ framework for cross-platform application "
- "development.");
- QString moreInfo = tr("You need a commercial Qt license for development of proprietary (closed "
- "source) applications. Please see <a href=\"http://qtsoftware.com/company/model"
- ".html\">qtsoftware.com/company/model.html</a> for an overview of Qt licensing.");
-#else
+
+ // TODO: Remove these variables for 4.6.0. Must keep this way for 4.5.x due to string freeze.
QString edition;
QString info;
- QString moreInfo(tr("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."));
-
-#endif
+ QString moreInfo;
box.setText(QString::fromLatin1("<center><img src=\":/trolltech/qdbusviewer/images/qdbusviewer-128.png\">"
"<h3>%1</h3>"
diff --git a/tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp b/tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp
index a871fe4..d7dab0b 100644
--- a/tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp
+++ b/tools/qdbus/qdbusxml2cpp/qdbusxml2cpp.cpp
@@ -82,7 +82,6 @@ static QStringList wantedInterfaces;
static const char help[] =
"Usage: " PROGRAMNAME " [options...] [xml-or-xml-file] [interfaces...]\n"
"Produces the C++ code to implement the interfaces defined in the input file.\n"
- "If no options are given, the code is written to the standard output.\n"
"\n"
"Options:\n"
" -a <filename> Write the adaptor code to <filename>\n"
@@ -99,7 +98,10 @@ static const char help[] =
"If the file name given to the options -a and -p does not end in .cpp or .h, the\n"
"program will automatically append the suffixes and produce both files.\n"
"You can also use a colon (:) to separate the header name from the source file\n"
- "name, as in '-a filename_p.h:filename.cpp'.\n";
+ "name, as in '-a filename_p.h:filename.cpp'.\n"
+ "\n"
+ "If you pass a dash (-) as the argument to either -p or -a, the output is written\n"
+ "to the standard output\n";
static const char includeList[] =
"#include <QtCore/QByteArray>\n"
diff --git a/tools/qdoc3/qdoc3.pro b/tools/qdoc3/qdoc3.pro
index 3268585..2bba8fb 100644
--- a/tools/qdoc3/qdoc3.pro
+++ b/tools/qdoc3/qdoc3.pro
@@ -99,10 +99,3 @@ SOURCES += apigenerator.cpp \
webxmlgenerator.cpp \
yyindent.cpp
-
-win32 {
- QT_WINCONFIG = release
- CONFIG(debug, debug|release) {
- QT_WINCONFIG = debug
- }
-}
diff --git a/tools/qdoc3/test/assistant.qdocconf b/tools/qdoc3/test/assistant.qdocconf
index 7bb6bbf..b6313fa 100644
--- a/tools/qdoc3/test/assistant.qdocconf
+++ b/tools/qdoc3/test/assistant.qdocconf
@@ -6,18 +6,18 @@ include(qt-defines.qdocconf)
project = Qt Assistant
description = Qt Assistant Manual
-url = http://doc.trolltech.com/4.5
+url = http://doc.qtsoftware.com/4.5
indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index
qhp.projects = Assistant
qhp.Assistant.file = assistant.qhp
-qhp.Assistant.namespace = com.trolltech.assistant.450
+qhp.Assistant.namespace = com.trolltech.assistant.452
qhp.Assistant.virtualFolder = qdoc
qhp.Assistant.indexTitle = Qt Assistant Manual
qhp.Assistant.extraFiles = classic.css images/qt-logo.png images/trolltech-logo.png
-qhp.Assistant.filterAttributes = qt 4.5.0 tools assistant
+qhp.Assistant.filterAttributes = qt 4.5.2 tools assistant
qhp.Assistant.customFilters.Assistant.name = Qt Assistant Manual
qhp.Assistant.customFilters.Assistant.filterAttributes = qt tools assistant
qhp.Assistant.subprojects = manual examples
diff --git a/tools/qdoc3/test/carbide-eclipse-integration.qdocconf b/tools/qdoc3/test/carbide-eclipse-integration.qdocconf
index 683048d..aee5e17 100644
--- a/tools/qdoc3/test/carbide-eclipse-integration.qdocconf
+++ b/tools/qdoc3/test/carbide-eclipse-integration.qdocconf
@@ -6,7 +6,7 @@ macro.TheEclipseIntegration = Carbide.c++
HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
"<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \
- "<td width=\"40%\" align="left">Copyright &copy; 2009 <a href=\"http://doc.trolltech.com/trolltech.html\">Nokia Corporation</a></td>\n" \
- "<td width=\"30%\" align=\"center\"><a href=\"http://doc.trolltech.com\">Trademarks</a></td>\n" \
- "<td width=\"40%\" align=\"right\"><div align=\"right\">Carbide.c++</div></td>\n" \
+ "<td width=\"30%\" align=\"left\">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \
+ "<td width=\"40%\" align=\"center\"><a href=\"http://doc.qtsoftware.com\">Trademarks</a></td>\n" \
+ "<td width=\"30%\" align=\"right\"><div align=\"right\">Carbide.c++</div></td>\n" \
"</tr></table></div></address>"
diff --git a/tools/qdoc3/test/designer.qdocconf b/tools/qdoc3/test/designer.qdocconf
index 26636cd..8d9a49e 100644
--- a/tools/qdoc3/test/designer.qdocconf
+++ b/tools/qdoc3/test/designer.qdocconf
@@ -6,18 +6,18 @@ include(qt-defines.qdocconf)
project = Qt Designer
description = Qt Designer Manual
-url = http://doc.trolltech.com/4.5
+url = http://doc.qtsoftware.com/4.5
indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index
qhp.projects = Designer
qhp.Designer.file = designer.qhp
-qhp.Designer.namespace = com.trolltech.designer.450
+qhp.Designer.namespace = com.trolltech.designer.452
qhp.Designer.virtualFolder = qdoc
qhp.Designer.indexTitle = Qt Designer Manual
qhp.Designer.extraFiles = classic.css images/qt-logo.png images/trolltech-logo.png
-qhp.Designer.filterAttributes = qt 4.5.0 tools designer
+qhp.Designer.filterAttributes = qt 4.5.2 tools designer
qhp.Designer.customFilters.Designer.name = Qt Designer Manual
qhp.Designer.customFilters.Designer.filterAttributes = qt tools designer
qhp.Designer.subprojects = manual examples
diff --git a/tools/qdoc3/test/eclipse-integration.qdocconf b/tools/qdoc3/test/eclipse-integration.qdocconf
index 1fdaa1b..d9e4ac7 100644
--- a/tools/qdoc3/test/eclipse-integration.qdocconf
+++ b/tools/qdoc3/test/eclipse-integration.qdocconf
@@ -8,6 +8,6 @@ outputdir = $QTDIR/../qteclipsetools/main/doc/html
project = Qt Eclipse Integration
description = "Qt Eclipse Integration"
-url = http://doc.trolltech.com/eclipse-integration-4.4
+url = http://doc.qtsoftware.com/qt-eclipse-1.5
HTML.{postheader,address} = ""
diff --git a/tools/qdoc3/test/jambi.qdocconf b/tools/qdoc3/test/jambi.qdocconf
index 3644b69..101b33a 100644
--- a/tools/qdoc3/test/jambi.qdocconf
+++ b/tools/qdoc3/test/jambi.qdocconf
@@ -3,7 +3,7 @@ include(macros.qdocconf)
project = Qt Jambi
description = Qt Jambi Reference Documentation
-url = http://doc.trolltech.com/qtjambi
+url = http://doc.qtsoftware.com/qtjambi
version = 4.4.0_01
@@ -41,7 +41,7 @@ HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0
HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
"<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \
- "<td width=\"30%\">Copyright &copy; \$THISYEAR\$ <a href=\"trolltech.html\">Trolltech</a></td>\n" \
+ "<td width=\"30%\" align=\"left\">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \
"<td width=\"40%\" align=\"center\"><a href=\"trademarks.html\">Trademarks</a></td>\n" \
"<td width=\"30%\" align=\"right\"><div align=\"right\">Qt Jambi \\version</div></td>\n" \
"</tr></table></div></address>"
diff --git a/tools/qdoc3/test/linguist.qdocconf b/tools/qdoc3/test/linguist.qdocconf
index 5e889a8..177a54c 100644
--- a/tools/qdoc3/test/linguist.qdocconf
+++ b/tools/qdoc3/test/linguist.qdocconf
@@ -6,18 +6,18 @@ include(qt-defines.qdocconf)
project = Qt Linguist
description = Qt Linguist Manual
-url = http://doc.trolltech.com/4.5
+url = http://doc.qtsoftware.com/4.5
indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index
qhp.projects = Linguist
qhp.Linguist.file = linguist.qhp
-qhp.Linguist.namespace = com.trolltech.linguist.450
+qhp.Linguist.namespace = com.trolltech.linguist.452
qhp.Linguist.virtualFolder = qdoc
qhp.Linguist.indexTitle = Qt Linguist Manual
qhp.Linguist.extraFiles = classic.css images/qt-logo.png images/trolltech-logo.png
-qhp.Linguist.filterAttributes = qt 4.5.0 tools linguist
+qhp.Linguist.filterAttributes = qt 4.5.2 tools linguist
qhp.Linguist.customFilters.Linguist.name = Qt Linguist Manual
qhp.Linguist.customFilters.Linguist.filterAttributes = qt tools linguist
qhp.Linguist.subprojects = manual examples
diff --git a/tools/qdoc3/test/qmake.qdocconf b/tools/qdoc3/test/qmake.qdocconf
index c357cfb..20b0acf 100644
--- a/tools/qdoc3/test/qmake.qdocconf
+++ b/tools/qdoc3/test/qmake.qdocconf
@@ -6,18 +6,18 @@ include(qt-defines.qdocconf)
project = QMake
description = QMake Manual
-url = http://doc.trolltech.com/4.5
+url = http://doc.qtsoftware.com/4.5
indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index
qhp.projects = qmake
qhp.qmake.file = qmake.qhp
-qhp.qmake.namespace = com.trolltech.qmake.450
+qhp.qmake.namespace = com.trolltech.qmake.452
qhp.qmake.virtualFolder = qdoc
qhp.qmake.indexTitle = QMake Manual
qhp.qmake.extraFiles = classic.css images/qt-logo.png images/trolltech-logo.png
-qhp.qmake.filterAttributes = qt 4.5.0 tools qmake
+qhp.qmake.filterAttributes = qt 4.5.2 tools qmake
qhp.qmake.customFilters.qmake.name = qmake Manual
qhp.qmake.customFilters.qmake.filterAttributes = qt tools qmake
qhp.qmake.subprojects = manual
diff --git a/tools/qdoc3/test/qt-build-docs.qdocconf b/tools/qdoc3/test/qt-build-docs.qdocconf
index 25cdc5a..a05786b 100644
--- a/tools/qdoc3/test/qt-build-docs.qdocconf
+++ b/tools/qdoc3/test/qt-build-docs.qdocconf
@@ -6,7 +6,7 @@ include(qt-defines.qdocconf)
project = Qt
description = Qt Reference Documentation
-url = http://doc.trolltech.com/4.5
+url = http://doc.qtsoftware.com/4.5
edition.Console.modules = QtCore QtDBus QtNetwork QtScript QtSql QtXml \
QtXmlPatterns QtTest
@@ -20,10 +20,10 @@ edition.DesktopLight.groups = -graphicsview-api
qhp.projects = Qt
qhp.Qt.file = qt.qhp
-qhp.Qt.namespace = com.trolltech.qt.450
+qhp.Qt.namespace = com.trolltech.qt.452
qhp.Qt.virtualFolder = qdoc
qhp.Qt.indexTitle = Qt Reference Documentation
-qhp.Qt.indexRoot =
+qhp.Qt.indexRoot =
# Files not referenced in any qdoc file (last four are needed by qtdemo)
# See also extraimages.HTML
@@ -33,11 +33,11 @@ qhp.Qt.extraFiles = classic.css \
images/taskmenuextension-example.png \
images/coloreditorfactoryimage.png \
images/dynamiclayouts-example.png \
- images/stylesheet-coffee-plastique.png
+ images/stylesheet-coffee-plastique.png
-qhp.Qt.filterAttributes = qt 4.5.0 qtrefdoc
-qhp.Qt.customFilters.Qt.name = Qt 4.5.0
-qhp.Qt.customFilters.Qt.filterAttributes = qt 4.5.0
+qhp.Qt.filterAttributes = qt 4.5.2 qtrefdoc
+qhp.Qt.customFilters.Qt.name = Qt 4.5.2
+qhp.Qt.customFilters.Qt.filterAttributes = qt 4.5.2
qhp.Qt.subprojects = classes overviews examples
qhp.Qt.subprojects.classes.title = Classes
qhp.Qt.subprojects.classes.indexTitle = Qt's Classes
@@ -105,7 +105,8 @@ exampledirs = $QT_SOURCE_TREE/doc/src \
$QT_SOURCE_TREE/examples \
$QT_SOURCE_TREE/examples/tutorials \
$QT_SOURCE_TREE \
- $QT_SOURCE_TREE/qmake/examples
+ $QT_SOURCE_TREE/qmake/examples \
+ $QT_SOURCE_TREE/src/3rdparty/webkit/WebKit/qt/docs
imagedirs = $QT_SOURCE_TREE/doc/src/images \
$QT_SOURCE_TREE/examples
outputdir = $QT_BUILD_TREE/doc/html
diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf
index f09192a..dc027d0 100644
--- a/tools/qdoc3/test/qt-html-templates.qdocconf
+++ b/tools/qdoc3/test/qt-html-templates.qdocconf
@@ -25,8 +25,7 @@ HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0
HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
"<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \
- "<td width=\"30%\" align=\"left\">Copyright &copy; %THISYEAR% Nokia Corporation " \
- "and/or its subsidiary(-ies)</td>\n" \
+ "<td width=\"30%\" align=\"left\">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \
"<td width=\"40%\" align=\"center\"><a href=\"trademarks.html\">Trademarks</a></td>\n" \
"<td width=\"30%\" align=\"right\"><div align=\"right\">Qt \\version</div></td>\n" \
"</tr></table></div></address>"
diff --git a/tools/qdoc3/test/qt-inc.qdocconf b/tools/qdoc3/test/qt-inc.qdocconf
index 97893dc..d6cb0e6 100644
--- a/tools/qdoc3/test/qt-inc.qdocconf
+++ b/tools/qdoc3/test/qt-inc.qdocconf
@@ -3,7 +3,7 @@ include(macros.qdocconf)
project = Qt
description = Qt Reference Documentation
-url = http://doc.trolltech.com/4.5
+url = http://doc.qtsoftware.com/4.5
edition.Console = QtCore QtNetwork QtSql QtXml QtScript QtTest
edition.Desktop = QtCore QtGui QtNetwork QtOpenGL QtSql QtSvg QtXml QtScript \
@@ -20,7 +20,8 @@ headerdirs = $QDOC_CURRENT_DIR
exampledirs = $QTDIR/doc/src \
$QTDIR/examples \
$QTDIR \
- $QTDIR/qmake/examples
+ $QTDIR/qmake/examples \
+ $QTDIR/src/3rdparty/webkit/WebKit/qt/docs
imagedirs = $QTDIR/doc/src/images \
$QTDIR/examples
outputdir = $QTDIR/doc/html
@@ -140,7 +141,7 @@ HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0
HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
"<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \
- "<td width=\"30%\">Copyright &copy; %THISYEAR% <a href=\"trolltech.html\">Trolltech</a></td>\n" \
+ "<td width=\"30%\" align=\"left\">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \
"<td width=\"40%\" align=\"center\"><a href=\"trademarks.html\">Trademarks</a></td>\n" \
"<td width=\"30%\" align=\"right\"><div align=\"right\">Qt \\version</div></td>\n" \
"</tr></table></div></address>"
diff --git a/tools/qdoc3/test/qt.qdocconf b/tools/qdoc3/test/qt.qdocconf
index 4d401a4..964869c 100644
--- a/tools/qdoc3/test/qt.qdocconf
+++ b/tools/qdoc3/test/qt.qdocconf
@@ -8,7 +8,7 @@ project = Qt
versionsym =
version = %VERSION%
description = Qt Reference Documentation
-url = http://doc.trolltech.com/4.5
+url = http://doc.qtsoftware.com/4.5
edition.Console.modules = QtCore QtDBus QtNetwork QtScript QtSql QtXml \
QtXmlPatterns QtTest
@@ -22,10 +22,10 @@ edition.DesktopLight.groups = -graphicsview-api
qhp.projects = Qt
qhp.Qt.file = qt.qhp
-qhp.Qt.namespace = com.trolltech.qt.451
+qhp.Qt.namespace = com.trolltech.qt.452
qhp.Qt.virtualFolder = qdoc
qhp.Qt.indexTitle = Qt Reference Documentation
-qhp.Qt.indexRoot =
+qhp.Qt.indexRoot =
# Files not referenced in any qdoc file (last four are needed by qtdemo)
# See also extraimages.HTML
@@ -35,11 +35,11 @@ qhp.Qt.extraFiles = classic.css \
images/taskmenuextension-example.png \
images/coloreditorfactoryimage.png \
images/dynamiclayouts-example.png \
- images/stylesheet-coffee-plastique.png
+ images/stylesheet-coffee-plastique.png
-qhp.Qt.filterAttributes = qt 4.5.0 qtrefdoc
-qhp.Qt.customFilters.Qt.name = Qt 4.5.0
-qhp.Qt.customFilters.Qt.filterAttributes = qt 4.5.0
+qhp.Qt.filterAttributes = qt 4.5.2 qtrefdoc
+qhp.Qt.customFilters.Qt.name = Qt 4.5.2
+qhp.Qt.customFilters.Qt.filterAttributes = qt 4.5.2
qhp.Qt.subprojects = classes overviews examples
qhp.Qt.subprojects.classes.title = Classes
qhp.Qt.subprojects.classes.indexTitle = Qt's Classes
@@ -107,7 +107,8 @@ exampledirs = $QTDIR/doc/src \
$QTDIR/examples \
$QTDIR/examples/tutorials \
$QTDIR \
- $QTDIR/qmake/examples
+ $QTDIR/qmake/examples \
+ $QTDIR/src/3rdparty/webkit/WebKit/qt/docs
imagedirs = $QTDIR/doc/src/images \
$QTDIR/examples
outputdir = $QTDIR/doc/html
diff --git a/tools/qdoc3/test/standalone-eclipse-integration.qdocconf b/tools/qdoc3/test/standalone-eclipse-integration.qdocconf
index c3c4291..127b578 100644
--- a/tools/qdoc3/test/standalone-eclipse-integration.qdocconf
+++ b/tools/qdoc3/test/standalone-eclipse-integration.qdocconf
@@ -5,7 +5,7 @@ macro.TheEclipseIntegration = The Qt Eclipse Integration
HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
"<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \
- "<td width=\"40%\" align="left">Copyright &copy; 2009 <a href=\"http://doc.trolltech.com\">Nokia Corporation</a></td>\n" \
- "<td width=\"30%\" align=\"center\"><a href=\"http://doc.trolltech.com/trademarks.html\">Trademarks</a></td>\n" \
- "<td width=\"40%\" align=\"right\"><div align=\"right\">Qt Eclipse Integration 1.4.3</div></td>\n" \
+ "<td width=\"30%\" align=\"left\">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \
+ "<td width=\"40%\" align=\"center\"><a href=\"http://doc.qtsoftware.com/trademarks.html\">Trademarks</a></td>\n" \
+ "<td width=\"30%\" align=\"right\"><div align=\"right\">Qt Eclipse Integration 1.4.3</div></td>\n" \
"</tr></table></div></address>"
diff --git a/tools/qtconfig/mainwindow.cpp b/tools/qtconfig/mainwindow.cpp
index 498a6b6..47b1417 100644
--- a/tools/qtconfig/mainwindow.cpp
+++ b/tools/qtconfig/mainwindow.cpp
@@ -999,20 +999,6 @@ void MainWindow::helpAbout()
QMessageBox box(this);
box.setText(tr("<h3>%1</h3>"
"<br/>Version %2"
-#if QT_EDITION == QT_EDITION_OPENSOURCE
- " Open Source Edition</center><p>"
- "This version of Qt Configuration 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://qtsoftware.com/company/model"
- ".html</tt> for an overview of Qt licensing."
-#else
- "</center><p>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."
-#endif
"<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"
diff --git a/tools/tools.pro b/tools/tools.pro
index ffc5d63..3325a57 100644
--- a/tools/tools.pro
+++ b/tools/tools.pro
@@ -15,7 +15,7 @@ no-png {
SUBDIRS += linguist
wince*: SUBDIRS = qtestlib designer
unix:!mac:!embedded:contains(QT_CONFIG, qt3support):SUBDIRS += qtconfig
- win32:!wince*:!contains(QT_EDITION, OpenSource|Console):SUBDIRS += activeqt
+ win32:!wince*:SUBDIRS += activeqt
}
mac {
diff --git a/translations/assistant_adp_de.ts b/translations/assistant_adp_de.ts
index c92d6f9..db2005a 100644
--- a/translations/assistant_adp_de.ts
+++ b/translations/assistant_adp_de.ts
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="de">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="de">
<context>
<name>Assistant</name>
<message>
@@ -15,7 +15,7 @@
<context>
<name>AssistantServer</name>
<message>
- <location filename="../tools/assistant/compat/main.cpp" line="+195"/>
+ <location filename="../tools/assistant/compat/main.cpp" line="+225"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
@@ -103,7 +103,7 @@
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation>Schrift</translation>
</message>
@@ -131,7 +131,7 @@
<context>
<name>FontSettingsDialog</name>
<message>
- <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="+33"/>
+ <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="+63"/>
<source>Font Settings</source>
<translation>Schriftart</translation>
</message>
@@ -188,9 +188,9 @@
<translation type="obsolete">Qt Assistant Handbuch</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/helpdialog.cpp" line="+345"/>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="+376"/>
<location line="+16"/>
- <location line="+659"/>
+ <location line="+661"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
@@ -199,7 +199,7 @@
<translation type="obsolete">Öffne Link im aktuellen Fenster</translation>
</message>
<message>
- <location line="-769"/>
+ <location line="-771"/>
<source>Open Link in New Window</source>
<translation>Öffne Link in neuem Fenster</translation>
</message>
@@ -245,7 +245,7 @@ Skipping file.</source>
</message>
<message>
<location line="+35"/>
- <location line="+467"/>
+ <location line="+469"/>
<source>Done</source>
<translation>Fertig</translation>
</message>
@@ -284,7 +284,7 @@ Skipping file.</source>
</translation>
</message>
<message>
- <location line="-880"/>
+ <location line="-882"/>
<source>Open Link in Current Tab</source>
<translation>Link im Aktuellen Tab öffnen</translation>
</message>
@@ -307,7 +307,7 @@ Skipping file.</source>
<translation>Dokumentation %1 ist nicht kompatibel! Datei wird übersprungen.</translation>
</message>
<message>
- <location line="+468"/>
+ <location line="+470"/>
<source>Failed to save fulltext search index
Assistant will not work!</source>
<translation>Der Index für die Volltextsuche konnte nicht gespeichert werden.
@@ -630,7 +630,7 @@ Assistent ist nicht einsatzbereit!</translation>
<translation type="obsolete">Qt Assistant von Trolltech - %1</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/helpwindow.cpp" line="+67"/>
+ <location filename="../tools/assistant/compat/helpwindow.cpp" line="+97"/>
<source>Help</source>
<translation>Hilfe</translation>
</message>
@@ -717,7 +717,7 @@ Bitte überprüfen Sie, das dieser an der angegeben Stelle existiert.</translati
<context>
<name>Index</name>
<message>
- <location filename="../tools/assistant/compat/index.cpp" line="+355"/>
+ <location filename="../tools/assistant/compat/index.cpp" line="+385"/>
<source>Untitled</source>
<translation>Unbenannt</translation>
</message>
@@ -853,7 +853,7 @@ Bitte überprüfen Sie, das dieser an der angegeben Stelle existiert.</translati
<translation type="obsolete">A&amp;nsicht</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/mainwindow.cpp" line="+158"/>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+188"/>
<source>Ctrl+T</source>
<translation>Strg+T
</translation>
@@ -869,17 +869,15 @@ Bitte überprüfen Sie, das dieser an der angegeben Stelle existiert.</translati
<translation>Strg+E</translation>
</message>
<message>
- <location line="+130"/>
<source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/model&quot;&gt;qtsoftware.com/company/model&lt;/a&gt; for an overview of Qt licensing.</source>
- <translation>Sie benötigen eine kommerzielle Qt Lizenz für die Entwicklung von proprietären (geschlossenen) Anwendungen. Besuchen Sie &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel&lt;/a&gt; um sich einen Überblick über die Qt Lizenzvergabe zu verschaffen.</translation>
+ <translation type="obsolete">Sie benötigen eine kommerzielle Qt Lizenz für die Entwicklung von proprietären (geschlossenen) Anwendungen. Besuchen Sie &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel&lt;/a&gt; um sich einen Überblick über die Qt Lizenzvergabe zu verschaffen.</translation>
</message>
<message>
- <location line="+6"/>
<source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.</source>
- <translation>Dieses Programm ist für Sie lizenziert gemäß den Bedingungen des Qt %1 Lizenzvertrages. Einzelheiten können sie der mitgelieferten Lizenz-Datei entnehmen.</translation>
+ <translation type="obsolete">Dieses Programm ist für Sie lizenziert gemäß den Bedingungen des Qt %1 Lizenzvertrages. Einzelheiten können sie der mitgelieferten Lizenz-Datei entnehmen.</translation>
</message>
<message>
- <location line="+21"/>
+ <location line="+139"/>
<location line="+1"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
@@ -1082,7 +1080,7 @@ Bitte überprüfen Sie, das dieser an der angegeben Stelle existiert.</translati
<translation>Umschalt+F1</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/mainwindow.cpp" line="-157"/>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="-139"/>
<source>Ctrl+S</source>
<translation>Strg+S</translation>
</message>
@@ -1170,7 +1168,7 @@ Bitte überprüfen Sie, das dieser an der angegeben Stelle existiert.</translati
<translation></translation>
</message>
<message>
- <location filename="../tools/assistant/compat/mainwindow.cpp" line="+209"/>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+191"/>
<source>Failed to open about application contents in file: &apos;%1&apos;</source>
<translation>Fehler beim öffnen des Inhalts in Datei: &apos;%1&apos;</translation>
</message>
@@ -1179,7 +1177,7 @@ Bitte überprüfen Sie, das dieser an der angegeben Stelle existiert.</translati
<translation type="obsolete">Fehler ...</translation>
</message>
<message>
- <location line="-264"/>
+ <location line="-246"/>
<source>Sidebar</source>
<translation>Sidebar</translation>
</message>
@@ -1229,22 +1227,19 @@ Bitte überprüfen Sie, das dieser an der angegeben Stelle existiert.</translati
<translation>Zeigt die Hauptseite eines Dokumentensets an.</translation>
</message>
<message>
- <location line="+35"/>
<source>Open Source Edition</source>
- <translation>Open Source Edition</translation>
+ <translation type="obsolete">Open Source Edition</translation>
</message>
<message>
- <location line="+1"/>
<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.</source>
- <translation>Diese Version von Qt Assistant ist Teil der Qt Open Source Edition und darf für die Entwicklung von Open Source Anwendungen genutzt werden. Qt ist ein umfangreiches C++ Framework für die Entwicklung von Cross-Platform-Anwendungen.</translation>
+ <translation type="obsolete">Diese Version von Qt Assistant ist Teil der Qt Open Source Edition und darf für die Entwicklung von Open Source Anwendungen genutzt werden. Qt ist ein umfangreiches C++ Framework für die Entwicklung von Cross-Platform-Anwendungen.</translation>
</message>
<message>
- <location line="+16"/>
<source>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.</source>
- <translation>Dieses Programm ist für Sie lizenziert gemäß den Bedingungen des kommerziellen Qt Lizenzvertrages. Einzelheiten können Sie der mitgelieferten LICENSE-Datei entnehmen.</translation>
+ <translation type="obsolete">Dieses Programm ist für Sie lizenziert gemäß den Bedingungen des kommerziellen Qt Lizenzvertrages. Einzelheiten können Sie der mitgelieferten LICENSE-Datei entnehmen.</translation>
</message>
<message>
- <location line="+236"/>
+ <location line="+270"/>
<source>...</source>
<translation>...</translation>
</message>
@@ -1292,7 +1287,7 @@ Bitte überprüfen Sie, das dieser an der angegeben Stelle existiert.</translati
<translation type="obsolete">Qt Assistant von Trolltech</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/config.cpp" line="+320"/>
+ <location filename="../tools/assistant/compat/config.cpp" line="+350"/>
<source>Qt Assistant by Nokia</source>
<translation type="unfinished"></translation>
</message>
@@ -1470,7 +1465,7 @@ Es müssen zuerst alle Inhalte gelöscht werden.</translation>
<translation>Unbenannt</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+205"/>
+ <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+235"/>
<source>Add page</source>
<translation>Seite einfügen</translation>
</message>
@@ -1528,7 +1523,7 @@ Es müssen zuerst alle Inhalte gelöscht werden.</translation>
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/compat/topicchooser.cpp" line="+26"/>
+ <location filename="../tools/assistant/compat/topicchooser.cpp" line="+56"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;</source>
<translation>Wählen Sie ein Thema für &lt;b&gt;%1&lt;/b&gt;</translation>
</message>
diff --git a/translations/assistant_adp_ja.ts b/translations/assistant_adp_ja.ts
index 0a4b209..312f00f 100644
--- a/translations/assistant_adp_ja.ts
+++ b/translations/assistant_adp_ja.ts
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="ja">
+<!DOCTYPE TS>
+<TS version="2.0" language="ja">
<context>
<name>AssistantServer</name>
<message>
- <location filename="../tools/assistant/compat/main.cpp" line="+195"/>
+ <location filename="../tools/assistant/compat/main.cpp" line="+225"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
@@ -16,7 +17,7 @@
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation type="unfinished"></translation>
</message>
@@ -44,7 +45,7 @@
<context>
<name>FontSettingsDialog</name>
<message>
- <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="+33"/>
+ <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="+63"/>
<source>Font Settings</source>
<translation type="unfinished"></translation>
</message>
@@ -72,7 +73,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../tools/assistant/compat/helpdialog.cpp" line="+248"/>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="+279"/>
<source>Open Link in Current Tab</source>
<translation>リンクを現在のタブに開く</translation>
</message>
@@ -95,12 +96,12 @@
<message>
<location line="-64"/>
<location line="+16"/>
- <location line="+659"/>
+ <location line="+661"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
<message>
- <location line="-675"/>
+ <location line="-677"/>
<source>Failed to load keyword index file
Assistant will not work!</source>
<translation>キーワードインデックスファイルのロードに失敗しました
@@ -140,7 +141,7 @@ Skipping file.</source>
スキップします。</translation>
</message>
<message numerus="yes">
- <location line="+575"/>
+ <location line="+577"/>
<source>%n document(s) found.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -163,8 +164,8 @@ Skipping file.</source>
<translation type="obsolete">検索</translation>
</message>
<message>
- <location line="-527"/>
- <location line="+467"/>
+ <location line="-529"/>
+ <location line="+469"/>
<source>Done</source>
<translation>完了</translation>
</message>
@@ -360,7 +361,7 @@ Assistant は動きません!</translation>
<context>
<name>HelpWindow</name>
<message>
- <location filename="../tools/assistant/compat/helpwindow.cpp" line="+67"/>
+ <location filename="../tools/assistant/compat/helpwindow.cpp" line="+97"/>
<source>Help</source>
<translation>ヘルプ</translation>
</message>
@@ -414,7 +415,7 @@ Assistant は動きません!</translation>
<context>
<name>Index</name>
<message>
- <location filename="../tools/assistant/compat/index.cpp" line="+355"/>
+ <location filename="../tools/assistant/compat/index.cpp" line="+385"/>
<source>Untitled</source>
<translation>タイトルなし</translation>
</message>
@@ -422,7 +423,7 @@ Assistant は動きません!</translation>
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/assistant/compat/mainwindow.cpp" line="+73"/>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+103"/>
<source>Sidebar</source>
<translation>サイドバー</translation>
</message>
@@ -482,17 +483,7 @@ Assistant は動きません!</translation>
<translation>指定されたドキュメントセットのメインページを表示します。</translation>
</message>
<message>
- <location line="+40"/>
- <source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/model&quot;&gt;qtsoftware.com/company/model&lt;/a&gt; for an overview of Qt licensing.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+6"/>
- <source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+21"/>
+ <location line="+49"/>
<location line="+1"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
@@ -853,7 +844,7 @@ Assistant は動きません!</translation>
<translation>名前をつけてページを保存...</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/mainwindow.cpp" line="-691"/>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="-673"/>
<source>&amp;Window</source>
<translation>ウィンドウ(&amp;W)</translation>
</message>
@@ -868,23 +859,20 @@ Assistant は動きません!</translation>
<translation>Ctrl+M</translation>
</message>
<message>
- <location line="+191"/>
<source>Open Source Edition</source>
- <translation>オープンソース版</translation>
+ <translation type="obsolete">オープンソース版</translation>
</message>
<message>
- <location line="+1"/>
<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.</source>
- <translation>この Qt Assistant は Qt オープンソース版の一部であり、オープンソースのアプリケーションの開発を目的としたものです。Qt は、複数のプラットフォームに対応するアプリケーションを開発するための C++ のわかりやすいフレームワークです。</translation>
+ <translation type="obsolete">この Qt Assistant は Qt オープンソース版の一部であり、オープンソースのアプリケーションの開発を目的としたものです。Qt は、複数のプラットフォームに対応するアプリケーションを開発するための C++ のわかりやすいフレームワークです。</translation>
</message>
<message>
<source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt; for an overview of Qt licensing.</source>
<translation type="obsolete">著作権のある(ソースを公開しない)アプリケーションを開発するには、Qt の商用ライセンスが必要です。Qt のライセンスの概要については &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt; をご覧ください。</translation>
</message>
<message>
- <location line="+16"/>
<source>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.</source>
- <translation>このプログラムは Qt 商用版ライセンス規約の定める条件の下で、あなたにライセンスされています。詳細はこのソフトウェアとともに配布される LICENSE ファイルをご覧ください。</translation>
+ <translation type="obsolete">このプログラムは Qt 商用版ライセンス規約の定める条件の下で、あなたにライセンスされています。詳細はこのソフトウェアとともに配布される LICENSE ファイルをご覧ください。</translation>
</message>
<message>
<location filename="../tools/assistant/compat/mainwindow.ui"/>
@@ -935,7 +923,7 @@ Assistant は動きません!</translation>
<translation type="obsolete">Trolltech の Qt Assistant</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/config.cpp" line="+320"/>
+ <location filename="../tools/assistant/compat/config.cpp" line="+350"/>
<source>Qt Assistant by Nokia</source>
<translation type="unfinished"></translation>
</message>
@@ -943,7 +931,7 @@ Assistant は動きません!</translation>
<context>
<name>TabbedBrowser</name>
<message>
- <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+119"/>
+ <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+149"/>
<source>...</source>
<translation>...</translation>
</message>
@@ -1011,7 +999,7 @@ Assistant は動きません!</translation>
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/compat/topicchooser.cpp" line="+26"/>
+ <location filename="../tools/assistant/compat/topicchooser.cpp" line="+56"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;</source>
<translation>&lt;b&gt;%1&lt;/b&gt; のトピックを選択</translation>
</message>
diff --git a/translations/assistant_adp_pl.ts b/translations/assistant_adp_pl.ts
index 3a80244..de0c71c 100644
--- a/translations/assistant_adp_pl.ts
+++ b/translations/assistant_adp_pl.ts
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="pl">
+<!DOCTYPE TS>
+<TS version="2.0" language="pl">
<context>
<name>AssistantServer</name>
<message>
- <location filename="../tools/assistant/compat/main.cpp" line="+195"/>
+ <location filename="../tools/assistant/compat/main.cpp" line="+225"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
@@ -16,7 +17,7 @@
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation>Czcionka</translation>
</message>
@@ -44,7 +45,7 @@
<context>
<name>FontSettingsDialog</name>
<message>
- <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="+33"/>
+ <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="+63"/>
<source>Font Settings</source>
<translation>Ustawienia czcionki</translation>
</message>
@@ -72,7 +73,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../tools/assistant/compat/helpdialog.cpp" line="+248"/>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="+279"/>
<source>Open Link in Current Tab</source>
<translation>Otwórz odsyłacz w bieżącej karcie</translation>
</message>
@@ -95,12 +96,12 @@
<message>
<location line="-64"/>
<location line="+16"/>
- <location line="+659"/>
+ <location line="+661"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
<message>
- <location line="-675"/>
+ <location line="-677"/>
<source>Failed to load keyword index file
Assistant will not work!</source>
<translation>Nie można wczytać indeksu słów kluczowych
@@ -141,7 +142,7 @@ Plik zostaje pominięty.</translation>
</message>
<message>
<location line="+48"/>
- <location line="+467"/>
+ <location line="+469"/>
<source>Done</source>
<translation>Zrobione</translation>
</message>
@@ -346,7 +347,7 @@ Assistant nie będzie działał!</translation>
<context>
<name>HelpWindow</name>
<message>
- <location filename="../tools/assistant/compat/helpwindow.cpp" line="+67"/>
+ <location filename="../tools/assistant/compat/helpwindow.cpp" line="+97"/>
<source>Help</source>
<translation>Pomoc</translation>
</message>
@@ -396,7 +397,7 @@ Assistant nie będzie działał!</translation>
<context>
<name>Index</name>
<message>
- <location filename="../tools/assistant/compat/index.cpp" line="+355"/>
+ <location filename="../tools/assistant/compat/index.cpp" line="+385"/>
<source>Untitled</source>
<translation>Nienazwany</translation>
</message>
@@ -404,7 +405,7 @@ Assistant nie będzie działał!</translation>
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/assistant/compat/mainwindow.cpp" line="+73"/>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+103"/>
<source>Sidebar</source>
<translation>Panel</translation>
</message>
@@ -479,22 +480,15 @@ Assistant nie będzie działał!</translation>
<translation>Pokazuje główną stronę wybranego zestawu dokumentacji.</translation>
</message>
<message>
- <location line="+35"/>
<source>Open Source Edition</source>
- <translation>Wydanie Open Source</translation>
+ <translation type="obsolete">Wydanie Open Source</translation>
</message>
<message>
- <location line="+1"/>
<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.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location line="+16"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
+ <translation type="obsolete">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.</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+49"/>
<location line="+1"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
@@ -865,14 +859,8 @@ Assistant nie będzie działał!</translation>
<translation>Ustawienia czcionki...</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/mainwindow.cpp" line="-492"/>
<source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/model&quot;&gt;qtsoftware.com/company/model&lt;/a&gt; for an overview of Qt licensing.</source>
- <translation>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 &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt;.</translation>
- </message>
- <message>
- <location line="+6"/>
- <source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.</source>
- <translation type="unfinished"></translation>
+ <translation type="obsolete">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 &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt;.</translation>
</message>
</context>
<context>
@@ -882,7 +870,7 @@ Assistant nie będzie działał!</translation>
<translation type="obsolete">Qt Assistant Trolltech&apos;a</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/config.cpp" line="+320"/>
+ <location filename="../tools/assistant/compat/config.cpp" line="+350"/>
<source>Qt Assistant by Nokia</source>
<translation type="unfinished"></translation>
</message>
@@ -890,7 +878,7 @@ Assistant nie będzie działał!</translation>
<context>
<name>TabbedBrowser</name>
<message>
- <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+119"/>
+ <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+149"/>
<source>...</source>
<translation>...</translation>
</message>
@@ -958,7 +946,7 @@ Assistant nie będzie działał!</translation>
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/compat/topicchooser.cpp" line="+26"/>
+ <location filename="../tools/assistant/compat/topicchooser.cpp" line="+56"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;</source>
<translation>Wybierz temat dla &lt;b&gt;%1&lt;/b&gt;</translation>
</message>
diff --git a/translations/assistant_adp_untranslated.ts b/translations/assistant_adp_untranslated.ts
index 52cc26c..e6c927a 100644
--- a/translations/assistant_adp_untranslated.ts
+++ b/translations/assistant_adp_untranslated.ts
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0">
+<!DOCTYPE TS>
+<TS version="2.0">
<context>
<name>AssistantServer</name>
<message>
- <location filename="../tools/assistant/compat/main.cpp" line="+195"/>
+ <location filename="../tools/assistant/compat/main.cpp" line="+225"/>
<source>Qt Assistant</source>
<translation type="unfinished"></translation>
</message>
@@ -16,7 +17,7 @@
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation type="unfinished"></translation>
</message>
@@ -44,7 +45,7 @@
<context>
<name>FontSettingsDialog</name>
<message>
- <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="+33"/>
+ <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="+63"/>
<source>Font Settings</source>
<translation type="unfinished"></translation>
</message>
@@ -77,14 +78,14 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/assistant/compat/helpdialog.cpp" line="+345"/>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="+376"/>
<location line="+16"/>
- <location line="+659"/>
+ <location line="+661"/>
<source>Qt Assistant</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-772"/>
+ <location line="-774"/>
<source>Open Link in Current Tab</source>
<translation type="unfinished"></translation>
</message>
@@ -143,7 +144,7 @@ Skipping file.</source>
</message>
<message>
<location line="+48"/>
- <location line="+467"/>
+ <location line="+469"/>
<source>Done</source>
<translation type="unfinished"></translation>
</message>
@@ -340,7 +341,7 @@ Assistant will not work!</source>
<context>
<name>HelpWindow</name>
<message>
- <location filename="../tools/assistant/compat/helpwindow.cpp" line="+67"/>
+ <location filename="../tools/assistant/compat/helpwindow.cpp" line="+97"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
@@ -389,7 +390,7 @@ Assistant will not work!</source>
<context>
<name>Index</name>
<message>
- <location filename="../tools/assistant/compat/index.cpp" line="+355"/>
+ <location filename="../tools/assistant/compat/index.cpp" line="+385"/>
<source>Untitled</source>
<translation type="unfinished"></translation>
</message>
@@ -457,7 +458,7 @@ Assistant will not work!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/assistant/compat/mainwindow.cpp" line="+158"/>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+188"/>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
@@ -472,17 +473,7 @@ Assistant will not work!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+130"/>
- <source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/model&quot;&gt;qtsoftware.com/company/model&lt;/a&gt; for an overview of Qt licensing.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+6"/>
- <source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+21"/>
+ <location line="+139"/>
<location line="+1"/>
<source>Qt Assistant</source>
<translation type="unfinished"></translation>
@@ -493,7 +484,7 @@ Assistant will not work!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/assistant/compat/mainwindow.cpp" line="-245"/>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="-227"/>
<source>Sidebar</source>
<translation type="unfinished"></translation>
</message>
@@ -553,22 +544,7 @@ Assistant will not work!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
- <source>Open Source Edition</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+1"/>
- <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.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+16"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+35"/>
+ <location line="+69"/>
<source>Failed to open about application contents in file: &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
@@ -867,7 +843,7 @@ Assistant will not work!</source>
<context>
<name>QObject</name>
<message>
- <location filename="../tools/assistant/compat/config.cpp" line="+320"/>
+ <location filename="../tools/assistant/compat/config.cpp" line="+350"/>
<source>Qt Assistant by Nokia</source>
<translation type="unfinished"></translation>
</message>
@@ -875,7 +851,7 @@ Assistant will not work!</source>
<context>
<name>TabbedBrowser</name>
<message>
- <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+119"/>
+ <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+149"/>
<source>...</source>
<translation type="unfinished"></translation>
</message>
@@ -943,7 +919,7 @@ Assistant will not work!</source>
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/compat/topicchooser.cpp" line="+26"/>
+ <location filename="../tools/assistant/compat/topicchooser.cpp" line="+56"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/assistant_adp_zh_CN.ts b/translations/assistant_adp_zh_CN.ts
index 656a598..62354b3 100644
--- a/translations/assistant_adp_zh_CN.ts
+++ b/translations/assistant_adp_zh_CN.ts
@@ -4,7 +4,7 @@
<context>
<name>AssistantServer</name>
<message>
- <location filename="../tools/assistant/compat/main.cpp" line="+195"/>
+ <location filename="../tools/assistant/compat/main.cpp" line="+225"/>
<source>Qt Assistant</source>
<translation>Qt 助手</translation>
</message>
@@ -17,7 +17,7 @@
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation>字体</translation>
</message>
@@ -45,7 +45,7 @@
<context>
<name>FontSettingsDialog</name>
<message>
- <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="+33"/>
+ <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="+63"/>
<source>Font Settings</source>
<translation>字体设置</translation>
</message>
@@ -73,7 +73,7 @@
<context>
<name>HelpDialog</name>
<message>
- <location filename="../tools/assistant/compat/helpdialog.cpp" line="+248"/>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="+279"/>
<source>Open Link in Current Tab</source>
<translation>在当前标签页打开链接</translation>
</message>
@@ -96,12 +96,12 @@
<message>
<location line="-64"/>
<location line="+16"/>
- <location line="+659"/>
+ <location line="+661"/>
<source>Qt Assistant</source>
<translation>Qt 助手</translation>
</message>
<message>
- <location line="-675"/>
+ <location line="-677"/>
<source>Failed to load keyword index file
Assistant will not work!</source>
<translation>加载关键词索引文件失败
@@ -142,7 +142,7 @@ Skipping file.</source>
</message>
<message>
<location line="+48"/>
- <location line="+467"/>
+ <location line="+469"/>
<source>Done</source>
<translation>完成</translation>
</message>
@@ -344,7 +344,7 @@ Assistant will not work!</source>
<context>
<name>HelpWindow</name>
<message>
- <location filename="../tools/assistant/compat/helpwindow.cpp" line="+67"/>
+ <location filename="../tools/assistant/compat/helpwindow.cpp" line="+97"/>
<source>Help</source>
<translation>帮助</translation>
</message>
@@ -394,7 +394,7 @@ Assistant will not work!</source>
<context>
<name>Index</name>
<message>
- <location filename="../tools/assistant/compat/index.cpp" line="+355"/>
+ <location filename="../tools/assistant/compat/index.cpp" line="+385"/>
<source>Untitled</source>
<translation>未命名的</translation>
</message>
@@ -402,7 +402,7 @@ Assistant will not work!</source>
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/assistant/compat/mainwindow.cpp" line="+73"/>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+103"/>
<source>Sidebar</source>
<translation>侧栏</translation>
</message>
@@ -477,22 +477,19 @@ Assistant will not work!</source>
<translation>显示一个指定文档集的主页面。</translation>
</message>
<message>
- <location line="+35"/>
<source>Open Source Edition</source>
- <translation>开源版本</translation>
+ <translation type="obsolete">开源版本</translation>
</message>
<message>
- <location line="+1"/>
<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.</source>
- <translation>这个版本的 Qt 助手是 Qt 开源版本的一部分,用于开发开源应用程序。Qt 是一个用于跨平台应用程序开发的综合 C++ 框架。</translation>
+ <translation type="obsolete">这个版本的 Qt 助手是 Qt 开源版本的一部分,用于开发开源应用程序。Qt 是一个用于跨平台应用程序开发的综合 C++ 框架。</translation>
</message>
<message>
- <location line="+16"/>
<source>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.</source>
- <translation>我们已经允许您在 Qt 商业许可协议下使用本程序。有关细节,请阅读本软件发行中所带的 LICENSE 文件。</translation>
+ <translation type="obsolete">我们已经允许您在 Qt 商业许可协议下使用本程序。有关细节,请阅读本软件发行中所带的 LICENSE 文件。</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+49"/>
<location line="+1"/>
<source>Qt Assistant</source>
<translation>Qt 助手</translation>
@@ -863,14 +860,12 @@ Assistant will not work!</source>
<translation>字体设置...</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/mainwindow.cpp" line="-492"/>
<source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/model&quot;&gt;qtsoftware.com/company/model&lt;/a&gt; for an overview of Qt licensing.</source>
- <translation>开发商业(闭源)应用程序,你需要商业 Qt 许可。对于 Qt 许可的概览,请参考&lt;a href=&quot;http://qtsoftware.com/company/model&quot;&gt;qtsoftware.com/company/model&lt;/a&gt;。</translation>
+ <translation type="obsolete">开发商业(闭源)应用程序,你需要商业 Qt 许可。对于 Qt 许可的概览,请参考&lt;a href=&quot;http://qtsoftware.com/company/model&quot;&gt;qtsoftware.com/company/model&lt;/a&gt;。</translation>
</message>
<message>
- <location line="+6"/>
<source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.</source>
- <translation>我们已经允许您在 Qt %1 许可协议下使用本程序。有关细节,请阅读本软件发行中所带的许可协议文件。</translation>
+ <translation type="obsolete">我们已经允许您在 Qt %1 许可协议下使用本程序。有关细节,请阅读本软件发行中所带的许可协议文件。</translation>
</message>
</context>
<context>
@@ -880,7 +875,7 @@ Assistant will not work!</source>
<translation type="obsolete">Trolltech 的 Qt 助手</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/config.cpp" line="+320"/>
+ <location filename="../tools/assistant/compat/config.cpp" line="+350"/>
<source>Qt Assistant by Nokia</source>
<translation>Qt助手 - Nokia</translation>
</message>
@@ -888,7 +883,7 @@ Assistant will not work!</source>
<context>
<name>TabbedBrowser</name>
<message>
- <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+119"/>
+ <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+149"/>
<source>...</source>
<translation>...</translation>
</message>
@@ -956,7 +951,7 @@ Assistant will not work!</source>
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/compat/topicchooser.cpp" line="+26"/>
+ <location filename="../tools/assistant/compat/topicchooser.cpp" line="+56"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;</source>
<translation>为&lt;b&gt;%1&lt;/b&gt;选择一个主题</translation>
</message>
diff --git a/translations/assistant_adp_zh_TW.ts b/translations/assistant_adp_zh_TW.ts
index ced339e..7fd1738 100644
--- a/translations/assistant_adp_zh_TW.ts
+++ b/translations/assistant_adp_zh_TW.ts
@@ -1,14 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="zh_TW">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_TW">
<context>
<name>AssistantServer</name>
<message>
- <location filename="../tools/assistant/compat/main.cpp" line="195"/>
+ <location filename="../tools/assistant/compat/main.cpp" line="+225"/>
<source>Qt Assistant</source>
<translation>Qt 小幫手</translation>
</message>
<message>
+ <location line="+1"/>
<source>Failed to bind to port %1</source>
<translation>無法結合連接埠 %1</translation>
</message>
@@ -16,23 +17,27 @@
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation>字型</translation>
</message>
<message>
+ <location line="+11"/>
<source>&amp;Writing system</source>
<translation>寫入系統(&amp;W)</translation>
</message>
<message>
+ <location line="+3"/>
<source>&amp;Family</source>
<translation>家族(&amp;F)</translation>
</message>
<message>
+ <location line="+4"/>
<source>&amp;Style</source>
<translation>風格(&amp;S)</translation>
</message>
<message>
+ <location line="+4"/>
<source>&amp;Point size</source>
<translation>點大小(&amp;P)</translation>
</message>
@@ -40,23 +45,27 @@
<context>
<name>FontSettingsDialog</name>
<message>
- <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="33"/>
+ <location filename="../tools/assistant/compat/fontsettingsdialog.cpp" line="+63"/>
<source>Font Settings</source>
<translation>字型設定</translation>
</message>
<message>
+ <location line="+7"/>
<source>Font settings for:</source>
<translation>字型設定用於:</translation>
</message>
<message>
+ <location line="+4"/>
<source>Browser</source>
<translation>瀏覽器</translation>
</message>
<message>
+ <location line="+1"/>
<source>Application</source>
<translation>應用程式</translation>
</message>
<message>
+ <location line="+6"/>
<source>Use custom settings</source>
<translation>使用者自訂設定</translation>
</message>
@@ -64,211 +73,269 @@
<context>
<name>HelpDialog</name>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.ui"/>
<source>Con&amp;tents</source>
<translation>內容(&amp;T)</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="+376"/>
+ <location line="+16"/>
+ <location line="+661"/>
<source>Qt Assistant</source>
<translation>Qt 小幫手</translation>
</message>
<message>
+ <location line="-774"/>
<source>Open Link in Current Tab</source>
<translation>在目前的分頁開啟連結</translation>
</message>
<message>
+ <location line="+3"/>
<source>Open Link in New Window</source>
<translation>在新視窗開啟連結</translation>
</message>
<message>
+ <location line="+3"/>
<source>Open Link in New Tab</source>
<translation>在新分頁開啟連結</translation>
</message>
<message>
+ <location line="+73"/>
+ <location line="+82"/>
<source>Prepare...</source>
<translation>準備中...</translation>
</message>
<message>
+ <location line="-64"/>
<source>Failed to load keyword index file
Assistant will not work!</source>
<translation>無法載入關鍵字索引檔
小幫手將無法運作!</translation>
</message>
<message>
+ <location line="+17"/>
<source>Cannot open the index file %1</source>
<translation>無法開啟索引檔 %1</translation>
</message>
<message>
+ <location line="+58"/>
+ <location line="+124"/>
+ <location line="+8"/>
<source>Warning</source>
<translation>警告</translation>
</message>
<message>
+ <location line="-131"/>
+ <location line="+124"/>
<source>Documentation file %1 does not exist!
Skipping file.</source>
<translation>文件檔 %1 不存在
將跳過此檔案。</translation>
</message>
<message>
+ <location line="-112"/>
+ <location line="+133"/>
<source>Parse Error</source>
<translation>剖析錯誤</translation>
</message>
<message>
+ <location line="-13"/>
<source>Documentation file %1 is not compatible!
Skipping file.</source>
<translation>文件檔 %1 不相容
將跳過此檔案。</translation>
</message>
<message>
+ <location line="+48"/>
+ <location line="+469"/>
<source>Done</source>
<translation>完成</translation>
</message>
<message>
+ <location line="-47"/>
<source>Failed to save fulltext search index
Assistant will not work!</source>
<translation>無法儲存全文檢索搜尋索引。
小幫手將無法運作!</translation>
</message>
<message>
+ <location line="+29"/>
<source>Indexing files...</source>
<translation>建立檔案索引中...</translation>
</message>
<message>
+ <location line="+15"/>
<source>Reading dictionary...</source>
<translation>讀取字典中...</translation>
</message>
<message>
+ <location line="+46"/>
+ <location line="+9"/>
<source>Full Text Search</source>
<translation>全文檢索</translation>
</message>
<message>
+ <location line="-8"/>
<source>Using a wildcard within phrases is not allowed.</source>
<translation>在片語中不能使用萬用字元。</translation>
</message>
<message>
+ <location line="+9"/>
<source>The closing quotation mark is missing.</source>
<translation>沒有關閉引號。</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/helpdialog.ui"/>
<source>Help</source>
<translation>說明</translation>
</message>
<message>
+ <location/>
<source>&lt;b&gt;Help&lt;/b&gt;&lt;p&gt;Choose the topic you want help on from the contents list, or search the index for keywords.&lt;/p&gt;</source>
<translation>&lt;b&gt;說明&lt;/b&gt;&lt;p&gt;請從內容清單中選擇您需要說明的主題,或是在索引中搜尋關鍵字。&lt;/p&gt;</translation>
</message>
<message>
+ <location/>
<source>Displays help topics organized by category, index or bookmarks. Another tab inherits the full text search.</source>
<translation>依分類、索引或書籤來顯示說明主題。另一個分頁會繼承此全文檢索。</translation>
</message>
<message>
+ <location/>
<source>&lt;b&gt;Help topics organized by category.&lt;/b&gt;&lt;p&gt;Double-click an item to see the topics in that category. To view a topic, just double-click it.&lt;/p&gt;</source>
<translation>&lt;b&gt;依類別組織說明主題。&lt;/b&gt;&lt;p&gt;雙擊可以查看該類別中有哪些主題。雙擊該主題可以查看內容。&lt;/p&gt;</translation>
</message>
<message>
+ <location/>
<source>column 1</source>
<translation>欄 1</translation>
</message>
<message>
+ <location/>
<source>&amp;Index</source>
<translation>索引(&amp;I)</translation>
</message>
<message>
+ <location/>
<source>&amp;Look For:</source>
<translation>搜尋(&amp;L):</translation>
</message>
<message>
+ <location/>
<source>Enter keyword</source>
<translation>輸入關鍵字</translation>
</message>
<message>
+ <location/>
<source>&lt;b&gt;Enter a keyword.&lt;/b&gt;&lt;p&gt;The list will select an item that matches the entered string best.&lt;/p&gt;</source>
<translation>&lt;b&gt;輸入關鍵字。&lt;/b&gt;&lt;p&gt;此清單可以選擇最能符合輸入字串的項目。&lt;/p&gt;</translation>
</message>
<message>
+ <location/>
<source>&lt;b&gt;List of available help topics.&lt;/b&gt;&lt;p&gt;Double-click on an item to open its help page. If more than one is found, you must specify which page you want.&lt;/p&gt;</source>
<translation>&lt;b&gt;可用說明主題清單。&lt;/b&gt;&lt;p&gt;雙擊可以開啟該說明頁面。如果找到一個以上,您必須指定您要看哪一個頁面。&lt;/p&gt;</translation>
</message>
<message>
+ <location/>
<source>&amp;Bookmarks</source>
<translation>書籤(&amp;B)</translation>
</message>
<message>
+ <location/>
<source>Displays the list of bookmarks.</source>
<translation>顯示書籤的清單。</translation>
</message>
<message>
+ <location/>
<source>Add new bookmark</source>
<translation>新增書籤</translation>
</message>
<message>
+ <location/>
<source>Add the currently displayed page as a new bookmark.</source>
<translation>將目前顯示的頁面新增到書籤中。</translation>
</message>
<message>
+ <location/>
<source>&amp;New</source>
<translation>新增(&amp;N)</translation>
</message>
<message>
+ <location/>
<source>Delete bookmark</source>
<translation>刪除書籤</translation>
</message>
<message>
+ <location/>
<source>Delete the selected bookmark.</source>
<translation>刪除選取的書籤。</translation>
</message>
<message>
+ <location/>
<source>&amp;Delete</source>
<translation>刪除(&amp;D)</translation>
</message>
<message>
+ <location/>
<source>&amp;Search</source>
<translation>搜尋(&amp;S)</translation>
</message>
<message>
+ <location/>
<source>Searching f&amp;or:</source>
<translation>搜尋內容(&amp;O):</translation>
</message>
<message>
+ <location/>
<source>Enter searchword(s).</source>
<translation>請輸入搜尋關鍵字詞。</translation>
</message>
<message>
+ <location/>
<source>&lt;b&gt;Enter search word(s).&lt;/b&gt;&lt;p&gt;Enter here the word(s) you are looking for. The words may contain wildcards (*). For a sequence of words quote them.&lt;/p&gt;</source>
<translation>&lt;b&gt;輸入搜尋關鍵字詞。&lt;/b&gt;&lt;p&gt;在此輸入您要搜尋的關鍵字詞。可以使用萬用字元 (*)。如果是一個片語,請用引號括起來。&lt;/p&gt;</translation>
</message>
<message>
+ <location/>
<source>&lt;b&gt;Found documents&lt;/b&gt;&lt;p&gt;This list contains all found documents from the last search. The documents are ordered, i.e. the first document has the most matches.&lt;/p&gt;</source>
<translation>&lt;b&gt;找到的文件&lt;/b&gt;&lt;p&gt;這放清單包含了所有上次搜尋找到的文件。文件會依符合程度排序。&lt;/p&gt;</translation>
</message>
<message>
+ <location/>
<source>Found &amp;Documents:</source>
<translation>找到的文件(&amp;D):</translation>
</message>
<message>
+ <location/>
<source>Display the help page.</source>
<translation>顯示說明頁面。</translation>
</message>
<message>
+ <location/>
<source>Display the help page for the full text search.</source>
<translation>顯示全文檢索的說明頁面。</translation>
</message>
<message>
+ <location/>
<source>He&amp;lp</source>
<translation>說明(&amp;L)</translation>
</message>
<message>
+ <location/>
<source>Start searching.</source>
<translation>開始搜尋。</translation>
</message>
<message>
+ <location/>
<source>Pressing this button starts the search.</source>
<translation>按下此按鍵開始搜尋。</translation>
</message>
<message>
+ <location/>
<source>Preparing...</source>
<translation>準備中...</translation>
</message>
<message numerus="yes">
- <location filename="../tools/assistant/compat/helpdialog.cpp" line="7"/>
+ <location filename="../tools/assistant/compat/helpdialog.cpp" line="+7"/>
<source>%n document(s) found.</source>
<translation>
<numerusform>找到 %n 個文件。</numerusform>
@@ -278,41 +345,49 @@ Assistant will not work!</source>
<context>
<name>HelpWindow</name>
<message>
- <location filename="../tools/assistant/compat/helpwindow.cpp" line="67"/>
+ <location filename="../tools/assistant/compat/helpwindow.cpp" line="+97"/>
<source>Help</source>
<translation>說明</translation>
</message>
<message>
- <source>Open Link in New Window<byte value="x9"/>Shift+LMB</source>
- <translation>在新視窗開啟連結<byte value="x9"/>Shift+滑鼠左鍵</translation>
+ <location line="+93"/>
+ <source>Open Link in New Window Shift+LMB</source>
+ <translation>在新視窗開啟連結 Shift+滑鼠左鍵</translation>
</message>
<message>
+ <location line="-92"/>
<source>Unable to launch web browser.
</source>
<translation>無法啟動瀏覽器。
</translation>
</message>
<message>
+ <location line="+1"/>
<source>OK</source>
<translation>確定</translation>
</message>
<message>
+ <location line="+27"/>
<source>Failed to open link: &apos;%1&apos;</source>
<translation>無法開啟連結:%1</translation>
</message>
<message>
+ <location line="+1"/>
<source>&lt;div align=&quot;center&quot;&gt;&lt;h1&gt;The page could not be found&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</source>
<translation>&lt;div align=&quot;center&quot;&gt;&lt;h1&gt;找不到該頁面&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;%1&lt;/h3&gt;&lt;/div&gt;</translation>
</message>
<message>
+ <location line="+2"/>
<source>Error...</source>
<translation>錯誤...</translation>
</message>
<message>
+ <location line="+59"/>
<source>Open Link in New Tab</source>
<translation>在新分頁開啟連結</translation>
</message>
<message>
+ <location line="-3"/>
<source>Copy &amp;Link Location</source>
<translation>複製連結位置(&amp;L)</translation>
</message>
@@ -320,7 +395,7 @@ Assistant will not work!</source>
<context>
<name>Index</name>
<message>
- <location filename="../tools/assistant/compat/index.cpp" line="355"/>
+ <location filename="../tools/assistant/compat/index.cpp" line="+385"/>
<source>Untitled</source>
<translation>未命名</translation>
</message>
@@ -332,378 +407,466 @@ Assistant will not work!</source>
<translation type="obsolete">Qt 小幫手,Trolltech 公司提供</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui"/>
<source>Toolbar</source>
<translation>工具列</translation>
</message>
<message>
+ <location/>
<source>&amp;Print...</source>
<translation>列印(&amp;P)...</translation>
</message>
<message>
+ <location/>
<source>E&amp;xit</source>
<translation>離開(&amp;X)</translation>
</message>
<message>
+ <location/>
<source>&amp;Copy</source>
<translation>複製(&amp;C)</translation>
</message>
<message>
+ <location/>
<source>&amp;Find in Text...</source>
<translation>在文字中尋找(&amp;F)...</translation>
</message>
<message>
+ <location/>
<source>&amp;Home</source>
<translation>首頁(&amp;H)</translation>
</message>
<message>
+ <location/>
<source>&amp;Previous</source>
<translation>前一個(&amp;P)</translation>
</message>
<message>
+ <location/>
<source>&amp;Next</source>
<translation>下一個(&amp;N)</translation>
</message>
<message>
+ <location/>
<source>About Qt</source>
<translation>關於 Qt</translation>
</message>
<message>
+ <location/>
<source>Zoom &amp;in</source>
<translation>放大(&amp;I)</translation>
</message>
<message>
+ <location/>
<source>Zoom &amp;out</source>
<translation>縮小(&amp;O)</translation>
</message>
<message>
+ <location/>
<source>New Window</source>
<translation>新視窗</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/mainwindow.cpp" line="158"/>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+188"/>
<source>Ctrl+T</source>
<translation>Ctrl+T</translation>
</message>
<message>
+ <location line="+1"/>
<source>Ctrl+I</source>
<translation>Ctrl+I</translation>
</message>
<message>
+ <location line="+1"/>
<source>Ctrl+B</source>
<translation>Ctrl+B</translation>
</message>
<message>
+ <location line="+139"/>
+ <location line="+1"/>
<source>Qt Assistant</source>
<translation>Qt 小幫手</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui"/>
<source>&amp;Add Bookmark</source>
<translation>新增書籤(&amp;A)</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="-227"/>
<source>Sidebar</source>
<translation>邊列</translation>
</message>
<message>
+ <location line="+18"/>
<source>&amp;Window</source>
<translation>視窗(&amp;W)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Minimize</source>
<translation>最小化</translation>
</message>
<message>
+ <location line="+1"/>
<source>Ctrl+M</source>
<translation>Ctrl+M</translation>
</message>
<message>
+ <location line="+34"/>
<source>Initializing Qt Assistant...</source>
<translation>初始化 Qt 小幫手中...</translation>
</message>
<message>
+ <location line="+26"/>
<source>SHIFT+CTRL+=</source>
<translation>SHIFT+CTRL+=</translation>
</message>
<message>
+ <location line="+7"/>
<source>Ctrl+S</source>
<translation>Ctrl+S</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui"/>
<source>Ctrl+W</source>
<translation>Ctrl+W</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/mainwindow.cpp" line="1"/>
+ <location filename="../tools/assistant/compat/mainwindow.cpp" line="+1"/>
<source>Ctrl+]</source>
<translation>Ctrl+]</translation>
</message>
<message>
+ <location line="+1"/>
<source>Ctrl+[</source>
<translation>Ctrl+[</translation>
</message>
<message>
+ <location line="+7"/>
<source>Views</source>
<translation>檢視</translation>
</message>
<message>
+ <location line="+80"/>
<source>Displays the main page of a specific documentation set.</source>
<translation>顯示指定文件集的主頁面。</translation>
</message>
<message>
<source>Open Source Edition</source>
- <translation>開放源碼版本</translation>
+ <translation type="obsolete">開放源碼版本</translation>
</message>
<message>
<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.</source>
- <translation>此版本的 Qt 小幫手是 Qt 開放源碼版本的一部份,只能用於開發開放源碼的應用程式。Qt 為一個跨平台的,強大的 C++ 應用程式開發框架。</translation>
+ <translation type="obsolete">此版本的 Qt 小幫手是 Qt 開放源碼版本的一部份,只能用於開發開放源碼的應用程式。Qt 為一個跨平台的,強大的 C++ 應用程式開發框架。</translation>
</message>
<message>
<source>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.</source>
- <translation>此程式以 Qt 商業授權同意書(Qt Commerical License Agreement)授權給您。詳情請參照 LICENSE 檔。</translation>
+ <translation type="obsolete">此程式以 Qt 商業授權同意書(Qt Commerical License Agreement)授權給您。詳情請參照 LICENSE 檔。</translation>
</message>
<message>
+ <location line="+69"/>
<source>Failed to open about application contents in file: &apos;%1&apos;</source>
<translation>無法開啟檔案中應用程式的「關於」內容:%1</translation>
</message>
<message>
+ <location line="+201"/>
<source>...</source>
<translation>...</translation>
</message>
<message>
+ <location line="+238"/>
+ <location line="+6"/>
<source>Save Page</source>
<translation>儲存頁面</translation>
</message>
<message>
+ <location line="+0"/>
<source>Cannot open file for writing!</source>
<translation>無法開啟檔案以寫入!</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/mainwindow.ui"/>
<source>Qt Assistant by Nokia</source>
<translation>Nokia 提供的 Qt 小幫手</translation>
</message>
<message>
+ <location/>
<source>Go</source>
<translation>走</translation>
</message>
<message>
+ <location/>
<source>&amp;Help</source>
<translation>說明(&amp;H)</translation>
</message>
<message>
+ <location/>
<source>&amp;File</source>
<translation>檔案(&amp;F)</translation>
</message>
<message>
+ <location/>
<source>Boo&amp;kmarks</source>
<translation>書籤(&amp;K)</translation>
</message>
<message>
+ <location/>
<source>&amp;Go</source>
<translation>走(&amp;G)</translation>
</message>
<message>
+ <location/>
<source>&amp;View</source>
<translation>檢視(&amp;V)</translation>
</message>
<message>
+ <location/>
<source>&amp;Edit</source>
<translation>編輯(&amp;E)</translation>
</message>
<message>
+ <location/>
<source>Print the currently displayed page.</source>
<translation>列印目前顯示的頁面。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+P</source>
<translation>Ctrl+P</translation>
</message>
<message>
+ <location/>
<source>Quit Qt Assistant.</source>
<translation>離開 Qt 小幫手。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+Q</source>
<translation>Ctrl+Q</translation>
</message>
<message>
+ <location/>
<source>Copy the selected text to the clipboard.</source>
<translation>複製選取的文字到剪貼簿中。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+C</source>
<translation>Ctrl+C</translation>
</message>
<message>
+ <location/>
<source>Open the Find dialog. Qt Assistant will search the currently displayed page for the text you enter.</source>
<translation>開啟「尋找」對話框。Qt 小幫手會在目前顯示的頁面中搜尋您所輸入的文字。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+F</source>
<translation>Ctrl+F</translation>
</message>
<message>
+ <location/>
<source>Find &amp;Next</source>
<translation>尋找下一筆(&amp;N)</translation>
</message>
<message>
+ <location/>
<source>F3</source>
<translation>F3</translation>
</message>
<message>
+ <location/>
<source>Find &amp;Previous</source>
<translation>尋找上一筆(&amp;P)</translation>
</message>
<message>
+ <location/>
<source>Shift+F3</source>
<translation>Shift+F3</translation>
</message>
<message>
+ <location/>
<source>Go to the home page. Qt Assistant&apos;s home page is the Qt Reference Documentation.</source>
<translation>回到首頁。Qt 小幫手的首頁為 Qt 參考文件。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+Home</source>
<translation>Ctrl+Home</translation>
</message>
<message>
+ <location/>
<source>Go to the previous page.</source>
<translation>跳到上一頁。</translation>
</message>
<message>
+ <location/>
<source>Alt+Left</source>
<translation>Alt+Left</translation>
</message>
<message>
+ <location/>
<source>Go to the next page.</source>
<translation>跳到下一頁。</translation>
</message>
<message>
+ <location/>
<source>Alt+Right</source>
<translation>Alt+Right</translation>
</message>
<message>
+ <location/>
<source>About Qt Assistant</source>
<translation>關於 Qt 小幫手</translation>
</message>
<message>
+ <location/>
<source>Display further information about Qt Assistant.</source>
<translation>顯示關於 Qt 小幫手的詳情。</translation>
</message>
<message>
+ <location/>
<source>Zoom in on the document, i.e. increase the font size.</source>
<translation>放大文件,也就是加大字型。</translation>
</message>
<message>
+ <location/>
<source>Ctrl++</source>
<translation>Ctrl++</translation>
</message>
<message>
+ <location/>
<source>Zoom out on the document, i.e. decrease the font size.</source>
<translation>縮小文件,也就是縮小字型。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+-</source>
<translation>Ctrl+-</translation>
</message>
<message>
+ <location/>
<source>Open a new window.</source>
<translation>開啟新視窗。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+N</source>
<translation>Ctrl+N</translation>
</message>
<message>
+ <location/>
<source>&amp;Close</source>
<translation>關閉(&amp;C)</translation>
</message>
<message>
+ <location/>
<source>Close the current window.</source>
<translation>關閉目前的視窗。</translation>
</message>
<message>
+ <location/>
<source>Add the currently displayed page as a new bookmark.</source>
<translation>將目前顯示的頁面新增到書籤中。</translation>
</message>
<message>
+ <location/>
<source>What&apos;s This?</source>
<translation>這是什麼?</translation>
</message>
<message>
+ <location/>
<source>&quot;What&apos;s This?&quot; context sensitive help.</source>
<translation>「這是什麼?」內文說明。</translation>
</message>
<message>
+ <location/>
<source>Shift+F1</source>
<translation>Shift+F1</translation>
</message>
<message>
+ <location/>
<source>Add Tab</source>
<translation>新增分頁</translation>
</message>
<message>
+ <location/>
<source>Ctrl+Alt+N</source>
<translation>Ctrl+Alt+N</translation>
</message>
<message>
+ <location/>
<source>Next Tab</source>
<translation>下一個分頁</translation>
</message>
<message>
+ <location/>
<source>Ctrl+Alt+Right</source>
<translation>Ctrl+Alt+Right</translation>
</message>
<message>
+ <location/>
<source>Previous Tab</source>
<translation>前一個分頁</translation>
</message>
<message>
+ <location/>
<source>Ctrl+Alt+Left</source>
<translation>Ctrl+Alt+Left</translation>
</message>
<message>
+ <location/>
<source>Close Tab</source>
<translation>關閉分頁</translation>
</message>
<message>
+ <location/>
<source>Ctrl+Alt+Q</source>
<translation>Ctrl+Alt+Q</translation>
</message>
<message>
+ <location/>
<source>Qt Assistant Manual</source>
<translation>Qt 小幫手手冊</translation>
</message>
<message>
+ <location/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
+ <location/>
<source>Save Page As...</source>
<translation>另存頁面為...</translation>
</message>
<message>
+ <location/>
<source>Ctrl+Alt+S</source>
<translation>Ctrl+Alt+S</translation>
</message>
<message>
+ <location/>
<source>Sync with Table of Contents</source>
<translation>與目錄同步</translation>
</message>
<message>
+ <location/>
<source>Select the page in contents tab.</source>
<translation>選擇在內容分頁中的頁面。</translation>
</message>
<message>
+ <location/>
<source>Font Settings...</source>
<translation>字型設定...</translation>
</message>
<message>
<source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/model&quot;&gt;qtsoftware.com/company/model&lt;/a&gt; for an overview of Qt licensing.</source>
- <translation>您需要商業版的 Qt 授權才能發展私有(封閉)應用程式軟體。關於 Qt 授權的概要,請參考 &lt;a href=&quot;http://qtsoftware.com/company/model&quot;&gt;qtsoftware.com/company/model&lt;/a&gt;。</translation>
+ <translation type="obsolete">您需要商業版的 Qt 授權才能發展私有(封閉)應用程式軟體。關於 Qt 授權的概要,請參考 &lt;a href=&quot;http://qtsoftware.com/company/model&quot;&gt;qtsoftware.com/company/model&lt;/a&gt;。</translation>
</message>
<message>
<source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.</source>
- <translation>此程式以 Qt %1 授權同意書授權給您。詳情請參照套件中的授權檔。</translation>
+ <translation type="obsolete">此程式以 Qt %1 授權同意書授權給您。詳情請參照套件中的授權檔。</translation>
</message>
</context>
<context>
@@ -713,7 +876,7 @@ Assistant will not work!</source>
<translation type="obsolete">Qt 小幫手,Trolltech 公司提供</translation>
</message>
<message>
- <location filename="../tools/assistant/compat/config.cpp" line="320"/>
+ <location filename="../tools/assistant/compat/config.cpp" line="+350"/>
<source>Qt Assistant by Nokia</source>
<translation>Nokia 提供的 Qt 小幫手</translation>
</message>
@@ -721,55 +884,67 @@ Assistant will not work!</source>
<context>
<name>TabbedBrowser</name>
<message>
- <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="119"/>
+ <location filename="../tools/assistant/compat/tabbedbrowser.cpp" line="+149"/>
<source>...</source>
<translation>...</translation>
</message>
<message>
+ <location line="+86"/>
<source>Add page</source>
<translation>新增頁面</translation>
</message>
<message>
+ <location line="+9"/>
<source>Close page</source>
<translation>關閉頁面</translation>
</message>
<message>
+ <location line="+243"/>
<source>New Tab</source>
<translation>新增分頁</translation>
</message>
<message>
+ <location line="+1"/>
<source>Close Tab</source>
<translation>關閉分頁</translation>
</message>
<message>
+ <location line="+1"/>
<source>Close Other Tabs</source>
<translation>關閉其他分頁</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/tabbedbrowser.ui"/>
<source>TabbedBrowser</source>
<translation>分頁式瀏覽器</translation>
</message>
<message>
+ <location/>
<source>Untitled</source>
<translation>未命名</translation>
</message>
<message>
+ <location/>
<source>Previous</source>
<translation>前一個</translation>
</message>
<message>
+ <location/>
<source>Next</source>
<translation>下一個</translation>
</message>
<message>
+ <location/>
<source>Case Sensitive</source>
<translation>區分大小寫</translation>
</message>
<message>
+ <location/>
<source>Whole words</source>
<translation>整個字詞</translation>
</message>
<message>
+ <location/>
<source>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
<translation>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;搜尋已折回</translation>
</message>
@@ -777,39 +952,47 @@ Assistant will not work!</source>
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/compat/topicchooser.cpp" line="26"/>
+ <location filename="../tools/assistant/compat/topicchooser.cpp" line="+56"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;</source>
<translation>請為 &lt;b&gt;%1&lt;/b&gt; 選擇一個主題</translation>
</message>
<message>
+ <location filename="../tools/assistant/compat/topicchooser.ui"/>
<source>Choose Topic</source>
<translation>選擇主題</translation>
</message>
<message>
+ <location/>
<source>Select a topic from the list and click the &lt;b&gt;Display&lt;/b&gt;-button to open the online help.</source>
<translation>請從清單中選取一個主題,並按下「顯示」鍵開啟線上說明。</translation>
</message>
<message>
+ <location/>
<source>&amp;Topics</source>
<translation>主題(&amp;T)</translation>
</message>
<message>
+ <location/>
<source>Displays a list of available help topics for the keyword.</source>
<translation>顯示此關鍵字可用的說明主題。</translation>
</message>
<message>
+ <location/>
<source>&amp;Display</source>
<translation>顯示(&amp;D)</translation>
</message>
<message>
+ <location/>
<source>Open the topic selected in the list.</source>
<translation>開啟在清單中選取的主題。</translation>
</message>
<message>
+ <location/>
<source>&amp;Close</source>
<translation>關閉(&amp;C)</translation>
</message>
<message>
+ <location/>
<source>Close the Dialog.</source>
<translation>關閉對話框。</translation>
</message>
diff --git a/translations/assistant_de.ts b/translations/assistant_de.ts
index 0bb0e66..0411ef1 100644
--- a/translations/assistant_de.ts
+++ b/translations/assistant_de.ts
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="de">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="de">
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+80"/>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+110"/>
<source>&amp;Close</source>
<translation>&amp;Schließen</translation>
</message>
@@ -52,7 +52,7 @@
<translation>Neuer Ordner</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+155"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+185"/>
<location line="+18"/>
<location line="+36"/>
<location line="+24"/>
@@ -163,7 +163,7 @@
<context>
<name>CentralWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+195"/>
<source>Add new page</source>
<translation>Neue Seite hinzufügen</translation>
</message>
@@ -173,12 +173,12 @@
<translation>Aktuelle Seite schließen</translation>
</message>
<message>
- <location line="+266"/>
+ <location line="+265"/>
<source>Print Document</source>
<translation>Drucken</translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+147"/>
<location line="+2"/>
<source>unknown</source>
<translation>unbekannt</translation>
@@ -204,7 +204,7 @@
<translation>Lesezeichen für diese Seite hinzufügen...</translation>
</message>
<message>
- <location line="+227"/>
+ <location line="+257"/>
<source>Search</source>
<translation>Suchen</translation>
</message>
@@ -212,7 +212,7 @@
<context>
<name>ContentWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+115"/>
+ <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+155"/>
<source>Open Link</source>
<translation>Link öffnen</translation>
</message>
@@ -242,7 +242,7 @@
<context>
<name>FindWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-809"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-863"/>
<source>Previous</source>
<translation>Vorherige</translation>
</message>
@@ -270,7 +270,7 @@
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation>Schriftart</translation>
</message>
@@ -298,7 +298,7 @@
<context>
<name>HelpViewer</name>
<message>
- <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+310"/>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+481"/>
<source>Help</source>
<translation>Hilfe</translation>
</message>
@@ -314,12 +314,12 @@
<translation>OK</translation>
</message>
<message>
- <location line="+17"/>
+ <location line="-62"/>
<source>&lt;title&gt;Error 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;The page could not be found&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</source>
<translation>&lt;title&gt;Fehler 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Die Seite konnte nicht gefunden werden!&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
</message>
<message>
- <location line="+90"/>
+ <location line="+125"/>
<source>Copy &amp;Link Location</source>
<translation>&amp;Link Adresse kopieren</translation>
</message>
@@ -329,12 +329,12 @@
<translation>Link in neuem Tab öffnen </translation>
</message>
<message>
- <location line="-238"/>
+ <location line="-267"/>
<source>Open Link in New Tab</source>
<translation>Link in neuem Tab öffnen</translation>
</message>
<message>
- <location line="+128"/>
+ <location line="+201"/>
<source>Unable to launch external application.
</source>
<translation>Fehler beim Starten der externen Anwendung.
@@ -344,12 +344,12 @@
<context>
<name>IndexWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+36"/>
+ <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+66"/>
<source>&amp;Look for:</source>
<translation>Suche &amp;nach:</translation>
</message>
<message>
- <location line="+70"/>
+ <location line="+68"/>
<source>Open Link</source>
<translation>Link öffnen</translation>
</message>
@@ -362,7 +362,7 @@
<context>
<name>InstallDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+45"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+75"/>
<location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
<source>Install Documentation</source>
<translation>Dokumentation installieren</translation>
@@ -462,38 +462,38 @@
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+78"/>
- <location line="+345"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+108"/>
+ <location line="+350"/>
<source>Index</source>
<translation>Index</translation>
</message>
<message>
- <location line="-339"/>
- <location line="+337"/>
+ <location line="-344"/>
+ <location line="+342"/>
<source>Contents</source>
<translation>Inhalt</translation>
</message>
<message>
- <location line="-332"/>
- <location line="+336"/>
+ <location line="-337"/>
+ <location line="+341"/>
<source>Bookmarks</source>
<translation>Lesezeichen</translation>
</message>
<message>
- <location line="-324"/>
- <location line="+326"/>
+ <location line="-329"/>
+ <location line="+331"/>
<source>Search</source>
<translation>Suchen</translation>
</message>
<message>
- <location line="-314"/>
- <location line="+185"/>
- <location line="+488"/>
+ <location line="-319"/>
+ <location line="+192"/>
+ <location line="+470"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
<message>
- <location line="-519"/>
+ <location line="-501"/>
<location line="+4"/>
<source>Unfiltered</source>
<translation>Ohne Filter</translation>
@@ -503,47 +503,44 @@
<translation type="obsolete">Datei</translation>
</message>
<message>
- <location line="+82"/>
+ <location line="+84"/>
<source>Page Set&amp;up...</source>
<translation>S&amp;eite einrichten...</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Print Preview...</source>
<translation>Druckvorschau...</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+3"/>
<source>&amp;Print...</source>
<translation>&amp;Drucken...</translation>
</message>
<message>
- <location line="+3"/>
<source>CTRL+P</source>
- <translation>CTRL+P</translation>
+ <translation type="obsolete">CTRL+P</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+6"/>
<source>New &amp;Tab</source>
<translation>Neue &amp;Seite</translation>
</message>
<message>
- <location line="+1"/>
<source>CTRL+T</source>
- <translation>CTRL+T</translation>
+ <translation type="obsolete">CTRL+T</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+3"/>
<source>&amp;Close Tab</source>
<translation>&amp;Seite schließen</translation>
</message>
<message>
- <location line="+1"/>
<source>CTRL+W</source>
- <translation>CTRL+W</translation>
+ <translation type="obsolete">CTRL+W</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+4"/>
<source>&amp;Quit</source>
<translation>&amp;Beenden</translation>
</message>
@@ -562,42 +559,38 @@
<translation>&amp;Kopieren</translation>
</message>
<message>
- <location line="+4"/>
<source>Ctrl+C</source>
- <translation>Ctrl+C</translation>
+ <translation type="obsolete">Ctrl+C</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+6"/>
<source>&amp;Find in Text...</source>
<translation>&amp;Textsuche...</translation>
</message>
<message>
- <location line="+4"/>
<source>Ctrl+F</source>
- <translation>Ctrl+F</translation>
+ <translation type="obsolete">Ctrl+F</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+5"/>
<source>Find &amp;Next</source>
<translation>&amp;Weitersuchen</translation>
</message>
<message>
- <location line="+2"/>
<source>F3</source>
- <translation>F3</translation>
+ <translation type="obsolete">F3</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>Find &amp;Previous</source>
<translation>&amp;Vorheriges suchen</translation>
</message>
<message>
- <location line="+2"/>
<source>Shift+F3</source>
- <translation>Shift+F3</translation>
+ <translation type="obsolete">Shift+F3</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Preferences...</source>
<translation>Einstellungen...</translation>
</message>
@@ -611,27 +604,25 @@
<translation>&amp;Vergrößern</translation>
</message>
<message>
- <location line="+4"/>
<source>Ctrl++</source>
- <translation>Ctrl++</translation>
+ <translation type="obsolete">Ctrl++</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+5"/>
<source>Zoom &amp;out</source>
<translation>Ver&amp;kleinern</translation>
</message>
<message>
- <location line="+4"/>
<source>Ctrl+-</source>
- <translation>Ctrl+-</translation>
+ <translation type="obsolete">Ctrl+-</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+5"/>
<source>Normal &amp;Size</source>
<translation>Standard&amp;größe</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+3"/>
<source>Ctrl+0</source>
<translation>Ctrl+0</translation>
</message>
@@ -664,27 +655,27 @@
<translation>&amp;Startseite</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Ctrl+Home</source>
<translation>Strg+Pos1</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+3"/>
<source>&amp;Back</source>
<translation>&amp;Rückwärts</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+5"/>
<source>&amp;Forward</source>
<translation>&amp;Vorwärts</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+5"/>
<source>Sync with Table of Contents</source>
<translation>Seite mit Inhalt Tab syncronisieren</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+6"/>
<source>Next Page</source>
<translation>Nächste Seite</translation>
</message>
@@ -699,7 +690,7 @@
<translation>Vorherige Seite</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Ctrl+Alt+Left</source>
<translation>Ctrl+Alt+Left</translation>
</message>
@@ -727,7 +718,7 @@
<translation>Navigationsleiste</translation>
</message>
<message>
- <location line="+75"/>
+ <location line="+74"/>
<source>Toolbars</source>
<translation>Werkzeugleisten</translation>
</message>
@@ -742,7 +733,7 @@
<translation>Filter:</translation>
</message>
<message>
- <location line="+21"/>
+ <location line="+23"/>
<source>Address Toolbar</source>
<translation>Adressleiste</translation>
</message>
@@ -752,31 +743,28 @@
<translation>Adresse:</translation>
</message>
<message>
- <location line="+108"/>
+ <location line="+110"/>
<source>Could not find the associated content item.</source>
<translation>Der zugehörige Inhaltseintrag konnte nicht gefunden werden.</translation>
</message>
<message>
- <location line="+60"/>
<source>Open Source Edition</source>
- <translation>Open Source Edition</translation>
+ <translation type="obsolete">Open Source Edition</translation>
</message>
<message>
- <location line="+1"/>
<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.</source>
- <translation>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.</translation>
+ <translation type="obsolete">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.</translation>
</message>
<message>
<source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt; for an overview of Qt licensing.</source>
<translation type="obsolete">You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt; for an overview of Qt licensing.</translation>
</message>
<message>
- <location line="+10"/>
<source>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.</source>
- <translation>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.</translation>
+ <translation type="obsolete">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.</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+81"/>
<source>About %1</source>
<translation>Über %1</translation>
</message>
@@ -786,17 +774,17 @@
<translation>Suchindex wird aufgebaut</translation>
</message>
<message>
- <location line="-614"/>
+ <location line="-597"/>
<source>Looking for Qt Documentation...</source>
<translation>Suche nach Qt Dokumentationen...</translation>
</message>
<message>
- <location line="+205"/>
+ <location line="+195"/>
<source>&amp;Window</source>
<translation>&amp;Fenster</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+3"/>
<source>Minimize</source>
<translation>Minimieren</translation>
</message>
@@ -806,7 +794,7 @@
<translation>CTRL+M</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="-2"/>
<source>Zoom</source>
<translation>Zoom</translation>
</message>
@@ -819,27 +807,27 @@
<translation type="obsolete">Entfernen</translation>
</message>
<message>
- <location line="-150"/>
+ <location line="-136"/>
<source>&amp;File</source>
<translation>&amp;Datei</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+24"/>
<source>&amp;Edit</source>
<translation>&amp;Bearbeiten</translation>
</message>
<message>
- <location line="+29"/>
+ <location line="+24"/>
<source>&amp;View</source>
<translation>&amp;Ansicht</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+27"/>
<source>&amp;Go</source>
<translation>&amp;Gehe</translation>
</message>
<message>
- <location line="+37"/>
+ <location line="+29"/>
<source>&amp;Bookmarks</source>
<translation>&amp;Lesezeichen</translation>
</message>
@@ -849,17 +837,16 @@
<translation>&amp;Hilfe</translation>
</message>
<message>
- <location line="+294"/>
<source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel&lt;/a&gt; for an overview of Qt licensing.</source>
- <translation>Sie benötigen eine kommerzielle Qt Lizenz für die Entwicklung von proprietären (geschlossenen) Anwendungen. Besuchen Sie &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel&lt;/a&gt; um sich einen Überblick über die Qt Lizenzvergabe zu verschaffen.</translation>
+ <translation type="obsolete">Sie benötigen eine kommerzielle Qt Lizenz für die Entwicklung von proprietären (geschlossenen) Anwendungen. Besuchen Sie &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel&lt;/a&gt; um sich einen Überblick über die Qt Lizenzvergabe zu verschaffen.</translation>
</message>
<message>
- <location line="-339"/>
+ <location line="-37"/>
<source>ALT+O</source>
<translation>ALT+O</translation>
</message>
<message>
- <location line="+43"/>
+ <location line="+35"/>
<source>CTRL+D</source>
<translation>CTRL+D</translation>
</message>
@@ -875,7 +862,7 @@
<translation type="obsolete">Von Helpserver herunterladen...</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+238"/>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+237"/>
<location line="+7"/>
<location line="+6"/>
<source>Add Documentation</source>
@@ -897,7 +884,27 @@
<translation>Der Namespace %1 ist bereits registriert!</translation>
</message>
<message>
- <location line="+122"/>
+ <location line="+23"/>
+ <source>Remove Documentation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Some documents currently opened in Assistant reference the documentation you are attempting to remove. Removing the documentation will close those documents.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Abbrechen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>OK</source>
+ <translation type="unfinished">OK</translation>
+ </message>
+ <message>
+ <location line="+86"/>
<source>Use custom settings</source>
<translation>Benutze erweiterte Einstellungen</translation>
</message>
@@ -975,24 +982,20 @@
<translation>Hinzufügen...</translation>
</message>
<message>
- <location/>
<source>Network</source>
- <translation>Netzwerk</translation>
+ <translation type="obsolete">Netzwerk</translation>
</message>
<message>
- <location/>
<source>Use Http Proxy</source>
- <translation>Http Proxy</translation>
+ <translation type="obsolete">Http Proxy</translation>
</message>
<message>
- <location/>
<source>Http Proxy:</source>
- <translation>Http Proxy:</translation>
+ <translation type="obsolete">Http Proxy:</translation>
</message>
<message>
- <location/>
<source>Port:</source>
- <translation>Port:</translation>
+ <translation type="obsolete">Port:</translation>
</message>
<message>
<location/>
@@ -1022,7 +1025,7 @@
<translation type="obsolete">Neuer Ordner</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+79"/>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+110"/>
<source>The specified collection file does not exist!</source>
<translation>Die angegeben Katalogdatei (collection file) konnte nicht gefunden werden!</translation>
</message>
@@ -1068,6 +1071,11 @@
<translation>Fehlende Hilfedatei!</translation>
</message>
<message>
+ <location line="+7"/>
+ <source>Missing filter argument!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location line="+10"/>
<source>Unknown option: %1</source>
<translation>Unbekannte Option: %1</translation>
@@ -1079,7 +1087,7 @@
<translation>Qt Assistant</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/main.cpp" line="+58"/>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="+190"/>
<source>Could not register documentation file
%1
@@ -1093,7 +1101,7 @@ Reason:
<translation>Dokumentation erfolgreich registriert.</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+11"/>
<source>Could not unregister documentation file
%1
@@ -1102,12 +1110,12 @@ Reason:
<translation>Could not unregister documentation file%1Reason:%2</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="-3"/>
<source>Documentation successfully unregistered.</source>
<translation>Dokumentation erfolgreich entfernt.</translation>
</message>
<message>
- <location line="+13"/>
+ <location line="+18"/>
<source>Cannot load sqlite database driver!</source>
<translation type="unfinished"></translation>
</message>
@@ -1126,7 +1134,7 @@ Reason:
<context>
<name>RemoteControl</name>
<message>
- <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+128"/>
+ <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+157"/>
<source>Debugging Remote Control</source>
<translation>Debugging Remote Control</translation>
</message>
@@ -1139,7 +1147,7 @@ Reason:
<context>
<name>SearchWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+193"/>
<source>&amp;Copy</source>
<translation>&amp;Kopieren</translation>
</message>
@@ -1168,7 +1176,7 @@ Reason:
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+24"/>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+54"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;:</source>
<translation>Wählen Sie ein Thema für &lt;b&gt;%1&lt;/b&gt;:</translation>
</message>
diff --git a/translations/assistant_ja.ts b/translations/assistant_ja.ts
index 5552272..1853155 100644
--- a/translations/assistant_ja.ts
+++ b/translations/assistant_ja.ts
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0">
+<!DOCTYPE TS>
+<TS version="2.0">
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+80"/>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+110"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
@@ -30,7 +31,7 @@
<context>
<name>BookmarkDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+155"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+185"/>
<location line="+18"/>
<location line="+36"/>
<location line="+24"/>
@@ -149,7 +150,7 @@
<context>
<name>CentralWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+195"/>
<source>Add new page</source>
<translation type="unfinished"></translation>
</message>
@@ -159,12 +160,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+266"/>
+ <location line="+265"/>
<source>Print Document</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+147"/>
<location line="+2"/>
<source>unknown</source>
<translation type="unfinished"></translation>
@@ -190,7 +191,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+227"/>
+ <location line="+257"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
@@ -198,7 +199,7 @@
<context>
<name>ContentWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+115"/>
+ <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+155"/>
<source>Open Link</source>
<translation type="unfinished"></translation>
</message>
@@ -224,7 +225,7 @@
<context>
<name>FindWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-809"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-863"/>
<source>Previous</source>
<translation type="unfinished"></translation>
</message>
@@ -252,7 +253,7 @@
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation type="unfinished"></translation>
</message>
@@ -280,7 +281,7 @@
<context>
<name>HelpViewer</name>
<message>
- <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+310"/>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+481"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
@@ -290,12 +291,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
+ <location line="-62"/>
<source>&lt;title&gt;Error 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;The page could not be found&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+90"/>
+ <location line="+125"/>
<source>Copy &amp;Link Location</source>
<translation type="unfinished"></translation>
</message>
@@ -305,12 +306,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-238"/>
+ <location line="-267"/>
<source>Open Link in New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+128"/>
+ <location line="+201"/>
<source>Unable to launch external application.
</source>
<translation type="unfinished"></translation>
@@ -319,12 +320,12 @@
<context>
<name>IndexWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+36"/>
+ <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+66"/>
<source>&amp;Look for:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+70"/>
+ <location line="+68"/>
<source>Open Link</source>
<translation type="unfinished"></translation>
</message>
@@ -337,7 +338,7 @@
<context>
<name>InstallDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+45"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+75"/>
<location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
<source>Install Documentation</source>
<translation type="unfinished"></translation>
@@ -436,84 +437,69 @@
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+78"/>
- <location line="+345"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+108"/>
+ <location line="+350"/>
<source>Index</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-339"/>
- <location line="+337"/>
+ <location line="-344"/>
+ <location line="+342"/>
<source>Contents</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-332"/>
- <location line="+336"/>
+ <location line="-337"/>
+ <location line="+341"/>
<source>Bookmarks</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-324"/>
- <location line="+326"/>
+ <location line="-329"/>
+ <location line="+331"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-314"/>
- <location line="+185"/>
- <location line="+488"/>
+ <location line="-319"/>
+ <location line="+192"/>
+ <location line="+470"/>
<source>Qt Assistant</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-519"/>
+ <location line="-501"/>
<location line="+4"/>
<source>Unfiltered</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+82"/>
+ <location line="+84"/>
<source>Page Set&amp;up...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Print Preview...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
- <source>&amp;Print...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location line="+3"/>
- <source>CTRL+P</source>
+ <source>&amp;Print...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+6"/>
<source>New &amp;Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
- <source>CTRL+T</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+1"/>
+ <location line="+3"/>
<source>&amp;Close Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
- <source>CTRL+W</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+2"/>
+ <location line="+4"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
@@ -528,42 +514,22 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
- <source>Ctrl+C</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+3"/>
+ <location line="+6"/>
<source>&amp;Find in Text...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
- <source>Ctrl+F</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+3"/>
+ <location line="+5"/>
<source>Find &amp;Next</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
- <source>F3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+3"/>
+ <location line="+4"/>
<source>Find &amp;Previous</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
- <source>Shift+F3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Preferences...</source>
<translation type="unfinished"></translation>
</message>
@@ -573,27 +539,17 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
- <source>Ctrl++</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+2"/>
+ <location line="+5"/>
<source>Zoom &amp;out</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
- <source>Ctrl+-</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+2"/>
+ <location line="+5"/>
<source>Normal &amp;Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+3"/>
<source>Ctrl+0</source>
<translation type="unfinished"></translation>
</message>
@@ -618,27 +574,27 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Ctrl+Home</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+3"/>
<source>&amp;Back</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+5"/>
<source>&amp;Forward</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+5"/>
<source>Sync with Table of Contents</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+6"/>
<source>Next Page</source>
<translation type="unfinished"></translation>
</message>
@@ -653,7 +609,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Ctrl+Alt+Left</source>
<translation type="unfinished"></translation>
</message>
@@ -673,7 +629,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+75"/>
+ <location line="+74"/>
<source>Toolbars</source>
<translation type="unfinished"></translation>
</message>
@@ -688,7 +644,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+21"/>
+ <location line="+23"/>
<source>Address Toolbar</source>
<translation type="unfinished"></translation>
</message>
@@ -698,27 +654,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+108"/>
+ <location line="+110"/>
<source>Could not find the associated content item.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+60"/>
- <source>Open Source Edition</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+1"/>
- <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.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+10"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+20"/>
+ <location line="+81"/>
<source>About %1</source>
<translation type="unfinished"></translation>
</message>
@@ -728,17 +669,17 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-614"/>
+ <location line="-597"/>
<source>Looking for Qt Documentation...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+205"/>
+ <location line="+195"/>
<source>&amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+3"/>
<source>Minimize</source>
<translation type="unfinished"></translation>
</message>
@@ -748,32 +689,32 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="-2"/>
<source>Zoom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-150"/>
+ <location line="-136"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+24"/>
<source>&amp;Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
+ <location line="+24"/>
<source>&amp;View</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+27"/>
<source>&amp;Go</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+37"/>
+ <location line="+29"/>
<source>&amp;Bookmarks</source>
<translation type="unfinished"></translation>
</message>
@@ -783,17 +724,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+294"/>
- <source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel&lt;/a&gt; for an overview of Qt licensing.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-339"/>
+ <location line="-37"/>
<source>ALT+O</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+43"/>
+ <location line="+35"/>
<source>CTRL+D</source>
<translation type="unfinished"></translation>
</message>
@@ -801,7 +737,7 @@
<context>
<name>PreferencesDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+238"/>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+237"/>
<location line="+7"/>
<location line="+6"/>
<source>Add Documentation</source>
@@ -823,7 +759,27 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+122"/>
+ <location line="+23"/>
+ <source>Remove Documentation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Some documents currently opened in Assistant reference the documentation you are attempting to remove. Removing the documentation will close those documents.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+86"/>
<source>Use custom settings</source>
<translation type="unfinished"></translation>
</message>
@@ -902,26 +858,6 @@
</message>
<message>
<location/>
- <source>Network</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location/>
- <source>Use Http Proxy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location/>
- <source>Http Proxy:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location/>
- <source>Port:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
@@ -944,7 +880,7 @@
<context>
<name>QObject</name>
<message>
- <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+79"/>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+110"/>
<source>The specified collection file does not exist!</source>
<translation type="unfinished"></translation>
</message>
@@ -990,6 +926,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+7"/>
+ <source>Missing filter argument!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location line="+10"/>
<source>Unknown option: %1</source>
<translation type="unfinished"></translation>
@@ -1001,7 +942,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/main.cpp" line="+58"/>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="+190"/>
<source>Could not register documentation file
%1
@@ -1015,7 +956,7 @@ Reason:
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+11"/>
<source>Could not unregister documentation file
%1
@@ -1024,12 +965,12 @@ Reason:
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="-3"/>
<source>Documentation successfully unregistered.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location line="+18"/>
<source>Cannot load sqlite database driver!</source>
<translation type="unfinished"></translation>
</message>
@@ -1048,7 +989,7 @@ Reason:
<context>
<name>RemoteControl</name>
<message>
- <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+128"/>
+ <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+157"/>
<source>Debugging Remote Control</source>
<translation type="unfinished"></translation>
</message>
@@ -1061,7 +1002,7 @@ Reason:
<context>
<name>SearchWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+193"/>
<source>&amp;Copy</source>
<translation type="unfinished"></translation>
</message>
@@ -1090,7 +1031,7 @@ Reason:
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+24"/>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+54"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;:</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/assistant_pl.ts b/translations/assistant_pl.ts
index 4985b72..f84bad2 100644
--- a/translations/assistant_pl.ts
+++ b/translations/assistant_pl.ts
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="pl">
+<!DOCTYPE TS>
+<TS version="2.0" language="pl">
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+80"/>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+110"/>
<source>&amp;Close</source>
<translation>Za&amp;mknij</translation>
</message>
@@ -30,7 +31,7 @@
<context>
<name>BookmarkDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+155"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+185"/>
<location line="+18"/>
<location line="+36"/>
<location line="+24"/>
@@ -157,7 +158,7 @@
<context>
<name>CentralWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+195"/>
<source>Add new page</source>
<translation>Dodaj nową stronę</translation>
</message>
@@ -167,12 +168,12 @@
<translation>Zamknij bieżącą stronę</translation>
</message>
<message>
- <location line="+266"/>
+ <location line="+265"/>
<source>Print Document</source>
<translation>Wydrukuj dokument</translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+147"/>
<location line="+2"/>
<source>unknown</source>
<translation>nieznany</translation>
@@ -198,7 +199,7 @@
<translation>Dodaj zakładkę dla tej strony...</translation>
</message>
<message>
- <location line="+227"/>
+ <location line="+257"/>
<source>Search</source>
<translation>Wyszukaj</translation>
</message>
@@ -206,7 +207,7 @@
<context>
<name>ContentWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+115"/>
+ <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+155"/>
<source>Open Link</source>
<translation>Otwórz odsyłacz</translation>
</message>
@@ -236,7 +237,7 @@
<context>
<name>FindWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-809"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-863"/>
<source>Previous</source>
<translation>Poprzedni</translation>
</message>
@@ -264,7 +265,7 @@
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation>Czcionka</translation>
</message>
@@ -292,7 +293,7 @@
<context>
<name>HelpViewer</name>
<message>
- <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+310"/>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+481"/>
<source>Help</source>
<translation>Pomoc</translation>
</message>
@@ -308,12 +309,12 @@
<translation>OK</translation>
</message>
<message>
- <location line="+17"/>
+ <location line="-62"/>
<source>&lt;title&gt;Error 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;The page could not be found&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</source>
<translation>&lt;title&gt;Błąd 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;Strona nie może być znaleziona&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
</message>
<message>
- <location line="+90"/>
+ <location line="+125"/>
<source>Copy &amp;Link Location</source>
<translation>Skopiuj &amp;odsyłacz</translation>
</message>
@@ -323,12 +324,12 @@
<translation>Otwórz odsyłacz w nowej karcie Ctrl+LMB</translation>
</message>
<message>
- <location line="-238"/>
+ <location line="-267"/>
<source>Open Link in New Tab</source>
<translation>Otwórz odsyłacz w nowej karcie</translation>
</message>
<message>
- <location line="+128"/>
+ <location line="+201"/>
<source>Unable to launch external application.
</source>
<translation>Nie można uruchomić zewnętrznej aplikacji.
@@ -338,12 +339,12 @@
<context>
<name>IndexWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+36"/>
+ <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+66"/>
<source>&amp;Look for:</source>
<translation>Wy&amp;szukaj:</translation>
</message>
<message>
- <location line="+70"/>
+ <location line="+68"/>
<source>Open Link</source>
<translation>Otwórz odsyłacz</translation>
</message>
@@ -356,7 +357,7 @@
<context>
<name>InstallDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+45"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+75"/>
<location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
<source>Install Documentation</source>
<translation>Zainstaluj dokumentację</translation>
@@ -456,38 +457,38 @@
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+78"/>
- <location line="+345"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+108"/>
+ <location line="+350"/>
<source>Index</source>
<translation>Indeks</translation>
</message>
<message>
- <location line="-339"/>
- <location line="+337"/>
+ <location line="-344"/>
+ <location line="+342"/>
<source>Contents</source>
<translation>Spis treści</translation>
</message>
<message>
- <location line="-332"/>
- <location line="+336"/>
+ <location line="-337"/>
+ <location line="+341"/>
<source>Bookmarks</source>
<translation>Zakładki</translation>
</message>
<message>
- <location line="-324"/>
- <location line="+326"/>
+ <location line="-329"/>
+ <location line="+331"/>
<source>Search</source>
<translation>Wyszukaj</translation>
</message>
<message>
- <location line="-314"/>
- <location line="+185"/>
- <location line="+488"/>
+ <location line="-319"/>
+ <location line="+192"/>
+ <location line="+470"/>
<source>Qt Assistant</source>
<translation>Qt Assistant</translation>
</message>
<message>
- <location line="-519"/>
+ <location line="-501"/>
<location line="+4"/>
<source>Unfiltered</source>
<translation>Nieprzefiltrowany</translation>
@@ -497,47 +498,44 @@
<translation type="obsolete">Plik</translation>
</message>
<message>
- <location line="+82"/>
+ <location line="+84"/>
<source>Page Set&amp;up...</source>
<translation>&amp;Ustawienia strony...</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Print Preview...</source>
<translation>Podgląd wydruku...</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+3"/>
<source>&amp;Print...</source>
<translation>Wy&amp;drukuj...</translation>
</message>
<message>
- <location line="+3"/>
<source>CTRL+P</source>
- <translation>CTRL+P</translation>
+ <translation type="obsolete">CTRL+P</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+6"/>
<source>New &amp;Tab</source>
<translation>Nowa kar&amp;ta</translation>
</message>
<message>
- <location line="+1"/>
<source>CTRL+T</source>
- <translation>CTRL+T</translation>
+ <translation type="obsolete">CTRL+T</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+3"/>
<source>&amp;Close Tab</source>
<translation>&amp;Zamknij kartę</translation>
</message>
<message>
- <location line="+1"/>
<source>CTRL+W</source>
- <translation>CTRL+W</translation>
+ <translation type="obsolete">CTRL+W</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+4"/>
<source>&amp;Quit</source>
<translation>Za&amp;kończ</translation>
</message>
@@ -556,42 +554,38 @@
<translation>S&amp;kopiuj zaznaczony tekst</translation>
</message>
<message>
- <location line="+4"/>
<source>Ctrl+C</source>
- <translation>Ctrl+C</translation>
+ <translation type="obsolete">Ctrl+C</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+6"/>
<source>&amp;Find in Text...</source>
<translation>Znajdź w &amp;tekście...</translation>
</message>
<message>
- <location line="+4"/>
<source>Ctrl+F</source>
- <translation>Ctrl+F</translation>
+ <translation type="obsolete">Ctrl+F</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+5"/>
<source>Find &amp;Next</source>
<translation>Znajdź &amp;następny</translation>
</message>
<message>
- <location line="+2"/>
<source>F3</source>
- <translation>F3</translation>
+ <translation type="obsolete">F3</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>Find &amp;Previous</source>
<translation>Znajdź &amp;poprzedni</translation>
</message>
<message>
- <location line="+2"/>
<source>Shift+F3</source>
- <translation>Shift+F3</translation>
+ <translation type="obsolete">Shift+F3</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Preferences...</source>
<translation>Ustawienia...</translation>
</message>
@@ -605,27 +599,17 @@
<translation>Po&amp;większ</translation>
</message>
<message>
- <location line="+4"/>
- <source>Ctrl++</source>
- <translation></translation>
- </message>
- <message>
- <location line="+2"/>
+ <location line="+5"/>
<source>Zoom &amp;out</source>
<translation>Po&amp;mniejsz</translation>
</message>
<message>
- <location line="+4"/>
- <source>Ctrl+-</source>
- <translation></translation>
- </message>
- <message>
- <location line="+2"/>
+ <location line="+5"/>
<source>Normal &amp;Size</source>
<translation>Normalny &amp;rozmiar</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+3"/>
<source>Ctrl+0</source>
<translation>Ctrl+0</translation>
</message>
@@ -658,27 +642,27 @@
<translation>Strona &amp;startowa</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Ctrl+Home</source>
<translation></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+3"/>
<source>&amp;Back</source>
<translation>&amp;Wstecz</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+5"/>
<source>&amp;Forward</source>
<translation>W &amp;przód</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+5"/>
<source>Sync with Table of Contents</source>
<translation>Znajdź bieżącą stronę w spisie treści</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+6"/>
<source>Next Page</source>
<translation>Następna strona</translation>
</message>
@@ -693,7 +677,7 @@
<translation>Poprzednia strona</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Ctrl+Alt+Left</source>
<translation></translation>
</message>
@@ -717,7 +701,7 @@
<translation>Pasek do nawigacji</translation>
</message>
<message>
- <location line="+75"/>
+ <location line="+74"/>
<source>Toolbars</source>
<translation>Paski narzędzi</translation>
</message>
@@ -732,7 +716,7 @@
<translation>Przefiltrowane przez:</translation>
</message>
<message>
- <location line="+21"/>
+ <location line="+23"/>
<source>Address Toolbar</source>
<translation>Pasek adresu</translation>
</message>
@@ -742,27 +726,20 @@
<translation>Adres:</translation>
</message>
<message>
- <location line="+108"/>
+ <location line="+110"/>
<source>Could not find the associated content item.</source>
<translation>Nie można znaleźć skojarzonego elementu zawartości.</translation>
</message>
<message>
- <location line="+60"/>
<source>Open Source Edition</source>
- <translation>Edycja Open Source</translation>
+ <translation type="obsolete">Edycja Open Source</translation>
</message>
<message>
- <location line="+1"/>
<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.</source>
- <translation>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.</translation>
+ <translation type="obsolete">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.</translation>
</message>
<message>
- <location line="+10"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+20"/>
+ <location line="+81"/>
<source>About %1</source>
<translation>Informacje o %1</translation>
</message>
@@ -772,17 +749,17 @@
<translation>Uaktualnianie indeksu wyszukiwawczego</translation>
</message>
<message>
- <location line="-614"/>
+ <location line="-597"/>
<source>Looking for Qt Documentation...</source>
<translation>Szukanie dokumentacji Qt...</translation>
</message>
<message>
- <location line="+205"/>
+ <location line="+195"/>
<source>&amp;Window</source>
<translation>&amp;Okno</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+3"/>
<source>Minimize</source>
<translation>Zminimalizuj</translation>
</message>
@@ -792,7 +769,7 @@
<translation></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="-2"/>
<source>Zoom</source>
<translation>Powiększenie</translation>
</message>
@@ -805,32 +782,31 @@
<translation type="obsolete">Usuń</translation>
</message>
<message>
- <location line="+264"/>
<source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel&lt;/a&gt; for an overview of Qt licensing.</source>
- <translation>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 &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt;.</translation>
+ <translation type="obsolete">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 &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt;.</translation>
</message>
<message>
- <location line="-414"/>
+ <location line="-136"/>
<source>&amp;File</source>
<translation>&amp;Plik</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+24"/>
<source>&amp;Edit</source>
<translation>&amp;Edycja</translation>
</message>
<message>
- <location line="+29"/>
+ <location line="+24"/>
<source>&amp;View</source>
<translation>&amp;Widok</translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+27"/>
<source>&amp;Go</source>
<translation>&amp;Nawigacja</translation>
</message>
<message>
- <location line="+37"/>
+ <location line="+29"/>
<source>&amp;Bookmarks</source>
<translation>&amp;Zakładki</translation>
</message>
@@ -840,12 +816,12 @@
<translation>&amp;Pomoc</translation>
</message>
<message>
- <location line="-45"/>
+ <location line="-37"/>
<source>ALT+O</source>
<translation>ALT+O</translation>
</message>
<message>
- <location line="+43"/>
+ <location line="+35"/>
<source>CTRL+D</source>
<translation>CTRL+D</translation>
</message>
@@ -853,7 +829,7 @@
<context>
<name>PreferencesDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+238"/>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+237"/>
<location line="+7"/>
<location line="+6"/>
<source>Add Documentation</source>
@@ -875,7 +851,27 @@
<translation>Przestrzeń nazw %1 jest już zarejestrowana!</translation>
</message>
<message>
- <location line="+122"/>
+ <location line="+23"/>
+ <source>Remove Documentation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Some documents currently opened in Assistant reference the documentation you are attempting to remove. Removing the documentation will close those documents.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Cancel</source>
+ <translation type="unfinished">Anuluj</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>OK</source>
+ <translation type="unfinished">OK</translation>
+ </message>
+ <message>
+ <location line="+86"/>
<source>Use custom settings</source>
<translation>Użyj własnych ustawień</translation>
</message>
@@ -953,24 +949,20 @@
<translation>Dodaj...</translation>
</message>
<message>
- <location/>
<source>Network</source>
- <translation>Sieć</translation>
+ <translation type="obsolete">Sieć</translation>
</message>
<message>
- <location/>
<source>Use Http Proxy</source>
- <translation>Użyj pośrednika http</translation>
+ <translation type="obsolete">Użyj pośrednika http</translation>
</message>
<message>
- <location/>
<source>Http Proxy:</source>
- <translation>Pośrednik http:</translation>
+ <translation type="obsolete">Pośrednik http:</translation>
</message>
<message>
- <location/>
<source>Port:</source>
- <translation>Port:</translation>
+ <translation type="obsolete">Port:</translation>
</message>
<message>
<location/>
@@ -1000,7 +992,7 @@
<translation type="obsolete">Nowy katalog</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+79"/>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+110"/>
<source>The specified collection file does not exist!</source>
<translation>Podany plik z kolekcją nie istnieje!</translation>
</message>
@@ -1046,6 +1038,11 @@
<translation>Brak pliku pomocy!</translation>
</message>
<message>
+ <location line="+7"/>
+ <source>Missing filter argument!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location line="+10"/>
<source>Unknown option: %1</source>
<translation>Nieznana opcja: %1</translation>
@@ -1057,7 +1054,7 @@
<translation>Qt Assistant</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/main.cpp" line="+58"/>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="+190"/>
<source>Could not register documentation file
%1
@@ -1075,7 +1072,7 @@ Powód:
<translation>Dokumentacja poprawnie zarejestrowana.</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+11"/>
<source>Could not unregister documentation file
%1
@@ -1088,12 +1085,12 @@ Powód:
%2</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="-3"/>
<source>Documentation successfully unregistered.</source>
<translation>Dokumentacja poprawnie wyrejestrowana.</translation>
</message>
<message>
- <location line="+13"/>
+ <location line="+18"/>
<source>Cannot load sqlite database driver!</source>
<translation>Nie można odczytać sterownika bazy danych sqlite!</translation>
</message>
@@ -1112,7 +1109,7 @@ Powód:
<context>
<name>RemoteControl</name>
<message>
- <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+128"/>
+ <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+157"/>
<source>Debugging Remote Control</source>
<translation>Zdalne debugowanie</translation>
</message>
@@ -1125,7 +1122,7 @@ Powód:
<context>
<name>SearchWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+193"/>
<source>&amp;Copy</source>
<translation>S&amp;kopiuj</translation>
</message>
@@ -1154,7 +1151,7 @@ Powód:
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+24"/>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+54"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;:</source>
<translation>Wybierz temat dla &lt;b&gt;%1&lt;/b&gt;:</translation>
</message>
diff --git a/translations/assistant_untranslated.ts b/translations/assistant_untranslated.ts
index 5552272..1853155 100644
--- a/translations/assistant_untranslated.ts
+++ b/translations/assistant_untranslated.ts
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0">
+<!DOCTYPE TS>
+<TS version="2.0">
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+80"/>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+110"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
@@ -30,7 +31,7 @@
<context>
<name>BookmarkDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+155"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+185"/>
<location line="+18"/>
<location line="+36"/>
<location line="+24"/>
@@ -149,7 +150,7 @@
<context>
<name>CentralWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+195"/>
<source>Add new page</source>
<translation type="unfinished"></translation>
</message>
@@ -159,12 +160,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+266"/>
+ <location line="+265"/>
<source>Print Document</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+147"/>
<location line="+2"/>
<source>unknown</source>
<translation type="unfinished"></translation>
@@ -190,7 +191,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+227"/>
+ <location line="+257"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
@@ -198,7 +199,7 @@
<context>
<name>ContentWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+115"/>
+ <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+155"/>
<source>Open Link</source>
<translation type="unfinished"></translation>
</message>
@@ -224,7 +225,7 @@
<context>
<name>FindWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-809"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-863"/>
<source>Previous</source>
<translation type="unfinished"></translation>
</message>
@@ -252,7 +253,7 @@
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation type="unfinished"></translation>
</message>
@@ -280,7 +281,7 @@
<context>
<name>HelpViewer</name>
<message>
- <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+310"/>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+481"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
@@ -290,12 +291,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
+ <location line="-62"/>
<source>&lt;title&gt;Error 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;The page could not be found&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+90"/>
+ <location line="+125"/>
<source>Copy &amp;Link Location</source>
<translation type="unfinished"></translation>
</message>
@@ -305,12 +306,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-238"/>
+ <location line="-267"/>
<source>Open Link in New Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+128"/>
+ <location line="+201"/>
<source>Unable to launch external application.
</source>
<translation type="unfinished"></translation>
@@ -319,12 +320,12 @@
<context>
<name>IndexWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+36"/>
+ <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+66"/>
<source>&amp;Look for:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+70"/>
+ <location line="+68"/>
<source>Open Link</source>
<translation type="unfinished"></translation>
</message>
@@ -337,7 +338,7 @@
<context>
<name>InstallDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+45"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+75"/>
<location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
<source>Install Documentation</source>
<translation type="unfinished"></translation>
@@ -436,84 +437,69 @@
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+78"/>
- <location line="+345"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+108"/>
+ <location line="+350"/>
<source>Index</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-339"/>
- <location line="+337"/>
+ <location line="-344"/>
+ <location line="+342"/>
<source>Contents</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-332"/>
- <location line="+336"/>
+ <location line="-337"/>
+ <location line="+341"/>
<source>Bookmarks</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-324"/>
- <location line="+326"/>
+ <location line="-329"/>
+ <location line="+331"/>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-314"/>
- <location line="+185"/>
- <location line="+488"/>
+ <location line="-319"/>
+ <location line="+192"/>
+ <location line="+470"/>
<source>Qt Assistant</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-519"/>
+ <location line="-501"/>
<location line="+4"/>
<source>Unfiltered</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+82"/>
+ <location line="+84"/>
<source>Page Set&amp;up...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Print Preview...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
- <source>&amp;Print...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location line="+3"/>
- <source>CTRL+P</source>
+ <source>&amp;Print...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+6"/>
<source>New &amp;Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
- <source>CTRL+T</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+1"/>
+ <location line="+3"/>
<source>&amp;Close Tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
- <source>CTRL+W</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+2"/>
+ <location line="+4"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
@@ -528,42 +514,22 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
- <source>Ctrl+C</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+3"/>
+ <location line="+6"/>
<source>&amp;Find in Text...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
- <source>Ctrl+F</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+3"/>
+ <location line="+5"/>
<source>Find &amp;Next</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
- <source>F3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+3"/>
+ <location line="+4"/>
<source>Find &amp;Previous</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
- <source>Shift+F3</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Preferences...</source>
<translation type="unfinished"></translation>
</message>
@@ -573,27 +539,17 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
- <source>Ctrl++</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+2"/>
+ <location line="+5"/>
<source>Zoom &amp;out</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
- <source>Ctrl+-</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+2"/>
+ <location line="+5"/>
<source>Normal &amp;Size</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+3"/>
<source>Ctrl+0</source>
<translation type="unfinished"></translation>
</message>
@@ -618,27 +574,27 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Ctrl+Home</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+3"/>
<source>&amp;Back</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+5"/>
<source>&amp;Forward</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+5"/>
<source>Sync with Table of Contents</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+6"/>
<source>Next Page</source>
<translation type="unfinished"></translation>
</message>
@@ -653,7 +609,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Ctrl+Alt+Left</source>
<translation type="unfinished"></translation>
</message>
@@ -673,7 +629,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+75"/>
+ <location line="+74"/>
<source>Toolbars</source>
<translation type="unfinished"></translation>
</message>
@@ -688,7 +644,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+21"/>
+ <location line="+23"/>
<source>Address Toolbar</source>
<translation type="unfinished"></translation>
</message>
@@ -698,27 +654,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+108"/>
+ <location line="+110"/>
<source>Could not find the associated content item.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+60"/>
- <source>Open Source Edition</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+1"/>
- <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.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+10"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+20"/>
+ <location line="+81"/>
<source>About %1</source>
<translation type="unfinished"></translation>
</message>
@@ -728,17 +669,17 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-614"/>
+ <location line="-597"/>
<source>Looking for Qt Documentation...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+205"/>
+ <location line="+195"/>
<source>&amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+3"/>
<source>Minimize</source>
<translation type="unfinished"></translation>
</message>
@@ -748,32 +689,32 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
+ <location line="-2"/>
<source>Zoom</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-150"/>
+ <location line="-136"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+24"/>
<source>&amp;Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
+ <location line="+24"/>
<source>&amp;View</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+30"/>
+ <location line="+27"/>
<source>&amp;Go</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+37"/>
+ <location line="+29"/>
<source>&amp;Bookmarks</source>
<translation type="unfinished"></translation>
</message>
@@ -783,17 +724,12 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+294"/>
- <source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel&lt;/a&gt; for an overview of Qt licensing.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-339"/>
+ <location line="-37"/>
<source>ALT+O</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+43"/>
+ <location line="+35"/>
<source>CTRL+D</source>
<translation type="unfinished"></translation>
</message>
@@ -801,7 +737,7 @@
<context>
<name>PreferencesDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+238"/>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+237"/>
<location line="+7"/>
<location line="+6"/>
<source>Add Documentation</source>
@@ -823,7 +759,27 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+122"/>
+ <location line="+23"/>
+ <source>Remove Documentation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Some documents currently opened in Assistant reference the documentation you are attempting to remove. Removing the documentation will close those documents.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+86"/>
<source>Use custom settings</source>
<translation type="unfinished"></translation>
</message>
@@ -902,26 +858,6 @@
</message>
<message>
<location/>
- <source>Network</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location/>
- <source>Use Http Proxy</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location/>
- <source>Http Proxy:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location/>
- <source>Port:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location/>
<source>Options</source>
<translation type="unfinished"></translation>
</message>
@@ -944,7 +880,7 @@
<context>
<name>QObject</name>
<message>
- <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+79"/>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+110"/>
<source>The specified collection file does not exist!</source>
<translation type="unfinished"></translation>
</message>
@@ -990,6 +926,11 @@
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+7"/>
+ <source>Missing filter argument!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location line="+10"/>
<source>Unknown option: %1</source>
<translation type="unfinished"></translation>
@@ -1001,7 +942,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/main.cpp" line="+58"/>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="+190"/>
<source>Could not register documentation file
%1
@@ -1015,7 +956,7 @@ Reason:
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+11"/>
<source>Could not unregister documentation file
%1
@@ -1024,12 +965,12 @@ Reason:
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location line="-3"/>
<source>Documentation successfully unregistered.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location line="+18"/>
<source>Cannot load sqlite database driver!</source>
<translation type="unfinished"></translation>
</message>
@@ -1048,7 +989,7 @@ Reason:
<context>
<name>RemoteControl</name>
<message>
- <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+128"/>
+ <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+157"/>
<source>Debugging Remote Control</source>
<translation type="unfinished"></translation>
</message>
@@ -1061,7 +1002,7 @@ Reason:
<context>
<name>SearchWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+193"/>
<source>&amp;Copy</source>
<translation type="unfinished"></translation>
</message>
@@ -1090,7 +1031,7 @@ Reason:
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+24"/>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+54"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;:</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/assistant_zh_CN.ts b/translations/assistant_zh_CN.ts
index 0384c47..a1f763f 100644
--- a/translations/assistant_zh_CN.ts
+++ b/translations/assistant_zh_CN.ts
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="zh">
-<defaultcodec></defaultcodec>
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+80"/>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+110"/>
<source>&amp;Close</source>
<translation>关闭(&amp;C)</translation>
</message>
@@ -33,7 +32,7 @@
<context>
<name>BookmarkDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+155"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+185"/>
<location line="+18"/>
<location line="+36"/>
<location line="+24"/>
@@ -164,7 +163,7 @@
<context>
<name>CentralWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+195"/>
<source>Add new page</source>
<translation>添加新页面</translation>
</message>
@@ -174,12 +173,12 @@
<translation>关闭当前页面</translation>
</message>
<message>
- <location line="+266"/>
+ <location line="+265"/>
<source>Print Document</source>
<translation>打印文档</translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+147"/>
<location line="+2"/>
<source>unknown</source>
<translation>未知的</translation>
@@ -205,7 +204,7 @@
<translation>把这个页面添加为书签...</translation>
</message>
<message>
- <location line="+227"/>
+ <location line="+257"/>
<source>Search</source>
<translation>搜索</translation>
</message>
@@ -213,7 +212,7 @@
<context>
<name>ContentWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+115"/>
+ <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+155"/>
<source>Open Link</source>
<translation>打开链接</translation>
</message>
@@ -243,7 +242,7 @@
<context>
<name>FindWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-809"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-863"/>
<source>Previous</source>
<translation>上一个</translation>
</message>
@@ -271,7 +270,7 @@
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation>字体</translation>
</message>
@@ -299,7 +298,7 @@
<context>
<name>HelpViewer</name>
<message>
- <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+310"/>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+481"/>
<source>Help</source>
<translation>帮助</translation>
</message>
@@ -315,12 +314,12 @@
<translation>确定</translation>
</message>
<message>
- <location line="+17"/>
+ <location line="-62"/>
<source>&lt;title&gt;Error 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;The page could not be found&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</source>
<translation>&lt;title&gt;404 错误...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;不能找到该页面&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
</message>
<message>
- <location line="+90"/>
+ <location line="+125"/>
<source>Copy &amp;Link Location</source>
<translation>复制链接地址(&amp;L)</translation>
</message>
@@ -330,12 +329,12 @@
<translation>在新标签页中打开链接 Ctrl+LMB</translation>
</message>
<message>
- <location line="-238"/>
+ <location line="-267"/>
<source>Open Link in New Tab</source>
<translation>在新标签页中打开链接</translation>
</message>
<message>
- <location line="+128"/>
+ <location line="+201"/>
<source>Unable to launch external application.
</source>
<translation>不能启动外部应用程序。
@@ -345,12 +344,12 @@
<context>
<name>IndexWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+36"/>
+ <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+66"/>
<source>&amp;Look for:</source>
<translation>查找(&amp;L):</translation>
</message>
<message>
- <location line="+70"/>
+ <location line="+68"/>
<source>Open Link</source>
<translation>打开链接</translation>
</message>
@@ -363,7 +362,7 @@
<context>
<name>InstallDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+45"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+75"/>
<location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
<source>Install Documentation</source>
<translation>安装文档</translation>
@@ -463,38 +462,38 @@
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+78"/>
- <location line="+345"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+108"/>
+ <location line="+350"/>
<source>Index</source>
<translation>索引</translation>
</message>
<message>
- <location line="-339"/>
- <location line="+337"/>
+ <location line="-344"/>
+ <location line="+342"/>
<source>Contents</source>
<translation>内容</translation>
</message>
<message>
- <location line="-332"/>
- <location line="+336"/>
+ <location line="-337"/>
+ <location line="+341"/>
<source>Bookmarks</source>
<translation>书签</translation>
</message>
<message>
- <location line="-324"/>
- <location line="+326"/>
+ <location line="-329"/>
+ <location line="+331"/>
<source>Search</source>
<translation>搜索</translation>
</message>
<message>
- <location line="-314"/>
- <location line="+185"/>
- <location line="+488"/>
+ <location line="-319"/>
+ <location line="+192"/>
+ <location line="+470"/>
<source>Qt Assistant</source>
<translation>Qt 助手</translation>
</message>
<message>
- <location line="-519"/>
+ <location line="-501"/>
<location line="+4"/>
<source>Unfiltered</source>
<translation>未过滤的</translation>
@@ -504,47 +503,44 @@
<translation type="obsolete">文件</translation>
</message>
<message>
- <location line="+82"/>
+ <location line="+84"/>
<source>Page Set&amp;up...</source>
<translation>页面设置(&amp;U)...</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+2"/>
<source>Print Preview...</source>
<translation>打印预览...</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+3"/>
<source>&amp;Print...</source>
<translation>打印(&amp;P)...</translation>
</message>
<message>
- <location line="+3"/>
<source>CTRL+P</source>
- <translation>CTRL+P</translation>
+ <translation type="obsolete">CTRL+P</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+6"/>
<source>New &amp;Tab</source>
<translation>新建标签页(&amp;T)</translation>
</message>
<message>
- <location line="+1"/>
<source>CTRL+T</source>
- <translation>CTRL+T</translation>
+ <translation type="obsolete">CTRL+T</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+3"/>
<source>&amp;Close Tab</source>
<translation>关闭标签页(&amp;C)</translation>
</message>
<message>
- <location line="+1"/>
<source>CTRL+W</source>
- <translation>CTRL+W</translation>
+ <translation type="obsolete">CTRL+W</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+4"/>
<source>&amp;Quit</source>
<translation>退出(&amp;Q)</translation>
</message>
@@ -563,42 +559,38 @@
<translation>复制选中的文本(&amp;C)</translation>
</message>
<message>
- <location line="+4"/>
<source>Ctrl+C</source>
- <translation>Ctrl+C</translation>
+ <translation type="obsolete">Ctrl+C</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+6"/>
<source>&amp;Find in Text...</source>
<translation>在文本中查找(&amp;F)...</translation>
</message>
<message>
- <location line="+4"/>
<source>Ctrl+F</source>
- <translation>Ctrl+F</translation>
+ <translation type="obsolete">Ctrl+F</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+5"/>
<source>Find &amp;Next</source>
<translation>查找下一个(&amp;N)</translation>
</message>
<message>
- <location line="+2"/>
<source>F3</source>
- <translation>F3</translation>
+ <translation type="obsolete">F3</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+4"/>
<source>Find &amp;Previous</source>
<translation>查找上一个(&amp;P)</translation>
</message>
<message>
- <location line="+2"/>
<source>Shift+F3</source>
- <translation>Shift+F3</translation>
+ <translation type="obsolete">Shift+F3</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>Preferences...</source>
<translation>首选项...</translation>
</message>
@@ -612,27 +604,25 @@
<translation>放大(&amp;I)</translation>
</message>
<message>
- <location line="+4"/>
<source>Ctrl++</source>
- <translation>Ctrl++</translation>
+ <translation type="obsolete">Ctrl++</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+5"/>
<source>Zoom &amp;out</source>
<translation>缩小(&amp;O)</translation>
</message>
<message>
- <location line="+4"/>
<source>Ctrl+-</source>
- <translation>Ctrl+-</translation>
+ <translation type="obsolete">Ctrl+-</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+5"/>
<source>Normal &amp;Size</source>
<translation>正常大小(&amp;S)</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+3"/>
<source>Ctrl+0</source>
<translation>Ctrl+0</translation>
</message>
@@ -665,27 +655,27 @@
<translation>主页(&amp;H)</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Ctrl+Home</source>
<translation>Ctrl+Home</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+3"/>
<source>&amp;Back</source>
<translation>后退(&amp;B)</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+5"/>
<source>&amp;Forward</source>
<translation>前进(&amp;F)</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+5"/>
<source>Sync with Table of Contents</source>
<translation>同步目录</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+6"/>
<source>Next Page</source>
<translation>下一页</translation>
</message>
@@ -700,7 +690,7 @@
<translation>上一页</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Ctrl+Alt+Left</source>
<translation>Ctrl+Alt+Left</translation>
</message>
@@ -728,7 +718,7 @@
<translation>导航工具栏</translation>
</message>
<message>
- <location line="+75"/>
+ <location line="+74"/>
<source>Toolbars</source>
<translation>工具栏</translation>
</message>
@@ -743,7 +733,7 @@
<translation>过滤器为:</translation>
</message>
<message>
- <location line="+21"/>
+ <location line="+23"/>
<source>Address Toolbar</source>
<translation>地址工具栏</translation>
</message>
@@ -753,27 +743,24 @@
<translation>地址:</translation>
</message>
<message>
- <location line="+108"/>
+ <location line="+110"/>
<source>Could not find the associated content item.</source>
<translation>不能找到相关内容项目。</translation>
</message>
<message>
- <location line="+60"/>
<source>Open Source Edition</source>
- <translation>开源版本</translation>
+ <translation type="obsolete">开源版本</translation>
</message>
<message>
- <location line="+1"/>
<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.</source>
- <translation>这个版本的 Qt 助手是 Qt 开源版本的一部分,用于开发开源应用程序。Qt 是一个用于跨平台应用程序开发的综合 C++ 框架。</translation>
+ <translation type="obsolete">这个版本的 Qt 助手是 Qt 开源版本的一部分,用于开发开源应用程序。Qt 是一个用于跨平台应用程序开发的综合 C++ 框架。</translation>
</message>
<message>
- <location line="+10"/>
<source>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.</source>
- <translation>我们已经允许您在 Qt 商业许可协议下使用本程序。有关细节,请阅读本软件发行中所带的 LICENSE 文件。</translation>
+ <translation type="obsolete">我们已经允许您在 Qt 商业许可协议下使用本程序。有关细节,请阅读本软件发行中所带的 LICENSE 文件。</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+81"/>
<source>About %1</source>
<translation>关于 %1</translation>
</message>
@@ -783,17 +770,17 @@
<translation>正在更新搜索索引</translation>
</message>
<message>
- <location line="-614"/>
+ <location line="-597"/>
<source>Looking for Qt Documentation...</source>
<translation>正在查找 Qt 文档...</translation>
</message>
<message>
- <location line="+205"/>
+ <location line="+195"/>
<source>&amp;Window</source>
<translation>窗口(&amp;W)</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+3"/>
<source>Minimize</source>
<translation>最小化</translation>
</message>
@@ -803,7 +790,7 @@
<translation>Ctrl+M</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="-2"/>
<source>Zoom</source>
<translation>缩放</translation>
</message>
@@ -816,27 +803,26 @@
<translation type="obsolete">移除</translation>
</message>
<message>
- <location line="+264"/>
<source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel&lt;/a&gt; for an overview of Qt licensing.</source>
- <translation>开发商业(闭源)应用程序,你需要商业 Qt 许可。对于 Qt 许可的概览,请参考&lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;qtsoftware.com/company/about/businessmodel&lt;/a&gt;。</translation>
+ <translation type="obsolete">开发商业(闭源)应用程序,你需要商业 Qt 许可。对于 Qt 许可的概览,请参考&lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;qtsoftware.com/company/about/businessmodel&lt;/a&gt;。</translation>
</message>
<message>
- <location line="-414"/>
+ <location line="-136"/>
<source>&amp;File</source>
<translation>文件(&amp;F)</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+24"/>
<source>&amp;Edit</source>
<translation>编辑(&amp;E)</translation>
</message>
<message>
- <location line="+29"/>
+ <location line="+24"/>
<source>&amp;View</source>
<translation>查看(&amp;V)</translation>
</message>
<message>
- <location line="+26"/>
+ <location line="+23"/>
<source>ALT+O</source>
<translation>ALT+O</translation>
</message>
@@ -846,7 +832,7 @@
<translation>前往(&amp;G)</translation>
</message>
<message>
- <location line="+37"/>
+ <location line="+29"/>
<source>&amp;Bookmarks</source>
<translation>书签(&amp;B)</translation>
</message>
@@ -864,7 +850,7 @@
<context>
<name>PreferencesDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+238"/>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+237"/>
<location line="+7"/>
<location line="+6"/>
<source>Add Documentation</source>
@@ -886,7 +872,27 @@
<translation>命名空间 %1 已经被注册!</translation>
</message>
<message>
- <location line="+122"/>
+ <location line="+23"/>
+ <source>Remove Documentation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Some documents currently opened in Assistant reference the documentation you are attempting to remove. Removing the documentation will close those documents.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Cancel</source>
+ <translation type="unfinished">取消</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>OK</source>
+ <translation type="unfinished">确定</translation>
+ </message>
+ <message>
+ <location line="+86"/>
<source>Use custom settings</source>
<translation>使用自定义设定</translation>
</message>
@@ -964,24 +970,20 @@
<translation>添加...</translation>
</message>
<message>
- <location/>
<source>Network</source>
- <translation>网络</translation>
+ <translation type="obsolete">网络</translation>
</message>
<message>
- <location/>
<source>Use Http Proxy</source>
- <translation>使用 HTTP 代理</translation>
+ <translation type="obsolete">使用 HTTP 代理</translation>
</message>
<message>
- <location/>
<source>Http Proxy:</source>
- <translation>HTTP 代理:</translation>
+ <translation type="obsolete">HTTP 代理:</translation>
</message>
<message>
- <location/>
<source>Port:</source>
- <translation>端口:</translation>
+ <translation type="obsolete">端口:</translation>
</message>
<message>
<location/>
@@ -1011,7 +1013,7 @@
<translation type="obsolete">新建文件夹</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+79"/>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+110"/>
<source>The specified collection file does not exist!</source>
<translation>指定的收藏文件并不存在!</translation>
</message>
@@ -1057,6 +1059,11 @@
<translation>缺少帮助文件!</translation>
</message>
<message>
+ <location line="+7"/>
+ <source>Missing filter argument!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location line="+10"/>
<source>Unknown option: %1</source>
<translation>未知的选项:%1</translation>
@@ -1068,7 +1075,7 @@
<translation>Qt 助手</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/main.cpp" line="+58"/>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="+190"/>
<source>Could not register documentation file
%1
@@ -1086,7 +1093,7 @@ Reason:
<translation>文档已经成功注册。</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+11"/>
<source>Could not unregister documentation file
%1
@@ -1099,12 +1106,12 @@ Reason:
%2</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="-3"/>
<source>Documentation successfully unregistered.</source>
<translation>文档已经成功取消注册。</translation>
</message>
<message>
- <location line="+13"/>
+ <location line="+18"/>
<source>Cannot load sqlite database driver!</source>
<translation>无法加载sqlite数据库驱动!</translation>
</message>
@@ -1123,7 +1130,7 @@ Reason:
<context>
<name>RemoteControl</name>
<message>
- <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+128"/>
+ <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+157"/>
<source>Debugging Remote Control</source>
<translation>正在调试遥控器</translation>
</message>
@@ -1136,7 +1143,7 @@ Reason:
<context>
<name>SearchWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+193"/>
<source>&amp;Copy</source>
<translation>复制(&amp;C)</translation>
</message>
@@ -1165,7 +1172,7 @@ Reason:
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+24"/>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+54"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;:</source>
<translation>为&lt;b&gt;%1&lt;/b&gt;选择一个主题</translation>
</message>
diff --git a/translations/assistant_zh_TW.ts b/translations/assistant_zh_TW.ts
index 179b69c..df6b827 100644
--- a/translations/assistant_zh_TW.ts
+++ b/translations/assistant_zh_TW.ts
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="zh_TW">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_TW">
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="80"/>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+110"/>
<source>&amp;Close</source>
<translation>關閉(&amp;C)</translation>
</message>
@@ -12,16 +12,19 @@
<context>
<name>AboutLabel</name>
<message>
+ <location line="-14"/>
<source>Warning</source>
<translation>警告</translation>
</message>
<message>
+ <location line="+1"/>
<source>Unable to launch external application.
</source>
<translation>無法啟動外部應用程式。
</translation>
</message>
<message>
+ <location line="+1"/>
<source>OK</source>
<translation>確定</translation>
</message>
@@ -29,34 +32,46 @@
<context>
<name>BookmarkDialog</name>
<message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui"/>
<source>Add Bookmark</source>
<translation>新增書籤</translation>
</message>
<message>
+ <location/>
<source>Bookmark:</source>
<translation>書籤:</translation>
</message>
<message>
+ <location/>
<source>Add in Folder:</source>
<translation>新增到資料夾:</translation>
</message>
<message>
+ <location/>
<source>New Folder</source>
<translation>新增資料夾</translation>
</message>
<message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+185"/>
+ <location line="+18"/>
+ <location line="+36"/>
+ <location line="+24"/>
+ <location line="+32"/>
<source>Bookmarks</source>
<translation>書籤</translation>
</message>
<message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui"/>
<source>+</source>
<translation>+</translation>
</message>
<message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="-69"/>
<source>Delete Folder</source>
<translation>刪除資料夾</translation>
</message>
<message>
+ <location line="+1"/>
<source>Rename Folder</source>
<translation>重命名資料夾</translation>
</message>
@@ -64,18 +79,23 @@
<context>
<name>BookmarkManager</name>
<message>
+ <location line="+450"/>
<source>Bookmarks</source>
<translation>書籤</translation>
</message>
<message>
+ <location line="+36"/>
<source>Remove</source>
<translation>移除</translation>
</message>
<message>
+ <location line="+1"/>
<source>You are going to delete a Folder, this will also&lt;br&gt;remove it&apos;s content. Are you sure to continue?</source>
<translation>您打算刪除資料夾,這會將裡面的內容&lt;br&gt;一併移除。您確定要繼續嗎?</translation>
</message>
<message>
+ <location line="+109"/>
+ <location line="+9"/>
<source>New Folder</source>
<translation>新資料夾</translation>
</message>
@@ -83,6 +103,7 @@
<context>
<name>BookmarkWidget</name>
<message>
+ <location line="-391"/>
<source>Filter:</source>
<translation>過濾:</translation>
</message>
@@ -91,6 +112,7 @@
<translation type="obsolete">書籤</translation>
</message>
<message>
+ <location line="+32"/>
<source>Remove</source>
<translation>移除</translation>
</message>
@@ -99,26 +121,32 @@
<translation type="obsolete">您打算刪除資料夾,這會將裡面的內容一併移除。您確定要繼續嗎?</translation>
</message>
<message>
+ <location line="-78"/>
<source>Delete Folder</source>
<translation>刪除資料夾</translation>
</message>
<message>
+ <location line="+1"/>
<source>Rename Folder</source>
<translation>重命名資料夾</translation>
</message>
<message>
+ <location line="+2"/>
<source>Show Bookmark</source>
<translation>顯示書籤</translation>
</message>
<message>
+ <location line="+1"/>
<source>Show Bookmark in New Tab</source>
<translation>於新分頁顯示書籤</translation>
</message>
<message>
+ <location line="+3"/>
<source>Delete Bookmark</source>
<translation>刪除書籤</translation>
</message>
<message>
+ <location line="+1"/>
<source>Rename Bookmark</source>
<translation>重命名書籤</translation>
</message>
@@ -127,6 +155,7 @@
<translation type="obsolete">搜尋字串:</translation>
</message>
<message>
+ <location line="+61"/>
<source>Add</source>
<translation>新增</translation>
</message>
@@ -134,39 +163,48 @@
<context>
<name>CentralWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="163"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+195"/>
<source>Add new page</source>
<translation>新增頁面</translation>
</message>
<message>
+ <location line="+9"/>
<source>Close current page</source>
<translation>關閉目前的頁面</translation>
</message>
<message>
+ <location line="+265"/>
<source>Print Document</source>
<translation>列印文件</translation>
</message>
<message>
+ <location line="+147"/>
+ <location line="+2"/>
<source>unknown</source>
<translation>未知</translation>
</message>
<message>
+ <location line="+96"/>
<source>Add New Page</source>
<translation>新增頁面</translation>
</message>
<message>
+ <location line="+1"/>
<source>Close This Page</source>
<translation>關閉此頁面</translation>
</message>
<message>
+ <location line="+1"/>
<source>Close Other Pages</source>
<translation>關閉其他頁面</translation>
</message>
<message>
+ <location line="+2"/>
<source>Add Bookmark for this Page...</source>
<translation>將此頁面新增到書籤...</translation>
</message>
<message>
+ <location line="+257"/>
<source>Search</source>
<translation>搜尋</translation>
</message>
@@ -174,11 +212,12 @@
<context>
<name>ContentWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="115"/>
+ <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+155"/>
<source>Open Link</source>
<translation>開啟連結</translation>
</message>
<message>
+ <location line="+1"/>
<source>Open Link in New Tab</source>
<translation>在新分頁開啟連結</translation>
</message>
@@ -190,10 +229,12 @@
<translation type="obsolete">過濾器名稱對話框</translation>
</message>
<message>
+ <location filename="../tools/assistant/tools/assistant/filternamedialog.ui"/>
<source>Filter Name:</source>
<translation>過濾器名稱:</translation>
</message>
<message>
+ <location/>
<source>Add Filter Name</source>
<translation>新增過濾器名稱</translation>
</message>
@@ -201,22 +242,27 @@
<context>
<name>FindWidget</name>
<message>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-863"/>
<source>Previous</source>
<translation>前一個</translation>
</message>
<message>
+ <location line="+7"/>
<source>Next</source>
<translation>下一個</translation>
</message>
<message>
+ <location line="+5"/>
<source>Case Sensitive</source>
<translation>區分大小寫</translation>
</message>
<message>
+ <location line="+3"/>
<source>Whole words</source>
<translation>整個單字</translation>
</message>
<message>
+ <location line="+12"/>
<source>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
<translation>&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;搜尋已過盡頭</translation>
</message>
@@ -224,23 +270,27 @@
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation>字型</translation>
</message>
<message>
+ <location line="+11"/>
<source>&amp;Writing system</source>
<translation>手寫系統(&amp;W)</translation>
</message>
<message>
+ <location line="+3"/>
<source>&amp;Family</source>
<translation>家族(&amp;W)</translation>
</message>
<message>
+ <location line="+4"/>
<source>&amp;Style</source>
<translation>樣式(&amp;S)</translation>
</message>
<message>
+ <location line="+4"/>
<source>&amp;Point size</source>
<translation>點大小(&amp;P)</translation>
</message>
@@ -248,7 +298,7 @@
<context>
<name>HelpViewer</name>
<message>
- <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="310"/>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+481"/>
<source>Help</source>
<translation>說明</translation>
</message>
@@ -259,26 +309,32 @@
</translation>
</message>
<message>
+ <location line="+1"/>
<source>OK</source>
<translation>確定</translation>
</message>
<message>
+ <location line="-62"/>
<source>&lt;title&gt;Error 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;The page could not be found&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</source>
<translation>&lt;title&gt;錯誤 404...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;找不到頁面&lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
</message>
<message>
+ <location line="+125"/>
<source>Copy &amp;Link Location</source>
<translation>複製連結位置(&amp;L)</translation>
</message>
<message>
- <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
- <translation>在新分頁開啟連結<byte value="x9"/>Ctrl+滑鼠左鍵</translation>
+ <location line="+3"/>
+ <source>Open Link in New Tab Ctrl+LMB</source>
+ <translation>在新分頁開啟連結 Ctrl+滑鼠左鍵</translation>
</message>
<message>
+ <location line="-267"/>
<source>Open Link in New Tab</source>
<translation>在新分頁開啟連結</translation>
</message>
<message>
+ <location line="+201"/>
<source>Unable to launch external application.
</source>
<translation>無法啟動外部應用程式。
@@ -288,15 +344,17 @@
<context>
<name>IndexWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="36"/>
+ <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+66"/>
<source>&amp;Look for:</source>
<translation>搜尋(&amp;L):</translation>
</message>
<message>
+ <location line="+68"/>
<source>Open Link</source>
<translation>開啟連結</translation>
</message>
<message>
+ <location line="+1"/>
<source>Open Link in New Tab</source>
<translation>在新分頁開啟連結</translation>
</message>
@@ -304,76 +362,99 @@
<context>
<name>InstallDialog</name>
<message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+75"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
<source>Install Documentation</source>
<translation>安裝文件</translation>
</message>
<message>
+ <location line="+30"/>
<source>Downloading documentation info...</source>
<translation>下載文件資訊中...</translation>
</message>
<message>
+ <location line="+48"/>
<source>Download canceled.</source>
<translation>下載已取消。</translation>
</message>
<message>
+ <location line="+26"/>
+ <location line="+78"/>
+ <location line="+27"/>
<source>Done.</source>
<translation>完成。</translation>
</message>
<message>
+ <location line="-90"/>
<source>The file %1 already exists. Do you want to overwrite it?</source>
<translation>檔案 %1 已存在。您要覆寫它嗎?</translation>
</message>
<message>
+ <location line="+11"/>
<source>Unable to save the file %1: %2.</source>
<translation>無法儲存檔案 %1:%2。</translation>
</message>
<message>
+ <location line="+8"/>
<source>Downloading %1...</source>
<translation>下載 %1 中...</translation>
</message>
<message>
+ <location line="+19"/>
+ <location line="+42"/>
+ <location line="+38"/>
<source>Download failed: %1.</source>
<translation>下載失敗:%1。</translation>
</message>
<message>
+ <location line="-70"/>
<source>Documentation info file is corrupt!</source>
<translation>文件資訊檔已損毀!</translation>
</message>
<message>
+ <location line="+37"/>
<source>Download failed: Downloaded file is corrupted.</source>
<translation>下載失敗:下載的檔案已損毀。</translation>
</message>
<message>
+ <location line="+2"/>
<source>Installing documentation %1...</source>
<translation>安裝文件 %1 中...</translation>
</message>
<message>
+ <location line="+22"/>
<source>Error while installing documentation:
%1</source>
<translation>安裝文件時發生錯誤:
%1</translation>
</message>
<message>
+ <location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
<source>Available Documentation:</source>
<translation>可用的文件:</translation>
</message>
<message>
+ <location/>
<source>Install</source>
<translation>安裝</translation>
</message>
<message>
+ <location/>
<source>Cancel</source>
<translation>取消</translation>
</message>
<message>
+ <location/>
<source>Close</source>
<translation>關閉</translation>
</message>
<message>
+ <location/>
<source>Installation Path:</source>
<translation>安裝路徑:</translation>
</message>
<message>
+ <location/>
<source>...</source>
<translation>...</translation>
</message>
@@ -381,26 +462,39 @@
<context>
<name>MainWindow</name>
<message>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+108"/>
+ <location line="+350"/>
<source>Index</source>
<translation>索引</translation>
</message>
<message>
+ <location line="-344"/>
+ <location line="+342"/>
<source>Contents</source>
<translation>內容</translation>
</message>
<message>
+ <location line="-337"/>
+ <location line="+341"/>
<source>Bookmarks</source>
<translation>書籤</translation>
</message>
<message>
+ <location line="-329"/>
+ <location line="+331"/>
<source>Search</source>
<translation>搜尋</translation>
</message>
<message>
+ <location line="-319"/>
+ <location line="+192"/>
+ <location line="+470"/>
<source>Qt Assistant</source>
<translation>Qt 小幫手</translation>
</message>
<message>
+ <location line="-501"/>
+ <location line="+4"/>
<source>Unfiltered</source>
<translation>未過濾</translation>
</message>
@@ -409,42 +503,49 @@
<translation type="obsolete">檔案</translation>
</message>
<message>
+ <location line="+84"/>
<source>Page Set&amp;up...</source>
<translation>頁面設定(&amp;U)...</translation>
</message>
<message>
+ <location line="+2"/>
<source>Print Preview...</source>
<translation>列印預覽...</translation>
</message>
<message>
+ <location line="+3"/>
<source>&amp;Print...</source>
<translation>列印(&amp;P)...</translation>
</message>
<message>
<source>CTRL+P</source>
- <translation>CTRL+P</translation>
+ <translation type="obsolete">CTRL+P</translation>
</message>
<message>
+ <location line="+6"/>
<source>New &amp;Tab</source>
<translation>新增分頁(&amp;T)</translation>
</message>
<message>
<source>CTRL+T</source>
- <translation>CTRL+T</translation>
+ <translation type="obsolete">CTRL+T</translation>
</message>
<message>
+ <location line="+3"/>
<source>&amp;Close Tab</source>
<translation>關閉分頁(&amp;C)</translation>
</message>
<message>
<source>CTRL+W</source>
- <translation>CTRL+W</translation>
+ <translation type="obsolete">CTRL+W</translation>
</message>
<message>
+ <location line="+4"/>
<source>&amp;Quit</source>
<translation>離開(&amp;Q)</translation>
</message>
<message>
+ <location line="+1"/>
<source>CTRL+Q</source>
<translation>CTRL+Q</translation>
</message>
@@ -453,38 +554,43 @@
<translation type="obsolete">編輯</translation>
</message>
<message>
+ <location line="+4"/>
<source>&amp;Copy selected Text</source>
<translation>複製選取的文字(&amp;C)</translation>
</message>
<message>
<source>Ctrl+C</source>
- <translation>Ctrl+C</translation>
+ <translation type="obsolete">Ctrl+C</translation>
</message>
<message>
+ <location line="+6"/>
<source>&amp;Find in Text...</source>
<translation>在文字中尋找(&amp;F)...</translation>
</message>
<message>
<source>Ctrl+F</source>
- <translation>Ctrl+F</translation>
+ <translation type="obsolete">Ctrl+F</translation>
</message>
<message>
+ <location line="+5"/>
<source>Find &amp;Next</source>
<translation>尋找下一筆(&amp;N)</translation>
</message>
<message>
<source>F3</source>
- <translation>F3</translation>
+ <translation type="obsolete">F3</translation>
</message>
<message>
+ <location line="+4"/>
<source>Find &amp;Previous</source>
<translation>尋找前一筆(&amp;P)</translation>
</message>
<message>
<source>Shift+F3</source>
- <translation>Shift+F3</translation>
+ <translation type="obsolete">Shift+F3</translation>
</message>
<message>
+ <location line="+5"/>
<source>Preferences...</source>
<translation>喜好設定...</translation>
</message>
@@ -493,34 +599,40 @@
<translation type="obsolete">檢視</translation>
</message>
<message>
+ <location line="+4"/>
<source>Zoom &amp;in</source>
<translation>放大(&amp;I)</translation>
</message>
<message>
<source>Ctrl++</source>
- <translation>Ctrl++</translation>
+ <translation type="obsolete">Ctrl++</translation>
</message>
<message>
+ <location line="+5"/>
<source>Zoom &amp;out</source>
<translation>縮小(&amp;O)</translation>
</message>
<message>
<source>Ctrl+-</source>
- <translation>Ctrl+-</translation>
+ <translation type="obsolete">Ctrl+-</translation>
</message>
<message>
+ <location line="+5"/>
<source>Normal &amp;Size</source>
<translation>一般大小(&amp;S)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Ctrl+0</source>
<translation>Ctrl+0</translation>
</message>
<message>
+ <location line="+5"/>
<source>ALT+C</source>
<translation>ALT+C</translation>
</message>
<message>
+ <location line="+2"/>
<source>ALT+I</source>
<translation>ALT+I</translation>
</message>
@@ -529,6 +641,7 @@
<translation type="obsolete">ALT+B</translation>
</message>
<message>
+ <location line="+4"/>
<source>ALT+S</source>
<translation>ALT+S</translation>
</message>
@@ -537,42 +650,52 @@
<translation type="obsolete">前往</translation>
</message>
<message>
+ <location line="+3"/>
<source>&amp;Home</source>
<translation>首頁(&amp;H)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Ctrl+Home</source>
<translation>Ctrl+Home</translation>
</message>
<message>
+ <location line="+3"/>
<source>&amp;Back</source>
<translation>返回(&amp;B)</translation>
</message>
<message>
+ <location line="+5"/>
<source>&amp;Forward</source>
<translation>往前(&amp;F)</translation>
</message>
<message>
+ <location line="+5"/>
<source>Sync with Table of Contents</source>
<translation>與目錄同步</translation>
</message>
<message>
+ <location line="+6"/>
<source>Next Page</source>
<translation>下一頁</translation>
</message>
<message>
+ <location line="+1"/>
<source>Ctrl+Alt+Right</source>
<translation>Ctrl+Alt+Right</translation>
</message>
<message>
+ <location line="+3"/>
<source>Previous Page</source>
<translation>前一頁</translation>
</message>
<message>
+ <location line="+1"/>
<source>Ctrl+Alt+Left</source>
<translation>Ctrl+Alt+Left</translation>
</message>
<message>
+ <location line="+4"/>
<source>Add Bookmark...</source>
<translation>新增書籤...</translation>
</message>
@@ -585,44 +708,52 @@
<translation type="obsolete">說明</translation>
</message>
<message>
+ <location line="+4"/>
<source>About...</source>
<translation>關於...</translation>
</message>
<message>
+ <location line="+3"/>
<source>Navigation Toolbar</source>
<translation>導覽工具列</translation>
</message>
<message>
+ <location line="+74"/>
<source>Toolbars</source>
<translation>工具列</translation>
</message>
<message>
+ <location line="+15"/>
<source>Filter Toolbar</source>
<translation>過濾器工具列</translation>
</message>
<message>
+ <location line="+2"/>
<source>Filtered by:</source>
<translation>已過濾:</translation>
</message>
<message>
+ <location line="+23"/>
<source>Address Toolbar</source>
<translation>位址工具列</translation>
</message>
<message>
+ <location line="+4"/>
<source>Address:</source>
<translation>位址:</translation>
</message>
<message>
+ <location line="+110"/>
<source>Could not find the associated content item.</source>
<translation>找不到相關的內容項目。</translation>
</message>
<message>
<source>Open Source Edition</source>
- <translation>開放源碼版本</translation>
+ <translation type="obsolete">開放源碼版本</translation>
</message>
<message>
<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.</source>
- <translation>此版本的 Qt 小幫手是 Qt 開放源碼版本的一部份,只能用於開發開放源碼的應用程式。Qt 為一個跨平台的,強大的 C++ 應用程式開發框架。</translation>
+ <translation type="obsolete">此版本的 Qt 小幫手是 Qt 開放源碼版本的一部份,只能用於開發開放源碼的應用程式。Qt 為一個跨平台的,強大的 C++ 應用程式開發框架。</translation>
</message>
<message>
<source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt; for an overview of Qt licensing.</source>
@@ -630,33 +761,40 @@
</message>
<message>
<source>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.</source>
- <translation>此程式以 Qt 商業授權同意書(Qt Commerical License Agreement)授權給您。詳情請參照 LICENSE 檔。</translation>
+ <translation type="obsolete">此程式以 Qt 商業授權同意書(Qt Commerical License Agreement)授權給您。詳情請參照 LICENSE 檔。</translation>
</message>
<message>
+ <location line="+81"/>
<source>About %1</source>
<translation>關於 %1</translation>
</message>
<message>
+ <location line="+115"/>
<source>Updating search index</source>
<translation>更新搜尋索引</translation>
</message>
<message>
+ <location line="-597"/>
<source>Looking for Qt Documentation...</source>
<translation>搜尋 Qt 文件中...</translation>
</message>
<message>
+ <location line="+195"/>
<source>&amp;Window</source>
<translation>視窗(&amp;W)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Minimize</source>
<translation>最小化</translation>
</message>
<message>
+ <location line="+1"/>
<source>Ctrl+M</source>
<translation>Ctrl+M</translation>
</message>
<message>
+ <location line="-2"/>
<source>Zoom</source>
<translation>縮放</translation>
</message>
@@ -670,37 +808,45 @@
</message>
<message>
<source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel&lt;/a&gt; for an overview of Qt licensing.</source>
- <translation>您需要商業版的 Qt 授權才能發展私有(封閉)應用程式軟體。關於 Qt 授權的概要,請參考 &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel&lt;/a&gt;。</translation>
+ <translation type="obsolete">您需要商業版的 Qt 授權才能發展私有(封閉)應用程式軟體。關於 Qt 授權的概要,請參考 &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel&lt;/a&gt;。</translation>
</message>
<message>
+ <location line="-136"/>
<source>&amp;File</source>
<translation>檔案(&amp;F)</translation>
</message>
<message>
+ <location line="+24"/>
<source>&amp;Edit</source>
<translation>編輯(&amp;E)</translation>
</message>
<message>
+ <location line="+24"/>
<source>&amp;View</source>
<translation>檢視(&amp;V)</translation>
</message>
<message>
+ <location line="+23"/>
<source>ALT+O</source>
<translation>ALT+O</translation>
</message>
<message>
+ <location line="+4"/>
<source>&amp;Go</source>
<translation>前往(&amp;G)</translation>
</message>
<message>
+ <location line="+29"/>
<source>&amp;Bookmarks</source>
<translation>書籤(&amp;B)</translation>
</message>
<message>
+ <location line="+2"/>
<source>CTRL+D</source>
<translation>CTRL+D</translation>
</message>
<message>
+ <location line="+2"/>
<source>&amp;Help</source>
<translation>說明(&amp;H)</translation>
</message>
@@ -716,22 +862,49 @@
<translation type="obsolete">從說明伺服器下載...</translation>
</message>
<message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+237"/>
+ <location line="+7"/>
+ <location line="+6"/>
<source>Add Documentation</source>
<translation>新增文件</translation>
</message>
<message>
+ <location line="-13"/>
<source>Qt Compressed Help Files (*.qch)</source>
<translation>Qt 壓縮說明檔(*.qch)</translation>
</message>
<message>
+ <location line="+8"/>
<source>The specified file is not a valid Qt Help File!</source>
<translation>指定的檔案不是合法的 Qt 說明檔!</translation>
</message>
<message>
+ <location line="+6"/>
<source>The namespace %1 is already registered!</source>
<translation>命名空間 %1 已註冊!</translation>
</message>
<message>
+ <location line="+23"/>
+ <source>Remove Documentation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Some documents currently opened in Assistant reference the documentation you are attempting to remove. Removing the documentation will close those documents.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Cancel</source>
+ <translation type="unfinished">取消</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>OK</source>
+ <translation type="unfinished">確定</translation>
+ </message>
+ <message>
+ <location line="+86"/>
<source>Use custom settings</source>
<translation>使用自訂設定</translation>
</message>
@@ -739,90 +912,108 @@
<context>
<name>PreferencesDialogClass</name>
<message>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.ui"/>
<source>Preferences</source>
<translation>喜好設定</translation>
</message>
<message>
+ <location/>
<source>Fonts</source>
<translation>字型</translation>
</message>
<message>
+ <location/>
<source>Font settings:</source>
<translation>字型設定:</translation>
</message>
<message>
+ <location/>
<source>Browser</source>
<translation>瀏覽器</translation>
</message>
<message>
+ <location/>
<source>Application</source>
<translation>應用程式</translation>
</message>
<message>
+ <location/>
<source>Filters</source>
<translation>過濾器</translation>
</message>
<message>
+ <location/>
<source>Filter:</source>
<translation>過濾:</translation>
</message>
<message>
+ <location/>
<source>Attributes:</source>
<translation>屬性:</translation>
</message>
<message>
+ <location/>
<source>1</source>
<translation>1</translation>
</message>
<message>
+ <location/>
<source>Add</source>
<translation>新增</translation>
</message>
<message>
+ <location/>
<source>Remove</source>
<translation>移除</translation>
</message>
<message>
+ <location/>
<source>Documentation</source>
<translation>文件</translation>
</message>
<message>
+ <location/>
<source>Registered Documentation:</source>
<translation>已註冊文件:</translation>
</message>
<message>
+ <location/>
<source>Add...</source>
<translation>新增...</translation>
</message>
<message>
<source>Network</source>
- <translation>網路</translation>
+ <translation type="obsolete">網路</translation>
</message>
<message>
<source>Use Http Proxy</source>
- <translation>使用 Http 代理伺服器</translation>
+ <translation type="obsolete">使用 Http 代理伺服器</translation>
</message>
<message>
<source>Http Proxy:</source>
- <translation>Http 代理伺服器:</translation>
+ <translation type="obsolete">Http 代理伺服器:</translation>
</message>
<message>
<source>Port:</source>
- <translation>連接埠:</translation>
+ <translation type="obsolete">連接埠:</translation>
</message>
<message>
+ <location/>
<source>Options</source>
<translation>選項</translation>
</message>
<message>
+ <location/>
<source>Current Page</source>
<translation>目前頁面</translation>
</message>
<message>
+ <location/>
<source>Restore to default</source>
<translation>回復為預設值</translation>
</message>
<message>
+ <location/>
<source>Homepage</source>
<translation>首頁</translation>
</message>
@@ -834,48 +1025,69 @@
<translation type="obsolete">新資料夾</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="79"/>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+110"/>
<source>The specified collection file does not exist!</source>
<translation>指定的收集檔不存在!</translation>
</message>
<message>
+ <location line="+4"/>
<source>Missing collection file!</source>
<translation>遺失收集檔!</translation>
</message>
<message>
+ <location line="+9"/>
<source>Invalid URL!</source>
<translation>不合法的網址!</translation>
</message>
<message>
+ <location line="+4"/>
<source>Missing URL!</source>
<translation>遺失網址!</translation>
</message>
<message>
+ <location line="+17"/>
+ <location line="+19"/>
+ <location line="+19"/>
<source>Unknown widget: %1</source>
<translation>未知的元件:%1</translation>
</message>
<message>
+ <location line="-34"/>
+ <location line="+19"/>
+ <location line="+19"/>
<source>Missing widget!</source>
<translation>遺失元件!</translation>
</message>
<message>
+ <location line="+7"/>
+ <location line="+12"/>
<source>The specified Qt help file does not exist!</source>
<translation>指定的 Qt 說明檔不存在!</translation>
</message>
<message>
+ <location line="-7"/>
+ <location line="+12"/>
<source>Missing help file!</source>
<translation>遺失說明檔!</translation>
</message>
<message>
+ <location line="+7"/>
+ <source>Missing filter argument!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>Unknown option: %1</source>
<translation>未知的選項:%1</translation>
</message>
<message>
+ <location line="+30"/>
+ <location line="+2"/>
<source>Qt Assistant</source>
<translation>Qt 小幫手</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/main.cpp" line="58"/>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="+190"/>
<source>Could not register documentation file
%1
@@ -888,10 +1100,12 @@ Reason:
%2</translation>
</message>
<message>
+ <location line="+4"/>
<source>Documentation successfully registered.</source>
<translation>文件已註冊成功。</translation>
</message>
<message>
+ <location line="+11"/>
<source>Could not unregister documentation file
%1
@@ -904,18 +1118,23 @@ Reason:
%2</translation>
</message>
<message>
+ <location line="-3"/>
<source>Documentation successfully unregistered.</source>
<translation>文件已成功解除註冊。</translation>
</message>
<message>
+ <location line="+18"/>
<source>Cannot load sqlite database driver!</source>
<translation>無法載入 sqlite 資料庫驅動程式!</translation>
</message>
<message>
+ <location line="+9"/>
<source>The specified collection file could not be read!</source>
<translation>指定的收集檔無法讀取。</translation>
</message>
<message>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+167"/>
+ <location line="+1"/>
<source>Bookmark</source>
<translation>書籤</translation>
</message>
@@ -923,11 +1142,12 @@ Reason:
<context>
<name>RemoteControl</name>
<message>
- <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="128"/>
+ <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+157"/>
<source>Debugging Remote Control</source>
<translation>遠端除錯控制</translation>
</message>
<message>
+ <location line="+1"/>
<source>Received Command: %1 %2</source>
<translation>已接收指令:%1 %2</translation>
</message>
@@ -935,23 +1155,28 @@ Reason:
<context>
<name>SearchWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="163"/>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+193"/>
<source>&amp;Copy</source>
<translation>複製(&amp;C)</translation>
</message>
<message>
+ <location line="+4"/>
<source>Copy &amp;Link Location</source>
<translation>複製連結位置(&amp;L)</translation>
</message>
<message>
+ <location line="+3"/>
+ <location line="+36"/>
<source>Open Link in New Tab</source>
<translation>在新分頁開啟連結</translation>
</message>
<message>
+ <location line="-29"/>
<source>Select All</source>
<translation>全部選取</translation>
</message>
<message>
+ <location line="+28"/>
<source>Open Link</source>
<translation>開啟連結</translation>
</message>
@@ -959,23 +1184,27 @@ Reason:
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="24"/>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+54"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;:</source>
<translation>選擇 %1 的標題:</translation>
</message>
<message>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.ui"/>
<source>Choose Topic</source>
<translation>選擇標題</translation>
</message>
<message>
+ <location/>
<source>&amp;Topics</source>
<translation>標題(&amp;T)</translation>
</message>
<message>
+ <location/>
<source>&amp;Display</source>
<translation>顯示(&amp;D)</translation>
</message>
<message>
+ <location/>
<source>&amp;Close</source>
<translation>關閉(&amp;C)</translation>
</message>
diff --git a/translations/designer_de.ts b/translations/designer_de.ts
index cac8afb..4cd9914 100644
--- a/translations/designer_de.ts
+++ b/translations/designer_de.ts
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="de">
-<defaultcodec></defaultcodec>
<context>
<name></name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+617"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+647"/>
<source>&lt;object&gt;</source>
<translation>&lt;Objekt&gt;</translation>
</message>
@@ -20,7 +19,7 @@
<translation>&lt;Slot&gt;</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="+43"/>
+ <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="+73"/>
<source>The moose in the noose
ate the goose who was loose.</source>
<translation type="unfinished"></translation>
@@ -29,7 +28,7 @@ ate the goose who was loose.</source>
<context>
<name>AbstractFindWidget</name>
<message>
- <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="+97"/>
+ <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="+127"/>
<source>&amp;Previous</source>
<translation>&amp;Vorige</translation>
</message>
@@ -75,7 +74,7 @@ ate the goose who was loose.</source>
<context>
<name>AppFontDialog</name>
<message>
- <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="+388"/>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="+418"/>
<source>Additional Fonts</source>
<translation>Zusätzliche Schriftarten</translation>
</message>
@@ -187,7 +186,7 @@ ate the goose who was loose.</source>
<context>
<name>AssistantClient</name>
<message>
- <location filename="../tools/designer/src/designer/assistantclient.cpp" line="+70"/>
+ <location filename="../tools/designer/src/designer/assistantclient.cpp" line="+100"/>
<source>Unable to send request: Assistant is not responding.</source>
<translation>Fehler beim Senden einer Anforderung: Das Programm Assistant antwortet nicht.</translation>
</message>
@@ -205,7 +204,7 @@ ate the goose who was loose.</source>
<context>
<name>BrushManagerProxy</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+191"/>
+ <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+221"/>
<source>The element &apos;%1&apos; is missing the required attribute &apos;%2&apos;.</source>
<translation>Bei dem Element fehlt das erforderliche Attribut &apos;%2&apos;.</translation>
</message>
@@ -233,7 +232,7 @@ ate the goose who was loose.</source>
<context>
<name>BrushPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="+119"/>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="+149"/>
<source>Style</source>
<translation>Stil</translation>
</message>
@@ -326,19 +325,24 @@ ate the goose who was loose.</source>
<context>
<name>Command</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="+177"/>
- <location line="+211"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="+208"/>
+ <location line="+258"/>
<source>Change signal</source>
<translation>Signal ändern</translation>
</message>
<message>
- <location line="-209"/>
- <location line="+221"/>
+ <location line="-256"/>
+ <location line="+268"/>
<source>Change slot</source>
<translation>Slot ändern</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-220"/>
+ <source>Change signal-slot connection</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+234"/>
<source>Change sender</source>
<translation>Sender ändern</translation>
</message>
@@ -348,7 +352,7 @@ ate the goose who was loose.</source>
<translation>Empfänger ändern</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+113"/>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+143"/>
<source>Add connection</source>
<translation>Verbindung hinzufügen</translation>
</message>
@@ -373,7 +377,7 @@ ate the goose who was loose.</source>
<translation>Endpunkt ändern</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="+117"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="+149"/>
<source>Insert &apos;%1&apos;</source>
<translation>&apos;%1&apos; einfügen</translation>
</message>
@@ -398,7 +402,7 @@ ate the goose who was loose.</source>
<translation> &apos;%1&apos; einem anderen Widget zuordnen</translation>
</message>
<message>
- <location line="+51"/>
+ <location line="+53"/>
<source>Promote to custom widget</source>
<translation>Platzhalter für benutzerdefinierte Klasse erzeugen</translation>
</message>
@@ -428,48 +432,48 @@ ate the goose who was loose.</source>
<translation>Layout auflösen</translation>
</message>
<message>
- <location line="+237"/>
- <location line="+232"/>
- <location line="+75"/>
+ <location line="+240"/>
+ <location line="+235"/>
+ <location line="+78"/>
<source>Move Page</source>
<translation>Seite verschieben</translation>
</message>
<message>
- <location line="-273"/>
- <location line="+122"/>
- <location line="+183"/>
- <location line="+664"/>
+ <location line="-279"/>
+ <location line="+123"/>
+ <location line="+188"/>
+ <location line="+666"/>
<source>Delete Page</source>
<translation>Seite löschen</translation>
</message>
<message>
- <location line="-931"/>
- <location line="+122"/>
+ <location line="-939"/>
+ <location line="+123"/>
<source>Page</source>
<translation>Seite</translation>
</message>
<message>
- <location line="-120"/>
- <location line="+303"/>
- <location line="+670"/>
+ <location line="-121"/>
+ <location line="+309"/>
+ <location line="+672"/>
<source>page</source>
<translation>Seite</translation>
</message>
<message>
- <location line="-970"/>
- <location line="+122"/>
- <location line="+181"/>
- <location line="+665"/>
+ <location line="-978"/>
+ <location line="+123"/>
+ <location line="+186"/>
+ <location line="+667"/>
<source>Insert Page</source>
<translation>Seite einfügen</translation>
</message>
<message>
- <location line="-849"/>
+ <location line="-856"/>
<source>tab</source>
<translation>Seite</translation>
</message>
<message>
- <location line="+204"/>
+ <location line="+209"/>
<source>Change Tab order</source>
<translation>Seite ändern</translation>
</message>
@@ -514,12 +518,12 @@ ate the goose who was loose.</source>
<translation>Ändern des Formularlayout-Elements</translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+95"/>
<source>Change Layout Item Geometry</source>
<translation>Geometrie des Layoutelements ändern</translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+576"/>
<source>Change Table Contents</source>
<translation>Tabelleninhalt ändern</translation>
</message>
@@ -561,7 +565,7 @@ ate the goose who was loose.</source>
<translation>Werkzeugleiste löschen</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1131"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1161"/>
<source>Set action text</source>
<translation>Text der Aktion setzen</translation>
</message>
@@ -572,7 +576,7 @@ ate the goose who was loose.</source>
</message>
<message>
<location line="+89"/>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+861"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+891"/>
<source>Move action</source>
<translation>Aktion verschieben</translation>
</message>
@@ -587,7 +591,7 @@ ate the goose who was loose.</source>
<translation>Menü einfügen</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+172"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+202"/>
<source>Change signals/slots</source>
<translation>Signale/Slots ändern</translation>
</message>
@@ -612,17 +616,17 @@ ate the goose who was loose.</source>
<translation>Subwindow</translation>
</message>
<message>
- <location line="-1808"/>
+ <location line="-1821"/>
<source>Change Z-order of &apos;%1&apos;</source>
<translation>Z-Reihenfolge von &apos;%1&apos; ändern</translation>
</message>
<message>
- <location line="+623"/>
+ <location line="+625"/>
<source>Simplify Grid Layout</source>
<translation>Tabellarisches Layout vereinfachen</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+195"/>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+225"/>
<source>Create button group</source>
<translation>Buttons gruppieren</translation>
</message>
@@ -647,19 +651,19 @@ ate the goose who was loose.</source>
<translation>Buttons aus Gruppierung entfernen</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+318"/>
+ <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+349"/>
<source>Morph %1/&apos;%2&apos; into %3</source>
<extracomment>MorphWidgetCommand description</extracomment>
<translation>%1/&apos;%2&apos; in %3 umwandeln</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="+124"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="+154"/>
<source>Change layout of &apos;%1&apos; from %2 to %3</source>
<translation>Layout von &apos;%1&apos; von %2 in %3 umwandeln</translation>
</message>
<message>
<location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="-14"/>
- <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+373"/>
+ <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+458"/>
<source>Add &apos;%1&apos; to &apos;%2&apos;</source>
<extracomment>Command description for adding buttons to a QButtonGroup</extracomment>
<translation>&apos;%1&apos; zu &apos;%2&apos; hinzufügen</translation>
@@ -671,12 +675,12 @@ ate the goose who was loose.</source>
<translation> &apos;%1&apos; aus &apos;%2&apos; entfernen</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="+25"/>
+ <location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="+55"/>
<source>Change script</source>
<translation>Skript ändern</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1179"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1209"/>
<source>Changed &apos;%1&apos; of &apos;%2&apos;</source>
<translation>&apos;%1&apos; von &apos;%2&apos; geändert</translation>
</message>
@@ -757,7 +761,7 @@ ate the goose who was loose.</source>
<context>
<name>DPI_Chooser</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+39"/>
+ <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+69"/>
<source>Standard (96 x 96)</source>
<extracomment>Embedded device standard screen resolution</extracomment>
<translation>Standardauflösung (96 x 96)</translation>
@@ -778,12 +782,12 @@ ate the goose who was loose.</source>
<context>
<name>Designer</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+409"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+439"/>
<source>Qt Designer</source>
<translation>Qt Designer</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="+602"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="+682"/>
<source>Unable to launch %1.</source>
<translation>%1 konnte nicht gestartet werden.</translation>
</message>
@@ -855,7 +859,7 @@ ate the goose who was loose.</source>
<translation>Bitte wandeln Sie sie mit dem Befehl &lt;b&gt;uic3&amp;nbsp;-convert&lt;/b&gt; zum Format von Qt 4.</translation>
</message>
<message>
- <location line="+735"/>
+ <location line="+746"/>
<source>Custom Widgets</source>
<translation>Benutzerdefinierte Widgets</translation>
</message>
@@ -868,7 +872,7 @@ ate the goose who was loose.</source>
<context>
<name>DesignerMetaEnum</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="-463"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="-513"/>
<source>%1 is not a valid enumeration value of &apos;%2&apos;.</source>
<translation>%1 ist kein gültiger Wert der Aufzählung &apos;%2&apos;.</translation>
</message>
@@ -889,7 +893,7 @@ ate the goose who was loose.</source>
<context>
<name>DeviceProfile</name>
<message>
- <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="+367"/>
+ <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="+397"/>
<source>&apos;%1&apos; is not a number.</source>
<extracomment>Reading a number for an embedded device profile</extracomment>
<translation>&apos;%1&apos; ist keine gültige Zahl.</translation>
@@ -931,7 +935,7 @@ ate the goose who was loose.</source>
<context>
<name>DeviceSkin</name>
<message>
- <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+49"/>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
<source>The image file &apos;%1&apos; could not be loaded.</source>
<translation>Die Pixmap-Datei &apos;%1&apos; konnte nicht geladen werden.</translation>
</message>
@@ -989,7 +993,7 @@ ate the goose who was loose.</source>
<context>
<name>EmbeddedOptionsControl</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+281"/>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+311"/>
<source>&lt;html&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Font&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%1, %2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Style&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Resolution&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4 x %5&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/html&gt;</source>
<extracomment>Format embedded device profile description</extracomment>
<translation>&lt;html&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Font&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%1, %2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Stil&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Auflösung&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4 x %5&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/html&gt;</translation>
@@ -1013,7 +1017,7 @@ ate the goose who was loose.</source>
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation>Schriftart</translation>
</message>
@@ -1041,7 +1045,7 @@ ate the goose who was loose.</source>
<context>
<name>FontPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="+32"/>
+ <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="+62"/>
<source>PreferDefault</source>
<translation>Voreinstellung bevorzugt</translation>
</message>
@@ -1064,7 +1068,7 @@ ate the goose who was loose.</source>
<context>
<name>FormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+321"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+351"/>
<source>Invalid stretch value for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing layout stretch values</extracomment>
<translation>Ungültiger Stretch-Wert für &apos;%1&apos;: &apos;%2&apos;</translation>
@@ -1079,7 +1083,7 @@ ate the goose who was loose.</source>
<context>
<name>FormEditorOptionsPage</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="+61"/>
+ <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="+91"/>
<source>%1 %</source>
<translation>%1 %</translation>
</message>
@@ -1146,7 +1150,7 @@ ate the goose who was loose.</source>
<context>
<name>FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1669"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1705"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>Ungültiges Element &lt;%1&gt;</translation>
</message>
@@ -1222,7 +1226,7 @@ ate the goose who was loose.</source>
<context>
<name>IconSelector</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+321"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+353"/>
<source>All Pixmaps (</source>
<translation>Alle Pixmap-Dateien (</translation>
</message>
@@ -1230,7 +1234,7 @@ ate the goose who was loose.</source>
<context>
<name>ItemPropertyBrowser</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+36"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+66"/>
<source>XX Icon Selected off</source>
<extracomment>Sample string to determinate the width for the first column of the list item property browser</extracomment>
<translation>Ausgewähltes Icon, aus</translation>
@@ -1239,7 +1243,7 @@ ate the goose who was loose.</source>
<context>
<name>LanguageResourceDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-234"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-235"/>
<source>Choose Resource</source>
<translation>Ressource auswählen</translation>
</message>
@@ -1247,7 +1251,7 @@ ate the goose who was loose.</source>
<context>
<name>MainWindowBase</name>
<message>
- <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+89"/>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+119"/>
<source>Main</source>
<extracomment>Not currently used (main tool bar)</extracomment>
<translation>Haupt-Werkzeugleiste</translation>
@@ -1281,7 +1285,7 @@ ate the goose who was loose.</source>
<context>
<name>NewForm</name>
<message>
- <location filename="../tools/designer/src/designer/newform.cpp" line="+49"/>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="+79"/>
<source>C&amp;reate</source>
<translation>&amp;Neu von Vorlage</translation>
</message>
@@ -1334,7 +1338,7 @@ ate the goose who was loose.</source>
<context>
<name>NewFormWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+465"/>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+495"/>
<source>Unable to open the form template file &apos;%1&apos;: %2</source>
<translation>Die Formularvorlage %1 konnte nicht geöffnet werden: %2</translation>
</message>
@@ -1342,7 +1346,7 @@ ate the goose who was loose.</source>
<context>
<name>ObjectInspectorModel</name>
<message>
- <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+331"/>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+364"/>
<source>Object</source>
<translation>Objekt</translation>
</message>
@@ -1365,7 +1369,7 @@ ate the goose who was loose.</source>
<context>
<name>ObjectNameDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+135"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+162"/>
<source>Change Object Name</source>
<translation>Objektnamen bearbeiten</translation>
</message>
@@ -1376,52 +1380,16 @@ ate the goose who was loose.</source>
</message>
</context>
<context>
- <name>qdesigner_internal::PluginDialog</name>
- <message>
- <location filename="../tools/designer/src/designer/plugindialog.cpp" line="+40"/>
- <source>Components</source>
- <translation>Komponenten</translation>
- </message>
+ <name>PluginDialog</name>
<message>
- <location line="+13"/>
- <location filename="../tools/designer/src/designer/plugindialog.ui"/>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.ui"/>
<source>Plugin Information</source>
- <translation>Plugins</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Refresh</source>
- <translation>Neu laden</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Scan for newly installed custom widget plugins.</source>
- <translation>Sucht nach neuinstallierten Plugins mit benutzerdefinierten Widgets.</translation>
- </message>
- <message>
- <location line="+48"/>
- <source>Qt Designer couldn&apos;t find any plugins</source>
- <translation>Qt Designer konnte keine plugins finden</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Qt Designer found the following plugins</source>
- <translation>Qt Designer hat die folgenden Plugins gefunden</translation>
- </message>
- <message>
- <location line="+55"/>
- <source>New custom widget plugins have been found.</source>
- <translation>Es wurden neuinstallierten Plugins mit benutzerdefinierten Widgets gefunden.</translation>
- </message>
- <message>
- <location filename="../tools/designer/src/designer/plugindialog.ui"/>
- <source>TextLabel</source>
- <translation></translation>
+ <translation type="unfinished">Plugins</translation>
</message>
<message>
<location/>
<source>1</source>
- <translation>1</translation>
+ <translation type="unfinished">1</translation>
</message>
</context>
<context>
@@ -1435,7 +1403,7 @@ ate the goose who was loose.</source>
<context>
<name>PreviewConfigurationWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+125"/>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+155"/>
<source>Default</source>
<translation>Vorgabe</translation>
</message>
@@ -1483,7 +1451,7 @@ ate the goose who was loose.</source>
<context>
<name>PromotionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+86"/>
+ <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+116"/>
<source>Not used</source>
<extracomment>Usage of promoted widgets</extracomment>
<translation>Nicht verwendet</translation>
@@ -1492,7 +1460,7 @@ ate the goose who was loose.</source>
<context>
<name>Q3WizardContainer</name>
<message>
- <location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="+142"/>
+ <location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="+172"/>
<location line="+5"/>
<source>Page</source>
<translation>Seite</translation>
@@ -1501,7 +1469,7 @@ ate the goose who was loose.</source>
<context>
<name>QAbstractFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="+176"/>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="+206"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>Ungültiges Element &lt;%1&gt;</translation>
</message>
@@ -1547,7 +1515,7 @@ This indicates an inconsistency in the ui-file.</source>
<translation>Fehler beim Setzen der Tabulatorreihenfolge: Es konnte kein Widget mit dem Namen &apos;%1&apos; gefunden werden.</translation>
</message>
<message>
- <location line="+750"/>
+ <location line="+749"/>
<source>Invalid QButtonGroup reference &apos;%1&apos; referenced by &apos;%2&apos;.</source>
<translation>Ungültige Referenz der Buttongruppe &apos;%1&apos;, referenziert von &apos;%2&apos;.</translation>
</message>
@@ -1560,7 +1528,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QAxWidgetPlugin</name>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="+45"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="+75"/>
<source>ActiveX control</source>
<translation>ActiveX-Steuerelement</translation>
</message>
@@ -1573,7 +1541,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QAxWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="+89"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="+119"/>
<source>Set Control</source>
<translation>Steuerelement setzen</translation>
</message>
@@ -1596,7 +1564,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="+53"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="+83"/>
<source>%1 is not a promoted class.</source>
<translation>%1 ist kein Platzhalter für eine benutzerdefinierte Klasse.</translation>
</message>
@@ -1646,7 +1614,7 @@ This indicates an inconsistency in the ui-file.</source>
<translation>Der Name der Include-Datei darf nicht leer sein.</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="+88"/>
<source>Exception at line %1: %2</source>
<translation>Ausnahmefehler bei Zeile %1: %2</translation>
</message>
@@ -1665,7 +1633,7 @@ Script: %3</source>
<context>
<name>QDesigner</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner.cpp" line="+111"/>
+ <location filename="../tools/designer/src/designer/qdesigner.cpp" line="+141"/>
<source>%1 - warning</source>
<translation>%1 - Warnung</translation>
</message>
@@ -1683,7 +1651,7 @@ Script: %3</source>
<context>
<name>QDesignerActions</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+151"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+178"/>
<source>Edit Widgets</source>
<translation>Widgets bearbeiten</translation>
</message>
@@ -1837,7 +1805,7 @@ Möchten Sie einen anderen Namen eingeben oder ein neues Formular erzeugen?</tra
<translation>Die Datei konnte nicht geöffnet werden</translation>
</message>
<message>
- <location line="+320"/>
+ <location line="+282"/>
<location line="+23"/>
<source>The backup file %1 could not be written.</source>
<translation>Hintergrundsicherung: Die Datei %1 konnte nicht geschrieben werden.</translation>
@@ -1858,7 +1826,7 @@ Möchten Sie einen anderen Namen eingeben oder ein neues Formular erzeugen?</tra
<translation>Bitte schließen Sie alle Formulare, um zusätzliche Schriftarten zu laden.</translation>
</message>
<message>
- <location line="-540"/>
+ <location line="-502"/>
<source>Select New File</source>
<translation>Andere Datei</translation>
</message>
@@ -1868,12 +1836,12 @@ Möchten Sie einen anderen Namen eingeben oder ein neues Formular erzeugen?</tra
<translation>Die Datei konnte nicht geschrieben werden</translation>
</message>
<message>
- <location line="+239"/>
+ <location line="+201"/>
<source>&amp;Close Preview</source>
<translation>Vorschau &amp;schließen</translation>
</message>
<message>
- <location line="-931"/>
+ <location line="-893"/>
<source>Save &amp;Image...</source>
<translation>&amp;Vorschaubild speichern...</translation>
</message>
@@ -1906,7 +1874,7 @@ Would you like to retry?</source>
Möchten Sie es noch einmal versuchen?</translation>
</message>
<message>
- <location line="+467"/>
+ <location line="+429"/>
<source>Image files (*.%1)</source>
<translation>Bilddateien (*.%1)</translation>
</message>
@@ -1922,7 +1890,7 @@ Möchten Sie es noch einmal versuchen?</translation>
<translation>Die Datei %1 konnte nicht geschrieben werden.</translation>
</message>
<message>
- <location line="-1196"/>
+ <location line="-1158"/>
<source>&amp;New...</source>
<translation>&amp;Neu...</translation>
</message>
@@ -1953,12 +1921,12 @@ Möchten Sie es noch einmal versuchen?</translation>
</message>
<message>
<location line="+1"/>
- <location line="+934"/>
+ <location line="+896"/>
<source>&amp;Close</source>
<translation>&amp;Schließen</translation>
</message>
<message>
- <location line="-929"/>
+ <location line="-891"/>
<source>View &amp;Code...</source>
<translation>&amp;Code anzeigen...</translation>
</message>
@@ -1969,23 +1937,23 @@ Möchten Sie es noch einmal versuchen?</translation>
<translation>Formular unter einem anderen Namen speichern</translation>
</message>
<message>
- <location line="+467"/>
+ <location line="+429"/>
<source>Preview failed</source>
<translation>Es konnte keine Vorschau erzeugt werden</translation>
</message>
<message>
- <location line="-613"/>
+ <location line="-575"/>
<source>Code generation failed</source>
<translation>Es konnte kein Code generiert werden</translation>
</message>
<message>
<location line="+328"/>
- <location line="+66"/>
+ <location line="+34"/>
<source>Assistant</source>
<translation>Assistant</translation>
</message>
<message>
- <location line="+265"/>
+ <location line="+259"/>
<source>Saved image %1.</source>
<translation>Das Vorschaubild wurde unter %1 gespeichert.</translation>
</message>
@@ -1995,7 +1963,7 @@ Möchten Sie es noch einmal versuchen?</translation>
<translation>%1 wurde gedruckt.</translation>
</message>
<message>
- <location line="-1186"/>
+ <location line="-1148"/>
<source>ALT+CTRL+S</source>
<translation>ALT+CTRL+S</translation>
</message>
@@ -2003,7 +1971,7 @@ Möchten Sie es noch einmal versuchen?</translation>
<context>
<name>QDesignerAppearanceOptionsPage</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="+108"/>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="+138"/>
<source>Appearance</source>
<extracomment>Tab in preferences dialog</extracomment>
<translation>Ansicht</translation>
@@ -2040,7 +2008,7 @@ Möchten Sie es noch einmal versuchen?</translation>
<translation>Steuerelement setzen</translation>
</message>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="+149"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="+179"/>
<source>Control loaded</source>
<translation>Steuerelement geladen</translation>
</message>
@@ -2053,7 +2021,7 @@ Möchten Sie es noch einmal versuchen?</translation>
<context>
<name>QDesignerFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+88"/>
<source>Script errors occurred:</source>
<translation>Es sind Skriptfehler aufgetreten:</translation>
</message>
@@ -2071,7 +2039,7 @@ Möchten Sie es noch einmal versuchen?</translation>
<context>
<name>QDesignerFormWindow</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="+187"/>
+ <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="+217"/>
<source>%1 - %2[*]</source>
<translation>%1 - %2[*]</translation>
</message>
@@ -2156,7 +2124,7 @@ Möchten Sie es noch einmal versuchen?</translation>
<context>
<name>QDesignerPluginManager</name>
<message>
- <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+197"/>
+ <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+249"/>
<source>An XML error was encountered when parsing the XML of the custom widget %1: %2</source>
<translation>Fehler beim Auswerten des XML des benutzerdefinierten Widgets %1: %2</translation>
</message>
@@ -2179,7 +2147,7 @@ Möchten Sie es noch einmal versuchen?</translation>
<context>
<name>QDesignerPropertySheet</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+717"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+747"/>
<source>Dynamic Properties</source>
<translation>Dynamische Eigenschaften</translation>
</message>
@@ -2187,19 +2155,19 @@ Möchten Sie es noch einmal versuchen?</translation>
<context>
<name>QDesignerResource</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="-235"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="-246"/>
<source>The layout type &apos;%1&apos; is not supported, defaulting to grid.</source>
<translation>Der Layout-Typ &apos;%1&apos; wird nicht unterstützt; es wurde ein Grid-Layout erzeugt.</translation>
</message>
<message>
- <location line="+331"/>
+ <location line="+342"/>
<source>The container extension of the widget &apos;%1&apos; (%2) returned a widget not managed by Designer &apos;%3&apos; (%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.</source>
<translation>Die Container-Extension des Widgets &apos;%1&apos; (%2) gab für Seite %5 ein Widget &apos;%3&apos; (%4) zurück, was nicht von Designer verwaltet wird.
Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifiziert werden.</translation>
</message>
<message>
- <location line="+598"/>
+ <location line="+599"/>
<source>Unexpected element &lt;%1&gt;</source>
<extracomment>Parsing clipboard contents</extracomment>
<translation>Ungültiges Element &lt;%1&gt;</translation>
@@ -2220,7 +2188,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QDesignerSharedSettings</name>
<message>
- <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="+53"/>
+ <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="+83"/>
<source>The template path %1 could not be created.</source>
<translation>Das Vorlagenverzeichnis %1 konnte nicht angelegt werden.</translation>
</message>
@@ -2233,7 +2201,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QDesignerToolWindow</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="+160"/>
+ <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="+190"/>
<source>Property Editor</source>
<translation>Eigenschaften</translation>
</message>
@@ -2266,7 +2234,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QDesignerWidgetBox</name>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="+318"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="+349"/>
<source>An error has been encountered at line %1 of %2: %3</source>
<translation>Fehler bei Zeile %1 von %2: %3</translation>
</message>
@@ -2289,7 +2257,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QDesignerWorkbench</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="+169"/>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="+199"/>
<source>&amp;File</source>
<translation>&amp;Datei</translation>
</message>
@@ -2364,7 +2332,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<translation>Designer wurde offenbar nicht ordnungsgemäß beendet; es existieren noch Dateien von der Hintergrundsicherung. Möchten Sie sie laden?</translation>
</message>
<message>
- <location line="+112"/>
+ <location line="+111"/>
<source>The file &lt;b&gt;%1&lt;/b&gt; could not be opened.</source>
<translation>Die Datei &lt;b&gt;%1&lt;/b&gt; konnte nicht geöffnet werden.</translation>
</message>
@@ -2374,7 +2342,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<translation>Die Datei &lt;b&gt;%1&lt;/b&gt; ist keine gültige Designer-Datei.</translation>
</message>
<message numerus="yes">
- <location line="-260"/>
+ <location line="-259"/>
<source>There are %n forms with unsaved changes. Do you want to review these changes before quitting?</source>
<translation>
<numerusform>Das Formular wurde geändert. Möchten Sie sich die Änderungen ansehen, bevor Sie das Programm beenden?</numerusform>
@@ -2385,7 +2353,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+130"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+160"/>
<source>An empty class name was passed on to %1 (object name: &apos;%2&apos;).</source>
<extracomment>Empty class name passed to widget factory method</extracomment>
<translation>Der Methode %1 wurde ein leerer Klassennamen übergeben (Name &apos;%2&apos;).</translation>
@@ -2406,7 +2374,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<translation>Layouts des Typs `%1&apos; werden nicht unterstützt.</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="+76"/>
+ <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="+106"/>
<source>The set-type property %1 could not be read.</source>
<translation>Die Eigenschaft %1 konnte nicht gelesen werden (Typ: Menge).</translation>
</message>
@@ -2426,7 +2394,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<translation>Die Eigenschaft %1 konnte nicht geschrieben werden, da der Typ %2 nicht unterstützt wird.</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+102"/>
+ <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+132"/>
<source>The enumeration-value &apos;%1&apos; is invalid. The default value &apos;%2&apos; will be used instead.</source>
<translation>Der Aufzählungswert &apos;%1&apos; ist ungültig. Der Vorgabewert &apos;%2&apos; wird verwendet.</translation>
</message>
@@ -2439,7 +2407,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QStackedWidgetEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="+164"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="+194"/>
<source>Previous Page</source>
<translation>Vorige Seite</translation>
</message>
@@ -2500,7 +2468,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QTabWidgetEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="+59"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="+89"/>
<source>Delete</source>
<translation>Löschen</translation>
</message>
@@ -2528,7 +2496,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QToolBoxHelper</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="+34"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="+64"/>
<source>Delete Page</source>
<translation>Seite löschen</translation>
</message>
@@ -2566,7 +2534,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtBoolEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+198"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+226"/>
<location line="+10"/>
<location line="+25"/>
<source>True</source>
@@ -2582,7 +2550,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtBoolPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1469"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1477"/>
<source>True</source>
<translation>Wahr</translation>
</message>
@@ -2595,7 +2563,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtCharEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1573"/>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1601"/>
<source>Clear Char</source>
<translation>Zeichen löschen</translation>
</message>
@@ -2611,7 +2579,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtColorPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4769"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4777"/>
<source>Red</source>
<translation>Rot</translation>
</message>
@@ -2791,7 +2759,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtGradientEditor</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+405"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+435"/>
<source>Start X</source>
<translation>Anfangswert X</translation>
</message>
@@ -3066,7 +3034,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtGradientStopsWidget</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+919"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+949"/>
<source>New Stop</source>
<translation>Neuer Bezugspunkt</translation>
</message>
@@ -3104,7 +3072,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtGradientView</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+77"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+107"/>
<source>Grad</source>
<translation>Grad</translation>
</message>
@@ -3151,7 +3119,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtGradientViewDialog</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+32"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+62"/>
<location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui"/>
<source>Select Gradient</source>
<translation>Gradienten auswählen</translation>
@@ -3168,7 +3136,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtLocalePropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3553"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3561"/>
<source>%1, %2</source>
<translation>%1, %2</translation>
</message>
@@ -3235,22 +3203,22 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtRectFPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1705"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1716"/>
<source>[(%1, %2), %3 x %4]</source>
<translation>[(%1, %2), %3 x %4]</translation>
</message>
<message>
- <location line="+155"/>
+ <location line="+156"/>
<source>X</source>
<translation>X</translation>
</message>
<message>
- <location line="+9"/>
+ <location line="+8"/>
<source>Y</source>
<translation>Y</translation>
</message>
<message>
- <location line="+9"/>
+ <location line="+8"/>
<source>Width</source>
<translation>Breite</translation>
</message>
@@ -3263,22 +3231,22 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtRectPropertyManager</name>
<message>
- <location line="-610"/>
+ <location line="-614"/>
<source>[(%1, %2), %3 x %4]</source>
<translation>[(%1, %2), %3 x %4]</translation>
</message>
<message>
- <location line="+119"/>
+ <location line="+120"/>
<source>X</source>
<translation>X</translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+7"/>
<source>Y</source>
<translation>Y</translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+7"/>
<source>Width</source>
<translation>Breite</translation>
</message>
@@ -3291,7 +3259,7 @@ Container-Seiten sollten ausschließlich im XML der domXML()-Methode spezifizier
<context>
<name>QtResourceEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="+1930"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="+1962"/>
<source>Edit Resources</source>
<translation>Ressourcen bearbeiten</translation>
</message>
@@ -3454,7 +3422,7 @@ zu:
<translation>Datei oder Ressource löschen</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="-2092"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="-2094"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>Die Datei %1 existiert bereits.
@@ -3466,7 +3434,7 @@ Wollen Sie sie überschreiben?</translation>
<translation>Die Datei ist offenbar keine Ressourcendatei; an Stelle des erwarteten Elements &apos;%2&apos; wurde das Element &apos;%1&apos; gefunden.</translation>
</message>
<message>
- <location line="+900"/>
+ <location line="+902"/>
<source>%1 [read-only]</source>
<translation>%1 [schreibgeschützt]</translation>
</message>
@@ -3577,7 +3545,7 @@ Dies kann zum Beispiel eine Sprachkennung wie &quot;_de&quot; sein.</translation
<context>
<name>QtResourceView</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+404"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+435"/>
<source>Size: %1 x %2
%3</source>
<translation>Größe: %1 x %2
@@ -3610,7 +3578,7 @@ Dies kann zum Beispiel eine Sprachkennung wie &quot;_de&quot; sein.</translation
<context>
<name>QtSizeFPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-532"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-537"/>
<source>%1 x %2</source>
<translation>%1 x %2</translation>
</message>
@@ -3628,7 +3596,7 @@ Dies kann zum Beispiel eine Sprachkennung wie &quot;_de&quot; sein.</translation
<context>
<name>QtSizePolicyPropertyManager</name>
<message>
- <location line="+1709"/>
+ <location line="+1719"/>
<location line="+1"/>
<source>&lt;Invalid&gt;</source>
<translation>&lt;Ungültig&gt;</translation>
@@ -3662,7 +3630,7 @@ Dies kann zum Beispiel eine Sprachkennung wie &quot;_de&quot; sein.</translation
<context>
<name>QtSizePropertyManager</name>
<message>
- <location line="-2288"/>
+ <location line="-2298"/>
<source>%1 x %2</source>
<translation>%1 x %2</translation>
</message>
@@ -3680,7 +3648,7 @@ Dies kann zum Beispiel eine Sprachkennung wie &quot;_de&quot; sein.</translation
<context>
<name>QtToolBarDialog</name>
<message>
- <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1759"/>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1789"/>
<source>&lt; S E P A R A T O R &gt;</source>
<translation>&lt; T R E N N E R &gt;</translation>
</message>
@@ -3788,7 +3756,7 @@ Dies kann zum Beispiel eine Sprachkennung wie &quot;_de&quot; sein.</translation
<context>
<name>QtTreePropertyBrowser</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="+416"/>
+ <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="+442"/>
<source>Property</source>
<translation>Eigenschaft</translation>
</message>
@@ -3801,7 +3769,7 @@ Dies kann zum Beispiel eine Sprachkennung wie &quot;_de&quot; sein.</translation
<context>
<name>SaveFormAsTemplate</name>
<message>
- <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="+42"/>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="+72"/>
<source>Add path...</source>
<translation>Verzeichnis anlegen...</translation>
</message>
@@ -3866,7 +3834,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>ScriptErrorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+33"/>
+ <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+63"/>
<source>An error occurred while running the scripts for &quot;%1&quot;:
</source>
<translation>Bei der Ausführung der Skripte für &quot;%1&quot; sind Fehler aufgetreten:
@@ -3899,7 +3867,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>SignalSlotConnection</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="-311"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="-358"/>
<source>SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4)</source>
<translation>SENDER(%1), SIGNAL(%2), EMPFÄNGER(%3), SLOT(%4)</translation>
</message>
@@ -3940,7 +3908,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>Spacer</name>
<message>
- <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="+245"/>
+ <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="+275"/>
<source>Horizontal Spacer &apos;%1&apos;, %2 x %3</source>
<translation>Horizontales Füllelement &apos;%1&apos;, %2 x %3</translation>
</message>
@@ -3953,7 +3921,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>TemplateOptionsPage</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="+126"/>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="+156"/>
<source>Template Paths</source>
<extracomment>Tab in preferences dialog</extracomment>
<translation>Verzeichnisse für Vorlagen</translation>
@@ -3995,17 +3963,12 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>VersionDialog</name>
<message>
- <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+141"/>
+ <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+171"/>
<source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;Version %2</source>
<translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;Version %2</translation>
</message>
<message>
- <location line="+2"/>
- <source> Open Source Edition</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+3"/>
+ <location line="+1"/>
<source>Qt Designer</source>
<translation>Qt Designer</translation>
</message>
@@ -4015,30 +3978,15 @@ Möchten Sie sie überschreiben?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
- <source>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.&lt;br/&gt;&lt;br/&gt;You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel.html&lt;/a&gt; for an overview of Qt licensing.&lt;br/&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+12"/>
- <source>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.&lt;br/&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location line="+5"/>
<source>%1&lt;br/&gt;%2&lt;br/&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;br/&gt;&lt;br/&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;br/&gt; </source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location line="-9"/>
- <source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.&lt;br/&gt;</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>WidgetDataBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="+786"/>
+ <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="+814"/>
<source>The file contains a custom widget &apos;%1&apos; whose base class (%2) differs from the current entry in the widget database (%3). The widget database is left unchanged.</source>
<translation>Die Datei enthält ein benutzerdefiniertes Widget &apos;%1&apos; dessen Basisklasse (%2) nicht mit dem Eintrag in der Widget-Datenbank übereinstimmt. Die Widget-Datenbank wird nicht geändert.</translation>
</message>
@@ -4046,22 +3994,22 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::ActionEditor</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+111"/>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+143"/>
<source>Actions</source>
<translation>Aktionen</translation>
</message>
<message>
- <location line="-15"/>
+ <location line="-16"/>
<source>New...</source>
<translation>Neu...</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Delete</source>
<translation>Löschen</translation>
</message>
<message>
- <location line="+305"/>
+ <location line="+307"/>
<source>New action</source>
<translation>Neue Aktion</translation>
</message>
@@ -4071,12 +4019,17 @@ Möchten Sie sie überschreiben?</translation>
<translation>Aktion ändern</translation>
</message>
<message>
- <location line="-408"/>
+ <location line="-411"/>
<source>Edit...</source>
<translation>Ändern...</translation>
</message>
<message>
<location line="+1"/>
+ <source>Go to slot...</source>
+ <translation type="unfinished">Slot anzeigen...</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Copy</source>
<translation>Kopieren</translation>
</message>
@@ -4096,7 +4049,7 @@ Möchten Sie sie überschreiben?</translation>
<translation>Alles auswählen</translation>
</message>
<message>
- <location line="+55"/>
+ <location line="+57"/>
<source>Icon View</source>
<translation>Icon-Ansicht</translation>
</message>
@@ -4106,7 +4059,7 @@ Möchten Sie sie überschreiben?</translation>
<translation>Detaillierte Ansicht</translation>
</message>
<message>
- <location line="+406"/>
+ <location line="+412"/>
<source>Remove actions</source>
<translation> Aktionen löschen</translation>
</message>
@@ -4116,12 +4069,12 @@ Möchten Sie sie überschreiben?</translation>
<translation>Aktion &apos;%1&apos; löschen</translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+186"/>
<source>Used In</source>
<translation>Verwendet in</translation>
</message>
<message>
- <location line="-598"/>
+ <location line="-607"/>
<source>Configure Action Editor</source>
<translation>Aktionseditor konfigurieren</translation>
</message>
@@ -4129,7 +4082,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::ActionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+64"/>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+95"/>
<source>Name</source>
<translation>Name</translation>
</message>
@@ -4162,7 +4115,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::BuddyEditor</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+235"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+265"/>
<source>Add buddy</source>
<translation>Buddy hinzufügen</translation>
</message>
@@ -4196,7 +4149,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::BuddyEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+47"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+77"/>
<source>Edit Buddies</source>
<translation>Buddies bearbeiten</translation>
</message>
@@ -4204,7 +4157,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::BuddyEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+60"/>
<source>Edit Buddies</source>
<translation>Buddies bearbeiten</translation>
</message>
@@ -4258,7 +4211,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::CodeDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="+69"/>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="+99"/>
<source>Save...</source>
<translation>Speichern...</translation>
</message>
@@ -4316,7 +4269,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::ColorAction</name>
<message>
- <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+220"/>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+250"/>
<source>Text Color</source>
<translation>Schriftfarbe</translation>
</message>
@@ -4324,7 +4277,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::ComboBoxTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+42"/>
+ <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+72"/>
<source>Edit Items...</source>
<translation>Einträge ändern...</translation>
</message>
@@ -4416,7 +4369,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::ContainerWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+82"/>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+112"/>
<source>Insert Page Before Current Page</source>
<translation>Seite davor einfügen</translation>
</message>
@@ -4479,7 +4432,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::DesignerPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+614"/>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+644"/>
<location line="+6"/>
<source>AlignLeft</source>
<translation>Linksbündig ausrichten</translation>
@@ -4605,7 +4558,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::DeviceProfileDialog</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="+33"/>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="+63"/>
<source>Device Profiles (*.%1)</source>
<translation>Profile</translation>
</message>
@@ -4765,7 +4718,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::FilterWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+155"/>
+ <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+185"/>
<source>&lt;Filter&gt;</source>
<translation>&lt;FIlter&gt;</translation>
</message>
@@ -4773,7 +4726,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::FormEditor</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="+160"/>
+ <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="+190"/>
<source>Resource File Changed</source>
<translation>Änderung einer Ressourcendatei</translation>
</message>
@@ -4794,7 +4747,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1262"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1267"/>
<source>Edit contents</source>
<translation>Ändern</translation>
</message>
@@ -4804,7 +4757,7 @@ Möchten Sie sie überschreiben?</translation>
<translation>F2</translation>
</message>
<message>
- <location line="+836"/>
+ <location line="+841"/>
<source>Resize</source>
<translation>Größe ändern</translation>
</message>
@@ -4890,7 +4843,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::FormWindowBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+363"/>
+ <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+397"/>
<source>Delete</source>
<translation>Löschen</translation>
</message>
@@ -4903,7 +4856,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::FormWindowManager</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+338"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+368"/>
<source>Cu&amp;t</source>
<translation>&amp;Ausschneiden</translation>
</message>
@@ -4985,7 +4938,7 @@ Möchten Sie sie überschreiben?</translation>
<translation>Berechnet die Größe des ausgewählten Widgets aus dem Layout und passt das Widget an</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+6"/>
<source>Lay Out &amp;Horizontally</source>
<translation>Objekte &amp;waagrecht anordnen</translation>
</message>
@@ -5035,7 +4988,7 @@ Möchten Sie sie überschreiben?</translation>
<translation>Ordnet die ausgewählten Objekte um einen Splitter senkecht an</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>&amp;Break Layout</source>
<translation>La&amp;yout auflösen</translation>
</message>
@@ -5060,7 +5013,7 @@ Möchten Sie sie überschreiben?</translation>
<translation>Formular&amp;einstellungen...</translation>
</message>
<message>
- <location line="+75"/>
+ <location line="+78"/>
<source>Break Layout</source>
<translation>Layout auflösen</translation>
</message>
@@ -5076,17 +5029,17 @@ Möchten Sie sie überschreiben?</translation>
<translation>Es konnte keine Vorschau erzeugt werden</translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+341"/>
<source>Form Settings - %1</source>
<translation>Formulareinstellungen - %1</translation>
</message>
<message>
- <location line="-502"/>
+ <location line="-510"/>
<source>Removes empty columns and rows</source>
<translation>Entfernt unbesetzte Zeilen und Spalten</translation>
</message>
<message>
- <location line="-49"/>
+ <location line="-50"/>
<source>Lay Out in a &amp;Form Layout</source>
<translation>Objekte in &amp;Formularlayout anordnen</translation>
</message>
@@ -5096,7 +5049,7 @@ Möchten Sie sie überschreiben?</translation>
<translation>Ordnet die ausgewählten Objekte in einem zweispaltigen Formularlayout an</translation>
</message>
<message>
- <location line="+44"/>
+ <location line="+45"/>
<source>Si&amp;mplify Grid Layout</source>
<translation>Tabellarisches Layout &amp;vereinfachen</translation>
</message>
@@ -5104,7 +5057,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::FormWindowSettings</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="+162"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="+193"/>
<source>None</source>
<translation>Kein</translation>
</message>
@@ -5155,7 +5108,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::GroupBoxTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+56"/>
+ <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+86"/>
<source>Change title...</source>
<translation>Titel ändern...</translation>
</message>
@@ -5171,7 +5124,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::IconSelector</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+210"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+211"/>
<source>The pixmap file &apos;%1&apos; cannot be read.</source>
<translation>Die Pixmap-Datei &apos;%1&apos; kann nicht gelesen werden.</translation>
</message>
@@ -5323,7 +5276,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::LabelTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+59"/>
+ <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+89"/>
<source>Change rich text...</source>
<translation>Formatierbaren Text ändern...</translation>
</message>
@@ -5336,7 +5289,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::LineEditTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+54"/>
+ <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+84"/>
<source>Change text...</source>
<translation>Text ändern...</translation>
</message>
@@ -5344,7 +5297,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::ListWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+75"/>
+ <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+105"/>
<source>Edit List Widget</source>
<translation>List-Widget ändern</translation>
</message>
@@ -5362,7 +5315,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::ListWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+41"/>
+ <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+71"/>
<source>Edit Items...</source>
<translation> Elemente ändern...</translation>
</message>
@@ -5398,7 +5351,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::MenuTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+60"/>
<source>Remove</source>
<translation>Löschen</translation>
</message>
@@ -5457,7 +5410,7 @@ Möchten Sie sie überschreiben?</translation>
<context>
<name>qdesigner_internal::NewDynamicPropertyDialog</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+104"/>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+134"/>
<source>Set Property Name</source>
<translation>Namen der Eigenschaft setzen</translation>
</message>
@@ -5577,7 +5530,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::NewPromotedClassPanel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+66"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+96"/>
<source>Add</source>
<translation>Hinzufügen</translation>
</message>
@@ -5615,7 +5568,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::ObjectInspector</name>
<message>
- <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+727"/>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+758"/>
<source>&amp;Find in Text...</source>
<translation>&amp;Suchen...</translation>
</message>
@@ -5631,7 +5584,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::OrderDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+83"/>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+113"/>
<source>Index %1 (%2)</source>
<translation>Position %1 (%2)</translation>
</message>
@@ -5712,7 +5665,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PaletteEditorButton</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+31"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+61"/>
<source>Change Palette</source>
<translation>Palette ändern</translation>
</message>
@@ -5720,7 +5673,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PaletteModel</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+351"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+381"/>
<source>Color Role</source>
<translation>Farbrolle</translation>
</message>
@@ -5772,15 +5725,57 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PlainTextEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+39"/>
+ <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+69"/>
<source>Edit text</source>
<translation>Text bearbeiten</translation>
</message>
</context>
<context>
+ <name>qdesigner_internal::PluginDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="+72"/>
+ <source>Components</source>
+ <translation>Komponenten</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Plugin Information</source>
+ <translation>Plugins</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Refresh</source>
+ <translation>Neu laden</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Scan for newly installed custom widget plugins.</source>
+ <translation>Sucht nach neuinstallierten Plugins mit benutzerdefinierten Widgets.</translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Qt Designer couldn&apos;t find any plugins</source>
+ <translation>Qt Designer konnte keine plugins finden</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Qt Designer found the following plugins</source>
+ <translation>Qt Designer hat die folgenden Plugins gefunden</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>New custom widget plugins have been found.</source>
+ <translation>Es wurden neuinstallierten Plugins mit benutzerdefinierten Widgets gefunden.</translation>
+ </message>
+ <message>
+ <source>1</source>
+ <translation type="obsolete">1</translation>
+ </message>
+</context>
+<context>
<name>qdesigner_internal::PreviewActionGroup</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="+65"/>
+ <location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="+95"/>
<source>%1 Style</source>
<translation>%1-Stil</translation>
</message>
@@ -5823,7 +5818,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PreviewDeviceSkin</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="+188"/>
+ <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="+218"/>
<source>&amp;Close</source>
<translation>&amp;Schließen</translation>
</message>
@@ -5920,7 +5915,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PromotionTaskMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="+55"/>
+ <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="+85"/>
<source>Promoted widgets...</source>
<translation>Benutzerdefinierte Klassen...</translation>
</message>
@@ -5948,7 +5943,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PropertyEditor</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+158"/>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+188"/>
<source>Add Dynamic Property...</source>
<translation>Dynamische Eigenschaft hinzufügen...</translation>
</message>
@@ -6008,7 +6003,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::PropertyLineEdit</name>
<message>
- <location filename="../tools/designer/src/lib/shared/propertylineedit.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/shared/propertylineedit.cpp" line="+88"/>
<source>Insert line break</source>
<translation>Zeilenumbruch einfügen</translation>
</message>
@@ -6122,12 +6117,12 @@ Klasse: %2</translation>
<translation>Slot anzeigen...</translation>
</message>
<message>
- <location line="+397"/>
+ <location line="+413"/>
<source>no signals available</source>
<translation>Es sind keine Signale vorhanden</translation>
</message>
<message numerus="yes">
- <location line="+61"/>
+ <location line="+67"/>
<source>Set size constraint on %n widget(s)</source>
<translation>
<numerusform>Größenbeschränkung eines Widgets festlegen</numerusform>
@@ -6135,7 +6130,7 @@ Klasse: %2</translation>
</translation>
</message>
<message>
- <location line="-455"/>
+ <location line="-477"/>
<source>Size Constraints</source>
<translation>Größe</translation>
</message>
@@ -6170,7 +6165,7 @@ Klasse: %2</translation>
<translation>Maximalgröße festlegen</translation>
</message>
<message>
- <location line="+236"/>
+ <location line="+235"/>
<source>Edit ToolTip</source>
<translation>ToolTip bearbeiten</translation>
</message>
@@ -6183,7 +6178,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::QDesignerWidgetBox</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="+97"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="+127"/>
<location line="+13"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>Ungültiges Element &lt;%1&gt;</translation>
@@ -6238,7 +6233,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::QtGradientStopsController</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="+147"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="+177"/>
<source>H</source>
<translation>H</translation>
</message>
@@ -6413,7 +6408,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::ScriptDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="+38"/>
+ <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="+68"/>
<source>Edit script</source>
<translation>Skript bearbeiten</translation>
</message>
@@ -6463,7 +6458,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::SignalSlotEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="+46"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="+76"/>
<source>Edit Signals/Slots</source>
<translation>Signale und Slots bearbeiten</translation>
</message>
@@ -6476,7 +6471,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::SignalSlotEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="+32"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="+62"/>
<source>Edit Signals/Slots</source>
<translation>Signale und Slots bearbeiten</translation>
</message>
@@ -6484,7 +6479,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::StatusBarTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+55"/>
+ <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+85"/>
<source>Remove</source>
<translation>Löschen</translation>
</message>
@@ -6492,7 +6487,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::StringListEditorButton</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="+60"/>
<source>Change String List</source>
<translation>Zeichenkettenliste ändern</translation>
</message>
@@ -6500,7 +6495,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::StyleSheetEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="+71"/>
+ <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="+101"/>
<source>Edit Style Sheet</source>
<translation>Stylesheet bearbeiten</translation>
</message>
@@ -6539,7 +6534,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::TabOrderEditor</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="+333"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="+363"/>
<source>Start from Here</source>
<translation>Hier neu beginnen</translation>
</message>
@@ -6567,7 +6562,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::TabOrderEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="+47"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="+77"/>
<source>Edit Tab Order</source>
<translation>Tabulatorreihenfolge bearbeiten</translation>
</message>
@@ -6575,7 +6570,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::TabOrderEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="+31"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="+61"/>
<source>Edit Tab Order</source>
<translation>Tabulatorreihenfolge bearbeiten</translation>
</message>
@@ -6583,7 +6578,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::TableWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+41"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+71"/>
<source>New Column</source>
<translation>Neue Spalte</translation>
</message>
@@ -6632,7 +6627,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::TableWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+38"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+68"/>
<source>Edit Items...</source>
<translation>Elemente ändern...</translation>
</message>
@@ -6663,7 +6658,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::TextEditTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="+33"/>
+ <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="+63"/>
<source>Change HTML...</source>
<translation>HTML ändern...</translation>
</message>
@@ -6709,7 +6704,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::ToolBarEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="+209"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="+239"/>
<source>Insert Separator</source>
<translation>Trenner einfügen</translation>
</message>
@@ -6737,7 +6732,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::TreeWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+50"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+80"/>
<source>&amp;Columns</source>
<translation>&amp;Spalten</translation>
</message>
@@ -6863,7 +6858,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::TreeWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+37"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+67"/>
<source>Edit Items...</source>
<translation>Elemente ändern...</translation>
</message>
@@ -6871,7 +6866,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::WidgetBox</name>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="+83"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="+113"/>
<source>Warning: Widget creation failed in the widget box. This could be caused by invalid custom widget XML.</source>
<translation>Warnung: Die Erzeugung des Widgets in der Widget-Box schlug fehl. Das könnte durch fehlerhaften XML-Code benutzerdefinierter Widgets verursacht worden sein.</translation>
</message>
@@ -6879,17 +6874,17 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::WidgetBoxTreeWidget</name>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="-267"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="-268"/>
<source>Scratchpad</source>
<translation>Ablage</translation>
</message>
<message>
- <location line="+360"/>
+ <location line="+370"/>
<source>Custom Widgets</source>
<translation>Benutzerdefinierte Widgets</translation>
</message>
<message>
- <location line="+261"/>
+ <location line="+260"/>
<source>Expand all</source>
<translation>Alles aufklappen</translation>
</message>
@@ -6930,7 +6925,7 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::WidgetEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="+41"/>
+ <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="+71"/>
<source>Edit Widgets</source>
<translation>Widgets bearbeiten</translation>
</message>
@@ -6938,12 +6933,12 @@ Klasse: %2</translation>
<context>
<name>qdesigner_internal::WidgetFactory</name>
<message>
- <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="+237"/>
+ <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="+267"/>
<source>The custom widget factory registered for widgets of class %1 returned 0.</source>
<translation>Die Factory für benutzerdefinierte Widgets der Klasse %1 gab einen 0-Zeiger zurück.</translation>
</message>
<message>
- <location line="+40"/>
+ <location line="+44"/>
<source>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.</source>
<translation>Bei der Erzeugung von Widgets wurden widersprüchliche Klassennamen festgestellt: Die Factory für benutzerdefinierte Widgets der Klasse %1 gab ein Widget der Klasse %2 zurück.</translation>
</message>
@@ -6985,7 +6980,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>qdesigner_internal::ZoomMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/zoomwidget.cpp" line="+54"/>
+ <location filename="../tools/designer/src/lib/shared/zoomwidget.cpp" line="+84"/>
<source>%1 %</source>
<extracomment>Zoom factor</extracomment>
<translation>%1 %</translation>
diff --git a/translations/designer_ja.ts b/translations/designer_ja.ts
index a403b8d..1bcb801 100644
--- a/translations/designer_ja.ts
+++ b/translations/designer_ja.ts
@@ -1,20 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="ja_JP">
+<!DOCTYPE TS>
+<TS version="2.0" language="ja_JP">
<context>
<name></name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="+43"/>
+ <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="+73"/>
<source>The moose in the noose
ate the goose who was loose.</source>
<translation type="unfinished">坊主が屏風に上手に坊主の絵を描いた。</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+624"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+647"/>
<source>&lt;object&gt;</source>
<translation type="unfinished">&lt;オブジェクト&gt;</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+18"/>
<source>&lt;signal&gt;</source>
<translation type="unfinished">&lt;シグナル&gt;</translation>
</message>
@@ -95,7 +96,7 @@ ate the goose who was loose.</source>
<context>
<name>AbstractFindWidget</name>
<message>
- <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="+97"/>
+ <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="+127"/>
<source>&amp;Previous</source>
<translation type="unfinished"></translation>
</message>
@@ -141,7 +142,7 @@ ate the goose who was loose.</source>
<context>
<name>AppFontDialog</name>
<message>
- <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="+388"/>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="+418"/>
<source>Additional Fonts</source>
<translation type="unfinished"></translation>
</message>
@@ -253,7 +254,7 @@ ate the goose who was loose.</source>
<context>
<name>AssistantClient</name>
<message>
- <location filename="../tools/designer/src/designer/assistantclient.cpp" line="+70"/>
+ <location filename="../tools/designer/src/designer/assistantclient.cpp" line="+100"/>
<source>Unable to send request: Assistant is not responding.</source>
<translation type="unfinished"></translation>
</message>
@@ -271,7 +272,7 @@ ate the goose who was loose.</source>
<context>
<name>BrushManagerProxy</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+191"/>
+ <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+221"/>
<source>The element &apos;%1&apos; is missing the required attribute &apos;%2&apos;.</source>
<translation type="unfinished"></translation>
</message>
@@ -299,7 +300,7 @@ ate the goose who was loose.</source>
<context>
<name>BrushPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="+22"/>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="+52"/>
<source>No brush</source>
<translation type="unfinished"></translation>
</message>
@@ -396,19 +397,24 @@ ate the goose who was loose.</source>
<context>
<name>Command</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="+177"/>
- <location line="+211"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="+208"/>
+ <location line="+258"/>
<source>Change signal</source>
<translation>シグナルを変更</translation>
</message>
<message>
- <location line="-209"/>
- <location line="+221"/>
+ <location line="-256"/>
+ <location line="+268"/>
<source>Change slot</source>
<translation>スロットを変更</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-220"/>
+ <source>Change signal-slot connection</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+234"/>
<source>Change sender</source>
<translation>発信者を変更</translation>
</message>
@@ -418,7 +424,7 @@ ate the goose who was loose.</source>
<translation>受信者を変更</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+113"/>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+143"/>
<source>Add connection</source>
<translation>シグナル/スロット接続を追加</translation>
</message>
@@ -443,7 +449,7 @@ ate the goose who was loose.</source>
<translation>ターゲットを変更</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="+117"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="+149"/>
<source>Insert &apos;%1&apos;</source>
<translation>&apos;%1&apos; を挿入</translation>
</message>
@@ -473,7 +479,7 @@ ate the goose who was loose.</source>
<translation>&apos;%1&apos; の親をつけかえ</translation>
</message>
<message>
- <location line="+51"/>
+ <location line="+53"/>
<source>Promote to custom widget</source>
<translation>カスタムウィジェットに格上げ</translation>
</message>
@@ -508,48 +514,48 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+126"/>
- <location line="+226"/>
- <location line="+75"/>
+ <location line="+135"/>
+ <location line="+235"/>
+ <location line="+78"/>
<source>Move Page</source>
<translation>ページを移動</translation>
</message>
<message>
- <location line="-267"/>
- <location line="+116"/>
- <location line="+183"/>
- <location line="+664"/>
+ <location line="-279"/>
+ <location line="+123"/>
+ <location line="+188"/>
+ <location line="+666"/>
<source>Delete Page</source>
<translation>ページを削除</translation>
</message>
<message>
- <location line="-925"/>
- <location line="+116"/>
+ <location line="-939"/>
+ <location line="+123"/>
<source>Page</source>
<translation>ページ</translation>
</message>
<message>
- <location line="-114"/>
- <location line="+297"/>
- <location line="+670"/>
+ <location line="-121"/>
+ <location line="+309"/>
+ <location line="+672"/>
<source>page</source>
<translation>ページ</translation>
</message>
<message>
- <location line="-964"/>
- <location line="+116"/>
- <location line="+181"/>
- <location line="+665"/>
+ <location line="-978"/>
+ <location line="+123"/>
+ <location line="+186"/>
+ <location line="+667"/>
<source>Insert Page</source>
<translation>ページを挿入</translation>
</message>
<message>
- <location line="-849"/>
+ <location line="-856"/>
<source>tab</source>
<translation>タブ</translation>
</message>
<message>
- <location line="+204"/>
+ <location line="+209"/>
<source>Change Tab order</source>
<translation>タブ順を変更</translation>
</message>
@@ -598,7 +604,7 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+95"/>
<source>Change Layout Item Geometry</source>
<translation>レイアウトアイテムの座標を変更</translation>
</message>
@@ -607,7 +613,7 @@ ate the goose who was loose.</source>
<translation type="obsolete">行を挿入</translation>
</message>
<message>
- <location line="+569"/>
+ <location line="+576"/>
<source>Change Table Contents</source>
<translation>テーブルの内容を変更</translation>
</message>
@@ -649,7 +655,7 @@ ate the goose who was loose.</source>
<translation>ツールバーを削除</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1125"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1161"/>
<source>Set action text</source>
<translation>アクションのテキストを設定</translation>
</message>
@@ -660,7 +666,7 @@ ate the goose who was loose.</source>
</message>
<message>
<location line="+89"/>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+861"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+891"/>
<source>Move action</source>
<translation>アクションを移動</translation>
</message>
@@ -725,12 +731,12 @@ ate the goose who was loose.</source>
</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+172"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+202"/>
<source>Change signals/slots</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="-861"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="-867"/>
<source>Delete Subwindow</source>
<translation type="unfinished"></translation>
</message>
@@ -750,7 +756,7 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+195"/>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+225"/>
<source>Create button group</source>
<translation type="unfinished"></translation>
</message>
@@ -771,7 +777,7 @@ ate the goose who was loose.</source>
</message>
<message>
<location line="+8"/>
- <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+373"/>
+ <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+458"/>
<source>Add &apos;%1&apos; to &apos;%2&apos;</source>
<extracomment>Command description for adding buttons to a QButtonGroup</extracomment>
<translation type="unfinished"></translation>
@@ -788,23 +794,23 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+318"/>
+ <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+349"/>
<source>Morph %1/&apos;%2&apos; into %3</source>
<extracomment>MorphWidgetCommand description</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="+124"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="+154"/>
<source>Change layout of &apos;%1&apos; from %2 to %3</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="+25"/>
+ <location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="+55"/>
<source>Change script</source>
<translation type="unfinished">スクリプトを変更</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1176"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1209"/>
<source>Changed &apos;%1&apos; of &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
@@ -878,7 +884,7 @@ ate the goose who was loose.</source>
<context>
<name>DPI_Chooser</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+39"/>
+ <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+69"/>
<source>Standard (96 x 96)</source>
<extracomment>Embedded device standard screen resolution</extracomment>
<translation type="unfinished"></translation>
@@ -899,7 +905,7 @@ ate the goose who was loose.</source>
<context>
<name>Designer</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+409"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+439"/>
<source>Qt Designer</source>
<translation>Qt Designer</translation>
</message>
@@ -979,7 +985,7 @@ The old form has been untouched, but you will have to save this form under a new
<translation type="obsolete">このファイルは Qt-%1 の Designer で作成されたものですが、読めませんでした:&lt;br&gt;%2&lt;br&gt;&lt;b&gt;uic3 -convert&lt;/b&gt; を実行して、Qt 4 の UI フォーマットに変換してください。</translation>
</message>
<message>
- <location line="+735"/>
+ <location line="+746"/>
<source>Custom Widgets</source>
<translation>カスタムウィジェット</translation>
</message>
@@ -989,7 +995,7 @@ The old form has been untouched, but you will have to save this form under a new
<translation>格上げされたウィジェット</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="+602"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="+682"/>
<source>Unable to launch %1.</source>
<translation>%1 を起動できませんでした。</translation>
</message>
@@ -1023,7 +1029,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>DesignerMetaEnum</name>
<message>
- <location line="-463"/>
+ <location line="-513"/>
<source>%1 is not a valid enumeration value of &apos;%2&apos;.</source>
<translation type="unfinished"></translation>
</message>
@@ -1044,7 +1050,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>DeviceProfile</name>
<message>
- <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="+367"/>
+ <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="+397"/>
<source>&apos;%1&apos; is not a number.</source>
<extracomment>Reading a number for an embedded device profile</extracomment>
<translation type="unfinished"></translation>
@@ -1086,7 +1092,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>DeviceSkin</name>
<message>
- <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+49"/>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
<source>The image file &apos;%1&apos; could not be loaded.</source>
<translation type="unfinished"></translation>
</message>
@@ -1144,66 +1150,16 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>EmbeddedOptionsControl</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+130"/>
- <source>None</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Add a profile</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+6"/>
- <source>Edit the selected profile</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Delete the selected profile</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+22"/>
- <source>Add Profile</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <source>New profile</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+35"/>
- <source>Edit Profile</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+26"/>
- <source>Delete Profile</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Would you like to delete the profile &apos;%1&apos;?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+42"/>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+311"/>
<source>&lt;html&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Font&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%1, %2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Style&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Resolution&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4 x %5&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/html&gt;</source>
<extracomment>Format embedded device profile description</extracomment>
<translation type="unfinished"></translation>
</message>
- <message>
- <location line="+13"/>
- <source>Default</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>EmbeddedOptionsPage</name>
<message>
- <location line="+90"/>
+ <location line="+103"/>
<source>Embedded Design</source>
<extracomment>Tab in preferences dialog</extracomment>
<translation type="unfinished"></translation>
@@ -1218,7 +1174,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation>フォント</translation>
</message>
@@ -1246,7 +1202,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FontPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="+32"/>
+ <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="+62"/>
<source>PreferDefault</source>
<translation type="unfinished"></translation>
</message>
@@ -1269,7 +1225,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+321"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+351"/>
<source>Invalid stretch value for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing layout stretch values</extracomment>
<translation type="unfinished"></translation>
@@ -1284,7 +1240,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FormEditorOptionsPage</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="+61"/>
+ <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="+91"/>
<source>%1 %</source>
<translation type="unfinished"></translation>
</message>
@@ -1351,7 +1307,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1669"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1705"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -1427,7 +1383,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>IconSelector</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+321"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+353"/>
<source>All Pixmaps (</source>
<translation type="unfinished">全てのピックスマップ (</translation>
</message>
@@ -1435,7 +1391,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>ItemPropertyBrowser</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+36"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+66"/>
<source>XX Icon Selected off</source>
<extracomment>Sample string to determinate the width for the first column of the list item property browser</extracomment>
<translation type="unfinished"></translation>
@@ -1444,7 +1400,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>LanguageResourceDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-234"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-235"/>
<source>Choose Resource</source>
<translation type="unfinished"></translation>
</message>
@@ -1459,7 +1415,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>MainWindowBase</name>
<message>
- <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+89"/>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+119"/>
<source>Main</source>
<extracomment>Not currently used (main tool bar)</extracomment>
<translation type="unfinished"></translation>
@@ -1493,7 +1449,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>NewForm</name>
<message>
- <location filename="../tools/designer/src/designer/newform.cpp" line="+49"/>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="+79"/>
<source>C&amp;reate</source>
<translation>作成(&amp;R)</translation>
</message>
@@ -1562,7 +1518,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>NewFormWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+465"/>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+495"/>
<source>Unable to open the form template file &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -1570,7 +1526,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>ObjectInspectorModel</name>
<message>
- <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+331"/>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+364"/>
<source>Object</source>
<translation type="unfinished">オブジェクト</translation>
</message>
@@ -1580,7 +1536,7 @@ The old form has been untouched, but you will have to save this form under a new
<translation type="unfinished">クラス</translation>
</message>
<message>
- <location line="+34"/>
+ <location line="+35"/>
<source>separator</source>
<translation type="unfinished">セパレータ</translation>
</message>
@@ -1593,7 +1549,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>ObjectNameDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+132"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+162"/>
<source>Change Object Name</source>
<translation type="unfinished">オブジェクト名を変更</translation>
</message>
@@ -1651,47 +1607,11 @@ There&apos;s nothing more here. You should get back to work.</source>
</message>
</context>
<context>
- <name>qdesigner_internal::PluginDialog</name>
+ <name>PluginDialog</name>
<message>
- <location filename="../tools/designer/src/designer/plugindialog.cpp" line="+40"/>
- <source>Components</source>
- <translation>コンポーネント</translation>
- </message>
- <message>
- <location line="+13"/>
- <location filename="../tools/designer/src/designer/plugindialog.ui"/>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.ui"/>
<source>Plugin Information</source>
- <translation>プラグイン情報</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Refresh</source>
- <translation>リフレッシュ</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Scan for newly installed custom widget plugins.</source>
- <translation>新しくインストールされたカスタムウィジェットプラグインをスキャンします。</translation>
- </message>
- <message>
- <location line="+48"/>
- <source>Qt Designer couldn&apos;t find any plugins</source>
- <translation>プラグインは見つかりませんでした</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Qt Designer found the following plugins</source>
- <translation>以下のプラグインが見つかりました</translation>
- </message>
- <message>
- <location line="+55"/>
- <source>New custom widget plugins have been found.</source>
- <translation>新しいカスタムウィジェットのプラグインが見つかりました。</translation>
- </message>
- <message>
- <location filename="../tools/designer/src/designer/plugindialog.ui"/>
- <source>TextLabel</source>
- <translation>テキストラベル</translation>
+ <translation type="unfinished">プラグイン情報</translation>
</message>
<message>
<location/>
@@ -1742,7 +1662,7 @@ There&apos;s nothing more here. You should get back to work.</source>
<context>
<name>PreviewConfigurationWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+125"/>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+155"/>
<source>Default</source>
<translation type="unfinished"></translation>
</message>
@@ -1790,7 +1710,7 @@ There&apos;s nothing more here. You should get back to work.</source>
<context>
<name>PromotionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+86"/>
+ <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+116"/>
<source>Not used</source>
<extracomment>Usage of promoted widgets</extracomment>
<translation type="unfinished">使用されません</translation>
@@ -1799,7 +1719,7 @@ There&apos;s nothing more here. You should get back to work.</source>
<context>
<name>Q3WizardContainer</name>
<message>
- <location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="+142"/>
+ <location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="+172"/>
<location line="+5"/>
<source>Page</source>
<translation>ページ</translation>
@@ -1808,7 +1728,7 @@ There&apos;s nothing more here. You should get back to work.</source>
<context>
<name>QAbstractFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="+176"/>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="+206"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -1854,7 +1774,7 @@ This indicates an inconsistency in the ui-file.</source>
<translation type="unfinished">タブストップの適用中: ウィジェット &apos;%1&apos; が見つかりません。</translation>
</message>
<message>
- <location line="+734"/>
+ <location line="+749"/>
<source>Invalid QButtonGroup reference &apos;%1&apos; referenced by &apos;%2&apos;.</source>
<translation type="unfinished"></translation>
</message>
@@ -1900,7 +1820,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QAxWidgetPlugin</name>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="+45"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="+75"/>
<source>ActiveX control</source>
<translation type="unfinished">ActiveX コントロール</translation>
</message>
@@ -1913,7 +1833,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QAxWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="+89"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="+119"/>
<source>Set Control</source>
<translation type="unfinished">コントロールを設定</translation>
</message>
@@ -1936,7 +1856,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="+53"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="+83"/>
<source>%1 is not a promoted class.</source>
<translation>%1 は格上げされたクラスではありません。</translation>
</message>
@@ -1986,7 +1906,7 @@ This indicates an inconsistency in the ui-file.</source>
<translation type="unfinished">空のインクルードファイルを設定できません。</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="+88"/>
<source>Exception at line %1: %2</source>
<translation type="unfinished">%1 行目で例外が発生: %2</translation>
</message>
@@ -2006,7 +1926,7 @@ Script: %3</source>
<context>
<name>QDesigner</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner.cpp" line="+111"/>
+ <location filename="../tools/designer/src/designer/qdesigner.cpp" line="+141"/>
<source>%1 - warning</source>
<translation type="unfinished">%1 - 警告</translation>
</message>
@@ -2031,7 +1951,7 @@ Script: %3</source>
<context>
<name>QDesignerActions</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+152"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+178"/>
<source>Edit Widgets</source>
<translation>ウィジェットを編集</translation>
</message>
@@ -2100,7 +2020,7 @@ Script: %3</source>
<translation type="obsolete">CTRL+O</translation>
</message>
<message>
- <location line="+290"/>
+ <location line="+293"/>
<source>Clear &amp;Menu</source>
<translation>メニューをクリア(&amp;M)</translation>
</message>
@@ -2109,7 +2029,7 @@ Script: %3</source>
<translation type="obsolete">CTRL+S</translation>
</message>
<message>
- <location line="-229"/>
+ <location line="-232"/>
<source>CTRL+SHIFT+S</source>
<translation>CTRL+SHIFT+S</translation>
</message>
@@ -2166,17 +2086,17 @@ Script: %3</source>
</message>
<message>
<location line="+6"/>
- <location line="+598"/>
+ <location line="+601"/>
<source>About Qt Designer</source>
<translation>Qt Designer について</translation>
</message>
<message>
- <location line="-592"/>
+ <location line="-595"/>
<source>About Qt</source>
<translation>Qt について</translation>
</message>
<message>
- <location line="+118"/>
+ <location line="+121"/>
<location line="+197"/>
<source>Open Form</source>
<translation>フォームを開く</translation>
@@ -2197,7 +2117,7 @@ Script: %3</source>
<translation type="obsolete">保存</translation>
</message>
<message>
- <location line="-612"/>
+ <location line="-615"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 はすでに存在します。上書きしますか?</translation>
@@ -2218,7 +2138,7 @@ Do you want to replace it?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+237"/>
+ <location line="+240"/>
<source>&amp;Recent Forms</source>
<translation type="unfinished">最近使用したフォーム(&amp;R)</translation>
</message>
@@ -2266,7 +2186,7 @@ Do you want to update the file location or generate a new form?</source>
<translation>ファイルをオープンできませんでした</translation>
</message>
<message>
- <location line="+532"/>
+ <location line="+494"/>
<source>Saved image %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -2276,7 +2196,7 @@ Do you want to update the file location or generate a new form?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+49"/>
+ <location line="+52"/>
<source>Printed %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -2289,7 +2209,7 @@ Would you like to retry or change your file?</source>
リトライしますか、それともファイルを変更しますか?</translation>
</message>
<message>
- <location line="-589"/>
+ <location line="-554"/>
<source>Select New File</source>
<translation>新しいファイルを選択</translation>
</message>
@@ -2307,7 +2227,7 @@ Would you like to retry?</source>
リトライしますか?</translation>
</message>
<message>
- <location line="+239"/>
+ <location line="+201"/>
<source>&amp;Close Preview</source>
<translation>プレビューを閉じる(&amp;C)</translation>
</message>
@@ -2316,7 +2236,7 @@ Would you like to retry?</source>
<translation type="obsolete">フォーム設定 - %1</translation>
</message>
<message>
- <location line="-935"/>
+ <location line="-900"/>
<source>&amp;New...</source>
<translation type="unfinished"></translation>
</message>
@@ -2347,12 +2267,12 @@ Would you like to retry?</source>
</message>
<message>
<location line="+1"/>
- <location line="+931"/>
+ <location line="+896"/>
<source>&amp;Close</source>
<translation type="unfinished">閉じる(&amp;C)</translation>
</message>
<message>
- <location line="-930"/>
+ <location line="-895"/>
<source>Save &amp;Image...</source>
<translation type="unfinished"></translation>
</message>
@@ -2367,7 +2287,7 @@ Would you like to retry?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+416"/>
+ <location line="+419"/>
<location line="+248"/>
<source>Save Form As</source>
<translation type="unfinished"></translation>
@@ -2387,7 +2307,7 @@ Would you like to retry?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+277"/>
+ <location line="+239"/>
<location line="+23"/>
<source>The backup file %1 could not be written.</source>
<translation type="unfinished">バックアップファイル %1 に書き込めませんでした。</translation>
@@ -2408,12 +2328,12 @@ Would you like to retry?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-613"/>
+ <location line="-575"/>
<source>Code generation failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+637"/>
+ <location line="+599"/>
<source>Image files (*.%1)</source>
<translation type="unfinished"></translation>
</message>
@@ -2429,8 +2349,8 @@ Would you like to retry?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-336"/>
- <location line="+66"/>
+ <location line="-298"/>
+ <location line="+34"/>
<source>Assistant</source>
<translation type="unfinished"></translation>
</message>
@@ -2438,7 +2358,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerAppearanceOptionsPage</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="+93"/>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="+138"/>
<source>Appearance</source>
<extracomment>Tab in preferences dialog</extracomment>
<translation type="unfinished"></translation>
@@ -2447,7 +2367,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerAppearanceOptionsWidget</name>
<message>
- <location line="-39"/>
+ <location line="-53"/>
<source>Docked Window</source>
<translation type="unfinished">ドックウィンドウ</translation>
</message>
@@ -2457,7 +2377,7 @@ Would you like to retry?</source>
<translation type="unfinished">複数のトップレベルウィンドウ</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+5"/>
<source>Toolwindow Font</source>
<translation type="unfinished">ツールウィンドウフォント</translation>
</message>
@@ -2475,7 +2395,7 @@ Would you like to retry?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="+149"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="+179"/>
<source>Control loaded</source>
<translation type="unfinished">コントロールがロードされました</translation>
</message>
@@ -2488,7 +2408,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+88"/>
<source>Script errors occurred:</source>
<translation type="unfinished">スクリプトエラーが発生しました:</translation>
</message>
@@ -2506,7 +2426,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerFormWindow</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="+187"/>
+ <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="+217"/>
<source>%1 - %2[*]</source>
<translation>%1 - %2[*]</translation>
</message>
@@ -2529,7 +2449,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1154"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1160"/>
<source>Type Here</source>
<translation>ここに入力</translation>
</message>
@@ -2539,7 +2459,7 @@ Would you like to retry?</source>
<translation>セパレータを追加</translation>
</message>
<message>
- <location line="+366"/>
+ <location line="+372"/>
<source>Insert separator</source>
<translation>セパレータを挿入</translation>
</message>
@@ -2598,7 +2518,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerPluginManager</name>
<message>
- <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+197"/>
+ <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+249"/>
<source>An XML error was encountered when parsing the XML of the custom widget %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2636,7 +2556,7 @@ Would you like to retry?</source>
<translation type="obsolete">レイアウト</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+717"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+747"/>
<source>Dynamic Properties</source>
<translation>ダイナミックプロパティ</translation>
</message>
@@ -2644,18 +2564,18 @@ Would you like to retry?</source>
<context>
<name>QDesignerResource</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="-235"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="-246"/>
<source>The layout type &apos;%1&apos; is not supported, defaulting to grid.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+331"/>
+ <location line="+342"/>
<source>The container extension of the widget &apos;%1&apos; (%2) returned a widget not managed by Designer &apos;%3&apos; (%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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+598"/>
+ <location line="+599"/>
<source>Unexpected element &lt;%1&gt;</source>
<extracomment>Parsing clipboard contents</extracomment>
<translation type="unfinished"></translation>
@@ -2683,7 +2603,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerSharedSettings</name>
<message>
- <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="+53"/>
+ <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="+83"/>
<source>The template path %1 could not be created.</source>
<translation type="unfinished">テンプレートのパス %1 を作成できませんでした。</translation>
</message>
@@ -2835,7 +2755,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerToolWindow</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="+160"/>
+ <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="+190"/>
<source>Property Editor</source>
<translation type="unfinished">プロパティエディタ</translation>
</message>
@@ -2872,7 +2792,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="obsolete">ウィジェットボックス</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="+318"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="+349"/>
<source>An error has been encountered at line %1 of %2: %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2895,7 +2815,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerWorkbench</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="+169"/>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="+199"/>
<source>&amp;File</source>
<translation>ファイル(&amp;F)</translation>
</message>
@@ -3014,7 +2934,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="obsolete">前回使用したときに Designer は正しく終了されませんでした。バックアップファイルが存在します。ロードしますか?</translation>
</message>
<message>
- <location line="+112"/>
+ <location line="+111"/>
<source>The file &lt;b&gt;%1&lt;/b&gt; could not be opened.</source>
<translation>ファイル &lt;b&gt;%1&lt;/b&gt; はオープンできませんでした。</translation>
</message>
@@ -3024,7 +2944,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation>ファイル &lt;b&gt;%1&lt;/b&gt; は、有効な Designer の UI ファイルではありません。</translation>
</message>
<message numerus="yes">
- <location line="-260"/>
+ <location line="-259"/>
<source>There are %n forms with unsaved changes. Do you want to review these changes before quitting?</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -3034,7 +2954,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+130"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+160"/>
<source>An empty class name was passed on to %1 (object name: &apos;%2&apos;).</source>
<extracomment>Empty class name passed to widget factory method</extracomment>
<translation type="unfinished"></translation>
@@ -3055,7 +2975,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="unfinished">レイアウトタイプ &apos;%1&apos; は、サポートされていません。</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="+76"/>
+ <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="+106"/>
<source>The set-type property %1 could not be read.</source>
<translation type="unfinished">Set型のプロパティ %1 を読めませんでした。</translation>
</message>
@@ -3075,7 +2995,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="unfinished">プロパティ %1 を書き込めませんでした。%2 という型はサポートされていません。</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+102"/>
+ <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+132"/>
<source>The enumeration-value &apos;%1&apos; is invalid. The default value &apos;%2&apos; will be used instead.</source>
<translation type="unfinished"></translation>
</message>
@@ -3325,7 +3245,7 @@ Script: %3</source>
<context>
<name>QStackedWidgetEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="+164"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="+194"/>
<source>Previous Page</source>
<translation type="unfinished">前のページ</translation>
</message>
@@ -3386,7 +3306,7 @@ Script: %3</source>
<context>
<name>QTabWidgetEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="+59"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="+89"/>
<source>Delete</source>
<translation type="unfinished">削除</translation>
</message>
@@ -3414,7 +3334,7 @@ Script: %3</source>
<context>
<name>QToolBoxHelper</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="+34"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="+64"/>
<source>Delete Page</source>
<translation type="unfinished">ページを削除</translation>
</message>
@@ -3452,7 +3372,7 @@ Script: %3</source>
<context>
<name>QtBoolEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+198"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+226"/>
<location line="+10"/>
<location line="+25"/>
<source>True</source>
@@ -3468,7 +3388,7 @@ Script: %3</source>
<context>
<name>QtBoolPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1469"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1477"/>
<source>True</source>
<translation type="unfinished"></translation>
</message>
@@ -3481,7 +3401,7 @@ Script: %3</source>
<context>
<name>QtCharEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1573"/>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1601"/>
<source>Clear Char</source>
<translation type="unfinished"></translation>
</message>
@@ -3497,7 +3417,7 @@ Script: %3</source>
<context>
<name>QtColorPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4769"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4777"/>
<source>Red</source>
<translation type="unfinished">赤</translation>
</message>
@@ -3677,7 +3597,7 @@ Script: %3</source>
<context>
<name>QtGradientEditor</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+405"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+435"/>
<source>Start X</source>
<translation type="unfinished">始点の X 座標</translation>
</message>
@@ -3956,7 +3876,7 @@ Script: %3</source>
<context>
<name>QtGradientStopsWidget</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+919"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+949"/>
<source>New Stop</source>
<translation type="unfinished">新しい終点</translation>
</message>
@@ -3998,7 +3918,7 @@ Script: %3</source>
<context>
<name>QtGradientView</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+77"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+107"/>
<source>Grad</source>
<translation type="unfinished"></translation>
</message>
@@ -4049,7 +3969,7 @@ Script: %3</source>
<translation type="obsolete">グラデーションを編集</translation>
</message>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+32"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+62"/>
<location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui"/>
<source>Select Gradient</source>
<translation type="unfinished"></translation>
@@ -4066,7 +3986,7 @@ Script: %3</source>
<context>
<name>QtLocalePropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3553"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3561"/>
<source>%1, %2</source>
<translation type="unfinished"></translation>
</message>
@@ -4133,22 +4053,22 @@ Script: %3</source>
<context>
<name>QtRectFPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1705"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1716"/>
<source>[(%1, %2), %3 x %4]</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+155"/>
+ <location line="+156"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
+ <location line="+8"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
+ <location line="+8"/>
<source>Width</source>
<translation type="unfinished"></translation>
</message>
@@ -4161,22 +4081,22 @@ Script: %3</source>
<context>
<name>QtRectPropertyManager</name>
<message>
- <location line="-610"/>
+ <location line="-614"/>
<source>[(%1, %2), %3 x %4]</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+119"/>
+ <location line="+120"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+7"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+7"/>
<source>Width</source>
<translation type="unfinished"></translation>
</message>
@@ -4189,7 +4109,7 @@ Script: %3</source>
<context>
<name>QtResourceEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="+46"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="+76"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation type="unfinished">%1 はすでに存在します。上書きしますか?</translation>
@@ -4200,7 +4120,7 @@ Do you want to replace it?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+900"/>
+ <location line="+902"/>
<source>%1 [read-only]</source>
<translation type="unfinished"></translation>
</message>
@@ -4469,7 +4389,7 @@ to
<context>
<name>QtResourceView</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+404"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+435"/>
<source>Size: %1 x %2
%3</source>
<translation type="unfinished"></translation>
@@ -4501,7 +4421,7 @@ to
<context>
<name>QtSizeFPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-532"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-537"/>
<source>%1 x %2</source>
<translation type="unfinished"></translation>
</message>
@@ -4519,12 +4439,18 @@ to
<context>
<name>QtSizePolicyPropertyManager</name>
<message>
- <location line="+1707"/>
+ <location line="+1719"/>
+ <location line="+1"/>
+ <source>&lt;Invalid&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>[%1, %2, %3, %4]</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+49"/>
+ <location line="+45"/>
<source>Horizontal Policy</source>
<translation type="unfinished"></translation>
</message>
@@ -4547,7 +4473,7 @@ to
<context>
<name>QtSizePropertyManager</name>
<message>
- <location line="-2288"/>
+ <location line="-2298"/>
<source>%1 x %2</source>
<translation type="unfinished"></translation>
</message>
@@ -4565,7 +4491,7 @@ to
<context>
<name>QtToolBarDialog</name>
<message>
- <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1759"/>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1789"/>
<source>&lt; S E P A R A T O R &gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -4673,7 +4599,7 @@ to
<context>
<name>QtTreePropertyBrowser</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="+407"/>
+ <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="+442"/>
<source>Property</source>
<translation type="unfinished">プロパティ</translation>
</message>
@@ -4686,7 +4612,7 @@ to
<context>
<name>SaveFormAsTemplate</name>
<message>
- <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="+42"/>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="+72"/>
<source>Add path...</source>
<translation>パスを追加...</translation>
</message>
@@ -4751,7 +4677,7 @@ Do you want overwrite the template?</source>
<context>
<name>ScriptErrorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+33"/>
+ <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+63"/>
<source>An error occurred while running the scripts for &quot;%1&quot;:
</source>
<translation type="unfinished">&quot;%1&quot; のためにスクリプトを実行していてエラーが発生しました:
@@ -4770,11 +4696,21 @@ Do you want overwrite the template?</source>
<source>Select signal</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location/>
+ <source>signal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location/>
+ <source>class</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SignalSlotConnection</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="-311"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="-358"/>
<source>SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4)</source>
<translation type="unfinished"></translation>
</message>
@@ -4815,7 +4751,7 @@ Do you want overwrite the template?</source>
<context>
<name>Spacer</name>
<message>
- <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="+245"/>
+ <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="+275"/>
<source>Horizontal Spacer &apos;%1&apos;, %2 x %3</source>
<translation type="unfinished"></translation>
</message>
@@ -4828,7 +4764,7 @@ Do you want overwrite the template?</source>
<context>
<name>TemplateOptionsPage</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="+126"/>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="+156"/>
<source>Template Paths</source>
<extracomment>Tab in preferences dialog</extracomment>
<translation type="unfinished"></translation>
@@ -4870,17 +4806,16 @@ Do you want overwrite the template?</source>
<context>
<name>VersionDialog</name>
<message>
- <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+141"/>
+ <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+171"/>
<source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;Version %2</source>
<translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;バージョン %2</translation>
</message>
<message>
- <location line="+2"/>
<source> Open Source Edition</source>
- <translation> オープンソース版</translation>
+ <translation type="obsolete"> オープンソース版</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+1"/>
<source>Qt Designer</source>
<translation>Qt Designer</translation>
</message>
@@ -4890,34 +4825,23 @@ Do you want overwrite the template?</source>
<translation>&lt;br/&gt;Qt Designer は、Qt アプリケーションをデザインするための GUI ツールです。&lt;br/&gt;</translation>
</message>
<message>
- <location line="+4"/>
- <source>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.&lt;br/&gt;&lt;br/&gt;You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel.html&lt;/a&gt; for an overview of Qt licensing.&lt;br/&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>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.&lt;br/&gt;&lt;br/&gt;You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;http://qtsoftware.com/company/model.html&lt;/a&gt; for an overview of Qt licensing.&lt;br/&gt;</source>
<translation type="obsolete">このバージョンの Qt Designer は、オープンソースアプリケーションを開発するための Qt オープンソース版の一部です。Qt は、クロスプラットフォームなアプリケーションを開発するための包括的な C++ のフレームワークです。&lt;br/&gt;&lt;br/&gt;独占的な(ソースが隠された)アプリケーションを開発するには、Qt の商用ライセンスが必要です。Qt のライセンスの概要については &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;http://qtsoftware.com/company/model.html&lt;/a&gt; をご覧ください。&lt;br/&gt;</translation>
</message>
<message>
- <location line="+12"/>
<source>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.&lt;br/&gt;</source>
- <translation>このプログラムは、Qt 商用ライセンス契約書の定める条件の下であなたの利用が認められています。詳細は、ソフトウェアと一緒に配布される LICENSE ファイルを参照してください。&lt;br/&gt;</translation>
+ <translation type="obsolete">このプログラムは、Qt 商用ライセンス契約書の定める条件の下であなたの利用が認められています。詳細は、ソフトウェアと一緒に配布される LICENSE ファイルを参照してください。&lt;br/&gt;</translation>
</message>
<message>
<location line="+5"/>
<source>%1&lt;br/&gt;%2&lt;br/&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;br/&gt;&lt;br/&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;br/&gt; </source>
<translation>%1&lt;br/&gt;%2&lt;br/&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 全ての権利は保護されています。&lt;br/&gt;&lt;br/&gt;プログラムは「設計」、「市場性」および「特定の目的への適合性」も含む、あらゆる種類の「保証がなく」、「そのままで」提供されます。&lt;br/&gt;</translation>
</message>
- <message>
- <location line="-9"/>
- <source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.&lt;br/&gt;</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>WidgetDataBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="+786"/>
+ <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="+814"/>
<source>The file contains a custom widget &apos;%1&apos; whose base class (%2) differs from the current entry in the widget database (%3). The widget database is left unchanged.</source>
<translation type="unfinished"></translation>
</message>
@@ -4925,22 +4849,22 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ActionEditor</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+111"/>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+143"/>
<source>Actions</source>
<translation>アクション</translation>
</message>
<message>
- <location line="-15"/>
+ <location line="-16"/>
<source>New...</source>
<translation>新規...</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Delete</source>
<translation>削除</translation>
</message>
<message>
- <location line="+305"/>
+ <location line="+307"/>
<source>New action</source>
<translation>新しいアクション</translation>
</message>
@@ -4958,12 +4882,17 @@ Do you want overwrite the template?</source>
<translation type="obsolete">その機能は実装されていません!</translation>
</message>
<message>
- <location line="-408"/>
+ <location line="-411"/>
<source>Edit...</source>
<translation type="unfinished">編集...</translation>
</message>
<message>
<location line="+1"/>
+ <source>Go to slot...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
@@ -4983,7 +4912,7 @@ Do you want overwrite the template?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+52"/>
+ <location line="+54"/>
<source>Configure Action Editor</source>
<translation type="unfinished"></translation>
</message>
@@ -4998,7 +4927,7 @@ Do you want overwrite the template?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+406"/>
+ <location line="+412"/>
<source>Remove actions</source>
<translation type="unfinished"></translation>
</message>
@@ -5008,7 +4937,7 @@ Do you want overwrite the template?</source>
<translation type="unfinished">アクション &apos;%1&apos; を消去</translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+186"/>
<source>Used In</source>
<translation type="unfinished"></translation>
</message>
@@ -5023,7 +4952,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ActionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+64"/>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+95"/>
<source>Name</source>
<translation type="unfinished">名前</translation>
</message>
@@ -5056,7 +4985,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::BuddyEditor</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+235"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+265"/>
<source>Add buddy</source>
<translation>buddy を追加</translation>
</message>
@@ -5088,7 +5017,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::BuddyEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+47"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+77"/>
<source>Edit Buddies</source>
<translation>buddy を編集</translation>
</message>
@@ -5096,7 +5025,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::BuddyEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+60"/>
<source>Edit Buddies</source>
<translation>buddy を編集</translation>
</message>
@@ -5150,7 +5079,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::CodeDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="+69"/>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="+99"/>
<source>Save...</source>
<translation type="unfinished"></translation>
</message>
@@ -5208,7 +5137,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ColorAction</name>
<message>
- <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+220"/>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+250"/>
<source>Text Color</source>
<translation type="unfinished"></translation>
</message>
@@ -5216,7 +5145,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ComboBoxTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+42"/>
+ <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+72"/>
<source>Edit Items...</source>
<translation>アイテムを編集...</translation>
</message>
@@ -5270,7 +5199,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ConnectionModel</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="-470"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="-465"/>
<source>Sender</source>
<translation>発信者</translation>
</message>
@@ -5290,7 +5219,7 @@ Do you want overwrite the template?</source>
<translation>スロット</translation>
</message>
<message>
- <location line="+97"/>
+ <location line="+90"/>
<source>&lt;sender&gt;</source>
<translation>&lt;発信者&gt;</translation>
</message>
@@ -5331,7 +5260,7 @@ Do you want overwrite the template?</source>
<translation type="obsolete">ページを削除</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+82"/>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+112"/>
<source>Insert Page Before Current Page</source>
<translation>このページの前にページを挿入</translation>
</message>
@@ -5394,7 +5323,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::DesignerPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+614"/>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+644"/>
<location line="+6"/>
<source>AlignLeft</source>
<translation type="unfinished"></translation>
@@ -5519,7 +5448,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::DeviceProfileDialog</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="+33"/>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="+63"/>
<source>Device Profiles (*.%1)</source>
<translation type="unfinished"></translation>
</message>
@@ -5662,9 +5591,62 @@ Do you want overwrite the template?</source>
</message>
</context>
<context>
+ <name>qdesigner_internal::EmbeddedOptionsControl</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="-260"/>
+ <source>None</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Add a profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Edit the selected profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Delete the selected profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Add Profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>New profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Edit Profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Delete Profile</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Would you like to delete the profile &apos;%1&apos;?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Default</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>qdesigner_internal::FilterWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+155"/>
+ <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+185"/>
<source>&lt;Filter&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -5691,7 +5673,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormEditor</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="+160"/>
+ <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="+190"/>
<source>Resource File Changed</source>
<translation type="unfinished"></translation>
</message>
@@ -5712,7 +5694,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1262"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1267"/>
<source>Edit contents</source>
<translation>内容を編集</translation>
</message>
@@ -5726,7 +5708,7 @@ Do you want overwrite the template?</source>
<translation type="obsolete">ウィジェット &apos;%1 を挿入</translation>
</message>
<message>
- <location line="+836"/>
+ <location line="+841"/>
<source>Resize</source>
<translation>サイズ変更</translation>
</message>
@@ -5762,13 +5744,13 @@ and then paste again.</source>
<translation>レイアウト</translation>
</message>
<message>
- <location line="+490"/>
+ <location line="+493"/>
<location line="+55"/>
<source>Drop widget</source>
<translation>ウィジェットの貼り付け</translation>
</message>
<message numerus="yes">
- <location line="-1052"/>
+ <location line="-1055"/>
<source>Paste %n action(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -5817,7 +5799,7 @@ and then paste again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+573"/>
+ <location line="+576"/>
<source>A QMainWindow-based form does not contain a central widget.</source>
<translation type="unfinished"></translation>
</message>
@@ -5825,7 +5807,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::FormWindowBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+363"/>
+ <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+397"/>
<source>Delete</source>
<translation>削除</translation>
</message>
@@ -5838,7 +5820,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::FormWindowManager</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+337"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+368"/>
<source>Cu&amp;t</source>
<translation>切り取り(&amp;T)</translation>
</message>
@@ -5920,7 +5902,7 @@ and then paste again.</source>
<translation>選択されたウィジィトのサイズを調整</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+6"/>
<source>Lay Out &amp;Horizontally</source>
<translation>水平に並べる(&amp;H)</translation>
</message>
@@ -5980,7 +5962,7 @@ and then paste again.</source>
<translation>選択されたウィジェットをスプリッタの中で垂直方向に配置</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>&amp;Break Layout</source>
<translation>レイアウトを破棄(&amp;B)</translation>
</message>
@@ -6010,7 +5992,7 @@ and then paste again.</source>
<translation type="unfinished">フォームの設定(&amp;S)...</translation>
</message>
<message>
- <location line="+75"/>
+ <location line="+78"/>
<source>Break Layout</source>
<translation>レイアウトを破棄する</translation>
</message>
@@ -6026,12 +6008,12 @@ and then paste again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+324"/>
+ <location line="+341"/>
<source>Form Settings - %1</source>
<translation type="unfinished">フォーム設定 - %1</translation>
</message>
<message>
- <location line="-490"/>
+ <location line="-510"/>
<source>Removes empty columns and rows</source>
<translation type="unfinished"></translation>
</message>
@@ -6039,7 +6021,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::FormWindowSettings</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="+162"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="+193"/>
<source>None</source>
<translation type="unfinished"></translation>
</message>
@@ -6105,7 +6087,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::GroupBoxTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+56"/>
+ <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+86"/>
<source>Change title...</source>
<translation>タイトルを変更...</translation>
</message>
@@ -6121,7 +6103,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::IconSelector</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+210"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+211"/>
<source>The pixmap file &apos;%1&apos; cannot be read.</source>
<translation type="unfinished"></translation>
</message>
@@ -6214,7 +6196,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::ItemListEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+349"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+358"/>
<source>Properties &amp;&lt;&lt;</source>
<translation type="unfinished"></translation>
</message>
@@ -6273,7 +6255,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::LabelTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+59"/>
+ <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+89"/>
<source>Change rich text...</source>
<translation>リッチテキストを変更...</translation>
</message>
@@ -6286,7 +6268,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::LineEditTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+54"/>
+ <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+84"/>
<source>Change text...</source>
<translation>テキストを変更...</translation>
</message>
@@ -6294,7 +6276,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::ListWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+75"/>
+ <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+105"/>
<source>Edit List Widget</source>
<translation>リストウィジェットを編集</translation>
</message>
@@ -6372,7 +6354,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::ListWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+41"/>
+ <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+71"/>
<source>Edit Items...</source>
<translation>アイテムを編集...</translation>
</message>
@@ -6408,7 +6390,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::MenuTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+60"/>
<source>Remove</source>
<translation type="unfinished">消去</translation>
</message>
@@ -6467,7 +6449,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::NewDynamicPropertyDialog</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+104"/>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+134"/>
<source>Set Property Name</source>
<translation>プロパティ名を設定</translation>
</message>
@@ -6593,7 +6575,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::NewPromotedClassPanel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+66"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+96"/>
<source>Add</source>
<translation>追加</translation>
</message>
@@ -6647,7 +6629,7 @@ Please select another name.</source>
<translation type="obsolete">セパレータ</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+727"/>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+758"/>
<source>&amp;Find in Text...</source>
<translation type="unfinished"></translation>
</message>
@@ -6663,7 +6645,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::OrderDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+83"/>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+113"/>
<source>Index %1 (%2)</source>
<translation>インデックス %1 (%2)</translation>
</message>
@@ -6752,7 +6734,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PaletteEditorButton</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+31"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+61"/>
<source>Change Palette</source>
<translation>パレットを変更</translation>
</message>
@@ -6760,7 +6742,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PaletteModel</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+351"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+381"/>
<source>Color Role</source>
<translation>色役割</translation>
</message>
@@ -6812,15 +6794,61 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PlainTextEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+39"/>
+ <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+69"/>
<source>Edit text</source>
<translation type="unfinished">テキストを編集</translation>
</message>
</context>
<context>
+ <name>qdesigner_internal::PluginDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="+72"/>
+ <source>Components</source>
+ <translation>コンポーネント</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Plugin Information</source>
+ <translation>プラグイン情報</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Refresh</source>
+ <translation>リフレッシュ</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Scan for newly installed custom widget plugins.</source>
+ <translation>新しくインストールされたカスタムウィジェットプラグインをスキャンします。</translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Qt Designer couldn&apos;t find any plugins</source>
+ <translation>プラグインは見つかりませんでした</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Qt Designer found the following plugins</source>
+ <translation>以下のプラグインが見つかりました</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>New custom widget plugins have been found.</source>
+ <translation>新しいカスタムウィジェットのプラグインが見つかりました。</translation>
+ </message>
+ <message>
+ <source>TextLabel</source>
+ <translation type="obsolete">テキストラベル</translation>
+ </message>
+ <message>
+ <source>1</source>
+ <translation type="obsolete">1</translation>
+ </message>
+</context>
+<context>
<name>qdesigner_internal::PreviewActionGroup</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="+65"/>
+ <location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="+95"/>
<source>%1 Style</source>
<translation type="unfinished">%1 スタイル</translation>
</message>
@@ -6862,7 +6890,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PreviewDeviceSkin</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="+188"/>
+ <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="+218"/>
<source>&amp;Close</source>
<translation type="unfinished">閉じる(&amp;C)</translation>
</message>
@@ -6963,7 +6991,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PromotionTaskMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="+55"/>
+ <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="+85"/>
<source>Promoted widgets...</source>
<translation>格上げされたウィジェット...</translation>
</message>
@@ -6991,7 +7019,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PropertyEditor</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+222"/>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+188"/>
<source>Add Dynamic Property...</source>
<translation>ダイナミックプロパティを追加...</translation>
</message>
@@ -7026,13 +7054,13 @@ Please select another name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+534"/>
+ <location line="+533"/>
<source>Object: %1
Class: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-548"/>
+ <location line="-547"/>
<source>String...</source>
<translation type="unfinished"></translation>
</message>
@@ -7050,7 +7078,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::PropertyLineEdit</name>
<message>
- <location filename="../tools/designer/src/lib/shared/propertylineedit.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/shared/propertylineedit.cpp" line="+88"/>
<source>Insert line break</source>
<translation>改行を挿入</translation>
</message>
@@ -7198,7 +7226,7 @@ Class: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+265"/>
+ <location line="+264"/>
<source>Edit ToolTip</source>
<translation type="unfinished"></translation>
</message>
@@ -7207,15 +7235,20 @@ Class: %2</source>
<source>Edit WhatsThis</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+144"/>
+ <source>no signals available</source>
+ <translation type="unfinished"></translation>
+ </message>
<message numerus="yes">
- <location line="+132"/>
+ <location line="+67"/>
<source>Set size constraint on %n widget(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
</translation>
</message>
<message>
- <location line="-403"/>
+ <location line="-481"/>
<source>Change signals/slots...</source>
<translation type="unfinished"></translation>
</message>
@@ -7258,7 +7291,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QDesignerWidgetBox</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="+97"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="+127"/>
<location line="+13"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation type="unfinished"></translation>
@@ -7650,7 +7683,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QtGradientStopsController</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="+147"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="+177"/>
<source>H</source>
<translation type="unfinished"></translation>
</message>
@@ -8002,7 +8035,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::ScriptDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="+38"/>
+ <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="+68"/>
<source>Edit script</source>
<translation>スクリプトを編集</translation>
</message>
@@ -8059,7 +8092,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::SignalSlotEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="+46"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="+76"/>
<source>Edit Signals/Slots</source>
<translation>シグナル/スロットを編集</translation>
</message>
@@ -8072,7 +8105,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::SignalSlotEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="+32"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="+62"/>
<source>Edit Signals/Slots</source>
<translation>シグナル/スロットを編集</translation>
</message>
@@ -8080,7 +8113,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::StatusBarTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+55"/>
+ <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+85"/>
<source>Remove</source>
<translation type="unfinished">消去</translation>
</message>
@@ -8092,7 +8125,7 @@ Class: %2</source>
<translation type="obsolete">文字列リストを変更</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="+60"/>
<source>Change String List</source>
<translation type="unfinished"></translation>
</message>
@@ -8100,7 +8133,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::StyleSheetEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="+71"/>
+ <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="+101"/>
<source>Edit Style Sheet</source>
<translation>スタイルシートを変更</translation>
</message>
@@ -8159,7 +8192,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TabOrderEditor</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="+333"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="+363"/>
<source>Start from Here</source>
<translation type="unfinished"></translation>
</message>
@@ -8187,7 +8220,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TabOrderEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="+47"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="+77"/>
<source>Edit Tab Order</source>
<translation>タブ順を編集</translation>
</message>
@@ -8195,7 +8228,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TabOrderEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="+31"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="+61"/>
<source>Edit Tab Order</source>
<translation>タブ順を編集</translation>
</message>
@@ -8203,7 +8236,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TableWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+41"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+71"/>
<source>New Column</source>
<translation>新しい列</translation>
</message>
@@ -8364,7 +8397,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TableWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+38"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+68"/>
<source>Edit Items...</source>
<translation>アイテムを編集...</translation>
</message>
@@ -8395,7 +8428,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TextEditTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="+32"/>
+ <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="+62"/>
<source>Edit HTML</source>
<translation type="unfinished"></translation>
</message>
@@ -8441,7 +8474,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::ToolBarEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="+209"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="+239"/>
<source>Insert Separator</source>
<translation>セパレータを挿入</translation>
</message>
@@ -8476,7 +8509,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TreeWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+50"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+80"/>
<source>&amp;Columns</source>
<translation type="unfinished"></translation>
</message>
@@ -8686,7 +8719,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TreeWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+37"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+67"/>
<source>Edit Items...</source>
<translation>アイテムを編集...</translation>
</message>
@@ -8694,7 +8727,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetBox</name>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="+83"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="+113"/>
<source>Warning: Widget creation failed in the widget box. This could be caused by invalid custom widget XML.</source>
<translation type="unfinished"></translation>
</message>
@@ -8729,17 +8762,17 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetBoxTreeWidget</name>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="-267"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="-268"/>
<source>Scratchpad</source>
<translation type="unfinished">スクラッチパッド</translation>
</message>
<message>
- <location line="+360"/>
+ <location line="+370"/>
<source>Custom Widgets</source>
<translation type="unfinished">カスタムウィジェット</translation>
</message>
<message>
- <location line="+261"/>
+ <location line="+260"/>
<source>Expand all</source>
<translation type="unfinished">すべて展開する</translation>
</message>
@@ -8780,7 +8813,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="+41"/>
+ <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="+71"/>
<source>Edit Widgets</source>
<translation>ウィジェットを編集</translation>
</message>
@@ -8788,12 +8821,12 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetFactory</name>
<message>
- <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="+237"/>
+ <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="+267"/>
<source>The custom widget factory registered for widgets of class %1 returned 0.</source>
<translation type="unfinished">%1 というクラスのウィジェットのために登録されたカスタムウィジェットファクトリーが 0 を返しました。</translation>
</message>
<message>
- <location line="+40"/>
+ <location line="+44"/>
<source>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.</source>
<translation type="unfinished">%1 というクラスのウィジェットのために登録されたカスタムウィジェットファクトリーを使ってウィジェットを作成しているときに、クラス名のミスマッチが発生しました。%2 というクラスのウィジェットを返しました。</translation>
</message>
@@ -8835,7 +8868,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>qdesigner_internal::ZoomMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/zoomwidget.cpp" line="+54"/>
+ <location filename="../tools/designer/src/lib/shared/zoomwidget.cpp" line="+84"/>
<source>%1 %</source>
<extracomment>Zoom factor</extracomment>
<translation type="unfinished"></translation>
diff --git a/translations/designer_pl.ts b/translations/designer_pl.ts
index 6ae369f..5b63f66 100644
--- a/translations/designer_pl.ts
+++ b/translations/designer_pl.ts
@@ -1,14 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="pl">
+<!DOCTYPE TS>
+<TS version="2.0" language="pl">
<context>
<name></name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+624"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+647"/>
<source>&lt;object&gt;</source>
<translation>&lt;obiekt&gt;</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+18"/>
<source>&lt;signal&gt;</source>
<translation>&lt;sygnał&gt;</translation>
</message>
@@ -18,7 +19,7 @@
<translation>&lt;slot&gt;</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="+43"/>
+ <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="+73"/>
<source>The moose in the noose
ate the goose who was loose.</source>
<translation>W Szczebrzeszynie
@@ -28,7 +29,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>AbstractFindWidget</name>
<message>
- <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="+97"/>
+ <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="+127"/>
<source>&amp;Previous</source>
<translation>&amp;Poprzednie</translation>
</message>
@@ -74,7 +75,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>AppFontDialog</name>
<message>
- <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="+388"/>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="+418"/>
<source>Additional Fonts</source>
<translation>Dodatkowe czcionki</translation>
</message>
@@ -186,7 +187,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>AssistantClient</name>
<message>
- <location filename="../tools/designer/src/designer/assistantclient.cpp" line="+70"/>
+ <location filename="../tools/designer/src/designer/assistantclient.cpp" line="+100"/>
<source>Unable to send request: Assistant is not responding.</source>
<translation>Nie można wysłac komendy. Asystent nie odpowiada.</translation>
</message>
@@ -204,7 +205,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>BrushManagerProxy</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+191"/>
+ <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+221"/>
<source>The element &apos;%1&apos; is missing the required attribute &apos;%2&apos;.</source>
<translation>Brak atrybutu &apos;%2&apos; w elemencie &apos;%1&apos;.</translation>
</message>
@@ -232,7 +233,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>BrushPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="+22"/>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="+52"/>
<source>No brush</source>
<translation>Brak szczotki</translation>
</message>
@@ -325,19 +326,24 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>Command</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="+177"/>
- <location line="+211"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="+208"/>
+ <location line="+258"/>
<source>Change signal</source>
<translation>Zmień sygnał</translation>
</message>
<message>
- <location line="-209"/>
- <location line="+221"/>
+ <location line="-256"/>
+ <location line="+268"/>
<source>Change slot</source>
<translation>Zmień slot</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-220"/>
+ <source>Change signal-slot connection</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+234"/>
<source>Change sender</source>
<translation>Zmień nadawcę</translation>
</message>
@@ -347,7 +353,7 @@ chrząszcz brzmi w trzcinie.</translation>
<translation>Zmień odbiorcę</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+113"/>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+143"/>
<source>Add connection</source>
<translation>Dodaj połączenie</translation>
</message>
@@ -372,7 +378,7 @@ chrząszcz brzmi w trzcinie.</translation>
<translation>Zmień przeznaczenie</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="+117"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="+149"/>
<source>Insert &apos;%1&apos;</source>
<translation>Wstaw &apos;%1&apos;</translation>
</message>
@@ -397,7 +403,7 @@ chrząszcz brzmi w trzcinie.</translation>
<translation>Zmień rodzica &apos;%1&apos;</translation>
</message>
<message>
- <location line="+51"/>
+ <location line="+53"/>
<source>Promote to custom widget</source>
<translation>Zastąp widżet</translation>
</message>
@@ -427,48 +433,48 @@ chrząszcz brzmi w trzcinie.</translation>
<translation>Usuń rozmieszczenie</translation>
</message>
<message>
- <location line="+231"/>
- <location line="+226"/>
- <location line="+75"/>
+ <location line="+240"/>
+ <location line="+235"/>
+ <location line="+78"/>
<source>Move Page</source>
<translation>Przenieś stronę</translation>
</message>
<message>
- <location line="-267"/>
- <location line="+116"/>
- <location line="+183"/>
- <location line="+664"/>
+ <location line="-279"/>
+ <location line="+123"/>
+ <location line="+188"/>
+ <location line="+666"/>
<source>Delete Page</source>
<translation>Usuń stronę</translation>
</message>
<message>
- <location line="-925"/>
- <location line="+116"/>
+ <location line="-939"/>
+ <location line="+123"/>
<source>Page</source>
<translation>Strona</translation>
</message>
<message>
- <location line="-114"/>
- <location line="+297"/>
- <location line="+670"/>
+ <location line="-121"/>
+ <location line="+309"/>
+ <location line="+672"/>
<source>page</source>
<translation>strona</translation>
</message>
<message>
- <location line="-964"/>
- <location line="+116"/>
- <location line="+181"/>
- <location line="+665"/>
+ <location line="-978"/>
+ <location line="+123"/>
+ <location line="+186"/>
+ <location line="+667"/>
<source>Insert Page</source>
<translation>Wstaw stronę</translation>
</message>
<message>
- <location line="-849"/>
+ <location line="-856"/>
<source>tab</source>
<translation>tab</translation>
</message>
<message>
- <location line="+204"/>
+ <location line="+209"/>
<source>Change Tab order</source>
<translation>Zmień kolejność tabulacji</translation>
</message>
@@ -513,12 +519,12 @@ chrząszcz brzmi w trzcinie.</translation>
<translation>Zmień geometrię elementu w formularzu</translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+95"/>
<source>Change Layout Item Geometry</source>
<translation>Zmień geometrię elementu w rozmieszczeniu</translation>
</message>
<message>
- <location line="+569"/>
+ <location line="+576"/>
<source>Change Table Contents</source>
<translation>Zmień zawartość tabeli</translation>
</message>
@@ -560,7 +566,7 @@ chrząszcz brzmi w trzcinie.</translation>
<translation>Usuń pasek narzędzi</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1125"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1161"/>
<source>Set action text</source>
<translation>Ustaw tekst akcji</translation>
</message>
@@ -571,7 +577,7 @@ chrząszcz brzmi w trzcinie.</translation>
</message>
<message>
<location line="+89"/>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+861"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+891"/>
<source>Move action</source>
<translation>Przenieś akcję</translation>
</message>
@@ -586,12 +592,12 @@ chrząszcz brzmi w trzcinie.</translation>
<translation>Wstaw menu</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+172"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+202"/>
<source>Change signals/slots</source>
<translation>Zmień sygnały/sloty</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="-861"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="-867"/>
<source>Delete Subwindow</source>
<translation>Usuń podokno</translation>
</message>
@@ -611,17 +617,17 @@ chrząszcz brzmi w trzcinie.</translation>
<translation>Podokno</translation>
</message>
<message>
- <location line="-1796"/>
+ <location line="-1821"/>
<source>Change Z-order of &apos;%1&apos;</source>
<translation>Zmień porządek głębokości (Z-order) dla &apos;%1&apos;</translation>
</message>
<message>
- <location line="+623"/>
+ <location line="+625"/>
<source>Simplify Grid Layout</source>
<translation>Uprość rozmieszczenie w siatce</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+195"/>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+225"/>
<source>Create button group</source>
<translation>Utwórz grupę przycisków</translation>
</message>
@@ -642,7 +648,7 @@ chrząszcz brzmi w trzcinie.</translation>
</message>
<message>
<location line="+8"/>
- <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+373"/>
+ <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+458"/>
<source>Add &apos;%1&apos; to &apos;%2&apos;</source>
<extracomment>Command description for adding buttons to a QButtonGroup</extracomment>
<translation>Dodaj &apos;%1&apos; do &apos;%2&apos;</translation>
@@ -659,23 +665,23 @@ chrząszcz brzmi w trzcinie.</translation>
<translation>Usuń &apos;%1&apos; z &apos;%2&apos;</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+318"/>
+ <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+349"/>
<source>Morph %1/&apos;%2&apos; into %3</source>
<extracomment>MorphWidgetCommand description</extracomment>
<translation>Przekształć %1/%2 w %3</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="+124"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="+154"/>
<source>Change layout of &apos;%1&apos; from %2 to %3</source>
<translation>Zmień rozmieszczenie widżetu &apos;%1&apos; z %2 na %3</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="+25"/>
+ <location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="+55"/>
<source>Change script</source>
<translation>Zmień skrypt</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1176"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1209"/>
<source>Changed &apos;%1&apos; of &apos;%2&apos;</source>
<translation>Zmień &apos;%1&apos; w &apos;%2&apos;</translation>
</message>
@@ -757,7 +763,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>DPI_Chooser</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+39"/>
+ <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+69"/>
<source>Standard (96 x 96)</source>
<extracomment>Embedded device standard screen resolution</extracomment>
<translation>Standardowa (96 x 96)</translation>
@@ -778,12 +784,12 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>Designer</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+409"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+439"/>
<source>Qt Designer</source>
<translation>Qt Designer</translation>
</message>
<message>
- <location line="+1017"/>
+ <location line="+1028"/>
<source>Custom Widgets</source>
<translation>Własne widżety</translation>
</message>
@@ -793,7 +799,7 @@ chrząszcz brzmi w trzcinie.</translation>
<translation>Zastępcze widżety</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="+602"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="+682"/>
<source>Unable to launch %1.</source>
<translation>Nie można uruchomić %1.</translation>
</message>
@@ -803,7 +809,7 @@ chrząszcz brzmi w trzcinie.</translation>
<translation>%1 przekroczony czas operacji.</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="-812"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="-823"/>
<source>This file cannot be read because it was created using %1.</source>
<translation>Nie można odczytać pliku ponieważ został utworzony przy użyciu %1.</translation>
</message>
@@ -868,7 +874,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>DesignerMetaEnum</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="-463"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="-513"/>
<source>%1 is not a valid enumeration value of &apos;%2&apos;.</source>
<translation>%1 nie jest poprawną wartością typu wyliczeniowego &apos;%2&apos;.</translation>
</message>
@@ -889,7 +895,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>DeviceProfile</name>
<message>
- <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="+367"/>
+ <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="+397"/>
<source>&apos;%1&apos; is not a number.</source>
<extracomment>Reading a number for an embedded device profile</extracomment>
<translation>&apos;%1&apos; nie jest liczbą.</translation>
@@ -931,7 +937,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>DeviceSkin</name>
<message>
- <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+49"/>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
<source>The image file &apos;%1&apos; could not be loaded.</source>
<translation>Nie można wczytać pliku z obrazkiem %1.</translation>
</message>
@@ -989,66 +995,56 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>EmbeddedOptionsControl</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+130"/>
<source>None</source>
- <translation>Żadne</translation>
+ <translation type="obsolete">Żadne</translation>
</message>
<message>
- <location line="+4"/>
<source>Add a profile</source>
- <translation>Dodaj profil</translation>
+ <translation type="obsolete">Dodaj profil</translation>
</message>
<message>
- <location line="+6"/>
<source>Edit the selected profile</source>
- <translation>Edytuj zaznaczony profil</translation>
+ <translation type="obsolete">Edytuj zaznaczony profil</translation>
</message>
<message>
- <location line="+4"/>
<source>Delete the selected profile</source>
- <translation>Usuń zaznaczony profil</translation>
+ <translation type="obsolete">Usuń zaznaczony profil</translation>
</message>
<message>
- <location line="+22"/>
<source>Add Profile</source>
- <translation>Dodaj profil</translation>
+ <translation type="obsolete">Dodaj profil</translation>
</message>
<message>
- <location line="+7"/>
<source>New profile</source>
- <translation>Nowy profil</translation>
+ <translation type="obsolete">Nowy profil</translation>
</message>
<message>
- <location line="+35"/>
<source>Edit Profile</source>
- <translation>Edytuj profil</translation>
+ <translation type="obsolete">Edytuj profil</translation>
</message>
<message>
- <location line="+26"/>
<source>Delete Profile</source>
- <translation>Usuń profil</translation>
+ <translation type="obsolete">Usuń profil</translation>
</message>
<message>
- <location line="+1"/>
<source>Would you like to delete the profile &apos;%1&apos;?</source>
- <translation>Czy chcesz usunać profil &apos;%1&apos;?</translation>
+ <translation type="obsolete">Czy chcesz usunać profil &apos;%1&apos;?</translation>
</message>
<message>
- <location line="+42"/>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+311"/>
<source>&lt;html&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Font&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%1, %2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Style&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Resolution&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4 x %5&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/html&gt;</source>
<extracomment>Format embedded device profile description</extracomment>
<translation>&lt;html&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Font&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%1, %2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Styl&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Rozdzielczość&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4 x %5&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/html&gt;</translation>
</message>
<message>
- <location line="+13"/>
<source>Default</source>
- <translation>Domyślny</translation>
+ <translation type="obsolete">Domyślny</translation>
</message>
</context>
<context>
<name>EmbeddedOptionsPage</name>
<message>
- <location line="+90"/>
+ <location line="+103"/>
<source>Embedded Design</source>
<extracomment>Tab in preferences dialog</extracomment>
<translation>Projekt dla urządzeń specjalizowanych</translation>
@@ -1063,7 +1059,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation>Czcionka</translation>
</message>
@@ -1091,7 +1087,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>FontPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="+32"/>
+ <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="+62"/>
<source>PreferDefault</source>
<translation>Preferuj domyślny</translation>
</message>
@@ -1114,7 +1110,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>FormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+321"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+351"/>
<source>Invalid stretch value for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing layout stretch values</extracomment>
<translation>Niepoprawna wartość rozciągniecia dla &apos;%1&apos;: &apos;%2&apos;</translation>
@@ -1129,7 +1125,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>FormEditorOptionsPage</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="+61"/>
+ <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="+91"/>
<source>%1 %</source>
<translation>%1 %</translation>
</message>
@@ -1196,7 +1192,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1669"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1705"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>Niespodziewany element &lt;%1&gt;</translation>
</message>
@@ -1272,7 +1268,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>IconSelector</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+321"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+353"/>
<source>All Pixmaps (</source>
<translation>Wszystkie pixmapy (</translation>
</message>
@@ -1280,7 +1276,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>ItemPropertyBrowser</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+36"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+66"/>
<source>XX Icon Selected off</source>
<extracomment>Sample string to determinate the width for the first column of the list item property browser</extracomment>
<translation>XX ikona wybrana wyłączona</translation>
@@ -1289,7 +1285,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>LanguageResourceDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-234"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-235"/>
<source>Choose Resource</source>
<translation>Wybierz zasób</translation>
</message>
@@ -1297,7 +1293,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>MainWindowBase</name>
<message>
- <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+89"/>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+119"/>
<source>Main</source>
<extracomment>Not currently used (main tool bar)</extracomment>
<translation>Główny</translation>
@@ -1331,7 +1327,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>NewForm</name>
<message>
- <location filename="../tools/designer/src/designer/newform.cpp" line="+53"/>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="+83"/>
<source>New Form</source>
<translation>Nowy formularz</translation>
</message>
@@ -1384,7 +1380,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>NewFormWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+465"/>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+495"/>
<source>Unable to open the form template file &apos;%1&apos;: %2</source>
<translation>Nie można otworzyć pliku &apos;%1&apos; z szablonem formularza: %2</translation>
</message>
@@ -1392,7 +1388,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>ObjectInspectorModel</name>
<message>
- <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+331"/>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+364"/>
<source>Object</source>
<translation>Obiekt</translation>
</message>
@@ -1402,7 +1398,7 @@ chrząszcz brzmi w trzcinie.</translation>
<translation>Klasa</translation>
</message>
<message>
- <location line="+34"/>
+ <location line="+35"/>
<source>separator</source>
<translation>separator</translation>
</message>
@@ -1415,7 +1411,7 @@ chrząszcz brzmi w trzcinie.</translation>
<context>
<name>ObjectNameDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+132"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+162"/>
<source>Change Object Name</source>
<translation>Zmień nazwę obiektu</translation>
</message>
@@ -1483,52 +1479,16 @@ Nie ma już nic więcej. Powinieneś zabrać się do pracy.</numerusform>
</message>
</context>
<context>
- <name>qdesigner_internal::PluginDialog</name>
- <message>
- <location filename="../tools/designer/src/designer/plugindialog.cpp" line="+40"/>
- <source>Components</source>
- <translation>Komponenty</translation>
- </message>
+ <name>PluginDialog</name>
<message>
- <location line="+13"/>
- <location filename="../tools/designer/src/designer/plugindialog.ui"/>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.ui"/>
<source>Plugin Information</source>
- <translation>Informacje o wtyczkach</translation>
- </message>
- <message>
- <location line="+53"/>
- <source>Qt Designer couldn&apos;t find any plugins</source>
- <translation>Qt Designer nie mógł znaleźć żadnej wtyczki</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Qt Designer found the following plugins</source>
- <translation>Qt Designer znalazł następujące wtyczki:</translation>
- </message>
- <message>
- <location filename="../tools/designer/src/designer/plugindialog.ui"/>
- <source>TextLabel</source>
- <translation>Etykieta</translation>
- </message>
- <message>
- <location filename="../tools/designer/src/designer/plugindialog.cpp" line="-52"/>
- <source>Refresh</source>
- <translation>Odśwież</translation>
+ <translation type="unfinished">Informacje o wtyczkach</translation>
</message>
<message>
- <location line="+1"/>
- <source>Scan for newly installed custom widget plugins.</source>
- <translation>Szukaj nowo zainstalowanych wtyczek z widżetami.</translation>
- </message>
- <message>
- <location line="+106"/>
- <source>New custom widget plugins have been found.</source>
- <translation>Znaleziono nową wtyczkę z widżetami.</translation>
- </message>
- <message>
- <location filename="../tools/designer/src/designer/plugindialog.ui"/>
+ <location/>
<source>1</source>
- <translation>1</translation>
+ <translation type="unfinished">1</translation>
</message>
</context>
<context>
@@ -1542,7 +1502,7 @@ Nie ma już nic więcej. Powinieneś zabrać się do pracy.</numerusform>
<context>
<name>PreviewConfigurationWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+125"/>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+155"/>
<source>Default</source>
<translation>Domyślny</translation>
</message>
@@ -1590,7 +1550,7 @@ Nie ma już nic więcej. Powinieneś zabrać się do pracy.</numerusform>
<context>
<name>PromotionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+86"/>
+ <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+116"/>
<source>Not used</source>
<extracomment>Usage of promoted widgets</extracomment>
<translation>Nie używana</translation>
@@ -1599,7 +1559,7 @@ Nie ma już nic więcej. Powinieneś zabrać się do pracy.</numerusform>
<context>
<name>Q3WizardContainer</name>
<message>
- <location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="+142"/>
+ <location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="+172"/>
<location line="+5"/>
<source>Page</source>
<translation>Strona</translation>
@@ -1608,7 +1568,7 @@ Nie ma już nic więcej. Powinieneś zabrać się do pracy.</numerusform>
<context>
<name>QAbstractFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="+176"/>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="+206"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>Niespodziewany element &lt;%1&gt;</translation>
</message>
@@ -1655,7 +1615,7 @@ To wskazuje na niespójność w pliku ui.</translation>
<translation>Podczas przypisywania kolejności tabulacji: widżet &apos;%1&apos; nie został znaleziony.</translation>
</message>
<message>
- <location line="+734"/>
+ <location line="+749"/>
<source>Invalid QButtonGroup reference &apos;%1&apos; referenced by &apos;%2&apos;.</source>
<translation>Niepoprawny odnośnik QButtonGroup &apos;%1&apos;, użyty w &apos;%2&apos;.</translation>
</message>
@@ -1668,7 +1628,7 @@ To wskazuje na niespójność w pliku ui.</translation>
<context>
<name>QAxWidgetPlugin</name>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="+45"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="+75"/>
<source>ActiveX control</source>
<translation>Kontrolka ActiveX</translation>
</message>
@@ -1681,7 +1641,7 @@ To wskazuje na niespójność w pliku ui.</translation>
<context>
<name>QAxWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="+89"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="+119"/>
<source>Set Control</source>
<translation>Ustaw kontrolkę</translation>
</message>
@@ -1704,7 +1664,7 @@ To wskazuje na niespójność w pliku ui.</translation>
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="+53"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="+83"/>
<source>%1 is not a promoted class.</source>
<translation>%1 nie jest klasą zastępczą.</translation>
</message>
@@ -1754,7 +1714,7 @@ To wskazuje na niespójność w pliku ui.</translation>
<translation>Nie można ustawić pustego pliku nagłówkowego.</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="+88"/>
<source>Exception at line %1: %2</source>
<translation>Wyjątek w linii %1: %2</translation>
</message>
@@ -1774,7 +1734,7 @@ Skrypt: %3</translation>
<context>
<name>QDesigner</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner.cpp" line="+111"/>
+ <location filename="../tools/designer/src/designer/qdesigner.cpp" line="+141"/>
<source>%1 - warning</source>
<translation>%1 - ostrzeżenie</translation>
</message>
@@ -1792,12 +1752,12 @@ Skrypt: %3</translation>
<context>
<name>QDesignerActions</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+459"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+488"/>
<source>Clear &amp;Menu</source>
<translation>Wyczyść &amp;menu</translation>
</message>
<message>
- <location line="-297"/>
+ <location line="-300"/>
<source>&amp;Quit</source>
<translation>Za&amp;kończ</translation>
</message>
@@ -1858,17 +1818,17 @@ Skrypt: %3</translation>
</message>
<message>
<location line="+6"/>
- <location line="+598"/>
+ <location line="+601"/>
<source>About Qt Designer</source>
<translation>Informacje o Qt Designer</translation>
</message>
<message>
- <location line="-592"/>
+ <location line="-595"/>
<source>About Qt</source>
<translation>Informacje o Qt</translation>
</message>
<message>
- <location line="+41"/>
+ <location line="+44"/>
<source>&amp;Recent Forms</source>
<translation>Os&amp;tatnio edytowane formularze</translation>
</message>
@@ -1909,19 +1869,19 @@ Czy chcesz spróbować ponownie lub zmienić nazwę pliku?</translation>
<translation>Wybierz nowy plik</translation>
</message>
<message>
- <location line="-691"/>
+ <location line="-694"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 już istnieje.
Czy chcesz go zastąpić?</translation>
</message>
<message>
- <location line="+960"/>
+ <location line="+925"/>
<source>&amp;Close Preview</source>
<translation>Za&amp;mknij podgląd</translation>
</message>
<message>
- <location line="-919"/>
+ <location line="-884"/>
<source>Preferences...</source>
<translation>Ustawienia...</translation>
</message>
@@ -1931,19 +1891,19 @@ Czy chcesz go zastąpić?</translation>
<translation>CTRL+SHIFT+S</translation>
</message>
<message>
- <location line="+313"/>
+ <location line="+316"/>
<location line="+37"/>
<location line="+160"/>
<source>Designer UI files (*.%1);;All Files (*)</source>
<translation>Pliki Designer UI (*.%1);;Wszystkie pliki (*)</translation>
</message>
<message>
- <location line="-638"/>
+ <location line="-641"/>
<source>Saved %1.</source>
<translation>Formularz %1 zachowany pomyślnie.</translation>
</message>
<message>
- <location line="+624"/>
+ <location line="+627"/>
<source>Read error</source>
<translation>Błąd odczytu</translation>
</message>
@@ -1975,7 +1935,7 @@ Czy chcesz zaktualizować położenie pliku lub wygenerować nowy formularz?</tr
<translation>Nie można zapisać pliku</translation>
</message>
<message>
- <location line="-696"/>
+ <location line="-699"/>
<source>&amp;New...</source>
<translation>&amp;Nowy...</translation>
</message>
@@ -2006,12 +1966,12 @@ Czy chcesz zaktualizować położenie pliku lub wygenerować nowy formularz?</tr
</message>
<message>
<location line="+1"/>
- <location line="+931"/>
+ <location line="+896"/>
<source>&amp;Close</source>
<translation>Za&amp;mknij</translation>
</message>
<message>
- <location line="-930"/>
+ <location line="-895"/>
<source>Save &amp;Image...</source>
<translation>Zachowaj o&amp;brazek...</translation>
</message>
@@ -2026,18 +1986,18 @@ Czy chcesz zaktualizować położenie pliku lub wygenerować nowy formularz?</tr
<translation>Pokaż &amp;kod...</translation>
</message>
<message>
- <location line="+416"/>
+ <location line="+419"/>
<location line="+248"/>
<source>Save Form As</source>
<translation>Zachowaj formularz jako</translation>
</message>
<message>
- <location line="+467"/>
+ <location line="+429"/>
<source>Preview failed</source>
<translation>Nie można utworzyć podglądu</translation>
</message>
<message>
- <location line="-613"/>
+ <location line="-575"/>
<source>Code generation failed</source>
<translation>Nie można wygenerować kodu</translation>
</message>
@@ -2051,7 +2011,7 @@ Powód:%2
Czy chcesz spróbować ponownie?</translation>
</message>
<message>
- <location line="+277"/>
+ <location line="+239"/>
<location line="+23"/>
<source>The backup file %1 could not be written.</source>
<translation>Nie można zapisać pliku zapasowego %1.</translation>
@@ -2083,13 +2043,13 @@ Czy chcesz spróbować ponownie?</translation>
<translation>Nie można zapisać pliku %1.</translation>
</message>
<message>
- <location line="-336"/>
- <location line="+66"/>
+ <location line="-298"/>
+ <location line="+34"/>
<source>Assistant</source>
<translation>Assistant</translation>
</message>
<message>
- <location line="+265"/>
+ <location line="+259"/>
<source>Saved image %1.</source>
<translation>Zachowano obrazek %1.</translation>
</message>
@@ -2099,12 +2059,12 @@ Czy chcesz spróbować ponownie?</translation>
<translation>Zamknij wszystkie formularze aby umożliwić wczytanie dodatkowych czcionek.</translation>
</message>
<message>
- <location line="+49"/>
+ <location line="+52"/>
<source>Printed %1.</source>
<translation>Wydrukowano %1.</translation>
</message>
<message>
- <location line="-1180"/>
+ <location line="-1148"/>
<source>ALT+CTRL+S</source>
<translation>ALT+CTRL+S</translation>
</message>
@@ -2112,7 +2072,7 @@ Czy chcesz spróbować ponownie?</translation>
<context>
<name>QDesignerAppearanceOptionsPage</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="+93"/>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="+138"/>
<source>Appearance</source>
<extracomment>Tab in preferences dialog</extracomment>
<translation>Wygląd</translation>
@@ -2121,7 +2081,7 @@ Czy chcesz spróbować ponownie?</translation>
<context>
<name>QDesignerAppearanceOptionsWidget</name>
<message>
- <location line="-39"/>
+ <location line="-53"/>
<source>Docked Window</source>
<translation>Okna dokowalne</translation>
</message>
@@ -2131,7 +2091,7 @@ Czy chcesz spróbować ponownie?</translation>
<translation>Wiele okien głównych</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+5"/>
<source>Toolwindow Font</source>
<translation>Czcionka okna narzędzi</translation>
</message>
@@ -2149,7 +2109,7 @@ Czy chcesz spróbować ponownie?</translation>
<translation>Ustaw kontrolkę</translation>
</message>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="+149"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="+179"/>
<source>Control loaded</source>
<translation>Kontrolka wczytana</translation>
</message>
@@ -2162,7 +2122,7 @@ Czy chcesz spróbować ponownie?</translation>
<context>
<name>QDesignerFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+88"/>
<source>Script errors occurred:</source>
<translation>Wystąpiły błędy w skrypcie:</translation>
</message>
@@ -2180,7 +2140,7 @@ Czy chcesz spróbować ponownie?</translation>
<context>
<name>QDesignerFormWindow</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="+187"/>
+ <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="+217"/>
<source>%1 - %2[*]</source>
<translation>%1 - %2[*]</translation>
</message>
@@ -2203,7 +2163,7 @@ Czy chcesz spróbować ponownie?</translation>
<context>
<name>QDesignerMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1154"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1160"/>
<source>Type Here</source>
<translation>Wpisz tutaj</translation>
</message>
@@ -2213,7 +2173,7 @@ Czy chcesz spróbować ponownie?</translation>
<translation>Dodaj separator</translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+379"/>
<source>Remove action &apos;%1&apos;</source>
<translation>Usuń akcję &apos;%1&apos;</translation>
</message>
@@ -2265,7 +2225,7 @@ Czy chcesz spróbować ponownie?</translation>
<context>
<name>QDesignerPluginManager</name>
<message>
- <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+197"/>
+ <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+249"/>
<source>An XML error was encountered when parsing the XML of the custom widget %1: %2</source>
<translation>Wystąpił błąd XML podczas przetwarzania kodu XML dla własnego widżetu %1: %2</translation>
</message>
@@ -2288,7 +2248,7 @@ Czy chcesz spróbować ponownie?</translation>
<context>
<name>QDesignerPropertySheet</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+717"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+747"/>
<source>Dynamic Properties</source>
<translation>Dynamiczne właściwości</translation>
</message>
@@ -2301,13 +2261,13 @@ Czy chcesz spróbować ponownie?</translation>
<translation>Rozmieszczenie typu &apos;%1&apos; nie jest obsługiwane. Będzie ono zastąpione siatką.</translation>
</message>
<message>
- <location line="+331"/>
+ <location line="+342"/>
<source>The container extension of the widget &apos;%1&apos; (%2) returned a widget not managed by Designer &apos;%3&apos; (%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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+598"/>
+ <location line="+599"/>
<source>Unexpected element &lt;%1&gt;</source>
<extracomment>Parsing clipboard contents</extracomment>
<translation>Niespodziewany element &lt;%1&gt;</translation>
@@ -2328,7 +2288,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerSharedSettings</name>
<message>
- <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="+53"/>
+ <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="+83"/>
<source>The template path %1 could not be created.</source>
<translation>Nie można utworzyć ścieżki %1 dla szablonów.</translation>
</message>
@@ -2341,7 +2301,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerToolWindow</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="+160"/>
+ <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="+190"/>
<source>Property Editor</source>
<translation>Edytor właściwości</translation>
</message>
@@ -2374,7 +2334,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerWidgetBox</name>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="+318"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="+349"/>
<source>An error has been encountered at line %1 of %2: %3</source>
<translation>Wystąpił błąd w linii %1 w %2: %3</translation>
</message>
@@ -2397,7 +2357,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerWorkbench</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="+169"/>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="+199"/>
<source>&amp;File</source>
<translation>&amp;Plik</translation>
</message>
@@ -2472,7 +2432,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation>Informacja o kopiach zapasowych</translation>
</message>
<message>
- <location line="+113"/>
+ <location line="+112"/>
<source>The file &lt;b&gt;%1&lt;/b&gt; could not be opened.</source>
<translation>Nie można otworzyć pliku &lt;b&gt;%1&lt;/b&gt;.</translation>
</message>
@@ -2482,7 +2442,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation>Plik &lt;b&gt;%1&lt;/b&gt; nie jest poprawnym plikiem Designer&apos;a.</translation>
</message>
<message numerus="yes">
- <location line="-260"/>
+ <location line="-259"/>
<source>There are %n forms with unsaved changes. Do you want to review these changes before quitting?</source>
<translation>
<numerusform>Jest %n formularz z niezachowanymi zmianami. Czy chcesz przejrzeć zmiany przed wyjściem z programu?</numerusform>
@@ -2494,7 +2454,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+130"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+160"/>
<source>An empty class name was passed on to %1 (object name: &apos;%2&apos;).</source>
<extracomment>Empty class name passed to widget factory method</extracomment>
<translation>Pusta nazwa klasy została przekazana do %1 (nazwa obiektu: &apos;%2&apos;).</translation>
@@ -2515,7 +2475,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation>Typ rozmieszczenia &apos;%1&apos; nie jest obsługiwany.</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="+76"/>
+ <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="+106"/>
<source>The set-type property %1 could not be read.</source>
<translation>Nie można odczytać właściwości %1 typu zbiór.</translation>
</message>
@@ -2535,7 +2495,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation>Nie można zapisać właściwości %1. Typ %2 nie jest jeszcze obsługiwany.</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+102"/>
+ <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+132"/>
<source>The enumeration-value &apos;%1&apos; is invalid. The default value &apos;%2&apos; will be used instead.</source>
<translation>Niepoprawna wartość &quot;%1&quot; typu wyliczeniowego. Użyta będzie domyślna wartość &quot;%2&quot;.</translation>
</message>
@@ -2548,7 +2508,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QStackedWidgetEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="+164"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="+194"/>
<source>Previous Page</source>
<translation>Poprzednia strona</translation>
</message>
@@ -2609,7 +2569,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QTabWidgetEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="+59"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="+89"/>
<source>Delete</source>
<translation>Usuń</translation>
</message>
@@ -2637,7 +2597,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QToolBoxHelper</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="+34"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="+64"/>
<source>Delete Page</source>
<translation>Usuń stronę</translation>
</message>
@@ -2675,7 +2635,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtBoolEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+198"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+226"/>
<location line="+10"/>
<location line="+25"/>
<source>True</source>
@@ -2691,7 +2651,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtBoolPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1469"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1477"/>
<source>True</source>
<translation>Prawda</translation>
</message>
@@ -2704,7 +2664,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtCharEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1573"/>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1601"/>
<source>Clear Char</source>
<translation>Wyczyść znak</translation>
</message>
@@ -2720,7 +2680,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtColorPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4769"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4777"/>
<source>Red</source>
<translation>Czerwień</translation>
</message>
@@ -2900,7 +2860,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtGradientEditor</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+405"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+435"/>
<source>Start X</source>
<translation>Początek X</translation>
</message>
@@ -3175,7 +3135,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtGradientStopsWidget</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+919"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+949"/>
<source>New Stop</source>
<translation>Nowy punkt</translation>
</message>
@@ -3213,7 +3173,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtGradientView</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+77"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+107"/>
<source>Grad</source>
<translation>Grad</translation>
</message>
@@ -3260,7 +3220,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtGradientViewDialog</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+32"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+62"/>
<location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui"/>
<source>Select Gradient</source>
<translation>Wybierz gradient</translation>
@@ -3277,7 +3237,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtLocalePropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3553"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3561"/>
<source>%1, %2</source>
<translation>%1, %2</translation>
</message>
@@ -3344,22 +3304,22 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtRectFPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1705"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1716"/>
<source>[(%1, %2), %3 x %4]</source>
<translation>[(%1, %2), %3 x %4]</translation>
</message>
<message>
- <location line="+155"/>
+ <location line="+156"/>
<source>X</source>
<translation>X</translation>
</message>
<message>
- <location line="+9"/>
+ <location line="+8"/>
<source>Y</source>
<translation>Y</translation>
</message>
<message>
- <location line="+9"/>
+ <location line="+8"/>
<source>Width</source>
<translation>Szerokość</translation>
</message>
@@ -3372,22 +3332,22 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtRectPropertyManager</name>
<message>
- <location line="-610"/>
+ <location line="-614"/>
<source>[(%1, %2), %3 x %4]</source>
<translation>[(%1, %2), %3 x %4]</translation>
</message>
<message>
- <location line="+119"/>
+ <location line="+120"/>
<source>X</source>
<translation>X</translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+7"/>
<source>Y</source>
<translation>Y</translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+7"/>
<source>Width</source>
<translation>Szerokość</translation>
</message>
@@ -3400,7 +3360,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtResourceEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="+46"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="+76"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 już istnieje.
@@ -3412,7 +3372,7 @@ Czy chcesz go zastąpić?</translation>
<translation>Plik nie wygląda na plik z zasobami; znaleziono element &apos;%1&apos; podczas gdy oczekiwano elementu &apos;%2&apos;.</translation>
</message>
<message>
- <location line="+900"/>
+ <location line="+902"/>
<source>%1 [read-only]</source>
<translation>%1 - [tylko do odczytu]</translation>
</message>
@@ -3686,7 +3646,7 @@ jako:
<context>
<name>QtResourceView</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+404"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+435"/>
<source>Size: %1 x %2
%3</source>
<translation>Rozmiar: %1 x %2
@@ -3719,7 +3679,7 @@ jako:
<context>
<name>QtSizeFPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-532"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-537"/>
<source>%1 x %2</source>
<translation>%1 x %2</translation>
</message>
@@ -3737,12 +3697,18 @@ jako:
<context>
<name>QtSizePolicyPropertyManager</name>
<message>
- <location line="+1707"/>
+ <location line="+1719"/>
+ <location line="+1"/>
+ <source>&lt;Invalid&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>[%1, %2, %3, %4]</source>
<translation>[%1, %2, %3, %4]</translation>
</message>
<message>
- <location line="+49"/>
+ <location line="+45"/>
<source>Horizontal Policy</source>
<translation>Strategia pozioma</translation>
</message>
@@ -3765,7 +3731,7 @@ jako:
<context>
<name>QtSizePropertyManager</name>
<message>
- <location line="-2288"/>
+ <location line="-2298"/>
<source>%1 x %2</source>
<translation>%1 x %2</translation>
</message>
@@ -3783,7 +3749,7 @@ jako:
<context>
<name>QtToolBarDialog</name>
<message>
- <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1759"/>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1789"/>
<source>&lt; S E P A R A T O R &gt;</source>
<translation>&lt; S E P A R A T O R &gt;</translation>
</message>
@@ -3891,7 +3857,7 @@ jako:
<context>
<name>QtTreePropertyBrowser</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="+407"/>
+ <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="+442"/>
<source>Property</source>
<translation>Właściwość</translation>
</message>
@@ -3904,7 +3870,7 @@ jako:
<context>
<name>SaveFormAsTemplate</name>
<message>
- <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="+42"/>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="+72"/>
<source>Add path...</source>
<translation>Dodaj ścieżkę...</translation>
</message>
@@ -3969,7 +3935,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>ScriptErrorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+33"/>
+ <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+63"/>
<source>An error occurred while running the scripts for &quot;%1&quot;:
</source>
<translation>Wystąpił błąd podczas uruchamiana skryptu dla &quot;%1&quot;:
@@ -3988,11 +3954,21 @@ Czy chcesz nadpisać szablon?</translation>
<source>Select signal</source>
<translation>Wybierz sygnał</translation>
</message>
+ <message>
+ <location/>
+ <source>signal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location/>
+ <source>class</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SignalSlotConnection</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="-311"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="-358"/>
<source>SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4)</source>
<translation>NADAJNIK(%1), SYGNAŁ(%2), ODBIORNIK(%3), SLOT(%4)</translation>
</message>
@@ -4033,7 +4009,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>Spacer</name>
<message>
- <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="+245"/>
+ <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="+275"/>
<source>Horizontal Spacer &apos;%1&apos;, %2 x %3</source>
<translation>Poziomy dystans &apos;%1&apos;, %2 x %3</translation>
</message>
@@ -4046,7 +4022,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>TemplateOptionsPage</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="+126"/>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="+156"/>
<source>Template Paths</source>
<extracomment>Tab in preferences dialog</extracomment>
<translation>Ścieżki z szablonami</translation>
@@ -4088,29 +4064,27 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>VersionDialog</name>
<message>
- <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+146"/>
+ <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+172"/>
<source>Qt Designer</source>
<translation>Qt Designer</translation>
</message>
<message>
- <location line="-5"/>
+ <location line="-1"/>
<source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;Version %2</source>
<translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;Wersja %2</translation>
</message>
<message>
- <location line="+2"/>
<source> Open Source Edition</source>
- <translation> Wydanie Open Source</translation>
+ <translation type="obsolete"> Wydanie Open Source</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+2"/>
<source>&lt;br/&gt;Qt Designer is a graphical user interface designer for Qt applications.&lt;br/&gt;</source>
<translation>&lt;br/&gt;Qt Designer jest aplikacją umożliwiającą projektowanie interfejsów graficznych użytkownika w aplikacjach korzystających z Qt.&lt;br/&gt;</translation>
</message>
<message>
- <location line="+16"/>
<source>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.&lt;br/&gt;</source>
- <translation type="unfinished">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.&lt;br/&gt;</translation>
+ <translation type="obsolete">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.&lt;br/&gt;</translation>
</message>
<message>
<location line="+5"/>
@@ -4118,20 +4092,14 @@ Czy chcesz nadpisać szablon?</translation>
<translation type="unfinished">%1&lt;br/&gt;%2&lt;br/&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). Wszystkie prawa zastrzeżone.&lt;br/&gt;&lt;br/&gt;Program dostarczony jest BEZ ŻADNYCH GWARANCJI.&lt;br/&gt; </translation>
</message>
<message>
- <location line="-9"/>
- <source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.&lt;br/&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-8"/>
<source>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.&lt;br/&gt;&lt;br/&gt;You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel.html&lt;/a&gt; for an overview of Qt licensing.&lt;br/&gt;</source>
- <translation>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.&lt;br/&gt;&lt;br/&gt;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 &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt;.&lt;br/&gt;</translation>
+ <translation type="obsolete">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.&lt;br/&gt;&lt;br/&gt;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 &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt;.&lt;br/&gt;</translation>
</message>
</context>
<context>
<name>WidgetDataBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="+786"/>
+ <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="+814"/>
<source>The file contains a custom widget &apos;%1&apos; whose base class (%2) differs from the current entry in the widget database (%3). The widget database is left unchanged.</source>
<translation>Plik zawiera własny widżet &apos;%1&apos; którego klasa bazowa (%2) różni się od bieżącego elementu w bazie danych z widżetami (%3). Baza danych z widżetami została niezmieniona.</translation>
</message>
@@ -4139,22 +4107,22 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::ActionEditor</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+111"/>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+143"/>
<source>Actions</source>
<translation>Akcje</translation>
</message>
<message>
- <location line="-15"/>
+ <location line="-16"/>
<source>New...</source>
<translation>Nowa...</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Delete</source>
<translation>Usuń</translation>
</message>
<message>
- <location line="+305"/>
+ <location line="+307"/>
<source>New action</source>
<translation>Nowa akcja</translation>
</message>
@@ -4164,12 +4132,17 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Edytuj akcję</translation>
</message>
<message>
- <location line="-408"/>
+ <location line="-411"/>
<source>Edit...</source>
<translation>Edytuj...</translation>
</message>
<message>
<location line="+1"/>
+ <source>Go to slot...</source>
+ <translation type="unfinished">Przejdź do slotu...</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Copy</source>
<translation>Skopiuj</translation>
</message>
@@ -4189,7 +4162,7 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Zaznacz wszystko</translation>
</message>
<message>
- <location line="+52"/>
+ <location line="+54"/>
<source>Configure Action Editor</source>
<translation>Skonfiguruj edytor akcji</translation>
</message>
@@ -4204,7 +4177,7 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Szczegółowy widok</translation>
</message>
<message>
- <location line="+406"/>
+ <location line="+412"/>
<source>Remove actions</source>
<translation>Usuń akcje</translation>
</message>
@@ -4214,7 +4187,7 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Usuń akcję &apos;%1&apos;</translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+186"/>
<source>Used In</source>
<translation>Użyta w</translation>
</message>
@@ -4222,7 +4195,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::ActionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+64"/>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+95"/>
<source>Name</source>
<translation>Nazwa</translation>
</message>
@@ -4255,7 +4228,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::BuddyEditor</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+235"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+265"/>
<source>Add buddy</source>
<translation>Dodaj skojarzoną etykietę</translation>
</message>
@@ -4291,7 +4264,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::BuddyEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+47"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+77"/>
<source>Edit Buddies</source>
<translation>Edytuj skojarzone etykiety</translation>
</message>
@@ -4299,7 +4272,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::BuddyEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+60"/>
<source>Edit Buddies</source>
<translation>Edytuj skojarzone etykiety</translation>
</message>
@@ -4353,7 +4326,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::CodeDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="+69"/>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="+99"/>
<source>Save...</source>
<translation>Zachowaj...</translation>
</message>
@@ -4411,7 +4384,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::ColorAction</name>
<message>
- <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+220"/>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+250"/>
<source>Text Color</source>
<translation>Color tekstu</translation>
</message>
@@ -4419,7 +4392,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::ComboBoxTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+42"/>
+ <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+72"/>
<source>Edit Items...</source>
<translation>Edytuj elementy...</translation>
</message>
@@ -4458,7 +4431,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::ConnectionModel</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="-470"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="-465"/>
<source>Sender</source>
<translation>Nadajnik</translation>
</message>
@@ -4478,7 +4451,7 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Slot</translation>
</message>
<message>
- <location line="+97"/>
+ <location line="+90"/>
<source>&lt;sender&gt;</source>
<translation>&lt;nadajnik&gt;</translation>
</message>
@@ -4511,7 +4484,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::ContainerWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+82"/>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+112"/>
<source>Insert Page Before Current Page</source>
<translation>Wstaw stronę przed bieżącą stroną</translation>
</message>
@@ -4574,7 +4547,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::DesignerPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+614"/>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+644"/>
<location line="+6"/>
<source>AlignLeft</source>
<translation>Wyrównanie do lewej</translation>
@@ -4701,7 +4674,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::DeviceProfileDialog</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="+33"/>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="+63"/>
<source>Device Profiles (*.%1)</source>
<translation>Profile urządzeń (*.%1)</translation>
</message>
@@ -4806,9 +4779,62 @@ Czy chcesz nadpisać szablon?</translation>
</message>
</context>
<context>
+ <name>qdesigner_internal::EmbeddedOptionsControl</name>
+ <message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="-260"/>
+ <source>None</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Add a profile</source>
+ <translation type="unfinished">Dodaj profil</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Edit the selected profile</source>
+ <translation type="unfinished">Edytuj zaznaczony profil</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Delete the selected profile</source>
+ <translation type="unfinished">Usuń zaznaczony profil</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Add Profile</source>
+ <translation type="unfinished">Dodaj profil</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>New profile</source>
+ <translation type="unfinished">Nowy profil</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Edit Profile</source>
+ <translation type="unfinished">Edytuj profil</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Delete Profile</source>
+ <translation type="unfinished">Usuń profil</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Would you like to delete the profile &apos;%1&apos;?</source>
+ <translation type="unfinished">Czy chcesz usunać profil &apos;%1&apos;?</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Default</source>
+ <translation type="unfinished">Domyślny</translation>
+ </message>
+</context>
+<context>
<name>qdesigner_internal::FilterWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+155"/>
+ <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+185"/>
<source>&lt;Filter&gt;</source>
<translation>&lt;Filtr&gt;</translation>
</message>
@@ -4816,7 +4842,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::FormEditor</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="+160"/>
+ <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="+190"/>
<source>Resource File Changed</source>
<translation>Zmieniony plik z zasobami</translation>
</message>
@@ -4837,7 +4863,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1262"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1267"/>
<source>Edit contents</source>
<translation>Edytuj zawartość</translation>
</message>
@@ -4847,7 +4873,7 @@ Czy chcesz nadpisać szablon?</translation>
<translation>F2</translation>
</message>
<message>
- <location line="+836"/>
+ <location line="+841"/>
<source>Resize</source>
<translation>Zmień rozmiar</translation>
</message>
@@ -4878,13 +4904,13 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Rozmieść</translation>
</message>
<message>
- <location line="+490"/>
+ <location line="+493"/>
<location line="+55"/>
<source>Drop widget</source>
<translation>Upuść widżet</translation>
</message>
<message numerus="yes">
- <location line="-1052"/>
+ <location line="-1055"/>
<source>Paste %n action(s)</source>
<translation>
<numerusform>Wklej %n akcję</numerusform>
@@ -4917,12 +4943,12 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Wybierz przodka</translation>
</message>
<message>
- <location line="+573"/>
+ <location line="+576"/>
<source>A QMainWindow-based form does not contain a central widget.</source>
<translation>Formularz bazujący na QMainWindow nie zawiera centralnego widżetu.</translation>
</message>
<message>
- <location line="-791"/>
+ <location line="-794"/>
<source>Raise widgets</source>
<translation>Przenieś widżety na wierzch</translation>
</message>
@@ -4935,7 +4961,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::FormWindowBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+363"/>
+ <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+397"/>
<source>Delete</source>
<translation>Usuń</translation>
</message>
@@ -4948,7 +4974,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::FormWindowManager</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+337"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+368"/>
<source>Cu&amp;t</source>
<translation>Wy&amp;tnij</translation>
</message>
@@ -5030,7 +5056,7 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Dopasuj wielkość zaznaczonego widżetu</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+6"/>
<source>Lay Out &amp;Horizontally</source>
<translation>Rozmieść w po&amp;ziomie</translation>
</message>
@@ -5080,7 +5106,7 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Rozmieszcza zaznaczone widżety pionowo w splitterze</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>&amp;Break Layout</source>
<translation>&amp;Usuń rozmieszczenie</translation>
</message>
@@ -5105,7 +5131,7 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Us&amp;tawienia formularza...</translation>
</message>
<message>
- <location line="+75"/>
+ <location line="+78"/>
<source>Break Layout</source>
<translation>Usuń rozmieszczenie</translation>
</message>
@@ -5121,17 +5147,17 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Nie można utworzyć podglądu formularza</translation>
</message>
<message>
- <location line="+324"/>
+ <location line="+341"/>
<source>Form Settings - %1</source>
<translation>Ustawienia formularza - %1</translation>
</message>
<message>
- <location line="-490"/>
+ <location line="-510"/>
<source>Removes empty columns and rows</source>
<translation>Usuń puste kolumny i wiersze</translation>
</message>
<message>
- <location line="-49"/>
+ <location line="-50"/>
<source>Lay Out in a &amp;Form Layout</source>
<translation>Rozmieść w &amp;formularzu</translation>
</message>
@@ -5141,7 +5167,7 @@ Czy chcesz nadpisać szablon?</translation>
<translation>Rozmieszcza zaznaczone widżety w formularzu</translation>
</message>
<message>
- <location line="+44"/>
+ <location line="+45"/>
<source>Si&amp;mplify Grid Layout</source>
<translation>Up&amp;rość rozmieszczenie w siatce</translation>
</message>
@@ -5149,7 +5175,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::FormWindowSettings</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="+162"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="+193"/>
<source>None</source>
<translation>Żaden</translation>
</message>
@@ -5200,7 +5226,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::GroupBoxTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+56"/>
+ <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+86"/>
<source>Change title...</source>
<translation>Zmień tytuł...</translation>
</message>
@@ -5216,7 +5242,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::IconSelector</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+210"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+211"/>
<source>The pixmap file &apos;%1&apos; cannot be read.</source>
<translation>Nie można odczytać pliku z pixmapą %1.</translation>
</message>
@@ -5309,7 +5335,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::ItemListEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+349"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+358"/>
<source>Properties &amp;&lt;&lt;</source>
<translation>Własciwości &amp;&lt;&lt;</translation>
</message>
@@ -5368,7 +5394,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::LabelTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+59"/>
+ <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+89"/>
<source>Change rich text...</source>
<translation>Zmień tekst sformatowany...</translation>
</message>
@@ -5381,7 +5407,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::LineEditTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+54"/>
+ <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+84"/>
<source>Change text...</source>
<translation>Zmień tekst...</translation>
</message>
@@ -5389,7 +5415,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::ListWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+43"/>
+ <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+73"/>
<source>New Item</source>
<translation>Nowy element</translation>
</message>
@@ -5407,7 +5433,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::ListWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+41"/>
+ <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+71"/>
<source>Edit Items...</source>
<translation>Edytuj elementy...</translation>
</message>
@@ -5443,7 +5469,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::MenuTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+60"/>
<source>Remove</source>
<translation>Usuń</translation>
</message>
@@ -5502,7 +5528,7 @@ Czy chcesz nadpisać szablon?</translation>
<context>
<name>qdesigner_internal::NewDynamicPropertyDialog</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+104"/>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+134"/>
<source>Set Property Name</source>
<translation>Ustaw nazwę właściwości</translation>
</message>
@@ -5623,7 +5649,7 @@ Wybierz inną nazwę.</translation>
<context>
<name>qdesigner_internal::NewPromotedClassPanel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+66"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+96"/>
<source>Add</source>
<translation>Dodaj</translation>
</message>
@@ -5661,7 +5687,7 @@ Wybierz inną nazwę.</translation>
<context>
<name>qdesigner_internal::ObjectInspector</name>
<message>
- <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+727"/>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+758"/>
<source>&amp;Find in Text...</source>
<translation>Z&amp;najdź w tekście...</translation>
</message>
@@ -5677,7 +5703,7 @@ Wybierz inną nazwę.</translation>
<context>
<name>qdesigner_internal::OrderDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+83"/>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+113"/>
<source>Index %1 (%2)</source>
<translation>Indeks %1 (%2)</translation>
</message>
@@ -5758,7 +5784,7 @@ Wybierz inną nazwę.</translation>
<context>
<name>qdesigner_internal::PaletteEditorButton</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+31"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+61"/>
<source>Change Palette</source>
<translation>Zmień paletę</translation>
</message>
@@ -5766,7 +5792,7 @@ Wybierz inną nazwę.</translation>
<context>
<name>qdesigner_internal::PaletteModel</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+351"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+381"/>
<source>Color Role</source>
<translation>Rola koloru</translation>
</message>
@@ -5818,15 +5844,61 @@ Wybierz inną nazwę.</translation>
<context>
<name>qdesigner_internal::PlainTextEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+39"/>
+ <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+69"/>
<source>Edit text</source>
<translation>Edytuj tekst</translation>
</message>
</context>
<context>
+ <name>qdesigner_internal::PluginDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="+72"/>
+ <source>Components</source>
+ <translation>Komponenty</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Plugin Information</source>
+ <translation>Informacje o wtyczkach</translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>Qt Designer couldn&apos;t find any plugins</source>
+ <translation>Qt Designer nie mógł znaleźć żadnej wtyczki</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Qt Designer found the following plugins</source>
+ <translation>Qt Designer znalazł następujące wtyczki:</translation>
+ </message>
+ <message>
+ <source>TextLabel</source>
+ <translation type="obsolete">Etykieta</translation>
+ </message>
+ <message>
+ <location line="-52"/>
+ <source>Refresh</source>
+ <translation>Odśwież</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Scan for newly installed custom widget plugins.</source>
+ <translation>Szukaj nowo zainstalowanych wtyczek z widżetami.</translation>
+ </message>
+ <message>
+ <location line="+106"/>
+ <source>New custom widget plugins have been found.</source>
+ <translation>Znaleziono nową wtyczkę z widżetami.</translation>
+ </message>
+ <message>
+ <source>1</source>
+ <translation type="obsolete">1</translation>
+ </message>
+</context>
+<context>
<name>qdesigner_internal::PreviewActionGroup</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="+65"/>
+ <location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="+95"/>
<source>%1 Style</source>
<translation>Styl %1</translation>
</message>
@@ -5869,7 +5941,7 @@ Wybierz inną nazwę.</translation>
<context>
<name>qdesigner_internal::PreviewDeviceSkin</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="+188"/>
+ <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="+218"/>
<source>&amp;Close</source>
<translation>Za&amp;mknij</translation>
</message>
@@ -5966,7 +6038,7 @@ Wybierz inną nazwę.</translation>
<context>
<name>qdesigner_internal::PromotionTaskMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="+55"/>
+ <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="+85"/>
<source>Promoted widgets...</source>
<translation>Zastępcze widżety...</translation>
</message>
@@ -5994,7 +6066,7 @@ Wybierz inną nazwę.</translation>
<context>
<name>qdesigner_internal::PropertyEditor</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+222"/>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+188"/>
<source>Add Dynamic Property...</source>
<translation>Dodaj dynamiczną właściwość ...</translation>
</message>
@@ -6029,14 +6101,14 @@ Wybierz inną nazwę.</translation>
<translation>Skonfiguruj edytor właściwości</translation>
</message>
<message>
- <location line="+534"/>
+ <location line="+533"/>
<source>Object: %1
Class: %2</source>
<translation>Obiekt: %1
Klasa: %2</translation>
</message>
<message>
- <location line="-548"/>
+ <location line="-547"/>
<source>String...</source>
<translation>String...</translation>
</message>
@@ -6054,7 +6126,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::PropertyLineEdit</name>
<message>
- <location filename="../tools/designer/src/lib/shared/propertylineedit.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/shared/propertylineedit.cpp" line="+88"/>
<source>Insert line break</source>
<translation>Wstaw znak końca linii</translation>
</message>
@@ -6157,8 +6229,13 @@ Klasa: %2</translation>
<source>Change script...</source>
<translation>Zmień skrypt...</translation>
</message>
+ <message>
+ <location line="+415"/>
+ <source>no signals available</source>
+ <translation type="unfinished"></translation>
+ </message>
<message numerus="yes">
- <location line="+404"/>
+ <location line="+67"/>
<source>Set size constraint on %n widget(s)</source>
<translation>
<numerusform>Ustaw ograniczenie rozmiaru w %n obiekcie</numerusform>
@@ -6167,7 +6244,7 @@ Klasa: %2</translation>
</translation>
</message>
<message>
- <location line="-403"/>
+ <location line="-481"/>
<source>Change signals/slots...</source>
<translation>Zmień sygnały/sloty...</translation>
</message>
@@ -6212,7 +6289,7 @@ Klasa: %2</translation>
<translation>Ustaw maksymalny rozmiar</translation>
</message>
<message>
- <location line="+236"/>
+ <location line="+235"/>
<source>Edit ToolTip</source>
<translation>Edytuj podpowiedź</translation>
</message>
@@ -6225,7 +6302,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::QDesignerWidgetBox</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="+97"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="+127"/>
<location line="+13"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>Niespodziewany element &lt;%1&gt;</translation>
@@ -6281,7 +6358,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::QtGradientStopsController</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="+147"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="+177"/>
<source>H</source>
<translation>H</translation>
</message>
@@ -6456,7 +6533,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::ScriptDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="+38"/>
+ <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="+68"/>
<source>Edit script</source>
<translation>Edytuj skrypt</translation>
</message>
@@ -6506,7 +6583,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::SignalSlotEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="+46"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="+76"/>
<source>Edit Signals/Slots</source>
<translation>Edytuj sygnały/sloty</translation>
</message>
@@ -6519,7 +6596,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::SignalSlotEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="+32"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="+62"/>
<source>Edit Signals/Slots</source>
<translation>Edytuj sygnały/sloty</translation>
</message>
@@ -6527,7 +6604,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::StatusBarTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+55"/>
+ <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+85"/>
<source>Remove</source>
<translation>Usuń</translation>
</message>
@@ -6535,7 +6612,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::StringListEditorButton</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="+60"/>
<source>Change String List</source>
<translation>Zmień listę tekstów</translation>
</message>
@@ -6543,7 +6620,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::StyleSheetEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="+71"/>
+ <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="+101"/>
<source>Edit Style Sheet</source>
<translation>Edytuj arkusz stylu</translation>
</message>
@@ -6582,7 +6659,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::TabOrderEditor</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="+333"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="+363"/>
<source>Start from Here</source>
<translation>Rozpocznij stąd</translation>
</message>
@@ -6610,7 +6687,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::TabOrderEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="+47"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="+77"/>
<source>Edit Tab Order</source>
<translation>Edytuj kolejność tabulacji</translation>
</message>
@@ -6618,7 +6695,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::TabOrderEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="+31"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="+61"/>
<source>Edit Tab Order</source>
<translation>Edytuj kolejność tabulacji</translation>
</message>
@@ -6636,7 +6713,7 @@ Klasa: %2</translation>
<translation>&amp;Elementy</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+44"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+74"/>
<source>New Row</source>
<translation>Nowy wiersz</translation>
</message>
@@ -6675,7 +6752,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::TableWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+38"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+68"/>
<source>Edit Items...</source>
<translation>Edytuj elementy...</translation>
</message>
@@ -6706,7 +6783,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::TextEditTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="+33"/>
+ <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="+63"/>
<source>Change HTML...</source>
<translation>Zmień HTML...</translation>
</message>
@@ -6752,7 +6829,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::ToolBarEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="+209"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="+239"/>
<source>Insert Separator</source>
<translation>Wstaw separator</translation>
</message>
@@ -6795,7 +6872,7 @@ Klasa: %2</translation>
<translation>Drzewo elementów</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+50"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+80"/>
<source>&amp;Columns</source>
<translation>&amp;Kolumny</translation>
</message>
@@ -6906,7 +6983,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::TreeWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+37"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+67"/>
<source>Edit Items...</source>
<translation>Edytuj elementy...</translation>
</message>
@@ -6914,7 +6991,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::WidgetBox</name>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="+83"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="+113"/>
<source>Warning: Widget creation failed in the widget box. This could be caused by invalid custom widget XML.</source>
<translation>Ostrzeżenie: Błąd tworzenia widżetu w panelu widżetów. Mogło to być spowodowane niepoprawnym kodem XML widżetu.</translation>
</message>
@@ -6922,17 +6999,17 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::WidgetBoxTreeWidget</name>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="-267"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="-268"/>
<source>Scratchpad</source>
<translation>Notatnik</translation>
</message>
<message>
- <location line="+360"/>
+ <location line="+370"/>
<source>Custom Widgets</source>
<translation>Własne widżety</translation>
</message>
<message>
- <location line="+261"/>
+ <location line="+260"/>
<source>Expand all</source>
<translation>Rozszerz wszystkie</translation>
</message>
@@ -6973,7 +7050,7 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::WidgetEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="+41"/>
+ <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="+71"/>
<source>Edit Widgets</source>
<translation>Edytuj widżety</translation>
</message>
@@ -6981,12 +7058,12 @@ Klasa: %2</translation>
<context>
<name>qdesigner_internal::WidgetFactory</name>
<message>
- <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="+237"/>
+ <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="+267"/>
<source>The custom widget factory registered for widgets of class %1 returned 0.</source>
<translation>Fabryka widżetów użytkownika zarejestrowana dla widżetów klasy %1 zwróciła 0.</translation>
</message>
<message>
- <location line="+40"/>
+ <location line="+44"/>
<source>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.</source>
<translation>Wystąpiła niezgodność nazwy klasy podczas tworzenia widżetu przy pomocy fabryki widżetów użytkownika zarejestrowanej dla klasy %1. Zwrócony został widżet klasy %2.</translation>
</message>
@@ -7029,7 +7106,7 @@ To wskazuje na niespójność w pliku &quot;ui&quot;.</translation>
<context>
<name>qdesigner_internal::ZoomMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/zoomwidget.cpp" line="+54"/>
+ <location filename="../tools/designer/src/lib/shared/zoomwidget.cpp" line="+84"/>
<source>%1 %</source>
<extracomment>Zoom factor</extracomment>
<translation>%1 %</translation>
diff --git a/translations/designer_untranslated.ts b/translations/designer_untranslated.ts
index 209d871..1666363 100644
--- a/translations/designer_untranslated.ts
+++ b/translations/designer_untranslated.ts
@@ -4,7 +4,7 @@
<context>
<name></name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+617"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+647"/>
<source>&lt;object&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -19,7 +19,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="+43"/>
+ <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="+73"/>
<source>The moose in the noose
ate the goose who was loose.</source>
<translation type="unfinished"></translation>
@@ -28,7 +28,7 @@ ate the goose who was loose.</source>
<context>
<name>AbstractFindWidget</name>
<message>
- <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="+97"/>
+ <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="+127"/>
<source>&amp;Previous</source>
<translation type="unfinished"></translation>
</message>
@@ -74,7 +74,7 @@ ate the goose who was loose.</source>
<context>
<name>AppFontDialog</name>
<message>
- <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="+388"/>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="+418"/>
<source>Additional Fonts</source>
<translation type="unfinished"></translation>
</message>
@@ -186,7 +186,7 @@ ate the goose who was loose.</source>
<context>
<name>AssistantClient</name>
<message>
- <location filename="../tools/designer/src/designer/assistantclient.cpp" line="+70"/>
+ <location filename="../tools/designer/src/designer/assistantclient.cpp" line="+100"/>
<source>Unable to send request: Assistant is not responding.</source>
<translation type="unfinished"></translation>
</message>
@@ -204,7 +204,7 @@ ate the goose who was loose.</source>
<context>
<name>BrushManagerProxy</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+191"/>
+ <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+221"/>
<source>The element &apos;%1&apos; is missing the required attribute &apos;%2&apos;.</source>
<translation type="unfinished"></translation>
</message>
@@ -232,7 +232,7 @@ ate the goose who was loose.</source>
<context>
<name>BrushPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="+22"/>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="+52"/>
<source>No brush</source>
<translation type="unfinished"></translation>
</message>
@@ -325,19 +325,24 @@ ate the goose who was loose.</source>
<context>
<name>Command</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="+177"/>
- <location line="+211"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="+208"/>
+ <location line="+258"/>
<source>Change signal</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-209"/>
- <location line="+221"/>
+ <location line="-256"/>
+ <location line="+268"/>
<source>Change slot</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-220"/>
+ <source>Change signal-slot connection</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+234"/>
<source>Change sender</source>
<translation type="unfinished"></translation>
</message>
@@ -347,7 +352,7 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+113"/>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+143"/>
<source>Add connection</source>
<translation type="unfinished"></translation>
</message>
@@ -372,7 +377,7 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="+117"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="+149"/>
<source>Insert &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
@@ -397,7 +402,7 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+51"/>
+ <location line="+53"/>
<source>Promote to custom widget</source>
<translation type="unfinished"></translation>
</message>
@@ -427,48 +432,48 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+237"/>
- <location line="+232"/>
- <location line="+75"/>
+ <location line="+240"/>
+ <location line="+235"/>
+ <location line="+78"/>
<source>Move Page</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-273"/>
- <location line="+122"/>
- <location line="+183"/>
- <location line="+664"/>
+ <location line="-279"/>
+ <location line="+123"/>
+ <location line="+188"/>
+ <location line="+666"/>
<source>Delete Page</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-931"/>
- <location line="+122"/>
+ <location line="-939"/>
+ <location line="+123"/>
<source>Page</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-120"/>
- <location line="+303"/>
- <location line="+670"/>
+ <location line="-121"/>
+ <location line="+309"/>
+ <location line="+672"/>
<source>page</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-970"/>
- <location line="+122"/>
- <location line="+181"/>
- <location line="+665"/>
+ <location line="-978"/>
+ <location line="+123"/>
+ <location line="+186"/>
+ <location line="+667"/>
<source>Insert Page</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-849"/>
+ <location line="-856"/>
<source>tab</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+204"/>
+ <location line="+209"/>
<source>Change Tab order</source>
<translation type="unfinished"></translation>
</message>
@@ -513,12 +518,12 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+95"/>
<source>Change Layout Item Geometry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+576"/>
<source>Change Table Contents</source>
<translation type="unfinished"></translation>
</message>
@@ -560,7 +565,7 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1131"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1161"/>
<source>Set action text</source>
<translation type="unfinished"></translation>
</message>
@@ -571,7 +576,7 @@ ate the goose who was loose.</source>
</message>
<message>
<location line="+89"/>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+861"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+891"/>
<source>Move action</source>
<translation type="unfinished"></translation>
</message>
@@ -586,7 +591,7 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+172"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+202"/>
<source>Change signals/slots</source>
<translation type="unfinished"></translation>
</message>
@@ -611,17 +616,17 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1808"/>
+ <location line="-1821"/>
<source>Change Z-order of &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+623"/>
+ <location line="+625"/>
<source>Simplify Grid Layout</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+195"/>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+225"/>
<source>Create button group</source>
<translation type="unfinished"></translation>
</message>
@@ -642,7 +647,7 @@ ate the goose who was loose.</source>
</message>
<message>
<location line="+8"/>
- <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+373"/>
+ <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+458"/>
<source>Add &apos;%1&apos; to &apos;%2&apos;</source>
<extracomment>Command description for adding buttons to a QButtonGroup</extracomment>
<translation type="unfinished"></translation>
@@ -659,23 +664,23 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+318"/>
+ <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+349"/>
<source>Morph %1/&apos;%2&apos; into %3</source>
<extracomment>MorphWidgetCommand description</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="+124"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="+154"/>
<source>Change layout of &apos;%1&apos; from %2 to %3</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="+25"/>
+ <location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="+55"/>
<source>Change script</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1179"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1209"/>
<source>Changed &apos;%1&apos; of &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
@@ -749,7 +754,7 @@ ate the goose who was loose.</source>
<context>
<name>DPI_Chooser</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+39"/>
+ <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+69"/>
<source>Standard (96 x 96)</source>
<extracomment>Embedded device standard screen resolution</extracomment>
<translation type="unfinished"></translation>
@@ -770,7 +775,7 @@ ate the goose who was loose.</source>
<context>
<name>Designer</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+409"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+439"/>
<source>Qt Designer</source>
<translation type="unfinished"></translation>
</message>
@@ -836,7 +841,7 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+735"/>
+ <location line="+746"/>
<source>Custom Widgets</source>
<translation type="unfinished"></translation>
</message>
@@ -846,7 +851,7 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="+602"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="+682"/>
<source>Unable to launch %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -859,7 +864,7 @@ ate the goose who was loose.</source>
<context>
<name>DesignerMetaEnum</name>
<message>
- <location line="-463"/>
+ <location line="-513"/>
<source>%1 is not a valid enumeration value of &apos;%2&apos;.</source>
<translation type="unfinished"></translation>
</message>
@@ -880,7 +885,7 @@ ate the goose who was loose.</source>
<context>
<name>DeviceProfile</name>
<message>
- <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="+367"/>
+ <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="+397"/>
<source>&apos;%1&apos; is not a number.</source>
<extracomment>Reading a number for an embedded device profile</extracomment>
<translation type="unfinished"></translation>
@@ -922,7 +927,7 @@ ate the goose who was loose.</source>
<context>
<name>DeviceSkin</name>
<message>
- <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+49"/>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
<source>The image file &apos;%1&apos; could not be loaded.</source>
<translation type="unfinished"></translation>
</message>
@@ -980,7 +985,7 @@ ate the goose who was loose.</source>
<context>
<name>EmbeddedOptionsControl</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+281"/>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+311"/>
<source>&lt;html&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Font&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%1, %2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Style&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Resolution&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4 x %5&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/html&gt;</source>
<extracomment>Format embedded device profile description</extracomment>
<translation type="unfinished"></translation>
@@ -1004,7 +1009,7 @@ ate the goose who was loose.</source>
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation type="unfinished"></translation>
</message>
@@ -1032,7 +1037,7 @@ ate the goose who was loose.</source>
<context>
<name>FontPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="+32"/>
+ <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="+62"/>
<source>PreferDefault</source>
<translation type="unfinished"></translation>
</message>
@@ -1055,7 +1060,7 @@ ate the goose who was loose.</source>
<context>
<name>FormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+321"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+351"/>
<source>Invalid stretch value for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing layout stretch values</extracomment>
<translation type="unfinished"></translation>
@@ -1070,7 +1075,7 @@ ate the goose who was loose.</source>
<context>
<name>FormEditorOptionsPage</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="+61"/>
+ <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="+91"/>
<source>%1 %</source>
<translation type="unfinished"></translation>
</message>
@@ -1137,7 +1142,7 @@ ate the goose who was loose.</source>
<context>
<name>FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1669"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1705"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -1213,7 +1218,7 @@ ate the goose who was loose.</source>
<context>
<name>IconSelector</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+321"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+353"/>
<source>All Pixmaps (</source>
<translation type="unfinished"></translation>
</message>
@@ -1221,7 +1226,7 @@ ate the goose who was loose.</source>
<context>
<name>ItemPropertyBrowser</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+36"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+66"/>
<source>XX Icon Selected off</source>
<extracomment>Sample string to determinate the width for the first column of the list item property browser</extracomment>
<translation type="unfinished"></translation>
@@ -1230,7 +1235,7 @@ ate the goose who was loose.</source>
<context>
<name>LanguageResourceDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-234"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-235"/>
<source>Choose Resource</source>
<translation type="unfinished"></translation>
</message>
@@ -1238,7 +1243,7 @@ ate the goose who was loose.</source>
<context>
<name>MainWindowBase</name>
<message>
- <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+89"/>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+119"/>
<source>Main</source>
<extracomment>Not currently used (main tool bar)</extracomment>
<translation type="unfinished"></translation>
@@ -1272,7 +1277,7 @@ ate the goose who was loose.</source>
<context>
<name>NewForm</name>
<message>
- <location filename="../tools/designer/src/designer/newform.cpp" line="+49"/>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="+79"/>
<source>C&amp;reate</source>
<translation type="unfinished"></translation>
</message>
@@ -1325,7 +1330,7 @@ ate the goose who was loose.</source>
<context>
<name>NewFormWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+465"/>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+495"/>
<source>Unable to open the form template file &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -1333,7 +1338,7 @@ ate the goose who was loose.</source>
<context>
<name>ObjectInspectorModel</name>
<message>
- <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+331"/>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+364"/>
<source>Object</source>
<translation type="unfinished"></translation>
</message>
@@ -1356,7 +1361,7 @@ ate the goose who was loose.</source>
<context>
<name>ObjectNameDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+135"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+162"/>
<source>Change Object Name</source>
<translation type="unfinished"></translation>
</message>
@@ -1367,49 +1372,13 @@ ate the goose who was loose.</source>
</message>
</context>
<context>
- <name>qdesigner_internal::PluginDialog</name>
- <message>
- <location filename="../tools/designer/src/designer/plugindialog.cpp" line="+40"/>
- <source>Components</source>
- <translation type="unfinished"></translation>
- </message>
+ <name>PluginDialog</name>
<message>
- <location line="+13"/>
- <location filename="../tools/designer/src/designer/plugindialog.ui"/>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.ui"/>
<source>Plugin Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
- <source>Refresh</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Scan for newly installed custom widget plugins.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+48"/>
- <source>Qt Designer couldn&apos;t find any plugins</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Qt Designer found the following plugins</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+55"/>
- <source>New custom widget plugins have been found.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../tools/designer/src/designer/plugindialog.ui"/>
- <source>TextLabel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location/>
<source>1</source>
<translation type="unfinished"></translation>
@@ -1426,7 +1395,7 @@ ate the goose who was loose.</source>
<context>
<name>PreviewConfigurationWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+125"/>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+155"/>
<source>Default</source>
<translation type="unfinished"></translation>
</message>
@@ -1474,7 +1443,7 @@ ate the goose who was loose.</source>
<context>
<name>PromotionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+86"/>
+ <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+116"/>
<source>Not used</source>
<extracomment>Usage of promoted widgets</extracomment>
<translation type="unfinished"></translation>
@@ -1483,7 +1452,7 @@ ate the goose who was loose.</source>
<context>
<name>Q3WizardContainer</name>
<message>
- <location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="+142"/>
+ <location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="+172"/>
<location line="+5"/>
<source>Page</source>
<translation type="unfinished"></translation>
@@ -1492,7 +1461,7 @@ ate the goose who was loose.</source>
<context>
<name>QAbstractFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="+176"/>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="+206"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -1538,7 +1507,7 @@ This indicates an inconsistency in the ui-file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+750"/>
+ <location line="+749"/>
<source>Invalid QButtonGroup reference &apos;%1&apos; referenced by &apos;%2&apos;.</source>
<translation type="unfinished"></translation>
</message>
@@ -1551,7 +1520,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QAxWidgetPlugin</name>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="+45"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="+75"/>
<source>ActiveX control</source>
<translation type="unfinished"></translation>
</message>
@@ -1564,7 +1533,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QAxWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="+89"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="+119"/>
<source>Set Control</source>
<translation type="unfinished"></translation>
</message>
@@ -1587,7 +1556,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="+53"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="+83"/>
<source>%1 is not a promoted class.</source>
<translation type="unfinished"></translation>
</message>
@@ -1637,7 +1606,7 @@ This indicates an inconsistency in the ui-file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="+88"/>
<source>Exception at line %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -1656,7 +1625,7 @@ Script: %3</source>
<context>
<name>QDesigner</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner.cpp" line="+111"/>
+ <location filename="../tools/designer/src/designer/qdesigner.cpp" line="+141"/>
<source>%1 - warning</source>
<translation type="unfinished"></translation>
</message>
@@ -1674,7 +1643,7 @@ Script: %3</source>
<context>
<name>QDesignerActions</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+151"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+178"/>
<source>Edit Widgets</source>
<translation type="unfinished"></translation>
</message>
@@ -1841,12 +1810,12 @@ Do you want to update the file location or generate a new form?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+239"/>
+ <location line="+201"/>
<source>&amp;Close Preview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-931"/>
+ <location line="-893"/>
<source>Save &amp;Image...</source>
<translation type="unfinished"></translation>
</message>
@@ -1870,7 +1839,7 @@ Would you like to retry?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+277"/>
+ <location line="+239"/>
<location line="+23"/>
<source>The backup file %1 could not be written.</source>
<translation type="unfinished"></translation>
@@ -1902,7 +1871,7 @@ Would you like to retry?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1196"/>
+ <location line="-1158"/>
<source>&amp;New...</source>
<translation type="unfinished"></translation>
</message>
@@ -1933,12 +1902,12 @@ Would you like to retry?</source>
</message>
<message>
<location line="+1"/>
- <location line="+934"/>
+ <location line="+896"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-929"/>
+ <location line="-891"/>
<source>View &amp;Code...</source>
<translation type="unfinished"></translation>
</message>
@@ -1949,23 +1918,23 @@ Would you like to retry?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+467"/>
+ <location line="+429"/>
<source>Preview failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-613"/>
+ <location line="-575"/>
<source>Code generation failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+328"/>
- <location line="+66"/>
+ <location line="+34"/>
<source>Assistant</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+265"/>
+ <location line="+259"/>
<source>Saved image %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -1980,7 +1949,7 @@ Would you like to retry?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1186"/>
+ <location line="-1148"/>
<source>ALT+CTRL+S</source>
<translation type="unfinished"></translation>
</message>
@@ -1988,7 +1957,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerAppearanceOptionsPage</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="+108"/>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="+138"/>
<source>Appearance</source>
<extracomment>Tab in preferences dialog</extracomment>
<translation type="unfinished"></translation>
@@ -2025,7 +1994,7 @@ Would you like to retry?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="+149"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="+179"/>
<source>Control loaded</source>
<translation type="unfinished"></translation>
</message>
@@ -2038,7 +2007,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+88"/>
<source>Script errors occurred:</source>
<translation type="unfinished"></translation>
</message>
@@ -2056,7 +2025,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerFormWindow</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="+187"/>
+ <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="+217"/>
<source>%1 - %2[*]</source>
<translation type="unfinished"></translation>
</message>
@@ -2141,7 +2110,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerPluginManager</name>
<message>
- <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+197"/>
+ <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+249"/>
<source>An XML error was encountered when parsing the XML of the custom widget %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2164,7 +2133,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerPropertySheet</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+717"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+747"/>
<source>Dynamic Properties</source>
<translation type="unfinished"></translation>
</message>
@@ -2172,18 +2141,18 @@ Would you like to retry?</source>
<context>
<name>QDesignerResource</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="-235"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="-246"/>
<source>The layout type &apos;%1&apos; is not supported, defaulting to grid.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+331"/>
+ <location line="+342"/>
<source>The container extension of the widget &apos;%1&apos; (%2) returned a widget not managed by Designer &apos;%3&apos; (%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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+598"/>
+ <location line="+599"/>
<source>Unexpected element &lt;%1&gt;</source>
<extracomment>Parsing clipboard contents</extracomment>
<translation type="unfinished"></translation>
@@ -2204,7 +2173,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerSharedSettings</name>
<message>
- <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="+53"/>
+ <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="+83"/>
<source>The template path %1 could not be created.</source>
<translation type="unfinished"></translation>
</message>
@@ -2217,7 +2186,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerToolWindow</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="+160"/>
+ <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="+190"/>
<source>Property Editor</source>
<translation type="unfinished"></translation>
</message>
@@ -2250,7 +2219,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerWidgetBox</name>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="+318"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="+349"/>
<source>An error has been encountered at line %1 of %2: %3</source>
<translation type="unfinished"></translation>
</message>
@@ -2273,7 +2242,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerWorkbench</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="+169"/>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="+199"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
@@ -2348,7 +2317,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+112"/>
+ <location line="+111"/>
<source>The file &lt;b&gt;%1&lt;/b&gt; could not be opened.</source>
<translation type="unfinished"></translation>
</message>
@@ -2358,7 +2327,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="-260"/>
+ <location line="-259"/>
<source>There are %n forms with unsaved changes. Do you want to review these changes before quitting?</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -2368,7 +2337,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+130"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+160"/>
<source>An empty class name was passed on to %1 (object name: &apos;%2&apos;).</source>
<extracomment>Empty class name passed to widget factory method</extracomment>
<translation type="unfinished"></translation>
@@ -2389,7 +2358,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="+76"/>
+ <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="+106"/>
<source>The set-type property %1 could not be read.</source>
<translation type="unfinished"></translation>
</message>
@@ -2409,7 +2378,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+102"/>
+ <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+132"/>
<source>The enumeration-value &apos;%1&apos; is invalid. The default value &apos;%2&apos; will be used instead.</source>
<translation type="unfinished"></translation>
</message>
@@ -2422,7 +2391,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QStackedWidgetEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="+164"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="+194"/>
<source>Previous Page</source>
<translation type="unfinished"></translation>
</message>
@@ -2483,7 +2452,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QTabWidgetEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="+59"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="+89"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
@@ -2511,7 +2480,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QToolBoxHelper</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="+34"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="+64"/>
<source>Delete Page</source>
<translation type="unfinished"></translation>
</message>
@@ -2549,7 +2518,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtBoolEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+198"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+226"/>
<location line="+10"/>
<location line="+25"/>
<source>True</source>
@@ -2565,7 +2534,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtBoolPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1469"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1477"/>
<source>True</source>
<translation type="unfinished"></translation>
</message>
@@ -2578,7 +2547,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtCharEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1573"/>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1601"/>
<source>Clear Char</source>
<translation type="unfinished"></translation>
</message>
@@ -2594,7 +2563,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtColorPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4769"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4777"/>
<source>Red</source>
<translation type="unfinished"></translation>
</message>
@@ -2774,7 +2743,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtGradientEditor</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+405"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+435"/>
<source>Start X</source>
<translation type="unfinished"></translation>
</message>
@@ -3049,7 +3018,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtGradientStopsWidget</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+919"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+949"/>
<source>New Stop</source>
<translation type="unfinished"></translation>
</message>
@@ -3087,7 +3056,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtGradientView</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+77"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+107"/>
<source>Grad</source>
<translation type="unfinished"></translation>
</message>
@@ -3134,7 +3103,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtGradientViewDialog</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+32"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+62"/>
<location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui"/>
<source>Select Gradient</source>
<translation type="unfinished"></translation>
@@ -3151,7 +3120,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtLocalePropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3553"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3561"/>
<source>%1, %2</source>
<translation type="unfinished"></translation>
</message>
@@ -3218,22 +3187,22 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtRectFPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1705"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1716"/>
<source>[(%1, %2), %3 x %4]</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+155"/>
+ <location line="+156"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
+ <location line="+8"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
+ <location line="+8"/>
<source>Width</source>
<translation type="unfinished"></translation>
</message>
@@ -3246,22 +3215,22 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtRectPropertyManager</name>
<message>
- <location line="-610"/>
+ <location line="-614"/>
<source>[(%1, %2), %3 x %4]</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+119"/>
+ <location line="+120"/>
<source>X</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+7"/>
<source>Y</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+7"/>
<source>Width</source>
<translation type="unfinished"></translation>
</message>
@@ -3274,7 +3243,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QtResourceEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="+46"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="+76"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation type="unfinished"></translation>
@@ -3285,7 +3254,7 @@ Do you want to replace it?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+900"/>
+ <location line="+902"/>
<source>%1 [read-only]</source>
<translation type="unfinished"></translation>
</message>
@@ -3554,7 +3523,7 @@ to
<context>
<name>QtResourceView</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+404"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+435"/>
<source>Size: %1 x %2
%3</source>
<translation type="unfinished"></translation>
@@ -3586,7 +3555,7 @@ to
<context>
<name>QtSizeFPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-532"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-537"/>
<source>%1 x %2</source>
<translation type="unfinished"></translation>
</message>
@@ -3604,7 +3573,7 @@ to
<context>
<name>QtSizePolicyPropertyManager</name>
<message>
- <location line="+1709"/>
+ <location line="+1719"/>
<location line="+1"/>
<source>&lt;Invalid&gt;</source>
<translation type="unfinished"></translation>
@@ -3638,7 +3607,7 @@ to
<context>
<name>QtSizePropertyManager</name>
<message>
- <location line="-2288"/>
+ <location line="-2298"/>
<source>%1 x %2</source>
<translation type="unfinished"></translation>
</message>
@@ -3656,7 +3625,7 @@ to
<context>
<name>QtToolBarDialog</name>
<message>
- <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1759"/>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1789"/>
<source>&lt; S E P A R A T O R &gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -3764,7 +3733,7 @@ to
<context>
<name>QtTreePropertyBrowser</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="+416"/>
+ <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="+442"/>
<source>Property</source>
<translation type="unfinished"></translation>
</message>
@@ -3777,7 +3746,7 @@ to
<context>
<name>SaveFormAsTemplate</name>
<message>
- <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="+42"/>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="+72"/>
<source>Add path...</source>
<translation type="unfinished"></translation>
</message>
@@ -3841,7 +3810,7 @@ Do you want overwrite the template?</source>
<context>
<name>ScriptErrorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+33"/>
+ <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+63"/>
<source>An error occurred while running the scripts for &quot;%1&quot;:
</source>
<translation type="unfinished"></translation>
@@ -3873,7 +3842,7 @@ Do you want overwrite the template?</source>
<context>
<name>SignalSlotConnection</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="-311"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="-358"/>
<source>SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4)</source>
<translation type="unfinished"></translation>
</message>
@@ -3914,7 +3883,7 @@ Do you want overwrite the template?</source>
<context>
<name>Spacer</name>
<message>
- <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="+245"/>
+ <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="+275"/>
<source>Horizontal Spacer &apos;%1&apos;, %2 x %3</source>
<translation type="unfinished"></translation>
</message>
@@ -3927,7 +3896,7 @@ Do you want overwrite the template?</source>
<context>
<name>TemplateOptionsPage</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="+126"/>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="+156"/>
<source>Template Paths</source>
<extracomment>Tab in preferences dialog</extracomment>
<translation type="unfinished"></translation>
@@ -3969,17 +3938,12 @@ Do you want overwrite the template?</source>
<context>
<name>VersionDialog</name>
<message>
- <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+141"/>
+ <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+171"/>
<source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;Version %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
- <source> Open Source Edition</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+3"/>
+ <location line="+1"/>
<source>Qt Designer</source>
<translation type="unfinished"></translation>
</message>
@@ -3989,30 +3953,15 @@ Do you want overwrite the template?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
- <source>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.&lt;br/&gt;&lt;br/&gt;You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel.html&lt;/a&gt; for an overview of Qt licensing.&lt;br/&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+12"/>
- <source>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.&lt;br/&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<location line="+5"/>
<source>%1&lt;br/&gt;%2&lt;br/&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;br/&gt;&lt;br/&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;br/&gt; </source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location line="-9"/>
- <source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.&lt;br/&gt;</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>WidgetDataBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="+786"/>
+ <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="+814"/>
<source>The file contains a custom widget &apos;%1&apos; whose base class (%2) differs from the current entry in the widget database (%3). The widget database is left unchanged.</source>
<translation type="unfinished"></translation>
</message>
@@ -4020,22 +3969,22 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ActionEditor</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+111"/>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+143"/>
<source>Actions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-15"/>
+ <location line="-16"/>
<source>New...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+305"/>
+ <location line="+307"/>
<source>New action</source>
<translation type="unfinished"></translation>
</message>
@@ -4045,12 +3994,17 @@ Do you want overwrite the template?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-408"/>
+ <location line="-411"/>
<source>Edit...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
+ <source>Go to slot...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Copy</source>
<translation type="unfinished"></translation>
</message>
@@ -4070,7 +4024,7 @@ Do you want overwrite the template?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+55"/>
+ <location line="+57"/>
<source>Icon View</source>
<translation type="unfinished"></translation>
</message>
@@ -4080,7 +4034,7 @@ Do you want overwrite the template?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+406"/>
+ <location line="+412"/>
<source>Remove actions</source>
<translation type="unfinished"></translation>
</message>
@@ -4090,12 +4044,12 @@ Do you want overwrite the template?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+186"/>
<source>Used In</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-598"/>
+ <location line="-607"/>
<source>Configure Action Editor</source>
<translation type="unfinished"></translation>
</message>
@@ -4103,7 +4057,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ActionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+64"/>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+95"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
@@ -4136,7 +4090,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::BuddyEditor</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+235"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+265"/>
<source>Add buddy</source>
<translation type="unfinished"></translation>
</message>
@@ -4168,7 +4122,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::BuddyEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+47"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+77"/>
<source>Edit Buddies</source>
<translation type="unfinished"></translation>
</message>
@@ -4176,7 +4130,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::BuddyEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+60"/>
<source>Edit Buddies</source>
<translation type="unfinished"></translation>
</message>
@@ -4230,7 +4184,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::CodeDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="+69"/>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="+99"/>
<source>Save...</source>
<translation type="unfinished"></translation>
</message>
@@ -4288,7 +4242,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ColorAction</name>
<message>
- <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+220"/>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+250"/>
<source>Text Color</source>
<translation type="unfinished"></translation>
</message>
@@ -4296,7 +4250,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ComboBoxTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+42"/>
+ <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+72"/>
<source>Edit Items...</source>
<translation type="unfinished"></translation>
</message>
@@ -4388,7 +4342,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ContainerWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+82"/>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+112"/>
<source>Insert Page Before Current Page</source>
<translation type="unfinished"></translation>
</message>
@@ -4451,7 +4405,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::DesignerPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+614"/>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+644"/>
<location line="+6"/>
<source>AlignLeft</source>
<translation type="unfinished"></translation>
@@ -4576,7 +4530,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::DeviceProfileDialog</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="+33"/>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="+63"/>
<source>Device Profiles (*.%1)</source>
<translation type="unfinished"></translation>
</message>
@@ -4736,7 +4690,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FilterWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+155"/>
+ <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+185"/>
<source>&lt;Filter&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -4744,7 +4698,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormEditor</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="+160"/>
+ <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="+190"/>
<source>Resource File Changed</source>
<translation type="unfinished"></translation>
</message>
@@ -4765,7 +4719,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1262"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1267"/>
<source>Edit contents</source>
<translation type="unfinished"></translation>
</message>
@@ -4775,7 +4729,7 @@ Do you want overwrite the template?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+836"/>
+ <location line="+841"/>
<source>Resize</source>
<translation type="unfinished"></translation>
</message>
@@ -4859,7 +4813,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormWindowBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+363"/>
+ <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+397"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
@@ -4872,7 +4826,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormWindowManager</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+338"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+368"/>
<source>Cu&amp;t</source>
<translation type="unfinished"></translation>
</message>
@@ -4954,7 +4908,7 @@ Do you want overwrite the template?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+6"/>
<source>Lay Out &amp;Horizontally</source>
<translation type="unfinished"></translation>
</message>
@@ -5004,7 +4958,7 @@ Do you want overwrite the template?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>&amp;Break Layout</source>
<translation type="unfinished"></translation>
</message>
@@ -5029,7 +4983,7 @@ Do you want overwrite the template?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+75"/>
+ <location line="+78"/>
<source>Break Layout</source>
<translation type="unfinished"></translation>
</message>
@@ -5045,17 +4999,17 @@ Do you want overwrite the template?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+341"/>
<source>Form Settings - %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-502"/>
+ <location line="-510"/>
<source>Removes empty columns and rows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-49"/>
+ <location line="-50"/>
<source>Lay Out in a &amp;Form Layout</source>
<translation type="unfinished"></translation>
</message>
@@ -5065,7 +5019,7 @@ Do you want overwrite the template?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
+ <location line="+45"/>
<source>Si&amp;mplify Grid Layout</source>
<translation type="unfinished"></translation>
</message>
@@ -5073,7 +5027,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormWindowSettings</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="+162"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="+193"/>
<source>None</source>
<translation type="unfinished"></translation>
</message>
@@ -5124,7 +5078,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::GroupBoxTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+56"/>
+ <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+86"/>
<source>Change title...</source>
<translation type="unfinished"></translation>
</message>
@@ -5140,7 +5094,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::IconSelector</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+210"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+211"/>
<source>The pixmap file &apos;%1&apos; cannot be read.</source>
<translation type="unfinished"></translation>
</message>
@@ -5292,7 +5246,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::LabelTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+59"/>
+ <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+89"/>
<source>Change rich text...</source>
<translation type="unfinished"></translation>
</message>
@@ -5305,7 +5259,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::LineEditTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+54"/>
+ <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+84"/>
<source>Change text...</source>
<translation type="unfinished"></translation>
</message>
@@ -5313,7 +5267,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ListWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+75"/>
+ <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+105"/>
<source>Edit List Widget</source>
<translation type="unfinished"></translation>
</message>
@@ -5331,7 +5285,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ListWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+41"/>
+ <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+71"/>
<source>Edit Items...</source>
<translation type="unfinished"></translation>
</message>
@@ -5367,7 +5321,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::MenuTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+60"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
@@ -5426,7 +5380,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::NewDynamicPropertyDialog</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+104"/>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+134"/>
<source>Set Property Name</source>
<translation type="unfinished"></translation>
</message>
@@ -5545,7 +5499,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::NewPromotedClassPanel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+66"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+96"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
@@ -5583,7 +5537,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::ObjectInspector</name>
<message>
- <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+727"/>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+758"/>
<source>&amp;Find in Text...</source>
<translation type="unfinished"></translation>
</message>
@@ -5599,7 +5553,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::OrderDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+83"/>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+113"/>
<source>Index %1 (%2)</source>
<translation type="unfinished"></translation>
</message>
@@ -5680,7 +5634,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PaletteEditorButton</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+31"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+61"/>
<source>Change Palette</source>
<translation type="unfinished"></translation>
</message>
@@ -5688,7 +5642,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PaletteModel</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+351"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+381"/>
<source>Color Role</source>
<translation type="unfinished"></translation>
</message>
@@ -5740,15 +5694,53 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PlainTextEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+39"/>
+ <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+69"/>
<source>Edit text</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>qdesigner_internal::PluginDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="+72"/>
+ <source>Components</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Plugin Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Refresh</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Scan for newly installed custom widget plugins.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Qt Designer couldn&apos;t find any plugins</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Qt Designer found the following plugins</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>New custom widget plugins have been found.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>qdesigner_internal::PreviewActionGroup</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="+65"/>
+ <location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="+95"/>
<source>%1 Style</source>
<translation type="unfinished"></translation>
</message>
@@ -5790,7 +5782,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PreviewDeviceSkin</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="+188"/>
+ <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="+218"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
@@ -5887,7 +5879,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PromotionTaskMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="+55"/>
+ <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="+85"/>
<source>Promoted widgets...</source>
<translation type="unfinished"></translation>
</message>
@@ -5915,7 +5907,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PropertyEditor</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+158"/>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+188"/>
<source>Add Dynamic Property...</source>
<translation type="unfinished"></translation>
</message>
@@ -5974,7 +5966,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::PropertyLineEdit</name>
<message>
- <location filename="../tools/designer/src/lib/shared/propertylineedit.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/shared/propertylineedit.cpp" line="+88"/>
<source>Insert line break</source>
<translation type="unfinished"></translation>
</message>
@@ -6033,14 +6025,14 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QDesignerTaskMenu</name>
<message numerus="yes">
- <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+538"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+560"/>
<source>Set size constraint on %n widget(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
</translation>
</message>
<message>
- <location line="-470"/>
+ <location line="-492"/>
<source>Change objectName...</source>
<translation type="unfinished"></translation>
</message>
@@ -6130,7 +6122,7 @@ Class: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+236"/>
+ <location line="+235"/>
<source>Edit ToolTip</source>
<translation type="unfinished"></translation>
</message>
@@ -6140,7 +6132,7 @@ Class: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+127"/>
+ <location line="+144"/>
<source>no signals available</source>
<translation type="unfinished"></translation>
</message>
@@ -6148,7 +6140,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QDesignerWidgetBox</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="+97"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="+127"/>
<location line="+13"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation type="unfinished"></translation>
@@ -6202,7 +6194,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QtGradientStopsController</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="+147"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="+177"/>
<source>H</source>
<translation type="unfinished"></translation>
</message>
@@ -6377,7 +6369,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::ScriptDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="+38"/>
+ <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="+68"/>
<source>Edit script</source>
<translation type="unfinished"></translation>
</message>
@@ -6427,7 +6419,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::SignalSlotEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="+46"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="+76"/>
<source>Edit Signals/Slots</source>
<translation type="unfinished"></translation>
</message>
@@ -6440,7 +6432,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::SignalSlotEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="+32"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="+62"/>
<source>Edit Signals/Slots</source>
<translation type="unfinished"></translation>
</message>
@@ -6448,7 +6440,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::StatusBarTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+55"/>
+ <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+85"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
@@ -6456,7 +6448,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::StringListEditorButton</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="+60"/>
<source>Change String List</source>
<translation type="unfinished"></translation>
</message>
@@ -6464,7 +6456,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::StyleSheetEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="+71"/>
+ <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="+101"/>
<source>Edit Style Sheet</source>
<translation type="unfinished"></translation>
</message>
@@ -6503,7 +6495,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TabOrderEditor</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="+333"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="+363"/>
<source>Start from Here</source>
<translation type="unfinished"></translation>
</message>
@@ -6531,7 +6523,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TabOrderEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="+47"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="+77"/>
<source>Edit Tab Order</source>
<translation type="unfinished"></translation>
</message>
@@ -6539,7 +6531,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TabOrderEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="+31"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="+61"/>
<source>Edit Tab Order</source>
<translation type="unfinished"></translation>
</message>
@@ -6547,7 +6539,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TableWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+41"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+71"/>
<source>New Column</source>
<translation type="unfinished"></translation>
</message>
@@ -6596,7 +6588,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TableWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+38"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+68"/>
<source>Edit Items...</source>
<translation type="unfinished"></translation>
</message>
@@ -6627,7 +6619,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TextEditTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="+33"/>
+ <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="+63"/>
<source>Change HTML...</source>
<translation type="unfinished"></translation>
</message>
@@ -6673,7 +6665,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::ToolBarEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="+209"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="+239"/>
<source>Insert Separator</source>
<translation type="unfinished"></translation>
</message>
@@ -6701,7 +6693,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TreeWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+50"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+80"/>
<source>&amp;Columns</source>
<translation type="unfinished"></translation>
</message>
@@ -6827,7 +6819,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TreeWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+37"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+67"/>
<source>Edit Items...</source>
<translation type="unfinished"></translation>
</message>
@@ -6835,7 +6827,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetBox</name>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="+83"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="+113"/>
<source>Warning: Widget creation failed in the widget box. This could be caused by invalid custom widget XML.</source>
<translation type="unfinished"></translation>
</message>
@@ -6843,17 +6835,17 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetBoxTreeWidget</name>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="-267"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="-268"/>
<source>Scratchpad</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+360"/>
+ <location line="+370"/>
<source>Custom Widgets</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+261"/>
+ <location line="+260"/>
<source>Expand all</source>
<translation type="unfinished"></translation>
</message>
@@ -6894,7 +6886,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="+41"/>
+ <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="+71"/>
<source>Edit Widgets</source>
<translation type="unfinished"></translation>
</message>
@@ -6902,12 +6894,12 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetFactory</name>
<message>
- <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="+237"/>
+ <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="+267"/>
<source>The custom widget factory registered for widgets of class %1 returned 0.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+40"/>
+ <location line="+44"/>
<source>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.</source>
<translation type="unfinished"></translation>
</message>
@@ -6949,7 +6941,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>qdesigner_internal::ZoomMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/zoomwidget.cpp" line="+54"/>
+ <location filename="../tools/designer/src/lib/shared/zoomwidget.cpp" line="+84"/>
<source>%1 %</source>
<extracomment>Zoom factor</extracomment>
<translation type="unfinished"></translation>
diff --git a/translations/designer_zh_CN.ts b/translations/designer_zh_CN.ts
index 0024ea3..5a78afaa 100644
--- a/translations/designer_zh_CN.ts
+++ b/translations/designer_zh_CN.ts
@@ -1,23 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="zh">
-<defaultcodec></defaultcodec>
<context>
<name></name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="+43"/>
+ <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="+73"/>
<source>The moose in the noose
ate the goose who was loose.</source>
<translation>The moose in the noose
ate the goose who was loose.</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+624"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+647"/>
<source>&lt;object&gt;</source>
<translation>&lt;对象&gt;</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+18"/>
<source>&lt;signal&gt;</source>
<translation>&lt;信号&gt;</translation>
</message>
@@ -45,7 +44,7 @@ ate the goose who was loose.</translation>
<context>
<name>AbstractFindWidget</name>
<message>
- <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="+97"/>
+ <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="+127"/>
<source>&amp;Previous</source>
<translation>&amp;上一个</translation>
</message>
@@ -91,7 +90,7 @@ ate the goose who was loose.</translation>
<context>
<name>AppFontDialog</name>
<message>
- <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="+388"/>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="+418"/>
<source>Additional Fonts</source>
<translation>附加字体</translation>
</message>
@@ -203,7 +202,7 @@ ate the goose who was loose.</translation>
<context>
<name>AssistantClient</name>
<message>
- <location filename="../tools/designer/src/designer/assistantclient.cpp" line="+70"/>
+ <location filename="../tools/designer/src/designer/assistantclient.cpp" line="+100"/>
<source>Unable to send request: Assistant is not responding.</source>
<translation>无法发送请求:助手无响应。</translation>
</message>
@@ -221,7 +220,7 @@ ate the goose who was loose.</translation>
<context>
<name>BrushManagerProxy</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+191"/>
+ <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+221"/>
<source>The element &apos;%1&apos; is missing the required attribute &apos;%2&apos;.</source>
<translation>组件“%1”缺少必需的属性“%2”。</translation>
</message>
@@ -249,7 +248,7 @@ ate the goose who was loose.</translation>
<context>
<name>BrushPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="+22"/>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="+52"/>
<source>No brush</source>
<translation>无画刷</translation>
</message>
@@ -342,19 +341,24 @@ ate the goose who was loose.</translation>
<context>
<name>Command</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="+177"/>
- <location line="+211"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="+208"/>
+ <location line="+258"/>
<source>Change signal</source>
<translation>改变信号</translation>
</message>
<message>
- <location line="-209"/>
- <location line="+221"/>
+ <location line="-256"/>
+ <location line="+268"/>
<source>Change slot</source>
<translation>改变槽</translation>
</message>
<message>
- <location line="+14"/>
+ <location line="-220"/>
+ <source>Change signal-slot connection</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+234"/>
<source>Change sender</source>
<translation>改变发送者</translation>
</message>
@@ -364,7 +368,7 @@ ate the goose who was loose.</translation>
<translation>改变接收者</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+113"/>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+143"/>
<source>Add connection</source>
<translation>添加连接</translation>
</message>
@@ -397,7 +401,7 @@ ate the goose who was loose.</translation>
<translation type="obsolete">重置“%2”的“%1”</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="+117"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="+149"/>
<source>Insert &apos;%1&apos;</source>
<translation>插入“%1”</translation>
</message>
@@ -422,7 +426,7 @@ ate the goose who was loose.</translation>
<translation>重定义“%1”的父对象</translation>
</message>
<message>
- <location line="+51"/>
+ <location line="+53"/>
<source>Promote to custom widget</source>
<translation>提升至自定义窗口部件</translation>
</message>
@@ -452,48 +456,48 @@ ate the goose who was loose.</translation>
<translation>取消布局</translation>
</message>
<message>
- <location line="+231"/>
- <location line="+226"/>
- <location line="+75"/>
+ <location line="+240"/>
+ <location line="+235"/>
+ <location line="+78"/>
<source>Move Page</source>
<translation>移动页</translation>
</message>
<message>
- <location line="-267"/>
- <location line="+116"/>
- <location line="+183"/>
- <location line="+664"/>
+ <location line="-279"/>
+ <location line="+123"/>
+ <location line="+188"/>
+ <location line="+666"/>
<source>Delete Page</source>
<translation>删除页</translation>
</message>
<message>
- <location line="-925"/>
- <location line="+116"/>
+ <location line="-939"/>
+ <location line="+123"/>
<source>Page</source>
<translation>页</translation>
</message>
<message>
- <location line="-114"/>
- <location line="+297"/>
- <location line="+670"/>
+ <location line="-121"/>
+ <location line="+309"/>
+ <location line="+672"/>
<source>page</source>
<translation>页</translation>
</message>
<message>
- <location line="-964"/>
- <location line="+116"/>
- <location line="+181"/>
- <location line="+665"/>
+ <location line="-978"/>
+ <location line="+123"/>
+ <location line="+186"/>
+ <location line="+667"/>
<source>Insert Page</source>
<translation>插入页</translation>
</message>
<message>
- <location line="-849"/>
+ <location line="-856"/>
<source>tab</source>
<translation>标签页</translation>
</message>
<message>
- <location line="+204"/>
+ <location line="+209"/>
<source>Change Tab order</source>
<translation>改变制表符顺序</translation>
</message>
@@ -542,12 +546,12 @@ ate the goose who was loose.</translation>
<translation>改变表单布局项的几何位置</translation>
</message>
<message>
- <location line="+94"/>
+ <location line="+95"/>
<source>Change Layout Item Geometry</source>
<translation>改变布局项的几何位置</translation>
</message>
<message>
- <location line="+569"/>
+ <location line="+576"/>
<source>Change Table Contents</source>
<translation>改变表格内容</translation>
</message>
@@ -631,7 +635,7 @@ ate the goose who was loose.</translation>
</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1125"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1161"/>
<source>Set action text</source>
<translation>设定动作文本</translation>
</message>
@@ -642,7 +646,7 @@ ate the goose who was loose.</translation>
</message>
<message>
<location line="+89"/>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+861"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+891"/>
<source>Move action</source>
<translation>移动动作</translation>
</message>
@@ -657,17 +661,17 @@ ate the goose who was loose.</translation>
<translation>插入菜单</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="-2610"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="-2641"/>
<source>Change Z-order of &apos;%1&apos;</source>
<translation>改变“%1”的 Z 顺序</translation>
</message>
<message>
- <location line="+623"/>
+ <location line="+625"/>
<source>Simplify Grid Layout</source>
<translation>简易网格布局</translation>
</message>
<message>
- <location line="+1126"/>
+ <location line="+1149"/>
<source>Delete Subwindow</source>
<translation>删除子窗口</translation>
</message>
@@ -687,12 +691,12 @@ ate the goose who was loose.</translation>
<translation>子窗口</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+172"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+202"/>
<source>Change signals/slots</source>
<translation>改变信号/槽</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+195"/>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+225"/>
<source>Create button group</source>
<translation>创建按钮组</translation>
</message>
@@ -713,7 +717,7 @@ ate the goose who was loose.</translation>
</message>
<message>
<location line="+8"/>
- <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+373"/>
+ <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+458"/>
<source>Add &apos;%1&apos; to &apos;%2&apos;</source>
<extracomment>Command description for adding buttons to a QButtonGroup</extracomment>
<translation>添加“%1”到“%2”</translation>
@@ -730,23 +734,23 @@ ate the goose who was loose.</translation>
<translation>从“%2”中移除“%1”</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+318"/>
+ <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+349"/>
<source>Morph %1/&apos;%2&apos; into %3</source>
<extracomment>MorphWidgetCommand description</extracomment>
<translation>将%1/“%2”变形为%3</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="+124"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="+154"/>
<source>Change layout of &apos;%1&apos; from %2 to %3</source>
<translation>将“%1”的布局从%2变为%3</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="+25"/>
+ <location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="+55"/>
<source>Change script</source>
<translation>改变脚本</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1176"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1209"/>
<source>Changed &apos;%1&apos; of &apos;%2&apos;</source>
<translation>已改变“%2”个中的“%1”个</translation>
</message>
@@ -820,7 +824,7 @@ ate the goose who was loose.</translation>
<context>
<name>DPI_Chooser</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+39"/>
+ <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+69"/>
<source>Standard (96 x 96)</source>
<extracomment>Embedded device standard screen resolution</extracomment>
<translation>标准(96 x 96)</translation>
@@ -841,7 +845,7 @@ ate the goose who was loose.</translation>
<context>
<name>Designer</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+409"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+439"/>
<source>Qt Designer</source>
<translation>Qt 设计师</translation>
</message>
@@ -856,7 +860,7 @@ The old form has been untouched, but you will have to save this form under a new
旧的窗体没有改变,但是您将不得不使用新的名称保存这个表单。</translation>
</message>
<message>
- <location line="+1017"/>
+ <location line="+1028"/>
<source>Custom Widgets</source>
<translation>自定义窗口部件</translation>
</message>
@@ -866,7 +870,7 @@ The old form has been untouched, but you will have to save this form under a new
<translation>提升窗口部件</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="+602"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="+682"/>
<source>Unable to launch %1.</source>
<translation>不能启动 %1。</translation>
</message>
@@ -876,7 +880,7 @@ The old form has been untouched, but you will have to save this form under a new
<translation>%1 超时。</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="-812"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="-823"/>
<source>This file cannot be read because it was created using %1.</source>
<translation>不能读取这个文件,因为它是被使用 %1 创建的。</translation>
</message>
@@ -945,7 +949,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>DesignerMetaEnum</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="-463"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="-513"/>
<source>%1 is not a valid enumeration value of &apos;%2&apos;.</source>
<translation>%1 不是“%2”中的一个有效的枚举值。</translation>
</message>
@@ -966,7 +970,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>DeviceProfile</name>
<message>
- <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="+367"/>
+ <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="+397"/>
<source>&apos;%1&apos; is not a number.</source>
<extracomment>Reading a number for an embedded device profile</extracomment>
<translation>&apos;%1&apos;不是一个数字</translation>
@@ -1008,7 +1012,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>DeviceSkin</name>
<message>
- <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+49"/>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
<source>The image file &apos;%1&apos; could not be loaded.</source>
<translation>无法加载图像文件“%1”。</translation>
</message>
@@ -1066,66 +1070,56 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>EmbeddedOptionsControl</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+130"/>
<source>None</source>
- <translation>无</translation>
+ <translation type="obsolete">无</translation>
</message>
<message>
- <location line="+4"/>
<source>Add a profile</source>
- <translation>添加描述文件</translation>
+ <translation type="obsolete">添加描述文件</translation>
</message>
<message>
- <location line="+6"/>
<source>Edit the selected profile</source>
- <translation>编辑选中的描述文件</translation>
+ <translation type="obsolete">编辑选中的描述文件</translation>
</message>
<message>
- <location line="+4"/>
<source>Delete the selected profile</source>
- <translation>删除选中的描述文件</translation>
+ <translation type="obsolete">删除选中的描述文件</translation>
</message>
<message>
- <location line="+22"/>
<source>Add Profile</source>
- <translation>添加描述文件</translation>
+ <translation type="obsolete">添加描述文件</translation>
</message>
<message>
- <location line="+7"/>
<source>New profile</source>
- <translation>新建描述文件</translation>
+ <translation type="obsolete">新建描述文件</translation>
</message>
<message>
- <location line="+35"/>
<source>Edit Profile</source>
- <translation>编辑描述文件</translation>
+ <translation type="obsolete">编辑描述文件</translation>
</message>
<message>
- <location line="+26"/>
<source>Delete Profile</source>
- <translation>删除描述文件</translation>
+ <translation type="obsolete">删除描述文件</translation>
</message>
<message>
- <location line="+1"/>
<source>Would you like to delete the profile &apos;%1&apos;?</source>
- <translation>你要删除描述文件“%1”吗?</translation>
+ <translation type="obsolete">你要删除描述文件“%1”吗?</translation>
</message>
<message>
- <location line="+42"/>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+311"/>
<source>&lt;html&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Font&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%1, %2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Style&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Resolution&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4 x %5&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/html&gt;</source>
<extracomment>Format embedded device profile description</extracomment>
<translation>&lt;html&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;字体&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%1,%2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;风格&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;解析度&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4 x %5&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/html&gt;</translation>
</message>
<message>
- <location line="+13"/>
<source>Default</source>
- <translation>默认</translation>
+ <translation type="obsolete">默认</translation>
</message>
</context>
<context>
<name>EmbeddedOptionsPage</name>
<message>
- <location line="+90"/>
+ <location line="+103"/>
<source>Embedded Design</source>
<extracomment>Tab in preferences dialog</extracomment>
<translation>嵌入式设计</translation>
@@ -1163,7 +1157,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation>字体</translation>
</message>
@@ -1191,7 +1185,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FontPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="+32"/>
+ <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="+62"/>
<source>PreferDefault</source>
<translation>首选默认</translation>
</message>
@@ -1214,7 +1208,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+321"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+351"/>
<source>Invalid stretch value for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing layout stretch values</extracomment>
<translation>“%1”:“%2”无效的拉伸值</translation>
@@ -1229,7 +1223,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FormEditorOptionsPage</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="+61"/>
+ <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="+91"/>
<source>%1 %</source>
<translation>%1 %</translation>
</message>
@@ -1296,7 +1290,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1669"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1705"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>未预期的元素&lt;%1&gt;</translation>
</message>
@@ -1372,7 +1366,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>IconSelector</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+321"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+353"/>
<source>All Pixmaps (</source>
<translation>所有像素映射 (</translation>
</message>
@@ -1380,7 +1374,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>ItemPropertyBrowser</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+36"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+66"/>
<source>XX Icon Selected off</source>
<extracomment>Sample string to determinate the width for the first column of the list item property browser</extracomment>
<translation>XX图标选择关闭</translation>
@@ -1389,7 +1383,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>LanguageResourceDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-234"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-235"/>
<source>Choose Resource</source>
<translation>选择资源</translation>
</message>
@@ -1397,7 +1391,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>MainWindowBase</name>
<message>
- <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+89"/>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+119"/>
<source>Main</source>
<extracomment>Not currently used (main tool bar)</extracomment>
<translation>主要</translation>
@@ -1439,7 +1433,7 @@ The old form has been untouched, but you will have to save this form under a new
<translation type="obsolete">选择一个用于预览的模板</translation>
</message>
<message>
- <location filename="../tools/designer/src/designer/newform.cpp" line="+53"/>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="+83"/>
<source>New Form</source>
<translation>新建窗体</translation>
</message>
@@ -1504,7 +1498,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>NewFormWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+465"/>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+495"/>
<source>Unable to open the form template file &apos;%1&apos;: %2</source>
<translation>无法打开窗体模版文件&apos;%1&apos;:%2</translation>
</message>
@@ -1512,7 +1506,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>ObjectInspectorModel</name>
<message>
- <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+331"/>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+364"/>
<source>Object</source>
<translation>对象</translation>
</message>
@@ -1522,7 +1516,7 @@ The old form has been untouched, but you will have to save this form under a new
<translation>类</translation>
</message>
<message>
- <location line="+34"/>
+ <location line="+35"/>
<source>separator</source>
<translation>分隔符</translation>
</message>
@@ -1535,7 +1529,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>ObjectNameDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+132"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+162"/>
<source>Change Object Name</source>
<translation>改变对象名称</translation>
</message>
@@ -1597,52 +1591,16 @@ There&apos;s nothing more here. You should get back to work.</source>
</message>
</context>
<context>
- <name>qdesigner_internal::PluginDialog</name>
+ <name>PluginDialog</name>
<message>
- <location filename="../tools/designer/src/designer/plugindialog.cpp" line="+40"/>
- <source>Components</source>
- <translation>组件</translation>
- </message>
- <message>
- <location line="+13"/>
- <location filename="../tools/designer/src/designer/plugindialog.ui"/>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.ui"/>
<source>Plugin Information</source>
- <translation>插件信息</translation>
- </message>
- <message>
- <location line="+53"/>
- <source>Qt Designer couldn&apos;t find any plugins</source>
- <translation>Qt 设计师无法找到任何插件</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Qt Designer found the following plugins</source>
- <translation>Qt 设计师已经找到如下插件</translation>
- </message>
- <message>
- <location filename="../tools/designer/src/designer/plugindialog.ui"/>
- <source>TextLabel</source>
- <translation>文本标签</translation>
- </message>
- <message>
- <location filename="../tools/designer/src/designer/plugindialog.cpp" line="-52"/>
- <source>Refresh</source>
- <translation>刷新</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Scan for newly installed custom widget plugins.</source>
- <translation>扫描新安装的自定义窗口部件插件。</translation>
+ <translation type="unfinished">插件信息</translation>
</message>
<message>
- <location line="+106"/>
- <source>New custom widget plugins have been found.</source>
- <translation>新的自定义窗口部件插件已经被找到。</translation>
- </message>
- <message>
- <location filename="../tools/designer/src/designer/plugindialog.ui"/>
+ <location/>
<source>1</source>
- <translation>1</translation>
+ <translation type="unfinished">1</translation>
</message>
</context>
<context>
@@ -1688,7 +1646,7 @@ There&apos;s nothing more here. You should get back to work.</source>
<context>
<name>PreviewConfigurationWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+125"/>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+155"/>
<source>Default</source>
<translation>默认</translation>
</message>
@@ -1736,7 +1694,7 @@ There&apos;s nothing more here. You should get back to work.</source>
<context>
<name>PromotionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+86"/>
+ <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+116"/>
<source>Not used</source>
<extracomment>Usage of promoted widgets</extracomment>
<translation>没有被使用</translation>
@@ -1752,7 +1710,7 @@ There&apos;s nothing more here. You should get back to work.</source>
<context>
<name>Q3WizardContainer</name>
<message>
- <location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="+142"/>
+ <location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="+172"/>
<location line="+5"/>
<source>Page</source>
<translation>页</translation>
@@ -1761,7 +1719,7 @@ There&apos;s nothing more here. You should get back to work.</source>
<context>
<name>QAbstractFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="+176"/>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="+206"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>未预期的元素&lt;%1&gt;</translation>
</message>
@@ -1808,7 +1766,7 @@ This indicates an inconsistency in the ui-file.</source>
<translation>在应用制表符时中断:无法找到窗口部件“%1”。</translation>
</message>
<message>
- <location line="+734"/>
+ <location line="+749"/>
<source>Invalid QButtonGroup reference &apos;%1&apos; referenced by &apos;%2&apos;.</source>
<translation>“%2”参考了无效的QButtonGroup参考“%1”。</translation>
</message>
@@ -1854,7 +1812,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QAxWidgetPlugin</name>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="+45"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="+75"/>
<source>ActiveX control</source>
<translation>ActiveX 控件</translation>
</message>
@@ -1867,7 +1825,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QAxWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="+89"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="+119"/>
<source>Set Control</source>
<translation>设置控件</translation>
</message>
@@ -1890,7 +1848,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="+53"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="+83"/>
<source>%1 is not a promoted class.</source>
<translation>%1 不是提升的类。</translation>
</message>
@@ -1940,7 +1898,7 @@ This indicates an inconsistency in the ui-file.</source>
<translation>无法设定一个空白包含文件。</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="+88"/>
<source>Exception at line %1: %2</source>
<translation>%1 行发生意外:%2</translation>
</message>
@@ -1960,7 +1918,7 @@ Script: %3</source>
<context>
<name>QDesigner</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner.cpp" line="+111"/>
+ <location filename="../tools/designer/src/designer/qdesigner.cpp" line="+141"/>
<source>%1 - warning</source>
<translation>%1 - 警告</translation>
</message>
@@ -1993,7 +1951,7 @@ Script: %3</source>
<translation type="obsolete">CTRL+O</translation>
</message>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+459"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+488"/>
<source>Clear &amp;Menu</source>
<translation>清空菜单(&amp;M)</translation>
</message>
@@ -2006,7 +1964,7 @@ Script: %3</source>
<translation type="obsolete">CTRL+W</translation>
</message>
<message>
- <location line="-297"/>
+ <location line="-300"/>
<source>&amp;Quit</source>
<translation>退出(&amp;Q)</translation>
</message>
@@ -2079,17 +2037,17 @@ Script: %3</source>
</message>
<message>
<location line="+6"/>
- <location line="+598"/>
+ <location line="+601"/>
<source>About Qt Designer</source>
<translation>关于 Qt 设计师</translation>
</message>
<message>
- <location line="-592"/>
+ <location line="-595"/>
<source>About Qt</source>
<translation>关于 Qt</translation>
</message>
<message>
- <location line="+41"/>
+ <location line="+44"/>
<source>&amp;Recent Forms</source>
<translation>最近的窗体(&amp;R)</translation>
</message>
@@ -2130,19 +2088,19 @@ Would you like to retry or select a different file?</source>
<translation>选择新文件</translation>
</message>
<message>
- <location line="-691"/>
+ <location line="-694"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 已经存在。
您想要替换它么?</translation>
</message>
<message>
- <location line="+960"/>
+ <location line="+925"/>
<source>&amp;Close Preview</source>
<translation>关闭预览(&amp;C)</translation>
</message>
<message>
- <location line="-919"/>
+ <location line="-884"/>
<source>Preferences...</source>
<translation>属性...</translation>
</message>
@@ -2152,19 +2110,19 @@ Do you want to replace it?</source>
<translation>CTRL+SHIFT+S</translation>
</message>
<message>
- <location line="+313"/>
+ <location line="+316"/>
<location line="+37"/>
<location line="+160"/>
<source>Designer UI files (*.%1);;All Files (*)</source>
<translation>设计师 UI 文件 (*.%1);;全部文件 (*)</translation>
</message>
<message>
- <location line="-638"/>
+ <location line="-641"/>
<source>Saved %1.</source>
<translation>%1 已被保存。</translation>
</message>
<message>
- <location line="+624"/>
+ <location line="+627"/>
<source>Read error</source>
<translation>读取错误</translation>
</message>
@@ -2216,7 +2174,7 @@ Would you like to retry?</source>
<translation type="obsolete">窗体设定 - %1</translation>
</message>
<message>
- <location line="-696"/>
+ <location line="-699"/>
<source>&amp;New...</source>
<translation>新建(&amp;N)...</translation>
</message>
@@ -2247,12 +2205,12 @@ Would you like to retry?</source>
</message>
<message>
<location line="+1"/>
- <location line="+931"/>
+ <location line="+896"/>
<source>&amp;Close</source>
<translation>关闭(&amp;C)</translation>
</message>
<message>
- <location line="-930"/>
+ <location line="-895"/>
<source>Save &amp;Image...</source>
<translation>保存图像(&amp;I)...</translation>
</message>
@@ -2276,18 +2234,18 @@ Would you like to retry?</source>
<translation>ALT+CTRL+S</translation>
</message>
<message>
- <location line="+352"/>
+ <location line="+355"/>
<location line="+248"/>
<source>Save Form As</source>
<translation>窗体另存为</translation>
</message>
<message>
- <location line="+467"/>
+ <location line="+429"/>
<source>Preview failed</source>
<translation>预览失败</translation>
</message>
<message>
- <location line="-613"/>
+ <location line="-575"/>
<source>Code generation failed</source>
<translation>代码生成失败</translation>
</message>
@@ -2302,12 +2260,12 @@ Would you like to retry?</source>
</message>
<message>
<location line="+158"/>
- <location line="+66"/>
+ <location line="+34"/>
<source>Assistant</source>
<translation>助手</translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+47"/>
<location line="+23"/>
<source>The backup file %1 could not be written.</source>
<translation>备份文件%1无法被写入。</translation>
@@ -2349,7 +2307,7 @@ Would you like to retry?</source>
<translation>请关闭所有窗体文件,以便加载附加字体</translation>
</message>
<message>
- <location line="+49"/>
+ <location line="+52"/>
<source>Printed %1.</source>
<translation>%1 已被打印。</translation>
</message>
@@ -2357,7 +2315,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerAppearanceOptionsPage</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="+93"/>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="+138"/>
<source>Appearance</source>
<extracomment>Tab in preferences dialog</extracomment>
<translation>外观</translation>
@@ -2366,7 +2324,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerAppearanceOptionsWidget</name>
<message>
- <location line="-39"/>
+ <location line="-53"/>
<source>Docked Window</source>
<translation>锚接的窗口</translation>
</message>
@@ -2376,7 +2334,7 @@ Would you like to retry?</source>
<translation>多个顶级窗口</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+5"/>
<source>Toolwindow Font</source>
<translation>工具窗口字体</translation>
</message>
@@ -2394,7 +2352,7 @@ Would you like to retry?</source>
<translation>设置控件</translation>
</message>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="+149"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="+179"/>
<source>Control loaded</source>
<translation>控件已经加载</translation>
</message>
@@ -2407,7 +2365,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+88"/>
<source>Script errors occurred:</source>
<translation>发生脚本错误:</translation>
</message>
@@ -2425,7 +2383,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerFormWindow</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="+187"/>
+ <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="+217"/>
<source>%1 - %2[*]</source>
<translation>%1 - %2[*]</translation>
</message>
@@ -2448,7 +2406,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1154"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1160"/>
<source>Type Here</source>
<translation>在这里输入</translation>
</message>
@@ -2458,7 +2416,7 @@ Would you like to retry?</source>
<translation>添加分隔符</translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+379"/>
<source>Remove action &apos;%1&apos;</source>
<translation>移除动作“%1”</translation>
</message>
@@ -2517,7 +2475,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerPluginManager</name>
<message>
- <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+197"/>
+ <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+249"/>
<source>An XML error was encountered when parsing the XML of the custom widget %1: %2</source>
<translation>在解析自定义窗口部件%1的XML时发生错误:%2</translation>
</message>
@@ -2551,7 +2509,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerPropertySheet</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+717"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+747"/>
<source>Dynamic Properties</source>
<translation>动态属性</translation>
</message>
@@ -2564,14 +2522,14 @@ Would you like to retry?</source>
<translation>不支持布局类型“%1”,默认为网格。</translation>
</message>
<message>
- <location line="+331"/>
+ <location line="+342"/>
<source>The container extension of the widget &apos;%1&apos; (%2) returned a widget not managed by Designer &apos;%3&apos; (%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.</source>
<translation>在查询页面#%5时,窗口部件“%1”(%2)的容器扩展返回了一个没有被设计师管理的窗口部件。
容器页面应该只能由自定义窗口部件的domXml()方法传回的XML指定。</translation>
</message>
<message>
- <location line="+598"/>
+ <location line="+599"/>
<source>Unexpected element &lt;%1&gt;</source>
<extracomment>Parsing clipboard contents</extracomment>
<translation>未预期的元素&lt;%1&gt;</translation>
@@ -2599,7 +2557,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerSharedSettings</name>
<message>
- <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="+53"/>
+ <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="+83"/>
<source>The template path %1 could not be created.</source>
<translation>无法创建临时路径 %1。</translation>
</message>
@@ -2619,7 +2577,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerToolWindow</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="+160"/>
+ <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="+190"/>
<source>Property Editor</source>
<translation>属性编辑器</translation>
</message>
@@ -2656,7 +2614,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="obsolete">窗口部件盒</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="+318"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="+349"/>
<source>An error has been encountered at line %1 of %2: %3</source>
<translation>在%2的第%1行发生错误:%3</translation>
</message>
@@ -2679,7 +2637,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerWorkbench</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="+169"/>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="+199"/>
<source>&amp;File</source>
<translation>文件(&amp;F)</translation>
</message>
@@ -2790,7 +2748,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="obsolete">设计师在您上一次对话中没有正常终止。还有一些备份文件存在,您想要加载它们么?</translation>
</message>
<message>
- <location line="+113"/>
+ <location line="+112"/>
<source>The file &lt;b&gt;%1&lt;/b&gt; could not be opened.</source>
<translation>无法打开文件 &lt;b&gt;%1&lt;/b&gt;。</translation>
</message>
@@ -2804,7 +2762,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="obsolete">文件</translation>
</message>
<message numerus="yes">
- <location line="-260"/>
+ <location line="-259"/>
<source>There are %n forms with unsaved changes. Do you want to review these changes before quitting?</source>
<translation>
<numerusform>还有 %n 个窗体没有保存变化。您想要在退出之前评审这些变化么?</numerusform>
@@ -2834,7 +2792,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+130"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+160"/>
<source>An empty class name was passed on to %1 (object name: &apos;%2&apos;).</source>
<extracomment>Empty class name passed to widget factory method</extracomment>
<translation>一个空白的类名称被传送到%1(对象名称:%2)。</translation>
@@ -2855,7 +2813,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation>布局类型“%1”不被支持。</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="+76"/>
+ <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="+106"/>
<source>The set-type property %1 could not be read.</source>
<translation>无法读取集类型属性 %1。</translation>
</message>
@@ -2875,7 +2833,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation>属性 %1 无法被写入。还不支持类型 %2。</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+102"/>
+ <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+132"/>
<source>The enumeration-value &apos;%1&apos; is invalid. The default value &apos;%2&apos; will be used instead.</source>
<translation>枚举变量值“%1”是无效的。默认值“%2”将会被用来替代。</translation>
</message>
@@ -3134,7 +3092,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QStackedWidgetEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="+164"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="+194"/>
<source>Previous Page</source>
<translation>上一页</translation>
</message>
@@ -3195,7 +3153,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QTabWidgetEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="+59"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="+89"/>
<source>Delete</source>
<translation>删除</translation>
</message>
@@ -3223,7 +3181,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QToolBoxHelper</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="+34"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="+64"/>
<source>Delete Page</source>
<translation>删除页</translation>
</message>
@@ -3261,7 +3219,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtBoolEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+198"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+226"/>
<location line="+10"/>
<location line="+25"/>
<source>True</source>
@@ -3277,7 +3235,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtBoolPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1469"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1477"/>
<source>True</source>
<translation>真</translation>
</message>
@@ -3290,7 +3248,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtCharEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1573"/>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1601"/>
<source>Clear Char</source>
<translation>清除字符</translation>
</message>
@@ -3306,7 +3264,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtColorPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4769"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4777"/>
<source>Red</source>
<translation>红色</translation>
</message>
@@ -3494,7 +3452,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtGradientEditor</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+405"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+435"/>
<source>Start X</source>
<translation>开始 X</translation>
</message>
@@ -3769,7 +3727,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtGradientStopsWidget</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+919"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+949"/>
<source>New Stop</source>
<translation>新建中止点</translation>
</message>
@@ -3807,7 +3765,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtGradientView</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+77"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+107"/>
<source>Grad</source>
<translation>渐变</translation>
</message>
@@ -3854,7 +3812,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtGradientViewDialog</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+32"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+62"/>
<location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui"/>
<source>Select Gradient</source>
<translation>选择渐变</translation>
@@ -3871,7 +3829,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtLocalePropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3553"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3561"/>
<source>%1, %2</source>
<translation>%1, %2</translation>
</message>
@@ -3938,22 +3896,22 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtRectFPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1705"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1716"/>
<source>[(%1, %2), %3 x %4]</source>
<translation>[(%1, %2), %3 x %4]</translation>
</message>
<message>
- <location line="+155"/>
+ <location line="+156"/>
<source>X</source>
<translation>X</translation>
</message>
<message>
- <location line="+9"/>
+ <location line="+8"/>
<source>Y</source>
<translation>Y</translation>
</message>
<message>
- <location line="+9"/>
+ <location line="+8"/>
<source>Width</source>
<translation>宽度</translation>
</message>
@@ -3966,22 +3924,22 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtRectPropertyManager</name>
<message>
- <location line="-610"/>
+ <location line="-614"/>
<source>[(%1, %2), %3 x %4]</source>
<translation>[(%1, %2), %3 x %4]</translation>
</message>
<message>
- <location line="+119"/>
+ <location line="+120"/>
<source>X</source>
<translation>X</translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+7"/>
<source>Y</source>
<translation>Y</translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+7"/>
<source>Width</source>
<translation>宽度</translation>
</message>
@@ -3994,7 +3952,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtResourceEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="+46"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="+76"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 已经存在。
@@ -4006,7 +3964,7 @@ Do you want to replace it?</source>
<translation>这个文件好像不是一个资源文件;我们所期望的是“%2”,但是只找到了元素“%1”。</translation>
</message>
<message>
- <location line="+900"/>
+ <location line="+902"/>
<source>%1 [read-only]</source>
<translation>%1 [只读]</translation>
</message>
@@ -4298,7 +4256,7 @@ to
<context>
<name>QtResourceView</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+404"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+435"/>
<source>Size: %1 x %2
%3</source>
<translation>大小:%1 x %2
@@ -4331,7 +4289,7 @@ to
<context>
<name>QtSizeFPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-532"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-537"/>
<source>%1 x %2</source>
<translation>%1 x %2</translation>
</message>
@@ -4349,12 +4307,18 @@ to
<context>
<name>QtSizePolicyPropertyManager</name>
<message>
- <location line="+1707"/>
+ <location line="+1719"/>
+ <location line="+1"/>
+ <source>&lt;Invalid&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>[%1, %2, %3, %4]</source>
<translation>[%1, %2, %3, %4]</translation>
</message>
<message>
- <location line="+49"/>
+ <location line="+45"/>
<source>Horizontal Policy</source>
<translation>水平策略</translation>
</message>
@@ -4377,7 +4341,7 @@ to
<context>
<name>QtSizePropertyManager</name>
<message>
- <location line="-2288"/>
+ <location line="-2298"/>
<source>%1 x %2</source>
<translation>%1 x %2</translation>
</message>
@@ -4395,7 +4359,7 @@ to
<context>
<name>QtToolBarDialog</name>
<message>
- <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1214"/>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1244"/>
<source>Custom Toolbar</source>
<translation>自定义工具栏</translation>
</message>
@@ -4503,7 +4467,7 @@ to
<context>
<name>QtTreePropertyBrowser</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="+407"/>
+ <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="+442"/>
<source>Property</source>
<translation>属性</translation>
</message>
@@ -4516,7 +4480,7 @@ to
<context>
<name>SaveFormAsTemplate</name>
<message>
- <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="+42"/>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="+72"/>
<source>Add path...</source>
<translation>添加路径...</translation>
</message>
@@ -4581,7 +4545,7 @@ Do you want overwrite the template?</source>
<context>
<name>ScriptErrorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+33"/>
+ <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+63"/>
<source>An error occurred while running the scripts for &quot;%1&quot;:
</source>
<translation>在运行“%1”的脚本过程中发生一个错误:
@@ -4600,11 +4564,21 @@ Do you want overwrite the template?</source>
<source>Select signal</source>
<translation>选择信号</translation>
</message>
+ <message>
+ <location/>
+ <source>signal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location/>
+ <source>class</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SignalSlotConnection</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="-311"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="-358"/>
<source>SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4)</source>
<translation>SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4)</translation>
</message>
@@ -4645,7 +4619,7 @@ Do you want overwrite the template?</source>
<context>
<name>Spacer</name>
<message>
- <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="+245"/>
+ <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="+275"/>
<source>Horizontal Spacer &apos;%1&apos;, %2 x %3</source>
<translation>水平间隔器“%1”,%2 x %3</translation>
</message>
@@ -4658,7 +4632,7 @@ Do you want overwrite the template?</source>
<context>
<name>TemplateOptionsPage</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="+126"/>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="+156"/>
<source>Template Paths</source>
<extracomment>Tab in preferences dialog</extracomment>
<translation>模板路径</translation>
@@ -4700,29 +4674,27 @@ Do you want overwrite the template?</source>
<context>
<name>VersionDialog</name>
<message>
- <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+146"/>
+ <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+172"/>
<source>Qt Designer</source>
<translation>Qt 设计师</translation>
</message>
<message>
- <location line="-5"/>
+ <location line="-1"/>
<source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;Version %2</source>
<translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;版本 %2</translation>
</message>
<message>
- <location line="+2"/>
<source> Open Source Edition</source>
- <translation> 开源版本</translation>
+ <translation type="obsolete"> 开源版本</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+2"/>
<source>&lt;br/&gt;Qt Designer is a graphical user interface designer for Qt applications.&lt;br/&gt;</source>
<translation>&lt;br/&gt;Qt 设计师是用于开发 Qt 应用程序的图形用户界面设计师。&lt;br/&gt;</translation>
</message>
<message>
- <location line="+16"/>
<source>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.&lt;br/&gt;</source>
- <translation>我们已经允许您在 Qt 商业许可协议下使用本程序。有关细节,请阅读本软件发行中所带的 LICENSE 文件。</translation>
+ <translation type="obsolete">我们已经允许您在 Qt 商业许可协议下使用本程序。有关细节,请阅读本软件发行中所带的 LICENSE 文件。</translation>
</message>
<message>
<location line="+5"/>
@@ -4730,20 +4702,18 @@ Do you want overwrite the template?</source>
<translation>%1&lt;br/&gt;%2&lt;br/&gt;版权所有 2000-$THISYEAR$ Nokia Corporation and/or its subsidiary(-ies)。所有权利已被保留。&lt;br/&gt;&lt;br/&gt;本程序是在&lt;b&gt;没有任何担保(其中包括任何特定目的的设计、商业和适当性的担保)&lt;/b&gt;的条件下提供的。&lt;br/&gt; </translation>
</message>
<message>
- <location line="-17"/>
<source>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.&lt;br/&gt;&lt;br/&gt;You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel.html&lt;/a&gt; for an overview of Qt licensing.&lt;br/&gt;</source>
- <translation>这个版本的 Qt 设计师是 Qt 开源版本的一部分,用于开发开源应用程序。Qt 是一个用于跨平台应用程序开发的综合 C++ 框架。&lt;br/&gt;&lt;br/&gt;开发商业(闭源)应用程序,您需要商业 Qt 许可。对于 Qt 许可的概览,请参考&lt;tt&gt;http://qtsoftware.com/company/about/businessmodel&lt;/tt&gt;。</translation>
+ <translation type="obsolete">这个版本的 Qt 设计师是 Qt 开源版本的一部分,用于开发开源应用程序。Qt 是一个用于跨平台应用程序开发的综合 C++ 框架。&lt;br/&gt;&lt;br/&gt;开发商业(闭源)应用程序,您需要商业 Qt 许可。对于 Qt 许可的概览,请参考&lt;tt&gt;http://qtsoftware.com/company/about/businessmodel&lt;/tt&gt;。</translation>
</message>
<message>
- <location line="+8"/>
<source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.&lt;br/&gt;</source>
- <translation>我们已经允许您在 Qt %1 许可协议下使用本程序。有关细节,请阅读本软件发行中所带的许可协议文件。</translation>
+ <translation type="obsolete">我们已经允许您在 Qt %1 许可协议下使用本程序。有关细节,请阅读本软件发行中所带的许可协议文件。</translation>
</message>
</context>
<context>
<name>WidgetDataBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="+786"/>
+ <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="+814"/>
<source>The file contains a custom widget &apos;%1&apos; whose base class (%2) differs from the current entry in the widget database (%3). The widget database is left unchanged.</source>
<translation>这个文件包含了一个自定义窗口部件“%1”,其基类(%2)和窗口部件数据库(%3)的当前条目不同。这个窗口部件数据库并未做任何改动。</translation>
</message>
@@ -4751,22 +4721,22 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ActionEditor</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+111"/>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+143"/>
<source>Actions</source>
<translation>动作</translation>
</message>
<message>
- <location line="-15"/>
+ <location line="-16"/>
<source>New...</source>
<translation>新建...</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>Delete</source>
<translation>删除</translation>
</message>
<message>
- <location line="+305"/>
+ <location line="+307"/>
<source>New action</source>
<translation>新建动作</translation>
</message>
@@ -4776,12 +4746,17 @@ Do you want overwrite the template?</source>
<translation>编辑动作</translation>
</message>
<message>
- <location line="-408"/>
+ <location line="-411"/>
<source>Edit...</source>
<translation>编辑...</translation>
</message>
<message>
<location line="+1"/>
+ <source>Go to slot...</source>
+ <translation type="unfinished">转到槽...</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Copy</source>
<translation>复制</translation>
</message>
@@ -4801,7 +4776,7 @@ Do you want overwrite the template?</source>
<translation>选择全部</translation>
</message>
<message>
- <location line="+52"/>
+ <location line="+54"/>
<source>Configure Action Editor</source>
<translation>配置动作编辑器</translation>
</message>
@@ -4816,7 +4791,7 @@ Do you want overwrite the template?</source>
<translation>细节视图</translation>
</message>
<message>
- <location line="+406"/>
+ <location line="+412"/>
<source>Remove actions</source>
<translation>移除动作</translation>
</message>
@@ -4826,7 +4801,7 @@ Do you want overwrite the template?</source>
<translation>移除动作“%1”</translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+186"/>
<source>Used In</source>
<translation>用于</translation>
</message>
@@ -4841,7 +4816,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ActionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+64"/>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+95"/>
<source>Name</source>
<translation>名称</translation>
</message>
@@ -4874,7 +4849,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::BuddyEditor</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+235"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+265"/>
<source>Add buddy</source>
<translation>添加伙伴</translation>
</message>
@@ -4906,7 +4881,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::BuddyEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+47"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+77"/>
<source>Edit Buddies</source>
<translation>编辑伙伴</translation>
</message>
@@ -4914,7 +4889,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::BuddyEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+60"/>
<source>Edit Buddies</source>
<translation>编辑伙伴</translation>
</message>
@@ -4968,7 +4943,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::CodeDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="+69"/>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="+99"/>
<source>Save...</source>
<translation>保存...</translation>
</message>
@@ -5026,7 +5001,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ColorAction</name>
<message>
- <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+220"/>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+250"/>
<source>Text Color</source>
<translation>文本颜色</translation>
</message>
@@ -5034,7 +5009,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ComboBoxTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+42"/>
+ <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+72"/>
<source>Edit Items...</source>
<translation>编辑项目...</translation>
</message>
@@ -5073,7 +5048,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ConnectionModel</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="-470"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="-465"/>
<source>Sender</source>
<translation>发送者</translation>
</message>
@@ -5093,7 +5068,7 @@ Do you want overwrite the template?</source>
<translation>槽</translation>
</message>
<message>
- <location line="+97"/>
+ <location line="+90"/>
<source>&lt;sender&gt;</source>
<translation>&lt;发送者&gt;</translation>
</message>
@@ -5126,7 +5101,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ContainerWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+82"/>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+112"/>
<source>Insert Page Before Current Page</source>
<translation>在当前页之前插入页</translation>
</message>
@@ -5189,7 +5164,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::DesignerPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+614"/>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+644"/>
<location line="+6"/>
<source>AlignLeft</source>
<translation>AlignLeft</translation>
@@ -5330,7 +5305,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::DeviceProfileDialog</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="+33"/>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="+63"/>
<source>Device Profiles (*.%1)</source>
<translation>设备描述文件(*.%1)</translation>
</message>
@@ -5437,14 +5412,60 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::EmbeddedOptionsControl</name>
<message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="-256"/>
+ <source>Add a profile</source>
+ <translation type="unfinished">添加描述文件</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Edit the selected profile</source>
+ <translation type="unfinished">编辑选中的描述文件</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Delete the selected profile</source>
+ <translation type="unfinished">删除选中的描述文件</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Add Profile</source>
+ <translation type="unfinished">添加描述文件</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>New profile</source>
+ <translation type="unfinished">新建描述文件</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Edit Profile</source>
+ <translation type="unfinished">编辑描述文件</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Delete Profile</source>
+ <translation type="unfinished">删除描述文件</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Would you like to delete the profile &apos;%1&apos;?</source>
+ <translation type="unfinished">你要删除描述文件“%1”吗?</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Default</source>
+ <translation type="unfinished">默认</translation>
+ </message>
+ <message>
+ <location line="-160"/>
<source>None</source>
- <translation type="obsolete">无</translation>
+ <translation type="unfinished">无</translation>
</message>
</context>
<context>
<name>qdesigner_internal::FilterWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+155"/>
+ <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+185"/>
<source>&lt;Filter&gt;</source>
<translation>&lt;过滤器&gt;</translation>
</message>
@@ -5452,7 +5473,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormEditor</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="+160"/>
+ <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="+190"/>
<source>Resource File Changed</source>
<translation>资源文件已改变</translation>
</message>
@@ -5473,7 +5494,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1262"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1267"/>
<source>Edit contents</source>
<translation>编辑内容</translation>
</message>
@@ -5487,7 +5508,7 @@ Do you want overwrite the template?</source>
<translation type="obsolete">插入窗口部件%1</translation>
</message>
<message>
- <location line="+836"/>
+ <location line="+841"/>
<source>Resize</source>
<translation>重定义大小</translation>
</message>
@@ -5531,13 +5552,13 @@ and then paste again.</source>
<translation>布局</translation>
</message>
<message>
- <location line="+490"/>
+ <location line="+493"/>
<location line="+55"/>
<source>Drop widget</source>
<translation>丢弃窗口部件</translation>
</message>
<message numerus="yes">
- <location line="-1052"/>
+ <location line="-1055"/>
<source>Paste %n action(s)</source>
<translation>
<numerusform>粘贴 %n 个动作</numerusform>
@@ -5576,7 +5597,7 @@ and then paste again.</source>
<translation>选择祖先</translation>
</message>
<message>
- <location line="+573"/>
+ <location line="+576"/>
<source>A QMainWindow-based form does not contain a central widget.</source>
<translation>一个基于 QMainWindow 的窗体没有包含中央窗口部件。</translation>
</message>
@@ -5584,7 +5605,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::FormWindowBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+363"/>
+ <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+397"/>
<source>Delete</source>
<translation>删除</translation>
</message>
@@ -5597,7 +5618,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::FormWindowManager</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+337"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+368"/>
<source>Cu&amp;t</source>
<translation>剪切(&amp;T)</translation>
</message>
@@ -5679,7 +5700,7 @@ and then paste again.</source>
<translation>调整选中的窗口部件的大小</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+6"/>
<source>Lay Out &amp;Horizontally</source>
<translation>水平布局(&amp;H)</translation>
</message>
@@ -5729,7 +5750,7 @@ and then paste again.</source>
<translation>在一个分裂器中垂直布局选中的窗口部件</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+7"/>
<source>&amp;Break Layout</source>
<translation>打破布局(&amp;B)</translation>
</message>
@@ -5754,7 +5775,7 @@ and then paste again.</source>
<translation>窗体设定(&amp;S)...</translation>
</message>
<message>
- <location line="+75"/>
+ <location line="+78"/>
<source>Break Layout</source>
<translation>打破布局</translation>
</message>
@@ -5770,12 +5791,12 @@ and then paste again.</source>
<translation>无法创建窗体预览</translation>
</message>
<message>
- <location line="+324"/>
+ <location line="+341"/>
<source>Form Settings - %1</source>
<translation>窗体设定 - %1</translation>
</message>
<message>
- <location line="-539"/>
+ <location line="-560"/>
<source>Lay Out in a &amp;Form Layout</source>
<translation>在窗体布局中布局(&amp;F)</translation>
</message>
@@ -5785,7 +5806,7 @@ and then paste again.</source>
<translation>在一个窗体布局中布局选中的窗口部件</translation>
</message>
<message>
- <location line="+44"/>
+ <location line="+45"/>
<source>Si&amp;mplify Grid Layout</source>
<translation>简易网格布局(&amp;M)</translation>
</message>
@@ -5798,7 +5819,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::FormWindowSettings</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="+162"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="+193"/>
<source>None</source>
<translation>无</translation>
</message>
@@ -5849,7 +5870,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::GroupBoxTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+56"/>
+ <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+86"/>
<source>Change title...</source>
<translation>改变标题...</translation>
</message>
@@ -5865,7 +5886,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::IconSelector</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+210"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+211"/>
<source>The pixmap file &apos;%1&apos; cannot be read.</source>
<translation>无法读取像素映射文件“%1”。</translation>
</message>
@@ -5958,7 +5979,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::ItemListEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+349"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+358"/>
<source>Properties &amp;&lt;&lt;</source>
<translation>属性&amp;&lt;&lt;</translation>
</message>
@@ -6017,7 +6038,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::LabelTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+59"/>
+ <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+89"/>
<source>Change rich text...</source>
<translation>改变多信息文本...</translation>
</message>
@@ -6030,7 +6051,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::LineEditTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+54"/>
+ <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+84"/>
<source>Change text...</source>
<translation>改变文本...</translation>
</message>
@@ -6062,7 +6083,7 @@ and then paste again.</source>
<translation type="obsolete">U</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+43"/>
+ <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+73"/>
<source>New Item</source>
<translation>新建项目</translation>
</message>
@@ -6096,7 +6117,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::ListWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+41"/>
+ <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+71"/>
<source>Edit Items...</source>
<translation>编辑项目...</translation>
</message>
@@ -6132,7 +6153,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::MenuTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+60"/>
<source>Remove</source>
<translation>移除</translation>
</message>
@@ -6191,7 +6212,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::NewDynamicPropertyDialog</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+104"/>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+134"/>
<source>Set Property Name</source>
<translation>设置属性名称</translation>
</message>
@@ -6311,7 +6332,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::NewPromotedClassPanel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+66"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+96"/>
<source>Add</source>
<translation>添加</translation>
</message>
@@ -6349,7 +6370,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::ObjectInspector</name>
<message>
- <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+727"/>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+758"/>
<source>&amp;Find in Text...</source>
<translation>在文本中查找(&amp;F)...</translation>
</message>
@@ -6365,7 +6386,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::OrderDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+83"/>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+113"/>
<source>Index %1 (%2)</source>
<translation>索引 %1 (%2)</translation>
</message>
@@ -6446,7 +6467,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PaletteEditorButton</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+31"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+61"/>
<source>Change Palette</source>
<translation>改变调色板</translation>
</message>
@@ -6454,7 +6475,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PaletteModel</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+351"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+381"/>
<source>Color Role</source>
<translation>颜色角色</translation>
</message>
@@ -6506,15 +6527,61 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PlainTextEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+39"/>
+ <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+69"/>
<source>Edit text</source>
<translation>编辑文本</translation>
</message>
</context>
<context>
+ <name>qdesigner_internal::PluginDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="+72"/>
+ <source>Components</source>
+ <translation>组件</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Plugin Information</source>
+ <translation>插件信息</translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>Qt Designer couldn&apos;t find any plugins</source>
+ <translation>Qt 设计师无法找到任何插件</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Qt Designer found the following plugins</source>
+ <translation>Qt 设计师已经找到如下插件</translation>
+ </message>
+ <message>
+ <source>TextLabel</source>
+ <translation type="obsolete">文本标签</translation>
+ </message>
+ <message>
+ <location line="-52"/>
+ <source>Refresh</source>
+ <translation>刷新</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Scan for newly installed custom widget plugins.</source>
+ <translation>扫描新安装的自定义窗口部件插件。</translation>
+ </message>
+ <message>
+ <location line="+106"/>
+ <source>New custom widget plugins have been found.</source>
+ <translation>新的自定义窗口部件插件已经被找到。</translation>
+ </message>
+ <message>
+ <source>1</source>
+ <translation type="obsolete">1</translation>
+ </message>
+</context>
+<context>
<name>qdesigner_internal::PreviewActionGroup</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="+65"/>
+ <location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="+95"/>
<source>%1 Style</source>
<translation>%1 风格</translation>
</message>
@@ -6557,7 +6624,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PreviewDeviceSkin</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="+188"/>
+ <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="+218"/>
<source>&amp;Close</source>
<translation>关闭(&amp;C)</translation>
</message>
@@ -6658,7 +6725,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PromotionTaskMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="+55"/>
+ <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="+85"/>
<source>Promoted widgets...</source>
<translation>提升的窗口部件...</translation>
</message>
@@ -6686,7 +6753,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PropertyEditor</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+222"/>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+188"/>
<source>Add Dynamic Property...</source>
<translation>添加动态属性 ...</translation>
</message>
@@ -6742,7 +6809,7 @@ Please select another name.</source>
%2</translation>
</message>
<message>
- <location line="+534"/>
+ <location line="+533"/>
<source>Object: %1
Class: %2</source>
<translation>对象:%1
@@ -6752,7 +6819,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::PropertyLineEdit</name>
<message>
- <location filename="../tools/designer/src/lib/shared/propertylineedit.cpp" line="+58"/>
+ <location filename="../tools/designer/src/lib/shared/propertylineedit.cpp" line="+88"/>
<source>Insert line break</source>
<translation>插入换行符</translation>
</message>
@@ -6901,7 +6968,7 @@ Class: %2</source>
<translation>设置最大大小</translation>
</message>
<message>
- <location line="+236"/>
+ <location line="+235"/>
<source>Edit ToolTip</source>
<translation>编辑工具提示</translation>
</message>
@@ -6910,8 +6977,13 @@ Class: %2</source>
<source>Edit WhatsThis</source>
<translation>编辑这是什么</translation>
</message>
+ <message>
+ <location line="+144"/>
+ <source>no signals available</source>
+ <translation type="unfinished"></translation>
+ </message>
<message numerus="yes">
- <location line="+132"/>
+ <location line="+67"/>
<source>Set size constraint on %n widget(s)</source>
<translation>
<numerusform>为 %n 个窗口部件设置大小限定</numerusform>
@@ -6921,7 +6993,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QDesignerWidgetBox</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="+97"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="+127"/>
<location line="+13"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>未预期的元素&lt;%1&gt;</translation>
@@ -6977,7 +7049,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QtGradientStopsController</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="+147"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="+177"/>
<source>H</source>
<translation>H</translation>
</message>
@@ -7152,7 +7224,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::ScriptDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="+38"/>
+ <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="+68"/>
<source>Edit script</source>
<translation>编辑脚本</translation>
</message>
@@ -7202,7 +7274,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::SignalSlotEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="+46"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="+76"/>
<source>Edit Signals/Slots</source>
<translation>编辑信号/槽</translation>
</message>
@@ -7215,7 +7287,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::SignalSlotEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="+32"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="+62"/>
<source>Edit Signals/Slots</source>
<translation>编辑信号/槽</translation>
</message>
@@ -7223,7 +7295,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::StatusBarTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+55"/>
+ <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+85"/>
<source>Remove</source>
<translation>移除</translation>
</message>
@@ -7231,7 +7303,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::StringListEditorButton</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="+30"/>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="+60"/>
<source>Change String List</source>
<translation>改变字符串列表</translation>
</message>
@@ -7239,7 +7311,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::StyleSheetEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="+71"/>
+ <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="+101"/>
<source>Edit Style Sheet</source>
<translation>编辑样式表</translation>
</message>
@@ -7278,7 +7350,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TabOrderEditor</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="+333"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="+363"/>
<source>Start from Here</source>
<translation>从这里开始</translation>
</message>
@@ -7306,7 +7378,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TabOrderEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="+47"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="+77"/>
<source>Edit Tab Order</source>
<translation>编辑 Tab 顺序</translation>
</message>
@@ -7314,7 +7386,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TabOrderEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="+31"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="+61"/>
<source>Edit Tab Order</source>
<translation>编辑 Tab 顺序</translation>
</message>
@@ -7356,7 +7428,7 @@ Class: %2</source>
<translation type="obsolete">表格行</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+44"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+74"/>
<source>New Row</source>
<translation>新建行</translation>
</message>
@@ -7431,7 +7503,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TableWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+38"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+68"/>
<source>Edit Items...</source>
<translation>编辑项目...</translation>
</message>
@@ -7462,7 +7534,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TextEditTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="+33"/>
+ <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="+63"/>
<source>Change HTML...</source>
<translation>改变HTML...</translation>
</message>
@@ -7508,7 +7580,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::ToolBarEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="+209"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="+239"/>
<source>Insert Separator</source>
<translation>插入分隔符</translation>
</message>
@@ -7558,7 +7630,7 @@ Class: %2</source>
<translation>树项目</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+50"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+80"/>
<source>&amp;Columns</source>
<translation>列(&amp;C)</translation>
</message>
@@ -7705,7 +7777,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TreeWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+37"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+67"/>
<source>Edit Items...</source>
<translation>编辑项目...</translation>
</message>
@@ -7713,7 +7785,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetBox</name>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="+83"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="+113"/>
<source>Warning: Widget creation failed in the widget box. This could be caused by invalid custom widget XML.</source>
<translation>警告:部件框中的部件创建失败。可能是由于无效的自定义部件XML引起的。</translation>
</message>
@@ -7748,17 +7820,17 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetBoxTreeWidget</name>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="-267"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="-268"/>
<source>Scratchpad</source>
<translation>便条</translation>
</message>
<message>
- <location line="+360"/>
+ <location line="+370"/>
<source>Custom Widgets</source>
<translation>自定义窗口部件</translation>
</message>
<message>
- <location line="+261"/>
+ <location line="+260"/>
<source>Expand all</source>
<translation>全部展开</translation>
</message>
@@ -7799,7 +7871,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="+41"/>
+ <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="+71"/>
<source>Edit Widgets</source>
<translation>编辑窗口部件</translation>
</message>
@@ -7807,12 +7879,12 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetFactory</name>
<message>
- <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="+237"/>
+ <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="+267"/>
<source>The custom widget factory registered for widgets of class %1 returned 0.</source>
<translation>为类 %1 的窗口部件注册的自定义窗口部件工厂返回 0。</translation>
</message>
<message>
- <location line="+40"/>
+ <location line="+44"/>
<source>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.</source>
<translation>在使用为类 %1 的窗口部件注册的自定义窗口部件工厂创建一个窗口部件时,发生了类名称不匹配。它返回了一个类 %2 的窗口部件。</translation>
</message>
@@ -7855,7 +7927,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>qdesigner_internal::ZoomMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/zoomwidget.cpp" line="+54"/>
+ <location filename="../tools/designer/src/lib/shared/zoomwidget.cpp" line="+84"/>
<source>%1 %</source>
<extracomment>Zoom factor</extracomment>
<translation>%1 %</translation>
diff --git a/translations/designer_zh_TW.ts b/translations/designer_zh_TW.ts
index 6dfd546..83c3c66 100644
--- a/translations/designer_zh_TW.ts
+++ b/translations/designer_zh_TW.ts
@@ -1,25 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="zh_TW">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_TW">
<context>
<name></name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="43"/>
+ <location filename="../tools/designer/src/components/propertyeditor/previewframe.cpp" line="+73"/>
<source>The moose in the noose
ate the goose who was loose.</source>
<translation>The moose in the noose
ate the goose who was loose.</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="624"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+647"/>
<source>&lt;object&gt;</source>
<translation>&lt;物件&gt;</translation>
</message>
<message>
+ <location line="+18"/>
<source>&lt;signal&gt;</source>
<translation>&lt;信號&gt;</translation>
</message>
<message>
+ <location line="+0"/>
<source>&lt;slot&gt;</source>
<translation>&lt;信號槽&gt;</translation>
</message>
@@ -42,23 +44,27 @@ ate the goose who was loose.</translation>
<context>
<name>AbstractFindWidget</name>
<message>
- <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="97"/>
+ <location filename="../tools/shared/findwidget/abstractfindwidget.cpp" line="+127"/>
<source>&amp;Previous</source>
<translation>前一個(&amp;P)</translation>
</message>
<message>
+ <location line="+8"/>
<source>&amp;Next</source>
<translation>下一個(&amp;N)</translation>
</message>
<message>
+ <location line="+24"/>
<source>&amp;Case sensitive</source>
<translation>區分大小寫(&amp;C)</translation>
</message>
<message>
+ <location line="+8"/>
<source>Whole &amp;words</source>
<translation>整個單字(&amp;W)</translation>
</message>
<message>
+ <location line="+12"/>
<source>&lt;img src=&quot;:/trolltech/shared/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
<translation>&lt;img src=&quot;:/trolltech/shared/images/wrap.png&quot;&gt;&amp;nbsp;搜尋折回</translation>
</message>
@@ -66,14 +72,17 @@ ate the goose who was loose.</translation>
<context>
<name>AddLinkDialog</name>
<message>
+ <location filename="../tools/designer/src/lib/shared/addlinkdialog.ui"/>
<source>Insert Link</source>
<translation>插入連結</translation>
</message>
<message>
+ <location/>
<source>Title:</source>
<translation>標題:</translation>
</message>
<message>
+ <location/>
<source>URL:</source>
<translation>網址:</translation>
</message>
@@ -81,7 +90,7 @@ ate the goose who was loose.</translation>
<context>
<name>AppFontDialog</name>
<message>
- <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="388"/>
+ <location filename="../tools/designer/src/designer/appfontdialog.cpp" line="+418"/>
<source>Additional Fonts</source>
<translation>額外的字型</translation>
</message>
@@ -89,30 +98,37 @@ ate the goose who was loose.</translation>
<context>
<name>AppFontManager</name>
<message>
+ <location line="-267"/>
<source>&apos;%1&apos; is not a file.</source>
<translation>%1 不是一個檔案。</translation>
</message>
<message>
+ <location line="+4"/>
<source>The font file &apos;%1&apos; does not have read permissions.</source>
<translation>您沒有讀取字型檔 %1 的權限。</translation>
</message>
<message>
+ <location line="+8"/>
<source>The font file &apos;%1&apos; is already loaded.</source>
<translation>字型檔 %1 已載入。</translation>
</message>
<message>
+ <location line="+7"/>
<source>The font file &apos;%1&apos; could not be loaded.</source>
<translation>無法載入字型檔 %1。</translation>
</message>
<message>
+ <location line="+17"/>
<source>&apos;%1&apos; is not a valid font id.</source>
<translation>%1 不是一個合法的字型代碼。</translation>
</message>
<message>
+ <location line="+11"/>
<source>There is no loaded font matching the id &apos;%1&apos;.</source>
<translation>已載入的字型中沒有一個符合代碼 %1。</translation>
</message>
<message>
+ <location line="+15"/>
<source>The font &apos;%1&apos; (%2) could not be unloaded.</source>
<translation>無法卸載字型 %1(%2)。</translation>
</message>
@@ -120,42 +136,52 @@ ate the goose who was loose.</translation>
<context>
<name>AppFontWidget</name>
<message>
+ <location line="+26"/>
<source>Fonts</source>
<translation>字型</translation>
</message>
<message>
+ <location line="+58"/>
<source>Add font files</source>
<translation>新增字型檔</translation>
</message>
<message>
+ <location line="+5"/>
<source>Remove current font file</source>
<translation>移除現有的字型檔</translation>
</message>
<message>
+ <location line="+4"/>
<source>Remove all font files</source>
<translation>移除所有字型檔</translation>
</message>
<message>
+ <location line="+19"/>
<source>Add Font Files</source>
<translation>新增字型檔</translation>
</message>
<message>
+ <location line="+1"/>
<source>Font files (*.ttf)</source>
<translation>字型檔(*.ttf)</translation>
</message>
<message>
+ <location line="+13"/>
<source>Error Adding Fonts</source>
<translation>新增字型時發生錯誤</translation>
</message>
<message>
+ <location line="+24"/>
<source>Error Removing Fonts</source>
<translation>移除字型時發生錯誤</translation>
</message>
<message>
+ <location line="+22"/>
<source>Remove Fonts</source>
<translation>移除字型</translation>
</message>
<message>
+ <location line="+0"/>
<source>Would you like to remove all fonts?</source>
<translation>您要移除所有的字型嗎?</translation>
</message>
@@ -163,10 +189,12 @@ ate the goose who was loose.</translation>
<context>
<name>AppearanceOptionsWidget</name>
<message>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.ui"/>
<source>Form</source>
<translation>表單</translation>
</message>
<message>
+ <location/>
<source>User Interface Mode</source>
<translation>使用者介面模式</translation>
</message>
@@ -174,15 +202,17 @@ ate the goose who was loose.</translation>
<context>
<name>AssistantClient</name>
<message>
- <location filename="../tools/designer/src/designer/assistantclient.cpp" line="70"/>
+ <location filename="../tools/designer/src/designer/assistantclient.cpp" line="+100"/>
<source>Unable to send request: Assistant is not responding.</source>
<translation>無法傳送要求:小幫手未回應。</translation>
</message>
<message>
+ <location line="+39"/>
<source>The binary &apos;%1&apos; does not exist.</source>
<translation>執行檔 %1 不存在。</translation>
</message>
<message>
+ <location line="+9"/>
<source>Unable to launch assistant (%1).</source>
<translation>無法啟動小幫手(%1)。</translation>
</message>
@@ -190,23 +220,27 @@ ate the goose who was loose.</translation>
<context>
<name>BrushManagerProxy</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="191"/>
+ <location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+221"/>
<source>The element &apos;%1&apos; is missing the required attribute &apos;%2&apos;.</source>
<translation>元素 %1 中缺少必須的屬性 %2。</translation>
</message>
<message>
+ <location line="+11"/>
<source>Empty brush name encountered.</source>
<translation>遇到空白的筆刷名稱。</translation>
</message>
<message>
+ <location line="+10"/>
<source>An unexpected element &apos;%1&apos; was encountered.</source>
<translation>遇到未預期的元素 %1。</translation>
</message>
<message>
+ <location line="+7"/>
<source>An error occurred when reading the brush definition file &apos;%1&apos; at line line %2, column %3: %4</source>
<translation>讀取筆刷定義檔 %1 時發生錯誤,在第 %2 行第 %3 欄:%4</translation>
</message>
<message>
+ <location line="+43"/>
<source>An error occurred when reading the resource file &apos;%1&apos; at line %2, column %3: %4</source>
<translation>讀取資源檔 %1 時發生錯誤,在第 %2 行第 %3 欄:%4</translation>
</message>
@@ -214,75 +248,92 @@ ate the goose who was loose.</translation>
<context>
<name>BrushPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="22"/>
+ <location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="+52"/>
<source>No brush</source>
<translation>沒有筆刷</translation>
</message>
<message>
+ <location line="+1"/>
<source>Solid</source>
<translation>固體</translation>
</message>
<message>
+ <location line="+1"/>
<source>Dense 1</source>
<translation>濃稠 1</translation>
</message>
<message>
+ <location line="+1"/>
<source>Dense 2</source>
<translation>濃稠 2</translation>
</message>
<message>
+ <location line="+1"/>
<source>Dense 3</source>
<translation>濃稠 3</translation>
</message>
<message>
+ <location line="+1"/>
<source>Dense 4</source>
<translation>濃稠 4</translation>
</message>
<message>
+ <location line="+1"/>
<source>Dense 5</source>
<translation>濃稠 5</translation>
</message>
<message>
+ <location line="+1"/>
<source>Dense 6</source>
<translation>濃稠 6</translation>
</message>
<message>
+ <location line="+1"/>
<source>Dense 7</source>
<translation>濃稠 7</translation>
</message>
<message>
+ <location line="+1"/>
<source>Horizontal</source>
<translation>水平</translation>
</message>
<message>
+ <location line="+1"/>
<source>Vertical</source>
<translation>垂直</translation>
</message>
<message>
+ <location line="+1"/>
<source>Cross</source>
<translation>交叉</translation>
</message>
<message>
+ <location line="+1"/>
<source>Backward diagonal</source>
<translation>往回斜線</translation>
</message>
<message>
+ <location line="+1"/>
<source>Forward diagonal</source>
<translation>往前斜線</translation>
</message>
<message>
+ <location line="+1"/>
<source>Crossing diagonal</source>
<translation>交叉斜線</translation>
</message>
<message>
+ <location line="+83"/>
<source>Style</source>
<translation>樣式</translation>
</message>
<message>
+ <location line="+11"/>
<source>Color</source>
<translation>顏色</translation>
</message>
<message>
+ <location line="+105"/>
<source>[%1, %2]</source>
<translation>[%1, %2]</translation>
</message>
@@ -290,132 +341,180 @@ ate the goose who was loose.</translation>
<context>
<name>Command</name>
<message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="+208"/>
+ <location line="+258"/>
<source>Change signal</source>
<translation>變更信號</translation>
</message>
<message>
+ <location line="-256"/>
+ <location line="+268"/>
<source>Change slot</source>
<translation>變更信號槽</translation>
</message>
<message>
+ <location line="-220"/>
+ <source>Change signal-slot connection</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+234"/>
<source>Change sender</source>
<translation>變更發送者</translation>
</message>
<message>
+ <location line="+18"/>
<source>Change receiver</source>
<translation>變更接收者</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="113"/>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+143"/>
<source>Add connection</source>
<translation>新增連線</translation>
</message>
<message>
+ <location line="+54"/>
<source>Adjust connection</source>
<translation>調整連線</translation>
</message>
<message>
+ <location line="+19"/>
<source>Delete connections</source>
<translation>刪除連線</translation>
</message>
<message>
+ <location line="+58"/>
<source>Change source</source>
<translation>變更來源</translation>
</message>
<message>
+ <location line="+2"/>
<source>Change target</source>
<translation>變更目標</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="117"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="+149"/>
<source>Insert &apos;%1&apos;</source>
<translation>插入 &apos;%1&apos;</translation>
</message>
<message>
+ <location line="+167"/>
<source>Raise &apos;%1&apos;</source>
<translation>提升 &apos;%1&apos;</translation>
</message>
<message>
+ <location line="+33"/>
<source>Lower &apos;%1&apos;</source>
<translation>降低 &apos;%1&apos;</translation>
</message>
<message>
+ <location line="+113"/>
<source>Delete &apos;%1&apos;</source>
<translation>刪除 &apos;%1&apos;</translation>
</message>
<message>
+ <location line="+119"/>
<source>Reparent &apos;%1&apos;</source>
<translation>重定義父物件 &apos;%1&apos;</translation>
</message>
<message>
+ <location line="+53"/>
<source>Promote to custom widget</source>
<translation>提升到自訂元件</translation>
</message>
<message>
+ <location line="+42"/>
<source>Demote from custom widget</source>
<translation>從自訂元件降級</translation>
</message>
<message>
+ <location line="+79"/>
<source>Lay out using grid</source>
<translation>使用格線佈局</translation>
</message>
<message>
+ <location line="+3"/>
<source>Lay out vertically</source>
<translation>垂直佈局</translation>
</message>
<message>
+ <location line="+3"/>
<source>Lay out horizontally</source>
<translation>水平佈局</translation>
</message>
<message>
+ <location line="+41"/>
<source>Break layout</source>
<translation>打斷佈局</translation>
</message>
<message>
+ <location line="+240"/>
+ <location line="+235"/>
+ <location line="+78"/>
<source>Move Page</source>
<translation>移動頁面</translation>
</message>
<message>
+ <location line="-279"/>
+ <location line="+123"/>
+ <location line="+188"/>
+ <location line="+666"/>
<source>Delete Page</source>
<translation>刪除頁面</translation>
</message>
<message>
+ <location line="-939"/>
+ <location line="+123"/>
<source>Page</source>
<translation>頁面</translation>
</message>
<message>
+ <location line="-121"/>
+ <location line="+309"/>
+ <location line="+672"/>
<source>page</source>
<translation>頁面</translation>
</message>
<message>
+ <location line="-978"/>
+ <location line="+123"/>
+ <location line="+186"/>
+ <location line="+667"/>
<source>Insert Page</source>
<translation>插入頁面</translation>
</message>
<message>
+ <location line="-856"/>
<source>tab</source>
<translation>定位點</translation>
</message>
<message>
+ <location line="+209"/>
<source>Change Tab order</source>
<translation>變更定位順序</translation>
</message>
<message>
+ <location line="+28"/>
<source>Create Menu Bar</source>
<translation>建立選單列</translation>
</message>
<message>
+ <location line="+44"/>
<source>Delete Menu Bar</source>
<translation>刪除選單列</translation>
</message>
<message>
+ <location line="+47"/>
<source>Create Status Bar</source>
<translation>建立狀態列</translation>
</message>
<message>
+ <location line="+42"/>
<source>Delete Status Bar</source>
<translation>刪除狀態列</translation>
</message>
<message>
+ <location line="+45"/>
<source>Add Tool Bar</source>
<translation>新增工具列</translation>
</message>
@@ -424,14 +523,17 @@ ate the goose who was loose.</translation>
<translation type="obsolete">設定嵌入視窗元件</translation>
</message>
<message>
+ <location line="+59"/>
<source>Add Dock Window</source>
<translation>新增嵌入視窗</translation>
</message>
<message>
+ <location line="+53"/>
<source>Adjust Size of &apos;%1&apos;</source>
<translation>調整 &apos;%1&apos; 的大小</translation>
</message>
<message>
+ <location line="+152"/>
<source>Change Layout Item Geometry</source>
<translation>變更佈局項目位置</translation>
</message>
@@ -440,56 +542,70 @@ ate the goose who was loose.</translation>
<translation type="obsolete">插入列</translation>
</message>
<message>
+ <location line="+576"/>
<source>Change Table Contents</source>
<translation>變更表格內容</translation>
</message>
<message>
+ <location line="+107"/>
<source>Change Tree Contents</source>
<translation>變更樹狀圖內容</translation>
</message>
<message>
+ <location line="+74"/>
+ <location line="+146"/>
<source>Add action</source>
<translation>新增動作</translation>
</message>
<message>
+ <location line="-120"/>
+ <location line="+126"/>
<source>Remove action</source>
<translation>移除動作</translation>
</message>
<message>
+ <location line="+53"/>
<source>Add menu</source>
<translation>新增選單</translation>
</message>
<message>
+ <location line="+6"/>
<source>Remove menu</source>
<translation>移除選單</translation>
</message>
<message>
+ <location line="+6"/>
<source>Create submenu</source>
<translation>建立子選單</translation>
</message>
<message>
+ <location line="+31"/>
<source>Delete Tool Bar</source>
<translation>刪除工具列</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="1125"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1161"/>
<source>Set action text</source>
<translation>設定動作文字</translation>
</message>
<message>
+ <location line="+3"/>
<source>Insert action</source>
<translation>插入動作</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="861"/>
+ <location line="+89"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+891"/>
<source>Move action</source>
<translation>移動動作</translation>
</message>
<message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-404"/>
<source>Change Title</source>
<translation>變更標題</translation>
</message>
<message>
+ <location line="+2"/>
<source>Insert Menu</source>
<translation>插入選單</translation>
</message>
@@ -544,119 +660,142 @@ ate the goose who was loose.</translation>
</translation>
</message>
<message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="-2641"/>
<source>Change Z-order of &apos;%1&apos;</source>
<translation>變更 %1 的 Z 順序</translation>
</message>
<message>
+ <location line="+625"/>
<source>Simplify Grid Layout</source>
<translation>簡化格線佈局</translation>
</message>
<message>
+ <location line="+916"/>
<source>Change Form Layout Item Geometry</source>
<translation>變更表單佈局項目的位置</translation>
</message>
<message>
+ <location line="+233"/>
<source>Delete Subwindow</source>
<translation>刪除子視窗</translation>
</message>
<message>
+ <location line="+44"/>
<source>Insert Subwindow</source>
<translation>插入子視窗</translation>
</message>
<message>
+ <location line="+2"/>
<source>subwindow</source>
<translation>子視窗</translation>
</message>
<message>
+ <location line="+1"/>
<source>Subwindow</source>
<translation>子視窗</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="172"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+202"/>
<source>Change signals/slots</source>
<translation>變更信號/信號槽</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="195"/>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+225"/>
<source>Create button group</source>
<translation>建立按鍵群組</translation>
</message>
<message>
+ <location line="+27"/>
<source>Break button group</source>
<translation>打破按鍵群組</translation>
</message>
<message>
+ <location line="+9"/>
<source>Break button group &apos;%1&apos;</source>
<translation>打破按鍵群組 %1</translation>
</message>
<message>
+ <location line="+17"/>
<source>Add buttons to group</source>
<translation>將按鍵新增到群組</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="373"/>
+ <location line="+8"/>
+ <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+458"/>
<source>Add &apos;%1&apos; to &apos;%2&apos;</source>
+ <extracomment>Command description for adding buttons to a QButtonGroup</extracomment>
<translation>將 %1 新增到 %2</translation>
</message>
<message>
+ <location line="+14"/>
<source>Remove buttons from group</source>
<translation>將按鍵從群組內移除</translation>
</message>
<message>
+ <location line="+15"/>
<source>Remove &apos;%1&apos; from &apos;%2&apos;</source>
+ <extracomment>Command description for removing buttons from a QButtonGroup</extracomment>
<translation>將 %1 從 %2 內移除</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="318"/>
+ <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+349"/>
<source>Morph %1/&apos;%2&apos; into %3</source>
+ <extracomment>MorphWidgetCommand description</extracomment>
<translation>將 %1/%2 變形為 %3</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="124"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_command2.cpp" line="+154"/>
<source>Change layout of &apos;%1&apos; from %2 to %3</source>
<translation>將 %1 的佈局由 %2 變為 %3</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="25"/>
+ <location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="+55"/>
<source>Change script</source>
<translation>變更文稿</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="1176"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1209"/>
<source>Changed &apos;%1&apos; of &apos;%2&apos;</source>
<translation>已變更 %1 個,共 %2 個</translation>
</message>
<message numerus="yes">
+ <location line="+3"/>
<source>Changed &apos;%1&apos; of %n objects</source>
<translation>
<numerusform>已變更 %1 個,共 %n 個物件</numerusform>
</translation>
</message>
<message>
+ <location line="+76"/>
<source>Reset &apos;%1&apos; of &apos;%2&apos;</source>
<translation>已重置 %1 個,共 %2 個</translation>
</message>
<message numerus="yes">
+ <location line="+3"/>
<source>Reset &apos;%1&apos; of %n objects</source>
<translation>
<numerusform>已重置 %1 個,共 %n 個物件</numerusform>
</translation>
</message>
<message>
+ <location line="+89"/>
<source>Add dynamic property &apos;%1&apos; to &apos;%2&apos;</source>
<translation>新增動態屬性 %1 到 %2</translation>
</message>
<message numerus="yes">
+ <location line="+3"/>
<source>Add dynamic property &apos;%1&apos; to %n objects</source>
<translation>
<numerusform>新增動態屬性 %1 到 %n 個物件</numerusform>
</translation>
</message>
<message>
+ <location line="+86"/>
<source>Remove dynamic property &apos;%1&apos; from &apos;%2&apos;</source>
<translation>從 %2 移除動態屬性 %1</translation>
</message>
<message numerus="yes">
+ <location line="+3"/>
<source>Remove dynamic property &apos;%1&apos; from %n objects</source>
<translation>
<numerusform>從 %n 個物件移除動態屬性 %1</numerusform>
@@ -666,18 +805,22 @@ ate the goose who was loose.</translation>
<context>
<name>ConnectDialog</name>
<message>
+ <location filename="../tools/designer/src/components/signalsloteditor/connectdialog.ui"/>
<source>Configure Connection</source>
<translation>設定連線</translation>
</message>
<message>
+ <location/>
<source>GroupBox</source>
<translation>群組盒</translation>
</message>
<message>
+ <location/>
<source>Edit...</source>
<translation>編輯...</translation>
</message>
<message>
+ <location/>
<source>Show signals and slots inherited from QWidget</source>
<translation>顯示從 QWidget 繼承的信號與信號槽</translation>
</message>
@@ -685,23 +828,28 @@ ate the goose who was loose.</translation>
<context>
<name>DPI_Chooser</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="39"/>
+ <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+69"/>
<source>Standard (96 x 96)</source>
+ <extracomment>Embedded device standard screen resolution</extracomment>
<translation>標準(96 x 96)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Greenphone (179 x 185)</source>
+ <extracomment>Embedded device screen resolution</extracomment>
<translation>綠色手機(179 x 185)</translation>
</message>
<message>
+ <location line="+2"/>
<source>High (192 x 192)</source>
+ <extracomment>Embedded device high definition screen resolution</extracomment>
<translation>高(192 x 192)</translation>
</message>
</context>
<context>
<name>Designer</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="409"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+439"/>
<source>Qt Designer</source>
<translation>Qt 設計家</translation>
</message>
@@ -710,52 +858,64 @@ ate the goose who was loose.</translation>
<translation type="obsolete">此檔案包含最上層的間隔器。&lt;br&gt;它們&lt;b&gt;尚未&lt;/b&gt;存到表單中。&lt;br&gt;也許您忘了建立佈局?</translation>
</message>
<message>
+ <location line="+10"/>
<source>This file contains top level spacers.&lt;br&gt;They have &lt;b&gt;NOT&lt;/b&gt; been saved into the form.</source>
<translation>此檔案包含最上層的間隔器。&lt;br&gt;它們&lt;b&gt;尚未&lt;/b&gt;存到表單中。</translation>
</message>
<message>
+ <location line="+2"/>
<source>Perhaps you forgot to create a layout?</source>
<translation>也許您忘了建立佈局?</translation>
</message>
<message>
+ <location line="+173"/>
<source>Invalid ui file: The root element &lt;ui&gt; is missing.</source>
<translation>不合法的 ui 檔。沒有根元素 &lt;ui&gt;。</translation>
</message>
<message>
+ <location line="+6"/>
<source>An error has occurred while reading the ui file at line %1, column %2: %3</source>
<translation>讀取 ui 檔時發生錯誤,在第 %1 行,第 %2 欄:%3</translation>
</message>
<message>
+ <location line="+26"/>
<source>This file cannot be read because it was created using %1.</source>
<translation>此檔案無法讀取,因為是用 %1 建立的。</translation>
</message>
<message>
+ <location line="+14"/>
<source>This file was created using Designer from Qt-%1 and cannot be read.</source>
<translation>此檔案是用 Qt-%1 的設計家建立的,因此無法讀取。</translation>
</message>
<message>
+ <location line="+102"/>
<source>This file cannot be read because the extra info extension failed to load.</source>
<translation>此檔案無法讀取,因為載入額外的資訊延伸時失敗。</translation>
</message>
<message>
+ <location line="-72"/>
<source>The converted file could not be read.</source>
<translation>轉換後的檔案無法讀取。</translation>
</message>
<message>
+ <location line="+4"/>
<source>This file was created using Designer from Qt-%1 and will be converted to a new form by Qt Designer.</source>
<translation>此檔案是用 Qt-%1 的設計家建立的,將會自動轉換成新式的表單。</translation>
</message>
<message>
+ <location line="+3"/>
<source>The old form has not been touched, but you will have to save the form under a new name.</source>
<translation>舊表單不會做任何更動,但是您必須另存新檔。</translation>
</message>
<message>
+ <location line="+11"/>
<source>This file was created using Designer from Qt-%1 and could not be read:
%2</source>
<translation>此檔案是用 Qt-%1 的設計家建立的,因此無法讀取:
%2</translation>
</message>
<message>
+ <location line="+3"/>
<source>Please run it through &lt;b&gt;uic3&amp;nbsp;-convert&lt;/b&gt; to convert it to Qt-4&apos;s ui format.</source>
<translation>請執行 &lt;b&gt;uic3 &amp;nbsp; -convert&lt;/b&gt; 將它轉換成 Qt 4 的 ui 格式。</translation>
</message>
@@ -770,19 +930,22 @@ The old form has been untouched, but you will have to save this form under a new
<translation type="obsolete">此檔案是用 Qt-%1 的設計家建立的,因此無法讀取。&lt;br&gt;%2&lt;br&gt;請先用 &lt;b&gt;uic3 -convert&lt;/b&gt; 將它轉換成 Qt-4 的格式。</translation>
</message>
<message>
+ <location line="+746"/>
<source>Custom Widgets</source>
<translation>自訂元件</translation>
</message>
<message>
+ <location line="+12"/>
<source>Promoted Widgets</source>
<translation>已提升的元件</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="602"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="+682"/>
<source>Unable to launch %1.</source>
<translation>無法啟動 %1。</translation>
</message>
<message>
+ <location line="+4"/>
<source>%1 timed out.</source>
<translation>%1 逾時。</translation>
</message>
@@ -812,10 +975,12 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>DesignerMetaEnum</name>
<message>
+ <location line="-513"/>
<source>%1 is not a valid enumeration value of &apos;%2&apos;.</source>
<translation>%1 不是 %2 的合法列舉值。</translation>
</message>
<message>
+ <location line="+5"/>
<source>&apos;%1&apos; could not be converted to an enumeration value of type &apos;%2&apos;.</source>
<translation>%1 無法轉換為 %2 型態的列舉值。</translation>
</message>
@@ -823,6 +988,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>DesignerMetaFlags</name>
<message>
+ <location line="+78"/>
<source>&apos;%1&apos; could not be converted to a flag value of type &apos;%2&apos;.</source>
<translation>%1 無法轉換為 %2 型態的旗標值。</translation>
</message>
@@ -830,11 +996,13 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>DeviceProfile</name>
<message>
- <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="367"/>
+ <location filename="../tools/designer/src/lib/shared/deviceprofile.cpp" line="+397"/>
<source>&apos;%1&apos; is not a number.</source>
+ <extracomment>Reading a number for an embedded device profile</extracomment>
<translation>%1 不是一個數字。</translation>
</message>
<message>
+ <location line="+23"/>
<source>An invalid tag &lt;%1&gt; was encountered.</source>
<translation>遇到不合法的標籤 &lt;%1&gt;。</translation>
</message>
@@ -842,22 +1010,27 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>DeviceProfileDialog</name>
<message>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.ui"/>
<source>&amp;Family</source>
<translation>家族(&amp;F)</translation>
</message>
<message>
+ <location/>
<source>&amp;Point Size</source>
<translation>點大小(&amp;P)</translation>
</message>
<message>
+ <location/>
<source>Style</source>
<translation>樣式</translation>
</message>
<message>
+ <location/>
<source>Device DPI</source>
<translation>裝置的 DPI</translation>
</message>
<message>
+ <location/>
<source>Name</source>
<translation>名稱</translation>
</message>
@@ -865,47 +1038,57 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>DeviceSkin</name>
<message>
- <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="49"/>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
<source>The image file &apos;%1&apos; could not be loaded.</source>
<translation>無法載入影像檔 %1。</translation>
</message>
<message>
+ <location line="+64"/>
<source>The skin directory &apos;%1&apos; does not contain a configuration file.</source>
<translation>外觀目錄 %1 沒有設定檔。</translation>
</message>
<message>
+ <location line="+5"/>
<source>The skin configuration file &apos;%1&apos; could not be opened.</source>
<translation>外觀設定檔 %1 無法開啟。</translation>
</message>
<message>
+ <location line="+6"/>
<source>The skin configuration file &apos;%1&apos; could not be read: %2</source>
<translation>外觀設定檔 %1 無法讀取:%2</translation>
</message>
<message>
+ <location line="+70"/>
<source>Syntax error: %1</source>
<translation>語法錯誤:%1</translation>
</message>
<message>
+ <location line="+21"/>
<source>The skin &quot;up&quot; image file &apos;%1&apos; does not exist.</source>
<translation>外觀中的「上」影像檔 %1 不存在。</translation>
</message>
<message>
+ <location line="+10"/>
<source>The skin &quot;down&quot; image file &apos;%1&apos; does not exist.</source>
<translation>外觀中的「下」影像檔 %1 不存在。</translation>
</message>
<message>
+ <location line="+11"/>
<source>The skin &quot;closed&quot; image file &apos;%1&apos; does not exist.</source>
<translation>外觀中的「關閉」影像檔 %1 不存在。</translation>
</message>
<message>
+ <location line="+12"/>
<source>The skin cursor image file &apos;%1&apos; does not exist.</source>
<translation>外觀中的游標影像檔 %1 不存在。</translation>
</message>
<message>
+ <location line="+25"/>
<source>Syntax error in area definition: %1</source>
<translation>區域定義中有語法錯誤:%1</translation>
</message>
<message>
+ <location line="+38"/>
<source>Mismatch in number of areas, expected %1, got %2.</source>
<translation>區域數量不符。應為 %1,實際上為 %2。</translation>
</message>
@@ -913,59 +1096,64 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>EmbeddedOptionsControl</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="130"/>
<source>None</source>
- <translation>無</translation>
+ <translation type="obsolete">無</translation>
</message>
<message>
<source>Add a profile</source>
- <translation>新增設定檔</translation>
+ <translation type="obsolete">新增設定檔</translation>
</message>
<message>
<source>Edit the selected profile</source>
- <translation>編輯選取的設定檔</translation>
+ <translation type="obsolete">編輯選取的設定檔</translation>
</message>
<message>
<source>Delete the selected profile</source>
- <translation>刪除選取的設定檔</translation>
+ <translation type="obsolete">刪除選取的設定檔</translation>
</message>
<message>
<source>Add Profile</source>
- <translation>新增設定檔</translation>
+ <translation type="obsolete">新增設定檔</translation>
</message>
<message>
<source>New profile</source>
- <translation>新增設定檔</translation>
+ <translation type="obsolete">新增設定檔</translation>
</message>
<message>
<source>Edit Profile</source>
- <translation>編輯設定檔</translation>
+ <translation type="obsolete">編輯設定檔</translation>
</message>
<message>
<source>Delete Profile</source>
- <translation>刪除設定檔</translation>
+ <translation type="obsolete">刪除設定檔</translation>
</message>
<message>
<source>Would you like to delete the profile &apos;%1&apos;?</source>
- <translation>您要刪除設定檔 %1 嗎?</translation>
+ <translation type="obsolete">您要刪除設定檔 %1 嗎?</translation>
</message>
<message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+311"/>
<source>&lt;html&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Font&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%1, %2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Style&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Resolution&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4 x %5&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/html&gt;</source>
+ <extracomment>Format embedded device profile description</extracomment>
<translation>&lt;html&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;字型&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%1,%2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;樣式&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%3&lt;/td&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;解析度&lt;/b&gt;&lt;/td&gt;&lt;td&gt;%4 x %5&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/html&gt;</translation>
</message>
<message>
<source>Default</source>
- <translation>預設</translation>
+ <translation type="obsolete">預設</translation>
</message>
</context>
<context>
<name>EmbeddedOptionsPage</name>
<message>
+ <location line="+103"/>
<source>Embedded Design</source>
+ <extracomment>Tab in preferences dialog</extracomment>
<translation>嵌入式設計</translation>
</message>
<message>
+ <location line="+10"/>
<source>Device Profiles</source>
+ <extracomment>EmbeddedOptionsControl group box&quot;</extracomment>
<translation>裝置設定檔</translation>
</message>
</context>
@@ -995,23 +1183,27 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FontPanel</name>
<message>
- <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="33"/>
+ <location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
<translation>字型</translation>
</message>
<message>
+ <location line="+11"/>
<source>&amp;Writing system</source>
<translation>寫入系統(&amp;W)</translation>
</message>
<message>
+ <location line="+3"/>
<source>&amp;Family</source>
<translation>家族(&amp;F)</translation>
</message>
<message>
+ <location line="+4"/>
<source>&amp;Style</source>
<translation>風格(&amp;S)</translation>
</message>
<message>
+ <location line="+4"/>
<source>&amp;Point size</source>
<translation>點大小(&amp;P)</translation>
</message>
@@ -1019,19 +1211,22 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FontPropertyManager</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="32"/>
+ <location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="+62"/>
<source>PreferDefault</source>
<translation>預設喜好設定</translation>
</message>
<message>
+ <location line="+1"/>
<source>NoAntialias</source>
<translation>沒有反鋸齒</translation>
</message>
<message>
+ <location line="+1"/>
<source>PreferAntialias</source>
<translation>預設反鋸齒</translation>
</message>
<message>
+ <location line="+61"/>
<source>Antialiasing</source>
<translation>反鋸齒</translation>
</message>
@@ -1039,35 +1234,43 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="321"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+351"/>
<source>Invalid stretch value for &apos;%1&apos;: &apos;%2&apos;</source>
+ <extracomment>Parsing layout stretch values</extracomment>
<translation>%1 的延伸值不合法:%2</translation>
</message>
<message>
+ <location line="+62"/>
<source>Invalid minimum size for &apos;%1&apos;: &apos;%2&apos;</source>
+ <extracomment>Parsing grid layout minimum size values</extracomment>
<translation>%1 的最小值不合法:%2</translation>
</message>
</context>
<context>
<name>FormEditorOptionsPage</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="61"/>
+ <location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="+91"/>
<source>%1 %</source>
<translation>%1 %</translation>
</message>
<message>
+ <location line="+4"/>
<source>Preview Zoom</source>
<translation>預覽縮放</translation>
</message>
<message>
+ <location line="+2"/>
<source>Default Zoom</source>
<translation>預設縮放</translation>
</message>
<message>
+ <location line="+29"/>
<source>Forms</source>
+ <extracomment>Tab in preferences dialog</extracomment>
<translation>表單</translation>
</message>
<message>
+ <location line="+13"/>
<source>Default Grid</source>
<translation>預設格線</translation>
</message>
@@ -1075,30 +1278,37 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FormLayoutRowDialog</name>
<message>
+ <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui"/>
<source>Add Form Layout Row</source>
<translation>新增表單佈局列</translation>
</message>
<message>
+ <location/>
<source>&amp;Label text:</source>
<translation>標籤文字(&amp;L):</translation>
</message>
<message>
+ <location/>
<source>Field &amp;type:</source>
<translation>欄位型態(&amp;T):</translation>
</message>
<message>
+ <location/>
<source>&amp;Field name:</source>
<translation>欄位名稱(&amp;F):</translation>
</message>
<message>
+ <location/>
<source>&amp;Buddy:</source>
<translation>同伴(&amp;B):</translation>
</message>
<message>
+ <location/>
<source>&amp;Row:</source>
<translation>列(&amp;R):</translation>
</message>
<message>
+ <location/>
<source>Label &amp;name:</source>
<translation>標籤名稱(&amp;N):</translation>
</message>
@@ -1106,11 +1316,12 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="1669"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1705"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>未預期的元素 &lt;%1&gt;</translation>
</message>
<message>
+ <location line="+7"/>
<source>Error while pasting clipboard contents at line %1, column %2: %3</source>
<translation>貼上剪貼簿內容時發生錯誤,在第 %1 行第 %2 欄:%3</translation>
</message>
@@ -1118,50 +1329,62 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>FormWindowSettings</name>
<message>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui"/>
<source>Form Settings</source>
<translation>表單設定</translation>
</message>
<message>
+ <location/>
<source>Layout &amp;Default</source>
<translation>佈局預設值(&amp;D)</translation>
</message>
<message>
+ <location/>
<source>&amp;Spacing:</source>
<translation>間隔空間(&amp;S):</translation>
</message>
<message>
+ <location/>
<source>&amp;Margin:</source>
<translation>邊緣留白(&amp;M):</translation>
</message>
<message>
+ <location/>
<source>&amp;Layout Function</source>
<translation>佈局功能(&amp;L)</translation>
</message>
<message>
+ <location/>
<source>Ma&amp;rgin:</source>
<translation>邊緣留白(&amp;R):</translation>
</message>
<message>
+ <location/>
<source>Spa&amp;cing:</source>
<translation>間隔空間(&amp;C):</translation>
</message>
<message>
+ <location/>
<source>Embedded Design</source>
<translation>嵌入式設計</translation>
</message>
<message>
+ <location/>
<source>&amp;Author</source>
<translation>作者(&amp;A)</translation>
</message>
<message>
+ <location/>
<source>&amp;Include Hints</source>
<translation>引入提示(&amp;I)</translation>
</message>
<message>
+ <location/>
<source>&amp;Pixmap Function</source>
<translation>像素圖功能(&amp;P)</translation>
</message>
<message>
+ <location/>
<source>Grid</source>
<translation>格線</translation>
</message>
@@ -1169,7 +1392,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>IconSelector</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="321"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+353"/>
<source>All Pixmaps (</source>
<translation>所有像素圖 (</translation>
</message>
@@ -1177,14 +1400,16 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>ItemPropertyBrowser</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="36"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+66"/>
<source>XX Icon Selected off</source>
+ <extracomment>Sample string to determinate the width for the first column of the list item property browser</extracomment>
<translation>XX 圖示選擇關閉</translation>
</message>
</context>
<context>
<name>LanguageResourceDialog</name>
<message>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-235"/>
<source>Choose Resource</source>
<translation>選擇資源</translation>
</message>
@@ -1192,27 +1417,33 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>MainWindowBase</name>
<message>
- <location filename="../tools/designer/src/designer/mainwindow.cpp" line="89"/>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+119"/>
<source>Main</source>
+ <extracomment>Not currently used (main tool bar)</extracomment>
<translation>主要</translation>
</message>
<message>
+ <location line="+6"/>
<source>File</source>
<translation>檔案</translation>
</message>
<message>
+ <location line="+1"/>
<source>Edit</source>
<translation>編輯</translation>
</message>
<message>
+ <location line="+1"/>
<source>Tools</source>
<translation>工具</translation>
</message>
<message>
+ <location line="+1"/>
<source>Form</source>
<translation>表單</translation>
</message>
<message>
+ <location line="+7"/>
<source>Qt Designer</source>
<translation>Qt 設計家</translation>
</message>
@@ -1220,23 +1451,27 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>NewForm</name>
<message>
- <location filename="../tools/designer/src/designer/newform.cpp" line="49"/>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="+79"/>
<source>C&amp;reate</source>
<translation>建立(&amp;R)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Recent</source>
<translation>最近的</translation>
</message>
<message>
+ <location line="+32"/>
<source>&amp;Close</source>
<translation>關閉(&amp;C)</translation>
</message>
<message>
+ <location line="+3"/>
<source>&amp;Open...</source>
<translation>開啟(&amp;O)...</translation>
</message>
<message>
+ <location line="+4"/>
<source>&amp;Recent Forms</source>
<translation>最近開啟的表單(&amp;R)</translation>
</message>
@@ -1249,10 +1484,12 @@ The old form has been untouched, but you will have to save this form under a new
<translation type="obsolete">選擇預覽的樣本</translation>
</message>
<message>
+ <location line="+64"/>
<source>Read error</source>
<translation>讀取錯誤</translation>
</message>
<message>
+ <location line="-100"/>
<source>New Form</source>
<translation>新表單</translation>
</message>
@@ -1261,6 +1498,7 @@ The old form has been untouched, but you will have to save this form under a new
<translation type="obsolete">0</translation>
</message>
<message>
+ <location line="-5"/>
<source>Show this Dialog on Startup</source>
<translation>啟動時顯示此對話框</translation>
</message>
@@ -1273,10 +1511,12 @@ The old form has been untouched, but you will have to save this form under a new
<translation type="obsolete">自訂元件</translation>
</message>
<message>
+ <location line="+128"/>
<source>A temporary form file could not be created in %1.</source>
<translation>無法於 %1 建立暫存表單檔。</translation>
</message>
<message>
+ <location line="+6"/>
<source>The temporary form file %1 could not be written.</source>
<translation>無法寫入暫存表單檔 %1。</translation>
</message>
@@ -1284,7 +1524,7 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>NewFormWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="465"/>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+495"/>
<source>Unable to open the form template file &apos;%1&apos;: %2</source>
<translation>無法開啟表單樣本檔 %1:%2</translation>
</message>
@@ -1292,19 +1532,22 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>ObjectInspectorModel</name>
<message>
- <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="331"/>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+364"/>
<source>Object</source>
<translation>物件</translation>
</message>
<message>
+ <location line="+1"/>
<source>Class</source>
<translation>類別</translation>
</message>
<message>
+ <location line="+35"/>
<source>separator</source>
<translation>分隔器</translation>
</message>
<message>
+ <location line="+98"/>
<source>&lt;noname&gt;</source>
<translation>&lt;未命名&gt;</translation>
</message>
@@ -1312,11 +1555,12 @@ The old form has been untouched, but you will have to save this form under a new
<context>
<name>ObjectNameDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="132"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+162"/>
<source>Change Object Name</source>
<translation>變更物件名稱</translation>
</message>
<message>
+ <location line="+4"/>
<source>Object Name</source>
<translation>物件名稱</translation>
</message>
@@ -1373,43 +1617,16 @@ There&apos;s nothing more here. You should get back to work.</source>
</message>
</context>
<context>
- <name>qdesigner_internal::PluginDialog</name>
- <message>
- <location filename="../tools/designer/src/designer/plugindialog.cpp" line="40"/>
- <source>Components</source>
- <translation>組件</translation>
- </message>
+ <name>PluginDialog</name>
<message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.ui"/>
<source>Plugin Information</source>
- <translation>外掛程式資訊</translation>
- </message>
- <message>
- <source>Refresh</source>
- <translation>刷新</translation>
- </message>
- <message>
- <source>Scan for newly installed custom widget plugins.</source>
- <translation>掃描是否有新安裝的自訂元件外掛程式。</translation>
- </message>
- <message>
- <source>Qt Designer couldn&apos;t find any plugins</source>
- <translation>Qt 設計家找不到任何的外掛程式。</translation>
- </message>
- <message>
- <source>Qt Designer found the following plugins</source>
- <translation>Qt 設計家找到以下的外掛程式</translation>
- </message>
- <message>
- <source>New custom widget plugins have been found.</source>
- <translation>找到新的自訂元件外掛程式。</translation>
- </message>
- <message>
- <source>TextLabel</source>
- <translation>文字標籤</translation>
+ <translation type="unfinished">外掛程式資訊</translation>
</message>
<message>
+ <location/>
<source>1</source>
- <translation>1</translation>
+ <translation type="unfinished">1</translation>
</message>
</context>
<context>
@@ -1435,6 +1652,7 @@ There&apos;s nothing more here. You should get back to work.</source>
<translation type="obsolete">請選擇要儲存樣本的目錄</translation>
</message>
<message>
+ <location filename="../tools/designer/src/designer/preferencesdialog.ui"/>
<source>Preferences</source>
<translation>喜好設定</translation>
</message>
@@ -1454,39 +1672,47 @@ There&apos;s nothing more here. You should get back to work.</source>
<context>
<name>PreviewConfigurationWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="125"/>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+155"/>
<source>Default</source>
<translation>預設</translation>
</message>
<message>
+ <location line="+22"/>
<source>None</source>
<translation>無</translation>
</message>
<message>
+ <location line="+6"/>
<source>Browse...</source>
<translation>瀏覽...</translation>
</message>
<message>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui"/>
<source>Form</source>
<translation>表單</translation>
</message>
<message>
+ <location/>
<source>Print/Preview Configuration</source>
<translation>列印/預覽設定</translation>
</message>
<message>
+ <location/>
<source>Style</source>
<translation>樣式</translation>
</message>
<message>
+ <location/>
<source>Style sheet</source>
<translation>樣式表</translation>
</message>
<message>
+ <location/>
<source>...</source>
<translation>...</translation>
</message>
<message>
+ <location/>
<source>Device skin</source>
<translation>裝置外觀</translation>
</message>
@@ -1494,8 +1720,9 @@ There&apos;s nothing more here. You should get back to work.</source>
<context>
<name>PromotionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="86"/>
+ <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+116"/>
<source>Not used</source>
+ <extracomment>Usage of promoted widgets</extracomment>
<translation>未使用</translation>
</message>
</context>
@@ -1509,6 +1736,8 @@ There&apos;s nothing more here. You should get back to work.</source>
<context>
<name>Q3WizardContainer</name>
<message>
+ <location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="+172"/>
+ <location line="+5"/>
<source>Page</source>
<translation>頁面</translation>
</message>
@@ -1516,48 +1745,58 @@ There&apos;s nothing more here. You should get back to work.</source>
<context>
<name>QAbstractFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="176"/>
+ <location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="+206"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>未預期的元素 &lt;%1&gt;</translation>
</message>
<message>
+ <location line="+5"/>
<source>An error has occurred while reading the ui file at line %1, column %2: %3</source>
<translation>讀取 ui 檔時發生錯誤,在第 %1 行,第 %2 欄:%3</translation>
</message>
<message>
+ <location line="+6"/>
<source>Invalid ui file: The root element &lt;ui&gt; is missing.</source>
<translation>不合法的 ui 檔。沒有根元素 &lt;ui&gt;。</translation>
</message>
<message>
+ <location line="+119"/>
<source>The creation of a widget of the class &apos;%1&apos; failed.</source>
<translation>建立類別 %1 的元件時失敗。</translation>
</message>
<message>
+ <location line="+295"/>
<source>Attempt to add child that is not of class QWizardPage to QWizard.</source>
<translation>試圖將不是 QWizardPage 的子類別加入 QWizard。</translation>
</message>
<message>
+ <location line="+86"/>
<source>Attempt to add a layout to a widget &apos;%1&apos; (%2) which already has a layout of non-box type %3.
This indicates an inconsistency in the ui-file.</source>
<translation>您試圖將一個佈局新增到元件 %1(%2)中,但該元件已經有一個非盒狀型態為 %3 的未管理佈局。這表示在 ui 檔中有發生不一致的情況。</translation>
</message>
<message>
+ <location line="+144"/>
<source>Empty widget item in %1 &apos;%2&apos;.</source>
<translation>空白的元件項目於 %1「%2」。</translation>
</message>
<message>
+ <location line="+684"/>
<source>Flags property are not supported yet.</source>
<translation>尚未支援旗標屬性。</translation>
</message>
<message>
+ <location line="+81"/>
<source>While applying tab stops: The widget &apos;%1&apos; could not be found.</source>
<translation>套用定位點時:找不到元件 %1。</translation>
</message>
<message>
+ <location line="+749"/>
<source>Invalid QButtonGroup reference &apos;%1&apos; referenced by &apos;%2&apos;.</source>
<translation>%2 參考了不合法的 QButtonGroup 參考 %1。</translation>
</message>
<message>
+ <location line="+518"/>
<source>This version of the uitools library is linked without script support.</source>
<translation>這個 uitools 函式庫的版本沒有支援文稿。</translation>
</message>
@@ -1598,11 +1837,12 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QAxWidgetPlugin</name>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="45"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="+75"/>
<source>ActiveX control</source>
<translation>ActiveX 控制</translation>
</message>
<message>
+ <location line="+5"/>
<source>ActiveX control widget</source>
<translation>ActiveX 控制元件</translation>
</message>
@@ -1610,19 +1850,22 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QAxWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="89"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="+119"/>
<source>Set Control</source>
<translation>設定控制</translation>
</message>
<message>
+ <location line="+1"/>
<source>Reset Control</source>
<translation>重置控制</translation>
</message>
<message>
+ <location line="+41"/>
<source>Licensed Control</source>
<translation>已授權的控制</translation>
</message>
<message>
+ <location line="+1"/>
<source>The control requires a design-time license</source>
<translation>此控制要求設計期間的授權</translation>
</message>
@@ -1630,56 +1873,67 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="53"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="+83"/>
<source>%1 is not a promoted class.</source>
<translation>%1 不是一個已提升的類別。</translation>
</message>
<message>
+ <location line="+65"/>
<source>The base class %1 is invalid.</source>
<translation>基底類別 %1 不合法。</translation>
</message>
<message>
+ <location line="+7"/>
<source>The class %1 already exists.</source>
<translation>類別 %1 已存在。</translation>
</message>
<message>
+ <location line="+9"/>
<source>Promoted Widgets</source>
<translation>已提升元件</translation>
</message>
<message>
+ <location line="+126"/>
<source>The class %1 cannot be removed</source>
<translation>類別 %1 無法移除</translation>
</message>
<message>
+ <location line="+9"/>
<source>The class %1 cannot be removed because it is still referenced.</source>
<translation>類別 %1 無法移除,因為它仍在被參考中。</translation>
</message>
<message>
+ <location line="+10"/>
<source>The class %1 cannot be renamed</source>
<translation>類別 %1 無法重新命名</translation>
</message>
<message>
+ <location line="+7"/>
<source>The class %1 cannot be renamed to an empty name.</source>
<translation>類別 %1 無法重新命名為空的名稱。</translation>
</message>
<message>
+ <location line="+5"/>
<source>There is already a class named %1.</source>
<translation>已經有名為 %1 的類別。</translation>
</message>
<message>
+ <location line="+29"/>
<source>Cannot set an empty include file.</source>
<translation>不法設定空的引入檔。</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="58"/>
+ <location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="+88"/>
<source>Exception at line %1: %2</source>
<translation>例外發生於行 %1:%2</translation>
</message>
<message>
+ <location line="+36"/>
<source>Unknown error</source>
<translation>未知的錯誤</translation>
</message>
<message>
+ <location line="+50"/>
<source>An error occurred while running the script for %1: %2
Script: %3</source>
<translation>執行 %1 的文稿時發生錯誤:%2
@@ -1689,15 +1943,17 @@ Script: %3</source>
<context>
<name>QDesigner</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner.cpp" line="111"/>
+ <location filename="../tools/designer/src/designer/qdesigner.cpp" line="+141"/>
<source>%1 - warning</source>
<translation>%1─警告</translation>
</message>
<message>
+ <location line="+96"/>
<source>Qt Designer</source>
<translation>Qt 設計家</translation>
</message>
<message>
+ <location line="+1"/>
<source>This application cannot be used for the Console edition of Qt</source>
<translation>此應用程式無法用於主控台版的 Qt</translation>
</message>
@@ -1712,7 +1968,7 @@ Script: %3</source>
<context>
<name>QDesignerActions</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="152"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+178"/>
<source>Edit Widgets</source>
<translation>編輯元件</translation>
</message>
@@ -1745,6 +2001,7 @@ Script: %3</source>
<translation type="obsolete">關閉表單(&amp;C)</translation>
</message>
<message>
+ <location line="+10"/>
<source>&amp;Quit</source>
<translation>離開(&amp;Q)</translation>
</message>
@@ -1757,14 +2014,17 @@ Script: %3</source>
<translation type="obsolete">表單設定(&amp;S)...</translation>
</message>
<message>
+ <location line="+3"/>
<source>&amp;Minimize</source>
<translation>最小化(&amp;M)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Bring All to Front</source>
<translation>把全部都帶到前景</translation>
</message>
<message>
+ <location line="+2"/>
<source>Preferences...</source>
<translation>喜好設定</translation>
</message>
@@ -1777,6 +2037,7 @@ Script: %3</source>
<translation type="obsolete">CTRL+O</translation>
</message>
<message>
+ <location line="+293"/>
<source>Clear &amp;Menu</source>
<translation>清除選單(&amp;M)</translation>
</message>
@@ -1785,6 +2046,7 @@ Script: %3</source>
<translation type="obsolete">CTRL+S</translation>
</message>
<message>
+ <location line="-232"/>
<source>CTRL+SHIFT+S</source>
<translation>CTRL+SHIFT+S</translation>
</message>
@@ -1793,6 +2055,7 @@ Script: %3</source>
<translation type="obsolete">CTRL+W</translation>
</message>
<message>
+ <location line="+27"/>
<source>CTRL+Q</source>
<translation>CTRL+Q</translation>
</message>
@@ -1805,6 +2068,7 @@ Script: %3</source>
<translation type="obsolete">CTRL+SHIFT+Z</translation>
</message>
<message>
+ <location line="+85"/>
<source>CTRL+R</source>
<translation>CTRL+R</translation>
</message>
@@ -1813,38 +2077,51 @@ Script: %3</source>
<translation type="obsolete">%1 風格</translation>
</message>
<message>
+ <location line="+18"/>
<source>CTRL+M</source>
<translation>CTRL+M</translation>
</message>
<message>
+ <location line="+31"/>
<source>Qt Designer &amp;Help</source>
<translation>Qt 設計家說明(&amp;H)</translation>
</message>
<message>
+ <location line="+7"/>
<source>Current Widget Help</source>
<translation>目前元件說明</translation>
</message>
<message>
+ <location line="+7"/>
<source>What&apos;s New in Qt Designer?</source>
<translation>Qt 設計家有什麼新功能?</translation>
</message>
<message>
+ <location line="+7"/>
<source>About Plugins</source>
<translation>關於外掛程式</translation>
</message>
<message>
+ <location line="+6"/>
+ <location line="+601"/>
<source>About Qt Designer</source>
<translation>關於 Qt 設計家</translation>
</message>
<message>
+ <location line="-595"/>
<source>About Qt</source>
<translation>關於 Qt</translation>
</message>
<message>
+ <location line="+121"/>
+ <location line="+197"/>
<source>Open Form</source>
<translation>開啟表單</translation>
</message>
<message>
+ <location line="-196"/>
+ <location line="+37"/>
+ <location line="+160"/>
<source>Designer UI files (*.%1);;All Files (*)</source>
<translation>設計家介面檔 (*.%1);;所有檔案 (*)</translation>
</message>
@@ -1857,54 +2134,67 @@ Script: %3</source>
<translation type="obsolete">儲存</translation>
</message>
<message>
+ <location line="-615"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 已存在。
您要取代它嗎?</translation>
</message>
<message>
+ <location line="-26"/>
<source>Saved %1.</source>
<translation>已儲存 %1。</translation>
</message>
<message>
+ <location line="+68"/>
<source>Additional Fonts...</source>
<translation>額外的字型</translation>
</message>
<message>
+ <location line="+298"/>
<source>&amp;Recent Forms</source>
<translation>最近開啟的表單(&amp;R)</translation>
</message>
<message>
+ <location line="+202"/>
<source>Designer</source>
<translation>設計家</translation>
</message>
<message>
+ <location line="+0"/>
<source>Feature not implemented yet!</source>
<translation>功能尚未實作!</translation>
</message>
<message>
+ <location line="+59"/>
<source>Read error</source>
<translation>讀取錯誤</translation>
</message>
<message>
+ <location line="+1"/>
<source>%1
Do you want to update the file location or generate a new form?</source>
<translation>%1
您要更新檔案位置,還是建立新的表單?</translation>
</message>
<message>
+ <location line="+3"/>
<source>&amp;Update</source>
<translation>更新(&amp;U)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;New Form</source>
<translation>新增表單(&amp;N)</translation>
</message>
<message>
+ <location line="+77"/>
+ <location line="+40"/>
<source>Save Form?</source>
<translation>要儲存表單嗎?</translation>
</message>
<message>
+ <location line="-39"/>
<source>Could not open file</source>
<translation>無法開啟檔案</translation>
</message>
@@ -1917,10 +2207,12 @@ Would you like to retry or change your file?</source>
您要重試,還是要改變檔案?</translation>
</message>
<message>
+ <location line="+10"/>
<source>Select New File</source>
<translation>選擇新檔案</translation>
</message>
<message>
+ <location line="+30"/>
<source>Could not write file</source>
<translation>無法寫入檔案</translation>
</message>
@@ -1933,6 +2225,7 @@ Would you like to retry?</source>
您要重試嗎?</translation>
</message>
<message>
+ <location line="+201"/>
<source>&amp;Close Preview</source>
<translation>關閉預覽(&amp;C)</translation>
</message>
@@ -1945,38 +2238,48 @@ Would you like to retry?</source>
<translation type="obsolete">F3</translation>
</message>
<message>
+ <location line="-900"/>
<source>&amp;New...</source>
<translation>新增(&amp;N)...</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Open...</source>
<translation>開啟(&amp;O)...</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Save</source>
<translation>儲存(&amp;S)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Save &amp;As...</source>
<translation>另存新檔(&amp;A)...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Save A&amp;ll</source>
<translation>全部儲存(&amp;A)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Save As &amp;Template...</source>
<translation>儲存為樣本(&amp;T)...</translation>
</message>
<message>
+ <location line="+1"/>
+ <location line="+896"/>
<source>&amp;Close</source>
<translation>關閉(&amp;C)</translation>
</message>
<message>
+ <location line="-895"/>
<source>Save &amp;Image...</source>
<translation>儲存影像(&amp;I)...</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Print...</source>
<translation>列印(&amp;P)...</translation>
</message>
@@ -1985,26 +2288,33 @@ Would you like to retry?</source>
<translation type="obsolete">預覽(&amp;P)...</translation>
</message>
<message>
+ <location line="+3"/>
<source>View &amp;Code...</source>
<translation>檢視程式碼(&amp;C)...</translation>
</message>
<message>
+ <location line="+64"/>
<source>ALT+CTRL+S</source>
<translation>ALT+CTRL+S</translation>
</message>
<message>
+ <location line="+355"/>
+ <location line="+248"/>
<source>Save Form As</source>
<translation>另存表單</translation>
</message>
<message>
+ <location line="+429"/>
<source>Preview failed</source>
<translation>預覽失敗</translation>
</message>
<message>
+ <location line="-575"/>
<source>Code generation failed</source>
<translation>程式碼產生失敗</translation>
</message>
<message>
+ <location line="+131"/>
<source>The file %1 could not be opened.
Reason: %2
Would you like to retry or select a different file?</source>
@@ -2013,6 +2323,7 @@ Would you like to retry or select a different file?</source>
您要再嘗試,還是要選擇其它檔案?</translation>
</message>
<message>
+ <location line="+39"/>
<source>It was not possible to write the entire file %1 to disk.
Reason:%2
Would you like to retry?</source>
@@ -2021,42 +2332,55 @@ Would you like to retry?</source>
您要重試嗎?</translation>
</message>
<message>
+ <location line="+158"/>
+ <location line="+34"/>
<source>Assistant</source>
<translation>小助手</translation>
</message>
<message>
+ <location line="+47"/>
+ <location line="+23"/>
<source>The backup file %1 could not be written.</source>
<translation>備份檔 %1 無法寫入。</translation>
</message>
<message>
+ <location line="+107"/>
<source>The backup directory %1 could not be created.</source>
<translation>無法建立備份目錄 %1。</translation>
</message>
<message>
+ <location line="+6"/>
<source>The temporary backup directory %1 could not be created.</source>
<translation>無法建立暫存備份目錄 %1。</translation>
</message>
<message>
+ <location line="+54"/>
<source>Image files (*.%1)</source>
<translation>影像檔 (*.%1)</translation>
</message>
<message>
+ <location line="+9"/>
+ <location line="+17"/>
<source>Save Image</source>
<translation>儲存影像</translation>
</message>
<message>
+ <location line="-4"/>
<source>Saved image %1.</source>
<translation>已儲存影像 %1。</translation>
</message>
<message>
+ <location line="+5"/>
<source>The file %1 could not be written.</source>
<translation>檔案 %1 無法寫入。</translation>
</message>
<message>
+ <location line="+13"/>
<source>Please close all forms to enable the loading of additional fonts.</source>
<translation>請關閉所有表單,才能載入額外的字型。</translation>
</message>
<message>
+ <location line="+52"/>
<source>Printed %1.</source>
<translation>已列印 %1。</translation>
</message>
@@ -2064,22 +2388,26 @@ Would you like to retry?</source>
<context>
<name>QDesignerAppearanceOptionsPage</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="93"/>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="+138"/>
<source>Appearance</source>
+ <extracomment>Tab in preferences dialog</extracomment>
<translation>外觀</translation>
</message>
</context>
<context>
<name>QDesignerAppearanceOptionsWidget</name>
<message>
+ <location line="-53"/>
<source>Docked Window</source>
<translation>已嵌入視窗</translation>
</message>
<message>
+ <location line="+1"/>
<source>Multiple Top-Level Windows</source>
<translation>多個頂層視窗</translation>
</message>
<message>
+ <location line="+5"/>
<source>Toolwindow Font</source>
<translation>工具視窗字型</translation>
</message>
@@ -2087,19 +2415,22 @@ Would you like to retry?</source>
<context>
<name>QDesignerAxWidget</name>
<message>
+ <location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="-71"/>
<source>Reset control</source>
<translation>重置控制</translation>
</message>
<message>
+ <location line="+2"/>
<source>Set control</source>
<translation>設定控制</translation>
</message>
<message>
- <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="149"/>
+ <location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="+179"/>
<source>Control loaded</source>
<translation>控制已載入</translation>
</message>
<message>
+ <location line="+40"/>
<source>A COM exception occurred when executing a meta call of type %1, index %2 of &quot;%3&quot;.</source>
<translation>執行型態 %1 的 meta 呼叫時發生 COM 例外,索引 %2/%3。</translation>
</message>
@@ -2107,15 +2438,17 @@ Would you like to retry?</source>
<context>
<name>QDesignerFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="58"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+88"/>
<source>Script errors occurred:</source>
<translation>發生文稿錯誤:</translation>
</message>
<message>
+ <location line="+304"/>
<source>The preview failed to build.</source>
<translation>建立預覽時失敗。</translation>
</message>
<message>
+ <location line="+63"/>
<source>Designer</source>
<translation>設計家</translation>
</message>
@@ -2123,19 +2456,22 @@ Would you like to retry?</source>
<context>
<name>QDesignerFormWindow</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="187"/>
+ <location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="+217"/>
<source>%1 - %2[*]</source>
<translation>%1 - %2[*]</translation>
</message>
<message>
+ <location line="+10"/>
<source>Save Form?</source>
<translation>要儲存表單嗎?</translation>
</message>
<message>
+ <location line="+1"/>
<source>Do you want to save the changes to this document before closing?</source>
<translation>您要在關閉前先儲存對此文件的變更嗎?</translation>
</message>
<message>
+ <location line="+2"/>
<source>If you don&apos;t save, your changes will be lost.</source>
<translation>如果您不儲存,所做的變更將遺失。</translation>
</message>
@@ -2143,30 +2479,38 @@ Would you like to retry?</source>
<context>
<name>QDesignerMenu</name>
<message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1160"/>
<source>Type Here</source>
<translation>在此輸入</translation>
</message>
<message>
+ <location line="+3"/>
<source>Add Separator</source>
<translation>新增分隔器</translation>
</message>
<message>
+ <location line="+372"/>
<source>Insert separator</source>
<translation>插入分隔器</translation>
</message>
<message>
+ <location line="+5"/>
<source>Remove separator</source>
<translation>移除分隔器</translation>
</message>
<message>
+ <location line="+2"/>
<source>Remove action &apos;%1&apos;</source>
<translation>移除動作 %1</translation>
</message>
<message>
+ <location line="+25"/>
+ <location line="+628"/>
<source>Add separator</source>
<translation>新增分隔器</translation>
</message>
<message>
+ <location line="-326"/>
<source>Insert action</source>
<translation>插入動作</translation>
</message>
@@ -2174,18 +2518,22 @@ Would you like to retry?</source>
<context>
<name>QDesignerMenuBar</name>
<message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-381"/>
<source>Type Here</source>
<translation>在此輸入</translation>
</message>
<message>
+ <location line="+304"/>
<source>Remove Menu &apos;%1&apos;</source>
<translation>移除選單 %1</translation>
</message>
<message>
+ <location line="+12"/>
<source>Remove Menu Bar</source>
<translation>移除選單列</translation>
</message>
<message>
+ <location line="+70"/>
<source>Menu</source>
<translation>選單</translation>
</message>
@@ -2200,19 +2548,22 @@ Would you like to retry?</source>
<context>
<name>QDesignerPluginManager</name>
<message>
- <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="197"/>
+ <location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+249"/>
<source>An XML error was encountered when parsing the XML of the custom widget %1: %2</source>
<translation>剖析自訂元件 %1 的 XML 格式時發生錯誤:%2</translation>
</message>
<message>
+ <location line="+27"/>
<source>The XML of the custom widget %1 does not contain any of the elements &lt;widget&gt; or &lt;ui&gt;.</source>
<translation>自訂元件 %1 的 XML 未包含任何 &lt;widget&gt; 或 &lt;ui&gt; 元素。</translation>
</message>
<message>
+ <location line="+12"/>
<source>The class attribute for the class %1 is missing.</source>
<translation>類別 %1 遺失了類別屬性。</translation>
</message>
<message>
+ <location line="+4"/>
<source>The class attribute for the class %1 does not match the class name %2.</source>
<translation>類別 %1 的類別屬性與類別名稱 %2 不符。</translation>
</message>
@@ -2231,7 +2582,7 @@ Would you like to retry?</source>
<context>
<name>QDesignerPropertySheet</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="717"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+747"/>
<source>Dynamic Properties</source>
<translation>動態屬性</translation>
</message>
@@ -2239,25 +2590,33 @@ Would you like to retry?</source>
<context>
<name>QDesignerResource</name>
<message>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="-246"/>
<source>The layout type &apos;%1&apos; is not supported, defaulting to grid.</source>
<translation>未支援佈局型態 %1。改使用預設的格線型態。</translation>
</message>
<message>
+ <location line="+342"/>
<source>The container extension of the widget &apos;%1&apos; (%2) returned a widget not managed by Designer &apos;%3&apos; (%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.</source>
<translation>元件 %1(%2)的容器延伸在查詢頁面 #%5 時傳回了非設計器 %3(%4)管理的元件。
容器頁面應該只能經由自訂元件的 domXml() 方法傳回的 XML 內指定加入。</translation>
</message>
<message>
+ <location line="+599"/>
<source>Unexpected element &lt;%1&gt;</source>
+ <extracomment>Parsing clipboard contents</extracomment>
<translation>未預期的元素 &lt;%1&gt;</translation>
</message>
<message>
+ <location line="+6"/>
<source>Error while pasting clipboard contents at line %1, column %2: %3</source>
+ <extracomment>Parsing clipboard contents</extracomment>
<translation>貼上剪貼簿內容時發生錯誤,在第 %1 行第 %2 欄:%3</translation>
</message>
<message>
+ <location line="+6"/>
<source>Error while pasting clipboard contents: The root element &lt;ui&gt; is missing.</source>
+ <extracomment>Parsing clipboard contents</extracomment>
<translation>貼上剪貼簿內容時發生錯誤:沒有根元素 &lt;ui&gt;。</translation>
</message>
</context>
@@ -2275,11 +2634,12 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerSharedSettings</name>
<message>
- <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="53"/>
+ <location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="+83"/>
<source>The template path %1 could not be created.</source>
<translation>無法建立樣本路徑 %1。</translation>
</message>
<message>
+ <location line="+184"/>
<source>An error has been encountered while parsing device profile XML: %1</source>
<translation>剖析裝置設定檔 XML 時發生錯誤:%1</translation>
</message>
@@ -2387,27 +2747,32 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerToolWindow</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="160"/>
+ <location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="+190"/>
<source>Property Editor</source>
<translation>屬性編輯器</translation>
</message>
<message>
+ <location line="+54"/>
<source>Action Editor</source>
<translation>動作編輯器</translation>
</message>
<message>
+ <location line="+42"/>
<source>Object Inspector</source>
<translation>物件指示器</translation>
</message>
<message>
+ <location line="+35"/>
<source>Resource Browser</source>
<translation>資源瀏覽器</translation>
</message>
<message>
+ <location line="+34"/>
<source>Signal/Slot Editor</source>
<translation>信號/信號槽編輯器</translation>
</message>
<message>
+ <location line="+41"/>
<source>Widget Box</source>
<translation>元件盒</translation>
</message>
@@ -2419,19 +2784,22 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="obsolete">元件盒</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="318"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="+349"/>
<source>An error has been encountered at line %1 of %2: %3</source>
<translation>在 %2 的第 %1 行發生錯誤:%3</translation>
</message>
<message>
+ <location line="+139"/>
<source>Unexpected element &lt;%1&gt; encountered when parsing for &lt;widget&gt; or &lt;ui&gt;</source>
<translation>剖析 &lt;widget&gt; 或 &lt;ui&gt; 時遇到未預期的元素 &lt;%1&gt;</translation>
</message>
<message>
+ <location line="+19"/>
<source>Unexpected end of file encountered when parsing widgets.</source>
<translation>剖析元件時遇到未預期的檔案結束。</translation>
</message>
<message>
+ <location line="+9"/>
<source>A widget element could not be found.</source>
<translation>找不到元件的元素。</translation>
</message>
@@ -2439,7 +2807,7 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QDesignerWorkbench</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="169"/>
+ <location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="+199"/>
<source>&amp;File</source>
<translation>檔案(&amp;F)</translation>
</message>
@@ -2452,10 +2820,12 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="obsolete">編輯(&amp;E)</translation>
</message>
<message>
+ <location line="+6"/>
<source>F&amp;orm</source>
<translation>表單(&amp;O)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Preview in</source>
<translation>預覽於</translation>
</message>
@@ -2464,10 +2834,12 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="obsolete">工具(&amp;T)</translation>
</message>
<message>
+ <location line="+8"/>
<source>&amp;Window</source>
<translation>視窗(&amp;W)</translation>
</message>
<message>
+ <location line="+2"/>
<source>&amp;Help</source>
<translation>說明(&amp;H)</translation>
</message>
@@ -2476,6 +2848,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="obsolete">檔案</translation>
</message>
<message>
+ <location line="-15"/>
<source>Edit</source>
<translation>編輯</translation>
</message>
@@ -2488,6 +2861,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="obsolete">表單</translation>
</message>
<message>
+ <location line="+38"/>
<source>Toolbars</source>
<translation>工具列</translation>
</message>
@@ -2500,6 +2874,7 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="obsolete">Qt 設計家</translation>
</message>
<message>
+ <location line="+464"/>
<source>Save Forms?</source>
<translation>要儲存表單嗎?</translation>
</message>
@@ -2508,30 +2883,37 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="obsolete">若您不檢查您的文件,所有變更將遺失。</translation>
</message>
<message>
+ <location line="-493"/>
<source>&amp;View</source>
<translation>檢視(&amp;V)</translation>
</message>
<message>
+ <location line="+2"/>
<source>&amp;Settings</source>
<translation>設定(&amp;S)</translation>
</message>
<message>
+ <location line="+495"/>
<source>If you do not review your documents, all your changes will be lost.</source>
<translation>若您不檢查您的文件,所有變更將遺失。</translation>
</message>
<message>
+ <location line="+1"/>
<source>Discard Changes</source>
<translation>丟棄變更</translation>
</message>
<message>
+ <location line="+2"/>
<source>Review Changes</source>
<translation>檢查變更</translation>
</message>
<message>
+ <location line="+95"/>
<source>Backup Information</source>
<translation>備份資訊</translation>
</message>
<message>
+ <location line="+1"/>
<source>The last session of Designer was not terminated correctly. Backup files were left behind. Do you want to load them?</source>
<translation>設計器上次並未正確結束,不過有留下備份檔。您要載入備份檔嗎?</translation>
</message>
@@ -2540,14 +2922,17 @@ Container pages should only be added by specifying them in XML returned by the d
<translation type="obsolete">設計家在您上次工作階段並沒有正確地結束。有一些備份檔案存在,您要載入它們嗎?</translation>
</message>
<message>
+ <location line="+111"/>
<source>The file &lt;b&gt;%1&lt;/b&gt; could not be opened.</source>
<translation>檔案 %1 無法開啟。</translation>
</message>
<message>
+ <location line="+46"/>
<source>The file &lt;b&gt;%1&lt;/b&gt; is not a valid Designer ui file.</source>
<translation>檔案 %1 不是合法的設計家介面檔。</translation>
</message>
<message numerus="yes">
+ <location line="-259"/>
<source>There are %n forms with unsaved changes. Do you want to review these changes before quitting?</source>
<translation>
<numerusform>有 %n 個表單有未儲存的變更。您要在離開前先檢查這些變更嗎?</numerusform>
@@ -2577,45 +2962,53 @@ Container pages should only be added by specifying them in XML returned by the d
<context>
<name>QFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="130"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+160"/>
<source>An empty class name was passed on to %1 (object name: &apos;%2&apos;).</source>
+ <extracomment>Empty class name passed to widget factory method</extracomment>
<translation>傳送了空白的類別名稱給 %1(物件名稱:%2)</translation>
</message>
<message>
+ <location line="+56"/>
<source>QFormBuilder was unable to create a custom widget of the class &apos;%1&apos;; defaulting to base class &apos;%2&apos;.</source>
<translation>QFormBuilder 無法建立類別 %1 的自訂元件。改為使用預設的基礎類別 %2。</translation>
</message>
<message>
+ <location line="+6"/>
<source>QFormBuilder was unable to create a widget of the class &apos;%1&apos;.</source>
<translation>QFormBuilder 無法建立類別 %1 的元件。</translation>
</message>
<message>
+ <location line="+64"/>
<source>The layout type `%1&apos; is not supported.</source>
<translation>佈局型態 %1 未被支援。</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="76"/>
+ <location filename="../tools/designer/src/lib/uilib/properties.cpp" line="+106"/>
<source>The set-type property %1 could not be read.</source>
<translation>設定型態屬性 %1 無法被讀取。</translation>
</message>
<message>
+ <location line="+23"/>
<source>The enumeration-type property %1 could not be read.</source>
<translation>列舉型態屬性 %1 無法被讀取。</translation>
</message>
<message>
+ <location line="+190"/>
<source>Reading properties of the type %1 is not supported yet.</source>
<translation>型態 %1 的讀取屬性尚未被支援。</translation>
</message>
<message>
+ <location line="+266"/>
<source>The property %1 could not be written. The type %2 is not supported yet.</source>
<translation>屬性 %1 無法被寫入。型態 %2 尚未被支援。</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="102"/>
+ <location filename="../tools/designer/src/lib/uilib/properties_p.h" line="+132"/>
<source>The enumeration-value &apos;%1&apos; is invalid. The default value &apos;%2&apos; will be used instead.</source>
<translation>列舉數值 %1 不合法。將改用預設值 %2。</translation>
</message>
<message>
+ <location line="+14"/>
<source>The flag-value &apos;%1&apos; is invalid. Zero will be used instead.</source>
<translation>旗標值 %1 不合法,將改用 0。</translation>
</message>
@@ -2881,39 +3274,47 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QStackedWidgetEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="164"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="+194"/>
<source>Previous Page</source>
<translation>前一頁</translation>
</message>
<message>
+ <location line="+1"/>
<source>Next Page</source>
<translation>下一頁</translation>
</message>
<message>
+ <location line="+1"/>
<source>Delete</source>
<translation>刪除</translation>
</message>
<message>
+ <location line="+1"/>
<source>Before Current Page</source>
<translation>在目前頁面之前</translation>
</message>
<message>
+ <location line="+1"/>
<source>After Current Page</source>
<translation>在目前頁面之後</translation>
</message>
<message>
+ <location line="+1"/>
<source>Change Page Order...</source>
<translation>變更頁面順序...</translation>
</message>
<message>
+ <location line="+72"/>
<source>Change Page Order</source>
<translation>變更頁面順序</translation>
</message>
<message>
+ <location line="+49"/>
<source>Page %1 of %2</source>
<translation>第 %1 頁,共 %2 頁</translation>
</message>
<message>
+ <location line="+11"/>
<source>Insert Page</source>
<translation>插入頁面</translation>
</message>
@@ -2921,10 +3322,12 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QStackedWidgetPreviewEventFilter</name>
<message>
+ <location line="-150"/>
<source>Go to previous page of %1 &apos;%2&apos; (%3/%4).</source>
<translation>跳到 %1 的前一頁「%2」(第 %3 頁,共 %4 頁)。</translation>
</message>
<message>
+ <location line="+4"/>
<source>Go to next page of %1 &apos;%2&apos; (%3/%4).</source>
<translation>跳到 %1 的下一頁「%2」(第 %3 頁,共 %4 頁)。</translation>
</message>
@@ -2932,23 +3335,27 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QTabWidgetEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="59"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="+89"/>
<source>Delete</source>
<translation>刪除</translation>
</message>
<message>
+ <location line="+1"/>
<source>Before Current Page</source>
<translation>在目前頁面之前</translation>
</message>
<message>
+ <location line="+1"/>
<source>After Current Page</source>
<translation>在目前頁面之後</translation>
</message>
<message>
+ <location line="+283"/>
<source>Page %1 of %2</source>
<translation>第 %1 頁,共 %2 頁</translation>
</message>
<message>
+ <location line="+12"/>
<source>Insert Page</source>
<translation>插入頁面</translation>
</message>
@@ -2956,31 +3363,37 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QToolBoxHelper</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="34"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="+64"/>
<source>Delete Page</source>
<translation>刪除頁面</translation>
</message>
<message>
+ <location line="+1"/>
<source>Before Current Page</source>
<translation>在目前頁面之前</translation>
</message>
<message>
+ <location line="+1"/>
<source>After Current Page</source>
<translation>在目前頁面之後</translation>
</message>
<message>
+ <location line="+1"/>
<source>Change Page Order...</source>
<translation>變更頁面順序...</translation>
</message>
<message>
+ <location line="+116"/>
<source>Change Page Order</source>
<translation>變更頁面順序</translation>
</message>
<message>
+ <location line="+44"/>
<source>Page %1 of %2</source>
<translation>第 %1 頁,共 %2 頁</translation>
</message>
<message>
+ <location line="+12"/>
<source>Insert Page</source>
<translation>插入頁面</translation>
</message>
@@ -2988,10 +3401,15 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtBoolEdit</name>
<message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+226"/>
+ <location line="+10"/>
+ <location line="+25"/>
<source>True</source>
<translation>真</translation>
</message>
<message>
+ <location line="-25"/>
+ <location line="+25"/>
<source>False</source>
<translation>假</translation>
</message>
@@ -2999,11 +3417,12 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtBoolPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="1469"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1477"/>
<source>True</source>
<translation>真</translation>
</message>
<message>
+ <location line="+1"/>
<source>False</source>
<translation>假</translation>
</message>
@@ -3011,7 +3430,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtCharEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="1573"/>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1601"/>
<source>Clear Char</source>
<translation>清除字元</translation>
</message>
@@ -3019,6 +3438,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtColorEditWidget</name>
<message>
+ <location line="+611"/>
<source>...</source>
<translation>...</translation>
</message>
@@ -3026,19 +3446,22 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtColorPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="4769"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4777"/>
<source>Red</source>
<translation>紅</translation>
</message>
<message>
+ <location line="+8"/>
<source>Green</source>
<translation>綠</translation>
</message>
<message>
+ <location line="+8"/>
<source>Blue</source>
<translation>藍</translation>
</message>
<message>
+ <location line="+8"/>
<source>Alpha</source>
<translation>Alpha</translation>
</message>
@@ -3046,78 +3469,97 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtCursorDatabase</name>
<message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-206"/>
<source>Arrow</source>
<translation>箭頭</translation>
</message>
<message>
+ <location line="+2"/>
<source>Up Arrow</source>
<translation>上箭頭</translation>
</message>
<message>
+ <location line="+2"/>
<source>Cross</source>
<translation>交叉</translation>
</message>
<message>
+ <location line="+2"/>
<source>Wait</source>
<translation>等待</translation>
</message>
<message>
+ <location line="+2"/>
<source>IBeam</source>
<translation>I 型</translation>
</message>
<message>
+ <location line="+2"/>
<source>Size Vertical</source>
<translation>垂直大小</translation>
</message>
<message>
+ <location line="+2"/>
<source>Size Horizontal</source>
<translation>水平大小</translation>
</message>
<message>
+ <location line="+2"/>
<source>Size Backslash</source>
<translation>反斜線大小</translation>
</message>
<message>
+ <location line="+2"/>
<source>Size Slash</source>
<translation>斜線大小</translation>
</message>
<message>
+ <location line="+2"/>
<source>Size All</source>
<translation>全部大小</translation>
</message>
<message>
+ <location line="+2"/>
<source>Blank</source>
<translation>空白</translation>
</message>
<message>
+ <location line="+2"/>
<source>Split Vertical</source>
<translation>垂直分割</translation>
</message>
<message>
+ <location line="+2"/>
<source>Split Horizontal</source>
<translation>水平分割</translation>
</message>
<message>
+ <location line="+2"/>
<source>Pointing Hand</source>
<translation>指向手</translation>
</message>
<message>
+ <location line="+2"/>
<source>Forbidden</source>
<translation>禁止的</translation>
</message>
<message>
+ <location line="+2"/>
<source>Open Hand</source>
<translation>開啟的手</translation>
</message>
<message>
+ <location line="+2"/>
<source>Closed Hand</source>
<translation>關閉的手</translation>
</message>
<message>
+ <location line="+2"/>
<source>What&apos;s This</source>
<translation>這是什麼</translation>
</message>
<message>
+ <location line="+2"/>
<source>Busy</source>
<translation>忙碌</translation>
</message>
@@ -3129,11 +3571,12 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtFontEditWidget</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="201"/>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+201"/>
<source>...</source>
<translation>...</translation>
</message>
<message>
+ <location line="+20"/>
<source>Select Font</source>
<translation>選擇字型</translation>
</message>
@@ -3145,30 +3588,37 @@ This indicates an inconsistency in the ui-file.</source>
<translation type="obsolete">[%1, %2]</translation>
</message>
<message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-353"/>
<source>Family</source>
<translation>家族</translation>
</message>
<message>
+ <location line="+13"/>
<source>Point Size</source>
<translation>點大小</translation>
</message>
<message>
+ <location line="+8"/>
<source>Bold</source>
<translation>粗體</translation>
</message>
<message>
+ <location line="+7"/>
<source>Italic</source>
<translation>斜體</translation>
</message>
<message>
+ <location line="+7"/>
<source>Underline</source>
<translation>底線</translation>
</message>
<message>
+ <location line="+7"/>
<source>Strikeout</source>
<translation>刪除線</translation>
</message>
<message>
+ <location line="+7"/>
<source>Kerning</source>
<translation>上下突出</translation>
</message>
@@ -3176,6 +3626,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtGradientDialog</name>
<message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientdialog.ui"/>
<source>Edit Gradient</source>
<translation>編輯漸層</translation>
</message>
@@ -3183,219 +3634,274 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtGradientEditor</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="405"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+435"/>
<source>Start X</source>
<translation>起點 X 座標</translation>
</message>
<message>
+ <location line="+4"/>
<source>Start Y</source>
<translation>起點 Y 座標</translation>
</message>
<message>
+ <location line="+4"/>
<source>Final X</source>
<translation>終點 X 座標</translation>
</message>
<message>
+ <location line="+4"/>
<source>Final Y</source>
<translation>終點 Y 座標</translation>
</message>
<message>
+ <location line="+7"/>
+ <location line="+24"/>
<source>Central X</source>
<translation>中心 X 座標</translation>
</message>
<message>
+ <location line="-20"/>
+ <location line="+24"/>
<source>Central Y</source>
<translation>中心 Y 座標</translation>
</message>
<message>
+ <location line="-20"/>
<source>Focal X</source>
<translation>焦點 X 座標</translation>
</message>
<message>
+ <location line="+4"/>
<source>Focal Y</source>
<translation>焦點 Y 座標</translation>
</message>
<message>
+ <location line="+4"/>
<source>Radius</source>
<translation>半徑</translation>
</message>
<message>
+ <location line="+16"/>
<source>Angle</source>
<translation>角度</translation>
</message>
<message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui"/>
<source>Form</source>
<translation>表單</translation>
</message>
<message>
+ <location/>
<source>Gradient Editor</source>
<translation>漸層編輯器</translation>
</message>
<message>
+ <location/>
<source>This area shows a preview of the gradient being edited. It also allows you to edit parameters specific to the gradient&apos;s type such as start and final point, radius, etc. by drag &amp; drop.</source>
<translation>此區域顯示正在編輯中的漸層預覽。它也允許您用拖放來編輯此漸層型態的一些參數,如起點與終點,半徑等等。</translation>
</message>
<message>
+ <location/>
<source>1</source>
<translation>1</translation>
</message>
<message>
+ <location/>
<source>2</source>
<translation>2</translation>
</message>
<message>
+ <location/>
<source>3</source>
<translation>3</translation>
</message>
<message>
+ <location/>
<source>4</source>
<translation>4</translation>
</message>
<message>
+ <location/>
<source>5</source>
<translation>5</translation>
</message>
<message>
+ <location/>
<source>Gradient Stops Editor</source>
<translation>漸層停止點編輯器</translation>
</message>
<message>
+ <location/>
<source>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 &amp; drop the handle to reposition it. Use right mouse button to popup context menu with extra actions.</source>
<translation>這個區域可以讓您編輯漸層停止點。雙擊現有的停止點可以複製一份。在停止點外雙擊可以產生新的停止點。拖放停止點可以改變位置。點擊滑鼠右鍵會出現選單,可以選擇更多動作。</translation>
</message>
<message>
+ <location/>
<source>Zoom</source>
<translation>縮放</translation>
</message>
<message>
+ <location/>
<source>Reset Zoom</source>
<translation>重置縮放</translation>
</message>
<message>
+ <location/>
<source>Position</source>
<translation>位置</translation>
</message>
<message>
+ <location/>
<source>Hue</source>
<translation>色調</translation>
</message>
<message>
+ <location/>
<source>H</source>
<translation>H</translation>
</message>
<message>
+ <location/>
<source>Saturation</source>
<translation>飽和度</translation>
</message>
<message>
+ <location/>
<source>S</source>
<translation>S</translation>
</message>
<message>
+ <location/>
<source>Sat</source>
<translation>Sat</translation>
</message>
<message>
+ <location/>
<source>Value</source>
<translation>數值</translation>
</message>
<message>
+ <location/>
<source>V</source>
<translation>V</translation>
</message>
<message>
+ <location/>
<source>Val</source>
<translation>Val</translation>
</message>
<message>
+ <location/>
<source>Alpha</source>
<translation>Alpha</translation>
</message>
<message>
+ <location/>
<source>A</source>
<translation>A</translation>
</message>
<message>
+ <location/>
<source>Type</source>
<translation>型態</translation>
</message>
<message>
+ <location/>
<source>Spread</source>
<translation>散布</translation>
</message>
<message>
+ <location/>
<source>Color</source>
<translation>顏色</translation>
</message>
<message>
+ <location/>
<source>Current stop&apos;s color</source>
<translation>目前停止點的顏色</translation>
</message>
<message>
+ <location/>
<source>Show HSV specification</source>
<translation>顯示 HSV 規格</translation>
</message>
<message>
+ <location/>
<source>HSV</source>
<translation>HSV</translation>
</message>
<message>
+ <location/>
<source>Show RGB specification</source>
<translation>顯示 RGB 規格</translation>
</message>
<message>
+ <location/>
<source>RGB</source>
<translation>RGB</translation>
</message>
<message>
+ <location/>
<source>Current stop&apos;s position</source>
<translation>目前停止點位置</translation>
</message>
<message>
+ <location/>
<source>%</source>
<translation>%</translation>
</message>
<message>
+ <location/>
<source>Zoom In</source>
<translation>放大</translation>
</message>
<message>
+ <location/>
<source>Zoom Out</source>
<translation>縮小</translation>
</message>
<message>
+ <location/>
<source>Toggle details extension</source>
<translation>切換詳情延伸</translation>
</message>
<message>
+ <location/>
<source>&gt;</source>
<translation>&gt;</translation>
</message>
<message>
+ <location/>
<source>Linear Type</source>
<translation>線性型態</translation>
</message>
<message>
+ <location/>
<source>...</source>
<translation>...</translation>
</message>
<message>
+ <location/>
<source>Radial Type</source>
<translation>放射型態</translation>
</message>
<message>
+ <location/>
<source>Conical Type</source>
<translation>圓錐型態</translation>
</message>
<message>
+ <location/>
<source>Pad Spread</source>
<translation>填補散布</translation>
</message>
<message>
+ <location/>
<source>Repeat Spread</source>
<translation>重覆散布</translation>
</message>
<message>
+ <location/>
<source>Reflect Spread</source>
<translation>反射散布</translation>
</message>
@@ -3403,31 +3909,37 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtGradientStopsWidget</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="919"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+949"/>
<source>New Stop</source>
<translation>新增停止點</translation>
</message>
<message>
+ <location line="+1"/>
<source>Delete</source>
<translation>刪除</translation>
</message>
<message>
+ <location line="+1"/>
<source>Flip All</source>
<translation>全部翻轉</translation>
</message>
<message>
+ <location line="+1"/>
<source>Select All</source>
<translation>全部選取</translation>
</message>
<message>
+ <location line="+1"/>
<source>Zoom In</source>
<translation>放大</translation>
</message>
<message>
+ <location line="+1"/>
<source>Zoom Out</source>
<translation>縮小</translation>
</message>
<message>
+ <location line="+1"/>
<source>Reset Zoom</source>
<translation>重置縮放</translation>
</message>
@@ -3435,35 +3947,46 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtGradientView</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="77"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+107"/>
<source>Grad</source>
<translation>漸層</translation>
</message>
<message>
+ <location line="+26"/>
<source>Remove Gradient</source>
<translation>移除漸層</translation>
</message>
<message>
+ <location line="+1"/>
<source>Are you sure you want to remove the selected gradient?</source>
<translation>您確定要移除選取的漸層嗎?</translation>
</message>
<message>
+ <location line="+74"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui"/>
<source>New...</source>
<translation>新增...</translation>
</message>
<message>
+ <location line="+1"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui"/>
<source>Edit...</source>
<translation>編輯...</translation>
</message>
<message>
+ <location line="+1"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui"/>
<source>Rename</source>
<translation>重新命名</translation>
</message>
<message>
+ <location line="+1"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui"/>
<source>Remove</source>
<translation>移除</translation>
</message>
<message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui"/>
<source>Gradient View</source>
<translation>漸層檢視</translation>
</message>
@@ -3471,6 +3994,8 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtGradientViewDialog</name>
<message>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+62"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui"/>
<source>Select Gradient</source>
<translation>選擇漸層</translation>
</message>
@@ -3478,7 +4003,7 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtKeySequenceEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="221"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+221"/>
<source>Clear Shortcut</source>
<translation>清除捷徑</translation>
</message>
@@ -3486,14 +4011,17 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtLocalePropertyManager</name>
<message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3561"/>
<source>%1, %2</source>
<translation>%1,%2</translation>
</message>
<message>
+ <location line="+53"/>
<source>Language</source>
<translation>語言</translation>
</message>
<message>
+ <location line="+8"/>
<source>Country</source>
<translation>國家</translation>
</message>
@@ -3501,14 +4029,17 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtPointFPropertyManager</name>
<message>
+ <location line="+415"/>
<source>(%1, %2)</source>
<translation>(%1,%2)</translation>
</message>
<message>
+ <location line="+71"/>
<source>X</source>
<translation>X</translation>
</message>
<message>
+ <location line="+8"/>
<source>Y</source>
<translation>Y</translation>
</message>
@@ -3516,14 +4047,17 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtPointPropertyManager</name>
<message>
+ <location line="-322"/>
<source>(%1, %2)</source>
<translation>(%1,%2)</translation>
</message>
<message>
+ <location line="+37"/>
<source>X</source>
<translation>X</translation>
</message>
<message>
+ <location line="+7"/>
<source>Y</source>
<translation>Y</translation>
</message>
@@ -3531,10 +4065,12 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtPropertyBrowserUtils</name>
<message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-136"/>
<source>[%1, %2, %3] (%4)</source>
<translation>[%1, %2, %3] (%4)</translation>
</message>
<message>
+ <location line="+30"/>
<source>[%1, %2]</source>
<translation>[%1, %2]</translation>
</message>
@@ -3542,23 +4078,27 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtRectFPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="1705"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1716"/>
<source>[(%1, %2), %3 x %4]</source>
<translation>[(%1, %2), %3x%4]</translation>
</message>
<message>
+ <location line="+156"/>
<source>X</source>
<translation>X</translation>
</message>
<message>
+ <location line="+8"/>
<source>Y</source>
<translation>Y</translation>
</message>
<message>
+ <location line="+8"/>
<source>Width</source>
<translation>寬度</translation>
</message>
<message>
+ <location line="+9"/>
<source>Height</source>
<translation>高度</translation>
</message>
@@ -3566,22 +4106,27 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtRectPropertyManager</name>
<message>
+ <location line="-614"/>
<source>[(%1, %2), %3 x %4]</source>
<translation>[(%1, %2), %3x%4]</translation>
</message>
<message>
+ <location line="+120"/>
<source>X</source>
<translation>X</translation>
</message>
<message>
+ <location line="+7"/>
<source>Y</source>
<translation>Y</translation>
</message>
<message>
+ <location line="+7"/>
<source>Width</source>
<translation>寬度</translation>
</message>
<message>
+ <location line="+8"/>
<source>Height</source>
<translation>高度</translation>
</message>
@@ -3589,41 +4134,52 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>QtResourceEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="46"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="+76"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 已存在。
您要取代它嗎?</translation>
</message>
<message>
+ <location line="+5"/>
<source>The file does not appear to be a resource file; element &apos;%1&apos; was found where &apos;%2&apos; was expected.</source>
<translation>此檔案似乎不是資源檔;應該是元素 %2 但是找到元素 %1。</translation>
</message>
<message>
+ <location line="+902"/>
<source>%1 [read-only]</source>
<translation>%1 [唯讀]</translation>
</message>
<message>
+ <location line="+2"/>
+ <location line="+198"/>
<source>%1 [missing]</source>
<translation>%1 [遺失]</translation>
</message>
<message>
+ <location line="-72"/>
<source>&lt;no prefix&gt;</source>
<translation>&lt;沒有前置字串&gt;</translation>
</message>
<message>
+ <location line="+320"/>
+ <location line="+567"/>
<source>New Resource File</source>
<translation>新資源檔</translation>
</message>
<message>
+ <location line="-565"/>
+ <location line="+25"/>
<source>Resource files (*.qrc)</source>
<translation>資源檔 (*.qrc)</translation>
</message>
<message>
+ <location line="-2"/>
<source>Import Resource File</source>
<translation>匯入資源檔</translation>
</message>
<message>
+ <location line="+112"/>
<source>newPrefix</source>
<translation>新前置字串</translation>
</message>
@@ -3632,48 +4188,63 @@ Do you want to replace it?</source>
<translation type="obsolete">&lt;p&gt;&lt;b&gt;警告:&lt;/b&gt;檔案:&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;放在目前資源檔目錄之外。&lt;/p&gt;&lt;p&gt;您可以按下&lt;/p&gt;&lt;table&gt;&lt;tr&gt;&lt;th&gt;複製&lt;/th&gt;&lt;td&gt;來將檔案複製到資源檔目錄中。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;複製為...&lt;/th&gt;&lt;td&gt;來將檔案複製到某一個資源檔的子目錄。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;保持&lt;/th&gt;&lt;td&gt;使用它目前的位置。&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
</message>
<message>
+ <location line="+49"/>
<source>Add Files</source>
<translation>新增檔案</translation>
</message>
<message>
+ <location line="+21"/>
<source>Incorrect Path</source>
<translation>不正確的路徑</translation>
</message>
<message>
+ <location line="+3"/>
+ <location line="+19"/>
+ <location line="+212"/>
+ <location line="+7"/>
<source>Copy</source>
<translation>複製</translation>
</message>
<message>
+ <location line="-236"/>
<source>Copy As...</source>
<translation>複製為...</translation>
</message>
<message>
+ <location line="+2"/>
<source>Keep</source>
<translation>保持</translation>
</message>
<message>
+ <location line="+2"/>
<source>Skip</source>
<translation>略過</translation>
</message>
<message>
+ <location line="+87"/>
<source>Clone Prefix</source>
<translation>複製前置字串</translation>
</message>
<message>
+ <location line="+1"/>
<source>Enter the suffix which you want to add to the names of the cloned files.
This could for example be a language extension like &quot;_de&quot;.</source>
<translation>請輸入您要複製檔案的檔名的後置字串。
可以用語言的延伸代碼,例如 &quot;_tw&quot;。</translation>
</message>
<message>
+ <location line="+113"/>
+ <location line="+4"/>
<source>Copy As</source>
<translation>複製為</translation>
</message>
<message>
+ <location line="+1"/>
<source>&lt;p&gt;The selected file:&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;is outside of the current resource file&apos;s directory:&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Please select another path within this directory.&lt;p&gt;</source>
<translation>&lt;p&gt;選取的檔案:&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;在目前的資源檔目錄:&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;之外。請選擇在該目錄之內的路徑存放。&lt;/p&gt;</translation>
</message>
<message>
+ <location line="+20"/>
<source>Could not overwrite %1.</source>
<translation>無法覆寫 %1。</translation>
</message>
@@ -3688,14 +4259,17 @@ to:
%2</translation>
</message>
<message>
+ <location line="-289"/>
<source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; The file&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;is outside of the current resource file&apos;s parent directory.&lt;/p&gt;</source>
<translation>&lt;p&gt;&lt;b&gt;警告:&lt;/b&gt;檔案&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;放在目前資源檔的父目錄以外。&lt;/p&gt;</translation>
</message>
<message>
+ <location line="+8"/>
<source>&lt;p&gt;To resolve the issue, press:&lt;/p&gt;&lt;table&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Copy&lt;/th&gt;&lt;td&gt;to copy the file to the resource file&apos;s parent directory.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Copy As...&lt;/th&gt;&lt;td&gt;to copy the file into a subdirectory of the resource file&apos;s parent directory.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Keep&lt;/th&gt;&lt;td&gt;to use its current location.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
<translation>&lt;p&gt;要解決此問題,請按&lt;/p&gt;&lt;table&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;複製&lt;/th&gt;&lt;td&gt;將該檔案複製到資源檔的父目錄。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;複製為...&lt;/th&gt;&lt;td&gt;將該檔案複製到資源檔的父目錄底下的某個子目錄。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;保持&lt;/th&gt;&lt;td&gt;則不移動該檔案。&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
</message>
<message>
+ <location line="+288"/>
<source>Could not copy
%1
to
@@ -3706,120 +4280,153 @@ to
%2</translation>
</message>
<message>
+ <location line="+35"/>
<source>A parse error occurred at line %1, column %2 of %3:
%4</source>
<translation>%3 中發生剖析錯誤於行 %1 欄 %2:
%4</translation>
</message>
<message>
+ <location line="+12"/>
<source>Save Resource File</source>
<translation>儲存資源檔</translation>
</message>
<message>
+ <location line="+1"/>
<source>Could not write %1: %2</source>
<translation>無法寫入 %1:%2</translation>
</message>
<message>
+ <location line="+34"/>
<source>Edit Resources</source>
<translation>編輯資源</translation>
</message>
<message>
+ <location line="+35"/>
<source>New...</source>
<translation>新增...</translation>
</message>
<message>
+ <location line="+2"/>
<source>Open...</source>
<translation>開啟...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Open Resource File</source>
<translation>開啟資源檔</translation>
</message>
<message>
+ <location line="+1"/>
+ <location line="+11"/>
<source>Remove</source>
<translation>移除</translation>
</message>
<message>
+ <location line="-10"/>
+ <location line="+11"/>
<source>Move Up</source>
<translation>上移</translation>
</message>
<message>
+ <location line="-10"/>
+ <location line="+11"/>
<source>Move Down</source>
<translation>下移</translation>
</message>
<message>
+ <location line="-9"/>
+ <location line="+1"/>
<source>Add Prefix</source>
<translation>新增前置字串</translation>
</message>
<message>
+ <location line="+1"/>
<source>Add Files...</source>
<translation>新增檔案...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Change Prefix</source>
<translation>變更前置字串</translation>
</message>
<message>
+ <location line="+1"/>
<source>Change Language</source>
<translation>變更語言</translation>
</message>
<message>
+ <location line="+1"/>
<source>Change Alias</source>
<translation>變更別名</translation>
</message>
<message>
+ <location line="+1"/>
<source>Clone Prefix...</source>
<translation>複製前置字串...</translation>
</message>
<message>
+ <location line="+37"/>
<source>Prefix / Path</source>
<translation>前置字串/路徑</translation>
</message>
<message>
+ <location line="+1"/>
<source>Language / Alias</source>
<translation>語言/別名</translation>
</message>
<message>
+ <location line="+119"/>
<source>&lt;html&gt;&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; There have been problems while reloading the resources:&lt;/p&gt;&lt;pre&gt;%1&lt;/pre&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;p&gt;&lt;b&gt;警告:&lt;/b&gt;重新載入資源&lt;/p&gt;&lt;pre&gt;%1&lt;/pre&gt; &lt;p&gt;時發生問題。&lt;/p&gt;&lt;/html&gt;</translation>
</message>
<message>
+ <location line="+2"/>
<source>Resource Warning</source>
<translation>資源警告</translation>
</message>
<message>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui"/>
<source>Dialog</source>
<translation>對話框</translation>
</message>
<message>
+ <location/>
<source>New File</source>
<translation>新增檔案</translation>
</message>
<message>
+ <location/>
<source>N</source>
<translation>N</translation>
</message>
<message>
+ <location/>
<source>Remove File</source>
<translation>移除檔案</translation>
</message>
<message>
+ <location/>
<source>R</source>
<translation>R</translation>
</message>
<message>
+ <location/>
<source>I</source>
<translation>I</translation>
</message>
<message>
+ <location/>
<source>New Resource</source>
<translation>新增資源</translation>
</message>
<message>
+ <location/>
<source>A</source>
<translation>A</translation>
</message>
<message>
+ <location/>
<source>Remove Resource or File</source>
<translation>移除資源或檔案</translation>
</message>
@@ -3831,21 +4438,24 @@ to
<context>
<name>QtResourceView</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="404"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+435"/>
<source>Size: %1 x %2
%3</source>
<translation>大小:%1x%2
%3</translation>
</message>
<message>
+ <location line="+18"/>
<source>Edit Resources...</source>
<translation>編輯資源...</translation>
</message>
<message>
+ <location line="+5"/>
<source>Reload</source>
<translation>重新載入</translation>
</message>
<message>
+ <location line="+5"/>
<source>Copy Path</source>
<translation>複製路徑</translation>
</message>
@@ -3853,6 +4463,7 @@ to
<context>
<name>QtResourceViewDialog</name>
<message>
+ <location line="+247"/>
<source>Select Resource</source>
<translation>選擇資源</translation>
</message>
@@ -3860,14 +4471,17 @@ to
<context>
<name>QtSizeFPropertyManager</name>
<message>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-537"/>
<source>%1 x %2</source>
<translation>%1x%2</translation>
</message>
<message>
+ <location line="+130"/>
<source>Width</source>
<translation>寬度</translation>
</message>
<message>
+ <location line="+9"/>
<source>Height</source>
<translation>高度</translation>
</message>
@@ -3875,22 +4489,33 @@ to
<context>
<name>QtSizePolicyPropertyManager</name>
<message>
+ <location line="+1719"/>
+ <location line="+1"/>
+ <source>&lt;Invalid&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>[%1, %2, %3, %4]</source>
<translation>[%1, %2, %3, %4]</translation>
</message>
<message>
+ <location line="+45"/>
<source>Horizontal Policy</source>
<translation>水平政策</translation>
</message>
<message>
+ <location line="+9"/>
<source>Vertical Policy</source>
<translation>垂直政策</translation>
</message>
<message>
+ <location line="+9"/>
<source>Horizontal Stretch</source>
<translation>水平伸展</translation>
</message>
<message>
+ <location line="+8"/>
<source>Vertical Stretch</source>
<translation>垂直伸展</translation>
</message>
@@ -3898,14 +4523,17 @@ to
<context>
<name>QtSizePropertyManager</name>
<message>
+ <location line="-2298"/>
<source>%1 x %2</source>
<translation>%1x%2</translation>
</message>
<message>
+ <location line="+96"/>
<source>Width</source>
<translation>寬度</translation>
</message>
<message>
+ <location line="+8"/>
<source>Height</source>
<translation>高度</translation>
</message>
@@ -3913,87 +4541,107 @@ to
<context>
<name>QtToolBarDialog</name>
<message>
- <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="1214"/>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1244"/>
<source>Custom Toolbar</source>
<translation>自訂工具列</translation>
</message>
<message>
+ <location line="+545"/>
<source>&lt; S E P A R A T O R &gt;</source>
<translation>&lt;分隔器&gt;</translation>
</message>
<message>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui"/>
<source>Customize Toolbars</source>
<translation>自訂工具列</translation>
</message>
<message>
+ <location/>
<source>1</source>
<translation>1</translation>
</message>
<message>
+ <location/>
<source>Actions</source>
<translation>動作</translation>
</message>
<message>
+ <location/>
<source>Toolbars</source>
<translation>工具列</translation>
</message>
<message>
+ <location/>
<source>Add new toolbar</source>
<translation>新增工具列</translation>
</message>
<message>
+ <location/>
<source>New</source>
<translation>新增</translation>
</message>
<message>
+ <location/>
<source>Remove selected toolbar</source>
<translation>移除選取的工具列</translation>
</message>
<message>
+ <location/>
<source>Remove</source>
<translation>移除</translation>
</message>
<message>
+ <location/>
<source>Rename toolbar</source>
<translation>重新命名工具列</translation>
</message>
<message>
+ <location/>
<source>Rename</source>
<translation>重新命名</translation>
</message>
<message>
+ <location/>
<source>Move action up</source>
<translation>將動作上移</translation>
</message>
<message>
+ <location/>
<source>Up</source>
<translation>上</translation>
</message>
<message>
+ <location/>
<source>Remove action from toolbar</source>
<translation>從工具列移除動作</translation>
</message>
<message>
+ <location/>
<source>&lt;-</source>
<translation>&lt;-</translation>
</message>
<message>
+ <location/>
<source>Add action to toolbar</source>
<translation>新增動作到工具列</translation>
</message>
<message>
+ <location/>
<source>-&gt;</source>
<translation>-&gt;</translation>
</message>
<message>
+ <location/>
<source>Move action down</source>
<translation>將動作下移</translation>
</message>
<message>
+ <location/>
<source>Down</source>
<translation>下</translation>
</message>
<message>
+ <location/>
<source>Current Toolbar Actions</source>
<translation>目前工具列的動作</translation>
</message>
@@ -4001,11 +4649,12 @@ to
<context>
<name>QtTreePropertyBrowser</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="407"/>
+ <location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="+442"/>
<source>Property</source>
<translation>屬性</translation>
</message>
<message>
+ <location line="+1"/>
<source>Value</source>
<translation>數值</translation>
</message>
@@ -4013,53 +4662,64 @@ to
<context>
<name>SaveFormAsTemplate</name>
<message>
- <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="42"/>
+ <location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="+72"/>
<source>Add path...</source>
<translation>新增路徑...</translation>
</message>
<message>
+ <location line="+23"/>
<source>Template Exists</source>
<translation>樣本已存在</translation>
</message>
<message>
+ <location line="+1"/>
<source>A template with the name %1 already exists.
Do you want overwrite the template?</source>
<translation>名稱為 %1 的樣本已存在。
您要覆寫此樣本嗎?</translation>
</message>
<message>
+ <location line="+3"/>
<source>Overwrite Template</source>
<translation>覆寫樣本</translation>
</message>
<message>
+ <location line="+7"/>
<source>Open Error</source>
<translation>開啟錯誤</translation>
</message>
<message>
+ <location line="+1"/>
<source>There was an error opening template %1 for writing. Reason: %2</source>
<translation>開啟樣本 %1 以寫入時失敗。理由:%2</translation>
</message>
<message>
+ <location line="+13"/>
<source>Write Error</source>
<translation>寫入錯誤</translation>
</message>
<message>
+ <location line="+1"/>
<source>There was an error writing the template %1 to disk. Reason: %2</source>
<translation>將樣本 %1 寫入磁碟時發生錯誤。理由:%2</translation>
</message>
<message>
+ <location line="+27"/>
<source>Pick a directory to save templates in</source>
<translation>請選擇要儲存樣本的目錄</translation>
</message>
<message>
+ <location filename="../tools/designer/src/designer/saveformastemplate.ui"/>
<source>Save Form As Template</source>
<translation>將表單存為樣本</translation>
</message>
<message>
+ <location/>
<source>&amp;Category:</source>
<translation>分類(&amp;C):</translation>
</message>
<message>
+ <location/>
<source>&amp;Name:</source>
<translation>名稱(&amp;N):</translation>
</message>
@@ -4067,7 +4727,7 @@ Do you want overwrite the template?</source>
<context>
<name>ScriptErrorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="33"/>
+ <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+63"/>
<source>An error occurred while running the scripts for &quot;%1&quot;:
</source>
<translation>執行 %1 的文稿時發生錯誤:
@@ -4077,17 +4737,30 @@ Do you want overwrite the template?</source>
<context>
<name>SelectSignalDialog</name>
<message>
+ <location filename="../tools/designer/src/lib/shared/selectsignaldialog.ui"/>
<source>Go to slot</source>
<translation>跳到信號槽</translation>
</message>
<message>
+ <location/>
<source>Select signal</source>
<translation>選擇信號</translation>
</message>
+ <message>
+ <location/>
+ <source>signal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location/>
+ <source>class</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SignalSlotConnection</name>
<message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="-358"/>
<source>SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4)</source>
<translation>發送者(%1),信號(%2),接收者(%3),信號槽(%4)</translation>
</message>
@@ -4095,26 +4768,32 @@ Do you want overwrite the template?</source>
<context>
<name>SignalSlotDialogClass</name>
<message>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui"/>
<source>Signals and slots</source>
<translation>信號與信號槽</translation>
</message>
<message>
+ <location/>
<source>Slots</source>
<translation>信號槽</translation>
</message>
<message>
+ <location/>
<source>Add</source>
<translation>新增</translation>
</message>
<message>
+ <location/>
<source>...</source>
<translation>...</translation>
</message>
<message>
+ <location/>
<source>Delete</source>
<translation>刪除</translation>
</message>
<message>
+ <location/>
<source>Signals</source>
<translation>信號</translation>
</message>
@@ -4122,11 +4801,12 @@ Do you want overwrite the template?</source>
<context>
<name>Spacer</name>
<message>
- <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="245"/>
+ <location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="+275"/>
<source>Horizontal Spacer &apos;%1&apos;, %2 x %3</source>
<translation>水平空間 %1,%2x%3</translation>
</message>
<message>
+ <location line="+0"/>
<source>Vertical Spacer &apos;%1&apos;, %2 x %3</source>
<translation>垂直空間 %1,%2x%3</translation>
</message>
@@ -4134,35 +4814,41 @@ Do you want overwrite the template?</source>
<context>
<name>TemplateOptionsPage</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="126"/>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="+156"/>
<source>Template Paths</source>
+ <extracomment>Tab in preferences dialog</extracomment>
<translation>樣本路徑</translation>
</message>
</context>
<context>
<name>ToolBarManager</name>
<message>
- <location filename="../tools/designer/src/designer/mainwindow.cpp" line="89"/>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+89"/>
<source>Configure Toolbars...</source>
<translation>設定工具列...</translation>
</message>
<message>
+ <location line="+15"/>
<source>Window</source>
<translation>視窗</translation>
</message>
<message>
+ <location line="+1"/>
<source>Help</source>
<translation>說明</translation>
</message>
<message>
+ <location line="+7"/>
<source>Style</source>
<translation>樣式</translation>
</message>
<message>
+ <location line="+2"/>
<source>Dock views</source>
<translation>嵌入檢視</translation>
</message>
<message>
+ <location line="+6"/>
<source>Toolbars</source>
<translation>工具列</translation>
</message>
@@ -4170,19 +4856,21 @@ Do you want overwrite the template?</source>
<context>
<name>VersionDialog</name>
<message>
- <location filename="../tools/designer/src/designer/versiondialog.cpp" line="141"/>
+ <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+171"/>
<source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;Version %2</source>
<translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;&lt;br/&gt;版本 %2</translation>
</message>
<message>
<source> Open Source Edition</source>
- <translation> 開放源碼版本</translation>
+ <translation type="obsolete"> 開放源碼版本</translation>
</message>
<message>
+ <location line="+1"/>
<source>Qt Designer</source>
<translation>Qt 設計家</translation>
</message>
<message>
+ <location line="+1"/>
<source>&lt;br/&gt;Qt Designer is a graphical user interface designer for Qt applications.&lt;br/&gt;</source>
<translation>&lt;br /&gt;Qt 設計家是一套圖形使用者介面應用程式,用於設計 Qt 的應用程式。&lt;br /&gt;</translation>
</message>
@@ -4192,25 +4880,26 @@ Do you want overwrite the template?</source>
</message>
<message>
<source>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.&lt;br/&gt;</source>
- <translation>此程式以 Qt 商業授權同意書(Qt Commerical License Agreement)授權給您。詳情請參照 LICENSE 檔。&lt;br /&gt;</translation>
+ <translation type="obsolete">此程式以 Qt 商業授權同意書(Qt Commerical License Agreement)授權給您。詳情請參照 LICENSE 檔。&lt;br /&gt;</translation>
</message>
<message>
+ <location line="+5"/>
<source>%1&lt;br/&gt;%2&lt;br/&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;br/&gt;&lt;br/&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;br/&gt; </source>
<translation>%1&lt;br/&gt;%2&lt;br/&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;br/&gt;&lt;br/&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;br/&gt; </translation>
</message>
<message>
<source>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.&lt;br/&gt;&lt;br/&gt;You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel.html&lt;/a&gt; for an overview of Qt licensing.&lt;br/&gt;</source>
- <translation>此版本的 Qt 設計家是 Qt 開放源碼版本的一部份,只能用於開發開放源碼的應用程式。Qt 為一個跨平台的,強大的 C++ 應用程式開發框架。您需要商業版的 Qt 授權才能發展私有(封閉)應用程式軟體。關於 Qt 授權的概要,請參考 &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel.html&lt;/a&gt;。&lt;br/&gt;</translation>
+ <translation type="obsolete">此版本的 Qt 設計家是 Qt 開放源碼版本的一部份,只能用於開發開放源碼的應用程式。Qt 為一個跨平台的,強大的 C++ 應用程式開發框架。您需要商業版的 Qt 授權才能發展私有(封閉)應用程式軟體。關於 Qt 授權的概要,請參考 &lt;a href=&quot;http://qtsoftware.com/company/about/businessmodel&quot;&gt;http://qtsoftware.com/company/about/businessmodel.html&lt;/a&gt;。&lt;br/&gt;</translation>
</message>
<message>
<source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.&lt;br/&gt;</source>
- <translation>此程式以 Qt %1 授權同意書授權給您。詳情請參照此軟體套件中的授權檔。&lt;br /&gt;</translation>
+ <translation type="obsolete">此程式以 Qt %1 授權同意書授權給您。詳情請參照此軟體套件中的授權檔。&lt;br /&gt;</translation>
</message>
</context>
<context>
<name>WidgetDataBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="786"/>
+ <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="+814"/>
<source>The file contains a custom widget &apos;%1&apos; whose base class (%2) differs from the current entry in the widget database (%3). The widget database is left unchanged.</source>
<translation>此檔案包含了自訂元件 %1,其基礎類別(%2)與在元件資料庫目前的項目(%3)不同。元件資料庫並未做更動。</translation>
</message>
@@ -4218,23 +4907,27 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ActionEditor</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="111"/>
+ <location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+143"/>
<source>Actions</source>
<translation>動作</translation>
</message>
<message>
+ <location line="-16"/>
<source>New...</source>
<translation>新增...</translation>
</message>
<message>
+ <location line="+7"/>
<source>Delete</source>
<translation>刪除</translation>
</message>
<message>
+ <location line="+307"/>
<source>New action</source>
<translation>新動作</translation>
</message>
<message>
+ <location line="+98"/>
<source>Edit action</source>
<translation>編輯動作</translation>
</message>
@@ -4247,46 +4940,62 @@ Do you want overwrite the template?</source>
<translation type="obsolete">功能尚未實作!</translation>
</message>
<message>
+ <location line="-411"/>
<source>Edit...</source>
<translation>編輯...</translation>
</message>
<message>
+ <location line="+1"/>
+ <source>Go to slot...</source>
+ <translation type="unfinished">跳到信號槽...</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Copy</source>
<translation>複製</translation>
</message>
<message>
+ <location line="+1"/>
<source>Cut</source>
<translation>剪下</translation>
</message>
<message>
+ <location line="+1"/>
<source>Paste</source>
<translation>貼上</translation>
</message>
<message>
+ <location line="+1"/>
<source>Select all</source>
<translation>全部選取</translation>
</message>
<message>
+ <location line="+54"/>
<source>Configure Action Editor</source>
<translation>設定動作編輯器</translation>
</message>
<message>
+ <location line="+3"/>
<source>Icon View</source>
<translation>圖示檢視</translation>
</message>
<message>
+ <location line="+6"/>
<source>Detailed View</source>
<translation>詳情檢視</translation>
</message>
<message>
+ <location line="+412"/>
<source>Remove actions</source>
<translation>移除動作</translation>
</message>
<message>
+ <location line="+0"/>
<source>Remove action &apos;%1&apos;</source>
<translation>移除動作 %1</translation>
</message>
<message>
+ <location line="+186"/>
<source>Used In</source>
<translation>使用於</translation>
</message>
@@ -4301,27 +5010,32 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ActionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="64"/>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+95"/>
<source>Name</source>
<translation>名稱</translation>
</message>
<message>
+ <location line="+1"/>
<source>Used</source>
<translation>已使用</translation>
</message>
<message>
+ <location line="+1"/>
<source>Text</source>
<translation>文字</translation>
</message>
<message>
+ <location line="+1"/>
<source>Shortcut</source>
<translation>捷徑</translation>
</message>
<message>
+ <location line="+1"/>
<source>Checkable</source>
<translation>可勾選</translation>
</message>
<message>
+ <location line="+1"/>
<source>ToolTip</source>
<translation>工具提示</translation>
</message>
@@ -4329,27 +5043,31 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::BuddyEditor</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="235"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+265"/>
<source>Add buddy</source>
<translation>新增同伴</translation>
</message>
<message>
+ <location line="+52"/>
<source>Remove buddies</source>
<translation>移除同伴</translation>
</message>
<message numerus="yes">
+ <location line="+24"/>
<source>Remove %n buddies</source>
<translation>
<numerusform>移除 %n 個項目</numerusform>
</translation>
</message>
<message numerus="yes">
+ <location line="+51"/>
<source>Add %n buddies</source>
<translation>
<numerusform>新增 %n 個項目</numerusform>
</translation>
</message>
<message>
+ <location line="+47"/>
<source>Set automatically</source>
<translation>自動設定</translation>
</message>
@@ -4357,7 +5075,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::BuddyEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="47"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+77"/>
<source>Edit Buddies</source>
<translation>編輯同伴</translation>
</message>
@@ -4365,7 +5083,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::BuddyEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="30"/>
+ <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+60"/>
<source>Edit Buddies</source>
<translation>編輯同伴</translation>
</message>
@@ -4373,11 +5091,12 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ButtonGroupMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="7"/>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+7"/>
<source>Select members</source>
<translation>選擇成員</translation>
</message>
<message>
+ <location line="+1"/>
<source>Break</source>
<translation>打斷</translation>
</message>
@@ -4385,26 +5104,32 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ButtonTaskMenu</name>
<message>
+ <location line="+121"/>
<source>Assign to button group</source>
<translation>指定按鍵群組</translation>
</message>
<message>
+ <location line="+2"/>
<source>Button group</source>
<translation>按鍵群組</translation>
</message>
<message>
+ <location line="+1"/>
<source>New button group</source>
<translation>新增按鍵群組</translation>
</message>
<message>
+ <location line="+1"/>
<source>Change text...</source>
<translation>變更文字...</translation>
</message>
<message>
+ <location line="+1"/>
<source>None</source>
<translation>無</translation>
</message>
<message>
+ <location line="+101"/>
<source>Button group &apos;%1&apos;</source>
<translation>按鍵群組 %1</translation>
</message>
@@ -4412,47 +5137,57 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::CodeDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="69"/>
+ <location filename="../tools/designer/src/lib/shared/codedialog.cpp" line="+99"/>
<source>Save...</source>
<translation>儲存...</translation>
</message>
<message>
+ <location line="+4"/>
<source>Copy All</source>
<translation>全部複製</translation>
</message>
<message>
+ <location line="+5"/>
<source>&amp;Find in Text...</source>
<translation>在文字中尋找(&amp;F)...</translation>
</message>
<message>
+ <location line="+75"/>
<source>A temporary form file could not be created in %1.</source>
<translation>無法於 %1 建立暫存表單檔。</translation>
</message>
<message>
+ <location line="+6"/>
<source>The temporary form file %1 could not be written.</source>
<translation>無法寫入暫存表單檔 %1。</translation>
</message>
<message>
+ <location line="+21"/>
<source>%1 - [Code]</source>
<translation>%1─[源碼]</translation>
</message>
<message>
+ <location line="+23"/>
<source>Save Code</source>
<translation>儲存程式碼</translation>
</message>
<message>
+ <location line="+0"/>
<source>Header Files (*.%1)</source>
<translation>標頭檔 (*.%1)</translation>
</message>
<message>
+ <location line="+6"/>
<source>The file %1 could not be opened: %2</source>
<translation>檔案 %1 無法開啟:%2</translation>
</message>
<message>
+ <location line="+5"/>
<source>The file %1 could not be written: %2</source>
<translation>檔案 %1 無法寫入:%2</translation>
</message>
<message>
+ <location line="+11"/>
<source>%1 - Error</source>
<translation>%1─錯誤</translation>
</message>
@@ -4460,7 +5195,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ColorAction</name>
<message>
- <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="220"/>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+250"/>
<source>Text Color</source>
<translation>文字顏色</translation>
</message>
@@ -4468,11 +5203,12 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ComboBoxTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="42"/>
+ <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+72"/>
<source>Edit Items...</source>
<translation>編輯項目...</translation>
</message>
<message>
+ <location line="+38"/>
<source>Change Combobox Contents</source>
<translation>變更下拉式選單內容</translation>
</message>
@@ -4480,7 +5216,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::CommandLinkButtonTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="156"/>
+ <location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+156"/>
<source>Change description...</source>
<translation>變更描述...</translation>
</message>
@@ -4503,15 +5239,17 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ConnectionEdit</name>
<message>
- <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="1313"/>
+ <location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+1313"/>
<source>Select All</source>
<translation>全部選取</translation>
</message>
<message>
+ <location line="+3"/>
<source>Deselect All</source>
<translation>全部取消選取</translation>
</message>
<message>
+ <location line="+5"/>
<source>Delete</source>
<translation>刪除</translation>
</message>
@@ -4519,38 +5257,47 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::ConnectionModel</name>
<message>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="-465"/>
<source>Sender</source>
<translation>發送者</translation>
</message>
<message>
+ <location line="+1"/>
<source>Signal</source>
<translation>信號</translation>
</message>
<message>
+ <location line="+1"/>
<source>Receiver</source>
<translation>接收者</translation>
</message>
<message>
+ <location line="+1"/>
<source>Slot</source>
<translation>信號槽</translation>
</message>
<message>
+ <location line="+90"/>
<source>&lt;sender&gt;</source>
<translation>&lt;發送者&gt;</translation>
</message>
<message>
+ <location line="+1"/>
<source>&lt;signal&gt;</source>
<translation>&lt;信號&gt;</translation>
</message>
<message>
+ <location line="+1"/>
<source>&lt;receiver&gt;</source>
<translation>&lt;接收者&gt;</translation>
</message>
<message>
+ <location line="+1"/>
<source>&lt;slot&gt;</source>
<translation>&lt;信號槽&gt;</translation>
</message>
<message>
+ <location line="+110"/>
<source>Signal and Slot Editor</source>
<translation>信號與信號槽編輯器</translation>
</message>
@@ -4559,6 +5306,7 @@ Do you want overwrite the template?</source>
<translation type="obsolete">連線已存在。&lt;br&gt;發送者(%1),信號(%2),接收者(%3),信號槽(%4)</translation>
</message>
<message>
+ <location line="-2"/>
<source>The connection already exists!&lt;br&gt;%1</source>
<translation>連線已存在!&lt;br&gt;%1</translation>
</message>
@@ -4570,35 +5318,42 @@ Do you want overwrite the template?</source>
<translation type="obsolete">刪除頁面</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="82"/>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+112"/>
<source>Insert Page Before Current Page</source>
<translation>在目前頁面之前插入</translation>
</message>
<message>
+ <location line="+4"/>
<source>Insert Page After Current Page</source>
<translation>在目前頁面之後插入</translation>
</message>
<message>
+ <location line="-32"/>
<source>Delete</source>
<translation>刪除</translation>
</message>
<message>
+ <location line="+25"/>
<source>Insert</source>
<translation>插入</translation>
</message>
<message>
+ <location line="+15"/>
<source>Add Subwindow</source>
<translation>新增子視窗</translation>
</message>
<message>
+ <location line="+38"/>
<source>Subwindow</source>
<translation>子視窗</translation>
</message>
<message>
+ <location line="+2"/>
<source>Page</source>
<translation>頁面</translation>
</message>
<message>
+ <location line="+1"/>
<source>Page %1 of %2</source>
<translation>第 %1 頁,共 %2 頁</translation>
</message>
@@ -4606,46 +5361,59 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::DPI_Chooser</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="27"/>
+ <location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+27"/>
<source>System (%1 x %2)</source>
+ <extracomment>System resolution</extracomment>
<translation>系統(%1 x %2)</translation>
</message>
<message>
+ <location line="+7"/>
<source>User defined</source>
<translation>使用者定義</translation>
</message>
<message>
+ <location line="+18"/>
<source> x </source>
+ <extracomment>DPI X/Y separator</extracomment>
<translation> x</translation>
</message>
</context>
<context>
<name>qdesigner_internal::DesignerPropertyManager</name>
<message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+644"/>
+ <location line="+6"/>
<source>AlignLeft</source>
<translation>置左對齊</translation>
</message>
<message>
+ <location line="-5"/>
<source>AlignHCenter</source>
<translation>置中對齊</translation>
</message>
<message>
+ <location line="+1"/>
<source>AlignRight</source>
<translation>置右對齊</translation>
</message>
<message>
+ <location line="+1"/>
<source>AlignJustify</source>
<translation>兩邊對齊</translation>
</message>
<message>
+ <location line="+9"/>
<source>AlignTop</source>
<translation>置頂對齊</translation>
</message>
<message>
+ <location line="+1"/>
+ <location line="+4"/>
<source>AlignVCenter</source>
<translation>垂直置中</translation>
</message>
<message>
+ <location line="-3"/>
<source>AlignBottom</source>
<translation>置底對齊</translation>
</message>
@@ -4662,68 +5430,87 @@ Do you want overwrite the template?</source>
<translation type="obsolete">預設反鋸齒</translation>
</message>
<message>
+ <location line="+565"/>
<source>%1, %2</source>
<translation>%1,%2</translation>
</message>
<message numerus="yes">
+ <location line="+6"/>
<source>Customized (%n roles)</source>
<translation>
<numerusform>自訂(%n 個角色)</numerusform>
</translation>
</message>
<message>
+ <location line="+1"/>
<source>Inherited</source>
<translation>繼承</translation>
</message>
<message>
+ <location line="+566"/>
<source>Horizontal</source>
<translation>水平</translation>
</message>
<message>
+ <location line="+9"/>
<source>Vertical</source>
<translation>垂直</translation>
</message>
<message>
+ <location line="+15"/>
<source>Normal Off</source>
<translation>正常時關閉</translation>
</message>
<message>
+ <location line="+1"/>
<source>Normal On</source>
<translation>正常時開啟</translation>
</message>
<message>
+ <location line="+1"/>
<source>Disabled Off</source>
<translation>關閉時關閉</translation>
</message>
<message>
+ <location line="+1"/>
<source>Disabled On</source>
<translation>關閉時開啟</translation>
</message>
<message>
+ <location line="+1"/>
<source>Active Off</source>
<translation>啟用時關閉</translation>
</message>
<message>
+ <location line="+1"/>
<source>Active On</source>
<translation>啟用時開啟</translation>
</message>
<message>
+ <location line="+1"/>
<source>Selected Off</source>
<translation>選擇時關閉</translation>
</message>
<message>
+ <location line="+1"/>
<source>Selected On</source>
<translation>選擇時開啟</translation>
</message>
<message>
+ <location line="+7"/>
+ <location line="+21"/>
<source>translatable</source>
<translation>可翻譯</translation>
</message>
<message>
+ <location line="-15"/>
+ <location line="+21"/>
<source>disambiguation</source>
<translation>澄清</translation>
</message>
<message>
+ <location line="-15"/>
+ <location line="+21"/>
<source>comment</source>
<translation>註解</translation>
</message>
@@ -4735,39 +5522,48 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::DeviceProfileDialog</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="33"/>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="+63"/>
<source>Device Profiles (*.%1)</source>
<translation>裝置設定檔(*.%1)</translation>
</message>
<message>
+ <location line="+31"/>
<source>Default</source>
<translation>預設</translation>
</message>
<message>
+ <location line="+67"/>
<source>Save Profile</source>
<translation>儲存設定檔</translation>
</message>
<message>
+ <location line="+10"/>
<source>Save Profile - Error</source>
<translation>儲存設定檔 ─ 錯誤</translation>
</message>
<message>
+ <location line="+0"/>
<source>Unable to open the file &apos;%1&apos; for writing: %2</source>
<translation>無法開啟檔案 %1 以寫入:%2</translation>
</message>
<message>
+ <location line="+8"/>
<source>Open profile</source>
<translation>開啟設定檔</translation>
</message>
<message>
+ <location line="+6"/>
+ <location line="+6"/>
<source>Open Profile - Error</source>
<translation>開啟設定檔 ─ 錯誤</translation>
</message>
<message>
+ <location line="-6"/>
<source>Unable to open the file &apos;%1&apos; for reading: %2</source>
<translation>無法開啟檔案 %1 以讀取:%2</translation>
</message>
<message>
+ <location line="+6"/>
<source>&apos;%1&apos; is not a valid profile: %2</source>
<translation>%1 不是合法的設定檔:%2</translation>
</message>
@@ -4775,46 +5571,57 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::Dialog</name>
<message>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui"/>
<source>Dialog</source>
<translation>對話框</translation>
</message>
<message>
+ <location/>
<source>StringList</source>
<translation>字串列表</translation>
</message>
<message>
+ <location/>
<source>New String</source>
<translation>新增字串</translation>
</message>
<message>
+ <location/>
<source>&amp;New</source>
<translation>新增(&amp;N)</translation>
</message>
<message>
+ <location/>
<source>Delete String</source>
<translation>刪除字串</translation>
</message>
<message>
+ <location/>
<source>&amp;Delete</source>
<translation>刪除(&amp;D)</translation>
</message>
<message>
+ <location/>
<source>&amp;Value:</source>
<translation>數值(&amp;V):</translation>
</message>
<message>
+ <location/>
<source>Move String Up</source>
<translation>字串上移</translation>
</message>
<message>
+ <location/>
<source>Up</source>
<translation>上</translation>
</message>
<message>
+ <location/>
<source>Move String Down</source>
<translation>字串下移</translation>
</message>
<message>
+ <location/>
<source>Down</source>
<translation>下</translation>
</message>
@@ -4861,14 +5668,60 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::EmbeddedOptionsControl</name>
<message>
+ <location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="-256"/>
+ <source>Add a profile</source>
+ <translation type="unfinished">新增設定檔</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Edit the selected profile</source>
+ <translation type="unfinished">編輯選取的設定檔</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Delete the selected profile</source>
+ <translation type="unfinished">刪除選取的設定檔</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Add Profile</source>
+ <translation type="unfinished">新增設定檔</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>New profile</source>
+ <translation type="unfinished">新增設定檔</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>Edit Profile</source>
+ <translation type="unfinished">編輯設定檔</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Delete Profile</source>
+ <translation type="unfinished">刪除設定檔</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Would you like to delete the profile &apos;%1&apos;?</source>
+ <translation type="unfinished">您要刪除設定檔 %1 嗎?</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Default</source>
+ <translation type="unfinished">預設</translation>
+ </message>
+ <message>
+ <location line="-160"/>
<source>None</source>
- <translation type="obsolete">無</translation>
+ <translation type="unfinished">無</translation>
</message>
</context>
<context>
<name>qdesigner_internal::FilterWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="155"/>
+ <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+185"/>
<source>&lt;Filter&gt;</source>
<translation>&lt;過濾器&gt;</translation>
</message>
@@ -4895,11 +5748,12 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormEditor</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="160"/>
+ <location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="+190"/>
<source>Resource File Changed</source>
<translation>資源檔已變更</translation>
</message>
<message>
+ <location line="+1"/>
<source>The file &quot;%1&quot; has changed outside Designer. Do you want to reload it?</source>
<translation>檔案 %1 在設計器之外被人更動過。您要重新載入嗎?</translation>
</message>
@@ -4907,7 +5761,7 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormLayoutMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="24"/>
+ <location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+24"/>
<source>Add form layout row...</source>
<translation>新增表單佈局列...</translation>
</message>
@@ -4915,10 +5769,12 @@ Do you want overwrite the template?</source>
<context>
<name>qdesigner_internal::FormWindow</name>
<message>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1267"/>
<source>Edit contents</source>
<translation>編輯內容</translation>
</message>
<message>
+ <location line="+1"/>
<source>F2</source>
<translation>F2</translation>
</message>
@@ -4927,10 +5783,13 @@ Do you want overwrite the template?</source>
<translation type="obsolete">插入元件 %1</translation>
</message>
<message>
+ <location line="+841"/>
<source>Resize</source>
<translation>重新調整大小</translation>
</message>
<message>
+ <location line="+218"/>
+ <location line="+15"/>
<source>Key Move</source>
<translation>鍵移動</translation>
</message>
@@ -4939,6 +5798,7 @@ Do you want overwrite the template?</source>
<translation type="obsolete">貼上</translation>
</message>
<message>
+ <location line="+276"/>
<source>Paste error</source>
<translation>貼上錯誤</translation>
</message>
@@ -4955,54 +5815,67 @@ and then paste again.</source>
<translation type="obsolete">打斷佈局</translation>
</message>
<message>
+ <location line="+442"/>
<source>Lay out</source>
<translation>佈局</translation>
</message>
<message>
+ <location line="+493"/>
+ <location line="+55"/>
<source>Drop widget</source>
<translation>丟棄元件</translation>
</message>
<message numerus="yes">
+ <location line="-1055"/>
<source>Paste %n action(s)</source>
<translation>
<numerusform>貼上 %n 個動作</numerusform>
</translation>
</message>
<message>
+ <location line="-511"/>
<source>Insert widget &apos;%1&apos;</source>
<translation>插入元件 %1</translation>
</message>
<message numerus="yes">
+ <location line="+513"/>
<source>Paste %n widget(s)</source>
<translation>
<numerusform>貼上 %n 個元件</numerusform>
</translation>
</message>
<message>
+ <location line="+1"/>
<source>Paste (%1 widgets, %2 actions)</source>
<translation>貼上(%1 個元件,%2 個動作)</translation>
</message>
<message>
+ <location line="+56"/>
<source>Cannot paste widgets. Designer could not find a container without a layout to paste into.</source>
<translation>無法貼上元件。設計器找不到沒有佈局的容器來貼上。</translation>
</message>
<message>
+ <location line="+2"/>
<source>Break the layout of the container you want to paste into, select this container and then paste again.</source>
<translation>請先打斷您要貼上的容器佈局,再選擇該容器,並重新貼上。</translation>
</message>
<message>
+ <location line="+187"/>
<source>Raise widgets</source>
<translation>抬升元件</translation>
</message>
<message>
+ <location line="+17"/>
<source>Lower widgets</source>
<translation>降低元件</translation>
</message>
<message>
+ <location line="+201"/>
<source>Select Ancestor</source>
<translation>選擇祖先</translation>
</message>
<message>
+ <location line="+576"/>
<source>A QMainWindow-based form does not contain a central widget.</source>
<translation>QMainWindow 為基底的表單並未包含中央元件。</translation>
</message>
@@ -5010,11 +5883,12 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::FormWindowBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="363"/>
+ <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+397"/>
<source>Delete</source>
<translation>刪除</translation>
</message>
<message>
+ <location line="+0"/>
<source>Delete &apos;%1&apos;</source>
<translation>刪除 &apos;%1&apos;</translation>
</message>
@@ -5022,160 +5896,200 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::FormWindowManager</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="337"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+368"/>
<source>Cu&amp;t</source>
<translation>剪下(&amp;T)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Cuts the selected widgets and puts them on the clipboard</source>
<translation>剪下選取的元件,並放到剪貼簿中</translation>
</message>
<message>
+ <location line="+5"/>
<source>&amp;Copy</source>
<translation>複製(&amp;C)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Copies the selected widgets to the clipboard</source>
<translation>將選取的元件複製進剪貼簿</translation>
</message>
<message>
+ <location line="+5"/>
<source>&amp;Paste</source>
<translation>貼上(&amp;P)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Pastes the clipboard&apos;s contents</source>
<translation>貼上剪貼簿中的內容</translation>
</message>
<message>
+ <location line="+5"/>
<source>&amp;Delete</source>
<translation>刪除(&amp;D)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Deletes the selected widgets</source>
<translation>刪除選取的元件</translation>
</message>
<message>
+ <location line="+5"/>
<source>Select &amp;All</source>
<translation>全部選取(&amp;A)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Selects all widgets</source>
<translation>選擇所有的元件</translation>
</message>
<message>
+ <location line="+5"/>
<source>Bring to &amp;Front</source>
<translation>帶到前景(&amp;F)</translation>
</message>
<message>
+ <location line="+3"/>
+ <location line="+1"/>
<source>Raises the selected widgets</source>
<translation>抬升選取的元件</translation>
</message>
<message>
+ <location line="+4"/>
<source>Send to &amp;Back</source>
<translation>送回背景(&amp;B)</translation>
</message>
<message>
+ <location line="+3"/>
+ <location line="+1"/>
<source>Lowers the selected widgets</source>
<translation>降低選取的元件</translation>
</message>
<message>
+ <location line="+4"/>
<source>Adjust &amp;Size</source>
<translation>調整大小(&amp;S)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Adjusts the size of the selected widget</source>
<translation>調整選取的元件大小</translation>
</message>
<message>
+ <location line="+6"/>
<source>Lay Out &amp;Horizontally</source>
<translation>水平佈局(&amp;H)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Lays out the selected widgets horizontally</source>
<translation>將選取的元件做水平佈局</translation>
</message>
<message>
+ <location line="+6"/>
<source>Lay Out &amp;Vertically</source>
<translation>垂直佈局(&amp;V)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Lays out the selected widgets vertically</source>
<translation>將選取的元件做垂直佈局</translation>
</message>
<message>
+ <location line="+16"/>
<source>Lay Out in a &amp;Grid</source>
<translation>使用格線佈局(&amp;G)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Lays out the selected widgets in a grid</source>
<translation>將選取的元件佈局在格線內</translation>
</message>
<message>
+ <location line="+7"/>
<source>Lay Out Horizontally in S&amp;plitter</source>
<translation>以水平分離佈局(&amp;P)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Lays out the selected widgets horizontally in a splitter</source>
<translation>將選取的元件在分離器中做水平佈局</translation>
</message>
<message>
+ <location line="+7"/>
<source>Lay Out Vertically in Sp&amp;litter</source>
<translation>以垂直分離佈局(&amp;L)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Lays out the selected widgets vertically in a splitter</source>
<translation>將選取的元件在分離器中做垂直佈局</translation>
</message>
<message>
+ <location line="+7"/>
<source>&amp;Break Layout</source>
<translation>打斷佈局(&amp;B)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Breaks the selected layout</source>
<translation>打斷選取的佈局</translation>
</message>
<message>
+ <location line="+13"/>
<source>&amp;Preview...</source>
<translation>預覽(&amp;P)...</translation>
</message>
<message>
+ <location line="+2"/>
<source>Preview current form</source>
<translation>預覽目前的表單</translation>
</message>
<message>
+ <location line="+14"/>
<source>Form &amp;Settings...</source>
<translation>表單設定(&amp;S)...</translation>
</message>
<message>
+ <location line="+78"/>
<source>Break Layout</source>
<translation>打斷佈局</translation>
</message>
<message>
+ <location line="+26"/>
<source>Adjust Size</source>
<translation>調整大小</translation>
</message>
<message>
+ <location line="+43"/>
<source>Could not create form preview</source>
<comment>Title of warning message box</comment>
<translation>無法建立表單預覽</translation>
</message>
<message>
+ <location line="+341"/>
<source>Form Settings - %1</source>
<translation>表單設定─%1</translation>
</message>
<message>
+ <location line="-560"/>
<source>Lay Out in a &amp;Form Layout</source>
<translation>在表單中佈局(&amp;F)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Lays out the selected widgets in a form layout</source>
<translation>將選取的元件於表單中佈局</translation>
</message>
<message>
+ <location line="+45"/>
<source>Si&amp;mplify Grid Layout</source>
<translation>簡化格線佈局(&amp;M)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Removes empty columns and rows</source>
<translation>移除空的欄與列</translation>
</message>
@@ -5183,11 +6097,12 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::FormWindowSettings</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="162"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="+193"/>
<source>None</source>
<translation>無</translation>
</message>
<message>
+ <location line="+1"/>
<source>Device Profile: %1</source>
<translation>裝置設定檔:%1</translation>
</message>
@@ -5206,30 +6121,37 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::GridPanel</name>
<message>
+ <location filename="../tools/designer/src/lib/shared/gridpanel.ui"/>
<source>Form</source>
<translation>表單</translation>
</message>
<message>
+ <location/>
<source>Grid</source>
<translation>格線</translation>
</message>
<message>
+ <location/>
<source>Visible</source>
<translation>可見的</translation>
</message>
<message>
+ <location/>
<source>Grid &amp;X</source>
<translation>X 軸格線(&amp;X)</translation>
</message>
<message>
+ <location/>
<source>Snap</source>
<translation>貼齊</translation>
</message>
<message>
+ <location/>
<source>Reset</source>
<translation>重置</translation>
</message>
<message>
+ <location/>
<source>Grid &amp;Y</source>
<translation>Y 軸格線(&amp;Y)</translation>
</message>
@@ -5237,7 +6159,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::GroupBoxTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="56"/>
+ <location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+86"/>
<source>Change title...</source>
<translation>變更標題...</translation>
</message>
@@ -5245,6 +6167,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::HtmlTextEdit</name>
<message>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="-58"/>
<source>Insert HTML entity</source>
<translation>插入 HTML entity</translation>
</message>
@@ -5252,75 +6175,92 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::IconSelector</name>
<message>
- <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="210"/>
+ <location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+211"/>
<source>The pixmap file &apos;%1&apos; cannot be read.</source>
<translation>無法讀取像素檔 %1。</translation>
</message>
<message>
+ <location line="+6"/>
<source>The file &apos;%1&apos; does not appear to be a valid pixmap file: %2</source>
<translation>檔案 %1 似乎不是合法的像素檔:%2</translation>
</message>
<message>
+ <location line="+9"/>
<source>The file &apos;%1&apos; could not be read: %2</source>
<translation>檔案 %1 無法讀取:%2</translation>
</message>
<message>
+ <location line="+33"/>
<source>Choose a Pixmap</source>
<translation>選擇像素圖</translation>
</message>
<message>
+ <location line="+7"/>
<source>Pixmap Read Error</source>
<translation>像素圖讀取錯誤</translation>
</message>
<message>
+ <location line="+55"/>
<source>...</source>
<translation>...</translation>
</message>
<message>
+ <location line="+6"/>
<source>Normal Off</source>
<translation>正常時關閉</translation>
</message>
<message>
+ <location line="+1"/>
<source>Normal On</source>
<translation>正常時開啟</translation>
</message>
<message>
+ <location line="+1"/>
<source>Disabled Off</source>
<translation>關閉時關閉</translation>
</message>
<message>
+ <location line="+1"/>
<source>Disabled On</source>
<translation>關閉時開啟</translation>
</message>
<message>
+ <location line="+1"/>
<source>Active Off</source>
<translation>啟用時關閉</translation>
</message>
<message>
+ <location line="+1"/>
<source>Active On</source>
<translation>啟用時開啟</translation>
</message>
<message>
+ <location line="+1"/>
<source>Selected Off</source>
<translation>選擇時關閉</translation>
</message>
<message>
+ <location line="+1"/>
<source>Selected On</source>
<translation>選擇時開啟</translation>
</message>
<message>
+ <location line="+8"/>
<source>Choose Resource...</source>
<translation>選擇資源...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Choose File...</source>
<translation>選擇檔案...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Reset</source>
<translation>重置</translation>
</message>
<message>
+ <location line="+1"/>
<source>Reset All</source>
<translation>全部重置</translation>
</message>
@@ -5328,47 +6268,58 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::ItemListEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="349"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+358"/>
<source>Properties &amp;&lt;&lt;</source>
<translation>屬性 &amp;&lt;&lt;</translation>
</message>
<message>
+ <location line="+2"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui"/>
<source>Properties &amp;&gt;&gt;</source>
<translation>屬性 &amp;&gt;&gt;</translation>
</message>
<message>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui"/>
<source>Items List</source>
<translation>項目列表</translation>
</message>
<message>
+ <location/>
<source>New Item</source>
<translation>新增項目</translation>
</message>
<message>
+ <location/>
<source>&amp;New</source>
<translation>新增(&amp;N)</translation>
</message>
<message>
+ <location/>
<source>Delete Item</source>
<translation>刪除項目</translation>
</message>
<message>
+ <location/>
<source>&amp;Delete</source>
<translation>刪除(&amp;D)</translation>
</message>
<message>
+ <location/>
<source>Move Item Up</source>
<translation>將項目上移</translation>
</message>
<message>
+ <location/>
<source>U</source>
<translation>U</translation>
</message>
<message>
+ <location/>
<source>Move Item Down</source>
<translation>將項目下移</translation>
</message>
<message>
+ <location/>
<source>D</source>
<translation>D</translation>
</message>
@@ -5376,11 +6327,12 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::LabelTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="59"/>
+ <location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+89"/>
<source>Change rich text...</source>
<translation>變更 rich text...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Change plain text...</source>
<translation>變更純文字...</translation>
</message>
@@ -5388,7 +6340,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::LineEditTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="54"/>
+ <location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+84"/>
<source>Change text...</source>
<translation>變更文字...</translation>
</message>
@@ -5396,15 +6348,17 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::ListWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="75"/>
+ <location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+105"/>
<source>Edit List Widget</source>
<translation>編輯列表元件</translation>
</message>
<message>
+ <location line="+19"/>
<source>Edit Combobox</source>
<translation>編輯下拉式選單</translation>
</message>
<message>
+ <location line="-51"/>
<source>New Item</source>
<translation>新增項目</translation>
</message>
@@ -5484,11 +6438,12 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::ListWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="41"/>
+ <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+71"/>
<source>Edit Items...</source>
<translation>編輯項目...</translation>
</message>
<message>
+ <location line="+38"/>
<source>Change List Contents</source>
<translation>變更列表內容</translation>
</message>
@@ -5496,19 +6451,22 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::MdiContainerWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="118"/>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+118"/>
<source>Next Subwindow</source>
<translation>下一個子視窗</translation>
</message>
<message>
+ <location line="+1"/>
<source>Previous Subwindow</source>
<translation>前一個子視窗</translation>
</message>
<message>
+ <location line="+1"/>
<source>Tile</source>
<translation>鋪排</translation>
</message>
<message>
+ <location line="+1"/>
<source>Cascade</source>
<translation>串接</translation>
</message>
@@ -5516,7 +6474,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::MenuTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="30"/>
+ <location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+60"/>
<source>Remove</source>
<translation>移除</translation>
</message>
@@ -5524,7 +6482,7 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::MorphMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="264"/>
+ <location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+264"/>
<source>Morph into</source>
<translation>變型為</translation>
</message>
@@ -5532,34 +6490,42 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::NewActionDialog</name>
<message>
+ <location filename="../tools/designer/src/lib/shared/newactiondialog.ui"/>
<source>New Action...</source>
<translation>新增動作...</translation>
</message>
<message>
+ <location/>
<source>&amp;Text:</source>
<translation>文字(&amp;T)</translation>
</message>
<message>
+ <location/>
<source>Shortcut:</source>
<translation>捷徑:</translation>
</message>
<message>
+ <location/>
<source>Checkable:</source>
<translation>可勾選:</translation>
</message>
<message>
+ <location/>
<source>ToolTip:</source>
<translation>工具提示:</translation>
</message>
<message>
+ <location/>
<source>...</source>
<translation>...</translation>
</message>
<message>
+ <location/>
<source>&amp;Icon:</source>
<translation>圖示(&amp;I)</translation>
</message>
<message>
+ <location/>
<source>Object &amp;name:</source>
<translation>物件名稱(&amp;N):</translation>
</message>
@@ -5567,11 +6533,12 @@ and then paste again.</source>
<context>
<name>qdesigner_internal::NewDynamicPropertyDialog</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="104"/>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+134"/>
<source>Set Property Name</source>
<translation>設定屬性名稱</translation>
</message>
<message>
+ <location line="+11"/>
<source>The current object already has a property named &apos;%1&apos;.
Please select another, unique one.</source>
<translation>目前的物件已經有名為 %1 的屬性了。
@@ -5584,25 +6551,29 @@ Please select another name.</source>
請選擇另外的名稱。</translation>
</message>
<message>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui"/>
<source>Create Dynamic Property</source>
<translation>建立動態屬性</translation>
</message>
<message>
+ <location/>
<source>Property Name</source>
<translation>屬性名稱</translation>
</message>
<message>
+ <location/>
<source>Property Type</source>
<translation>屬性型態</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="4"/>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+4"/>
<source>The &apos;_q_&apos; prefix is reserved for the Qt library.
Please select another name.</source>
<translation>前置字串 &apos;_q_&apos; 是保留給 Qt 函式庫用的。
請選擇其它字串。</translation>
</message>
<message>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui"/>
<source>horizontalSpacer</source>
<translation>水平間隔</translation>
</message>
@@ -5610,62 +6581,78 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::NewFormWidget</name>
<message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="-391"/>
<source>Default size</source>
<translation>預設大小</translation>
</message>
<message>
+ <location line="+1"/>
<source>QVGA portrait (240x320)</source>
<translation>QVGA 縱向(240 x 320)</translation>
</message>
<message>
+ <location line="+1"/>
<source>QVGA landscape (320x240)</source>
<translation>QVGA 橫向(320 x 240)</translation>
</message>
<message>
+ <location line="+1"/>
<source>VGA portrait (480x640)</source>
<translation>VGA 縱向(480 x 640)</translation>
</message>
<message>
+ <location line="+1"/>
<source>VGA landscape (640x480)</source>
<translation>VGA 橫向(640 x 480)</translation>
</message>
<message>
+ <location line="+66"/>
<source>Widgets</source>
+ <extracomment>New Form Dialog Categories</extracomment>
<translation>元件</translation>
</message>
<message>
+ <location line="+1"/>
<source>Custom Widgets</source>
<translation>自訂元件</translation>
</message>
<message>
+ <location line="+18"/>
<source>None</source>
<translation>無</translation>
</message>
<message>
+ <location line="+57"/>
<source>Error loading form</source>
<translation>載入表單時發生錯誤</translation>
</message>
<message>
+ <location line="+312"/>
<source>Internal error: No template selected.</source>
<translation>內部錯誤:沒有選擇樣本。</translation>
</message>
<message>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.ui"/>
<source>0</source>
<translation>0</translation>
</message>
<message>
+ <location/>
<source>Choose a template for a preview</source>
<translation>選擇預覽的樣本</translation>
</message>
<message>
+ <location/>
<source>Embedded Design</source>
<translation>嵌入式設計</translation>
</message>
<message>
+ <location/>
<source>Device:</source>
<translation>裝置:</translation>
</message>
<message>
+ <location/>
<source>Screen Size:</source>
<translation>螢幕大小:</translation>
</message>
@@ -5673,31 +6660,37 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::NewPromotedClassPanel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="66"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+96"/>
<source>Add</source>
<translation>新增</translation>
</message>
<message>
+ <location line="+2"/>
<source>New Promoted Class</source>
<translation>新增提升的元件</translation>
</message>
<message>
+ <location line="+15"/>
<source>Base class name:</source>
<translation>基底類別名稱:</translation>
</message>
<message>
+ <location line="+1"/>
<source>Promoted class name:</source>
<translation>提升的類別名稱:</translation>
</message>
<message>
+ <location line="+1"/>
<source>Header file:</source>
<translation>標頭檔:</translation>
</message>
<message>
+ <location line="+1"/>
<source>Global include</source>
<translation>全域引入</translation>
</message>
<message>
+ <location line="+11"/>
<source>Reset</source>
<translation>重置</translation>
</message>
@@ -5721,7 +6714,7 @@ Please select another name.</source>
<translation type="obsolete">分隔器</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="727"/>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+758"/>
<source>&amp;Find in Text...</source>
<translation>在文字中尋找(&amp;F)...</translation>
</message>
@@ -5729,6 +6722,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::ObjectInspector::ObjectInspectorPrivate</name>
<message>
+ <location line="-438"/>
<source>Change Current Page</source>
<translation>變更目前的頁面</translation>
</message>
@@ -5736,15 +6730,17 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::OrderDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="83"/>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+113"/>
<source>Index %1 (%2)</source>
<translation>索引 %1(%2)</translation>
</message>
<message>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.ui"/>
<source>Change Page Order</source>
<translation>變更頁面順序</translation>
</message>
<message>
+ <location/>
<source>Page Order</source>
<translation>頁面順序</translation>
</message>
@@ -5757,15 +6753,17 @@ Please select another name.</source>
<translation type="obsolete">下</translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="3"/>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+3"/>
<source>%1 %2</source>
<translation>%1 %2</translation>
</message>
<message>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.ui"/>
<source>Move page up</source>
<translation>頁面上移</translation>
</message>
<message>
+ <location/>
<source>Move page down</source>
<translation>頁面下移</translation>
</message>
@@ -5773,38 +6771,47 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PaletteEditor</name>
<message>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui"/>
<source>Edit Palette</source>
<translation>編輯調色盤</translation>
</message>
<message>
+ <location/>
<source>Tune Palette</source>
<translation>調整調色盤</translation>
</message>
<message>
+ <location/>
<source>Show Details</source>
<translation>顯示詳情</translation>
</message>
<message>
+ <location/>
<source>Compute Details</source>
<translation>計算詳情</translation>
</message>
<message>
+ <location/>
<source>Quick</source>
<translation>快</translation>
</message>
<message>
+ <location/>
<source>Preview</source>
<translation>預覽</translation>
</message>
<message>
+ <location/>
<source>Disabled</source>
<translation>已關閉</translation>
</message>
<message>
+ <location/>
<source>Inactive</source>
<translation>未啟動</translation>
</message>
<message>
+ <location/>
<source>Active</source>
<translation>啟動</translation>
</message>
@@ -5812,7 +6819,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PaletteEditorButton</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="31"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+61"/>
<source>Change Palette</source>
<translation>變更調色盤</translation>
</message>
@@ -5820,19 +6827,22 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PaletteModel</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="351"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+381"/>
<source>Color Role</source>
<translation>顏色角色</translation>
</message>
<message>
+ <location line="+2"/>
<source>Active</source>
<translation>啟動</translation>
</message>
<message>
+ <location line="+2"/>
<source>Inactive</source>
<translation>未啟動</translation>
</message>
<message>
+ <location line="+2"/>
<source>Disabled</source>
<translation>已關閉</translation>
</message>
@@ -5840,22 +6850,28 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PixmapEditor</name>
<message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="-1539"/>
<source>Copy Path</source>
<translation>複製路徑</translation>
</message>
<message>
+ <location line="+1"/>
<source>Paste Path</source>
<translation>貼上路徑</translation>
</message>
<message>
+ <location line="-3"/>
<source>Choose Resource...</source>
<translation>選擇資源...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Choose File...</source>
<translation>選擇檔案...</translation>
</message>
<message>
+ <location line="+8"/>
+ <location line="+16"/>
<source>...</source>
<translation>...</translation>
</message>
@@ -5863,15 +6879,61 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PlainTextEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="39"/>
+ <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+69"/>
<source>Edit text</source>
<translation>編輯文字</translation>
</message>
</context>
<context>
+ <name>qdesigner_internal::PluginDialog</name>
+ <message>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="+72"/>
+ <source>Components</source>
+ <translation>組件</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Plugin Information</source>
+ <translation>外掛程式資訊</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Refresh</source>
+ <translation>刷新</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Scan for newly installed custom widget plugins.</source>
+ <translation>掃描是否有新安裝的自訂元件外掛程式。</translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Qt Designer couldn&apos;t find any plugins</source>
+ <translation>Qt 設計家找不到任何的外掛程式。</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Qt Designer found the following plugins</source>
+ <translation>Qt 設計家找到以下的外掛程式</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>New custom widget plugins have been found.</source>
+ <translation>找到新的自訂元件外掛程式。</translation>
+ </message>
+ <message>
+ <source>TextLabel</source>
+ <translation type="obsolete">文字標籤</translation>
+ </message>
+ <message>
+ <source>1</source>
+ <translation type="obsolete">1</translation>
+ </message>
+</context>
+<context>
<name>qdesigner_internal::PreviewActionGroup</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="65"/>
+ <location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="+95"/>
<source>%1 Style</source>
<translation>%1 樣式</translation>
</message>
@@ -5879,27 +6941,32 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="118"/>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+118"/>
<source>Load Custom Device Skin</source>
<translation>載入自訂裝置外觀</translation>
</message>
<message>
+ <location line="+2"/>
<source>All QVFB Skins (*.%1)</source>
<translation>所有 QVFB 外觀檔 (*.%1)</translation>
</message>
<message>
+ <location line="+16"/>
<source>%1 - Duplicate Skin</source>
<translation>%1─複製外觀</translation>
</message>
<message>
+ <location line="+1"/>
<source>The skin &apos;%1&apos; already exists.</source>
<translation>外觀 %1 已存在。</translation>
</message>
<message>
+ <location line="+14"/>
<source>%1 - Error</source>
<translation>%1─錯誤</translation>
</message>
<message>
+ <location line="+1"/>
<source>%1 is not a valid skin directory:
%2</source>
<translation>%1 不是合法的外觀目錄:
@@ -5909,7 +6976,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PreviewDeviceSkin</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="188"/>
+ <location filename="../tools/designer/src/lib/shared/previewmanager.cpp" line="+218"/>
<source>&amp;Close</source>
<translation>關閉(&amp;C)</translation>
</message>
@@ -5917,6 +6984,7 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PreviewManager</name>
<message>
+ <location line="+345"/>
<source>%1 - [Preview]</source>
<translation>%1─[預覽]</translation>
</message>
@@ -5928,46 +6996,57 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PreviewWidget</name>
<message>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui"/>
<source>Preview Window</source>
<translation>預覽視窗</translation>
</message>
<message>
+ <location/>
<source>LineEdit</source>
<translation>行編輯器</translation>
</message>
<message>
+ <location/>
<source>ComboBox</source>
<translation>下拉式選單</translation>
</message>
<message>
+ <location/>
<source>PushButton</source>
<translation>按鍵</translation>
</message>
<message>
+ <location/>
<source>ButtonGroup2</source>
<translation>按鍵群組2</translation>
</message>
<message>
+ <location/>
<source>CheckBox1</source>
<translation>勾選盒1</translation>
</message>
<message>
+ <location/>
<source>CheckBox2</source>
<translation>勾選盒2</translation>
</message>
<message>
+ <location/>
<source>ButtonGroup</source>
<translation>按鍵群組</translation>
</message>
<message>
+ <location/>
<source>RadioButton1</source>
<translation>單選圓鈕1</translation>
</message>
<message>
+ <location/>
<source>RadioButton2</source>
<translation>單選圓鈕2</translation>
</message>
<message>
+ <location/>
<source>RadioButton3</source>
<translation>單選圓鈕3</translation>
</message>
@@ -5975,19 +7054,22 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PromotionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="17"/>
+ <location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+17"/>
<source>Name</source>
<translation>名稱</translation>
</message>
<message>
+ <location line="+1"/>
<source>Header file</source>
<translation>標頭檔</translation>
</message>
<message>
+ <location line="+1"/>
<source>Global include</source>
<translation>全域引入</translation>
</message>
<message>
+ <location line="+1"/>
<source>Usage</source>
<translation>用法</translation>
</message>
@@ -5995,23 +7077,27 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PromotionTaskMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="55"/>
+ <location filename="../tools/designer/src/lib/shared/promotiontaskmenu.cpp" line="+85"/>
<source>Promoted widgets...</source>
<translation>已提升元件</translation>
</message>
<message>
+ <location line="+1"/>
<source>Promote to ...</source>
<translation>提升到...</translation>
</message>
<message>
+ <location line="+2"/>
<source>Promote to</source>
<translation>提升到</translation>
</message>
<message>
+ <location line="+1"/>
<source>Demote to %1</source>
<translation>降級到 %1</translation>
</message>
<message>
+ <location line="-2"/>
<source>Change signals/slots...</source>
<translation>變更信號/信號槽...</translation>
</message>
@@ -6019,43 +7105,52 @@ Please select another name.</source>
<context>
<name>qdesigner_internal::PropertyEditor</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="222"/>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+188"/>
<source>Add Dynamic Property...</source>
<translation>新增動態屬性...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Remove Dynamic Property</source>
<translation>移除動態屬性</translation>
</message>
<message>
+ <location line="+1"/>
<source>Sorting</source>
<translation>排序</translation>
</message>
<message>
+ <location line="+1"/>
<source>Color Groups</source>
<translation>顏色群組</translation>
</message>
<message>
+ <location line="+1"/>
<source>Tree View</source>
<translation>樹狀檢視</translation>
</message>
<message>
+ <location line="+1"/>
<source>Drop Down Button View</source>
<translation>放下按鍵檢視</translation>
</message>
<message>
+ <location line="+49"/>
<source>String...</source>
<translation>字串...</translation>
</message>
<message>
+ <location line="+3"/>
<source>Bool...</source>
<translation>布林值...</translation>
</message>
<message>
+ <location line="+4"/>
<source>Other...</source>
<translation>其它...</translation>
</message>
<message>
+ <location line="+7"/>
<source>Configure Property Editor</source>
<translation>設定屬性編輯器</translation>
</message>
@@ -6066,6 +7161,7 @@ Please select another name.</source>
%2</translation>
</message>
<message>
+ <location line="+533"/>
<source>Object: %1
Class: %2</source>
<translation>物件:%1
@@ -6075,7 +7171,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::PropertyLineEdit</name>
<message>
- <location filename="../tools/designer/src/lib/shared/propertylineedit.cpp" line="58"/>
+ <location filename="../tools/designer/src/lib/shared/propertylineedit.cpp" line="+88"/>
<source>Insert line break</source>
<translation>插入行中斷</translation>
</message>
@@ -6083,23 +7179,27 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QDesignerPromotionDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="85"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+85"/>
<source>Promoted Widgets</source>
<translation>已提升元件</translation>
</message>
<message>
+ <location line="+7"/>
<source>Promoted Classes</source>
<translation>已提升類別</translation>
</message>
<message>
+ <location line="+60"/>
<source>Promote</source>
<translation>提升</translation>
</message>
<message>
+ <location line="+169"/>
<source>%1 - Error</source>
<translation>%1─錯誤</translation>
</message>
<message>
+ <location line="-17"/>
<source>Change signals/slots...</source>
<translation>變更信號/信號槽...</translation>
</message>
@@ -6107,19 +7207,22 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QDesignerResource</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="277"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+277"/>
<source>Loading qrc file</source>
<translation>載入 qrc 檔</translation>
</message>
<message>
+ <location line="+1"/>
<source>The specified qrc file &lt;p&gt;&lt;b&gt;%1&lt;/b&gt;&lt;/p&gt;&lt;p&gt;could not be found. Do you want to update the file location?&lt;/p&gt;</source>
<translation>找不到指定的 qrc 檔 &lt;p&gt;&lt;b&gt;%1&lt;/b&gt;&lt;/p&gt;&lt;p&gt;您要更新位置嗎?&lt;/p&gt;</translation>
</message>
<message>
+ <location line="+6"/>
<source>New location for %1</source>
<translation>%1 的新位置</translation>
</message>
<message>
+ <location line="+1"/>
<source>Resource files (*.qrc)</source>
<translation>資源檔 (*.qrc)</translation>
</message>
@@ -6127,87 +7230,112 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QDesignerTaskMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="68"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+68"/>
<source>Change objectName...</source>
<translation>變更物件名稱...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Change toolTip...</source>
<translation>變更工具提示...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Change whatsThis...</source>
<translation>變更「這是什麼?」...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Change styleSheet...</source>
<translation>變更樣式表...</translation>
</message>
<message>
+ <location line="+3"/>
<source>Create Menu Bar</source>
<translation>建立選單列</translation>
</message>
<message>
+ <location line="+1"/>
<source>Add Tool Bar</source>
<translation>新增工具列</translation>
</message>
<message>
+ <location line="+1"/>
<source>Create Status Bar</source>
<translation>建立狀態列</translation>
</message>
<message>
+ <location line="+1"/>
<source>Remove Status Bar</source>
<translation>移除狀態列</translation>
</message>
<message>
+ <location line="+1"/>
<source>Change script...</source>
<translation>變更文稿...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Change signals/slots...</source>
<translation>變更信號/信號槽...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Go to slot...</source>
<translation>跳到信號槽...</translation>
</message>
<message>
+ <location line="+3"/>
<source>Size Constraints</source>
<translation>大小限制</translation>
</message>
<message>
+ <location line="+4"/>
<source>Set Minimum Width</source>
<translation>設定最小寬度</translation>
</message>
<message>
+ <location line="+4"/>
<source>Set Minimum Height</source>
<translation>設定最小高度</translation>
</message>
<message>
+ <location line="+4"/>
<source>Set Minimum Size</source>
<translation>設定最小大小</translation>
</message>
<message>
+ <location line="+6"/>
<source>Set Maximum Width</source>
<translation>設定最大寬度</translation>
</message>
<message>
+ <location line="+4"/>
<source>Set Maximum Height</source>
<translation>設定最大高度</translation>
</message>
<message>
+ <location line="+4"/>
<source>Set Maximum Size</source>
<translation>設定最大大小</translation>
</message>
<message>
+ <location line="+235"/>
<source>Edit ToolTip</source>
<translation>編輯工具提示</translation>
</message>
<message>
+ <location line="+5"/>
<source>Edit WhatsThis</source>
<translation>編輯「這是什麼」</translation>
</message>
+ <message>
+ <location line="+144"/>
+ <source>no signals available</source>
+ <translation type="unfinished"></translation>
+ </message>
<message numerus="yes">
+ <location line="+67"/>
<source>Set size constraint on %n widget(s)</source>
<translation>
<numerusform>設定 %n 個元件的大小限制</numerusform>
@@ -6217,16 +7345,20 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QDesignerWidgetBox</name>
<message>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_widgetbox.cpp" line="+127"/>
+ <location line="+13"/>
<source>Unexpected element &lt;%1&gt;</source>
<translation>未預期的元素 &lt;%1&gt;</translation>
</message>
<message>
+ <location line="+7"/>
<source>A parse error occurred at line %1, column %2 of the XML code specified for the widget %3: %4
%5</source>
<translation>在元件 %3 的 XML 代碼第 %1 行第 %2 個字元發生剖析錯誤:%4
%5</translation>
</message>
<message>
+ <location line="+9"/>
<source>The XML code specified for the widget %1 does not contain any widget elements.
%2</source>
<translation>元件 %1 的 XML 源碼未包含任何元件元素。
@@ -6274,8 +7406,8 @@ Class: %2</source>
<translation type="obsolete">顏色樣式</translation>
</message>
<message>
- <source>Rename<byte value="x9"/>F2</source>
- <translation type="obsolete">重新命名<byte value="x9"/>F2</translation>
+ <source>Rename F2</source>
+ <translation type="obsolete">重新命名 F2</translation>
</message>
<message>
<source>Form</source>
@@ -6458,27 +7590,32 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QtGradientEditor</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="289"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+289"/>
<source>Linear</source>
<translation>線性</translation>
</message>
<message>
+ <location line="+1"/>
<source>Radial</source>
<translation>放射狀</translation>
</message>
<message>
+ <location line="+1"/>
<source>Conical</source>
<translation>圓錐狀</translation>
</message>
<message>
+ <location line="+20"/>
<source>Pad</source>
<translation>墊子狀</translation>
</message>
<message>
+ <location line="+1"/>
<source>Repeat</source>
<translation>重覆</translation>
</message>
<message>
+ <location line="+1"/>
<source>Reflect</source>
<translation>反射</translation>
</message>
@@ -6538,59 +7675,73 @@ Class: %2</source>
<context>
<name>qdesigner_internal::QtGradientStopsController</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="147"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientstopscontroller.cpp" line="+177"/>
<source>H</source>
<translation>H</translation>
</message>
<message>
+ <location line="+1"/>
<source>S</source>
<translation>S</translation>
</message>
<message>
+ <location line="+1"/>
<source>V</source>
<translation>V</translation>
</message>
<message>
+ <location line="+6"/>
+ <location line="+4"/>
<source>Hue</source>
<translation>色調</translation>
</message>
<message>
+ <location line="-3"/>
<source>Sat</source>
<translation>飽和度</translation>
</message>
<message>
+ <location line="+1"/>
<source>Val</source>
<translation>數值</translation>
</message>
<message>
+ <location line="+3"/>
<source>Saturation</source>
<translation>飽和度</translation>
</message>
<message>
+ <location line="+1"/>
<source>Value</source>
<translation>數值</translation>
</message>
<message>
+ <location line="+22"/>
<source>R</source>
<translation>R</translation>
</message>
<message>
+ <location line="+1"/>
<source>G</source>
<translation>G</translation>
</message>
<message>
+ <location line="+1"/>
<source>B</source>
<translation>B</translation>
</message>
<message>
+ <location line="+6"/>
<source>Red</source>
<translation>紅</translation>
</message>
<message>
+ <location line="+1"/>
<source>Green</source>
<translation>綠</translation>
</message>
<message>
+ <location line="+1"/>
<source>Blue</source>
<translation>藍</translation>
</message>
@@ -6759,23 +7910,27 @@ Class: %2</source>
<context>
<name>qdesigner_internal::RichTextEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="436"/>
+ <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+436"/>
<source>Edit text</source>
<translation>編輯文字</translation>
</message>
<message>
+ <location line="+30"/>
<source>&amp;OK</source>
<translation>確定(&amp;O)</translation>
</message>
<message>
+ <location line="+2"/>
<source>&amp;Cancel</source>
<translation>取消(&amp;C)</translation>
</message>
<message>
+ <location line="-9"/>
<source>Rich Text</source>
<translation>Rich Text</translation>
</message>
<message>
+ <location line="+1"/>
<source>Source</source>
<translation>來源</translation>
</message>
@@ -6783,58 +7938,72 @@ Class: %2</source>
<context>
<name>qdesigner_internal::RichTextEditorToolBar</name>
<message>
+ <location line="-294"/>
<source>Bold</source>
<translation>粗體</translation>
</message>
<message>
+ <location line="+1"/>
<source>CTRL+B</source>
<translation>CTRL+B</translation>
</message>
<message>
+ <location line="+5"/>
<source>Italic</source>
<translation>斜體</translation>
</message>
<message>
+ <location line="+1"/>
<source>CTRL+I</source>
<translation>CTRL+I</translation>
</message>
<message>
+ <location line="+5"/>
<source>Underline</source>
<translation>底線</translation>
</message>
<message>
+ <location line="+1"/>
<source>CTRL+U</source>
<translation>CTRL+U</translation>
</message>
<message>
+ <location line="+13"/>
<source>Left Align</source>
<translation>置左對齊</translation>
</message>
<message>
+ <location line="+5"/>
<source>Center</source>
<translation>置中</translation>
</message>
<message>
+ <location line="+5"/>
<source>Right Align</source>
<translation>置右對齊</translation>
</message>
<message>
+ <location line="+5"/>
<source>Justify</source>
<translation>兩邊對齊</translation>
</message>
<message>
+ <location line="+9"/>
<source>Superscript</source>
<translation>上標</translation>
</message>
<message>
+ <location line="+6"/>
<source>Subscript</source>
<translation>下標</translation>
</message>
<message>
+ <location line="+9"/>
<source>Insert &amp;Link</source>
<translation>插入連結(&amp;L)</translation>
</message>
<message>
+ <location line="+5"/>
<source>Insert &amp;Image</source>
<translation>插入影像(&amp;I)</translation>
</message>
@@ -6842,15 +8011,17 @@ Class: %2</source>
<context>
<name>qdesigner_internal::ScriptDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="38"/>
+ <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="+68"/>
<source>Edit script</source>
<translation>編輯文稿</translation>
</message>
<message>
+ <location line="+5"/>
<source>&lt;html&gt;Enter a Qt Script snippet to be executed while loading the form.&lt;br&gt;The widget and its children are accessible via the variables &lt;i&gt;widget&lt;/i&gt; and &lt;i&gt;childWidgets&lt;/i&gt;, respectively.</source>
<translation>&lt;html&gt;請輸入載入表單時要執行的文稿片段。&lt;br&gt;元件與子元件可以用變數 &lt;i&gt;widget&lt;/i&gt; 與 &lt;i&gt;childWidgets&lt;/i&gt; 來存取。</translation>
</message>
<message>
+ <location line="+50"/>
<source>Syntax error</source>
<translation>語法錯誤</translation>
</message>
@@ -6858,7 +8029,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::ScriptErrorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="27"/>
+ <location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+27"/>
<source>Script errors</source>
<translation>文稿錯誤</translation>
</message>
@@ -6873,19 +8044,23 @@ Class: %2</source>
<context>
<name>qdesigner_internal::SignalSlotDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="199"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+199"/>
<source>There is already a slot with the signature &apos;%1&apos;.</source>
<translation>已經有一個信號槽,其簽章為 %1。</translation>
</message>
<message>
+ <location line="+5"/>
<source>There is already a signal with the signature &apos;%1&apos;.</source>
<translation>已經有一個信號,其簽章為 %1。</translation>
</message>
<message>
+ <location line="+7"/>
<source>%1 - Duplicate Signature</source>
<translation>%1─複製簽章</translation>
</message>
<message>
+ <location line="+21"/>
+ <location line="+76"/>
<source>Signals/Slots of %1</source>
<translation>%1 的信號與信號槽</translation>
</message>
@@ -6893,11 +8068,12 @@ Class: %2</source>
<context>
<name>qdesigner_internal::SignalSlotEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="46"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="+76"/>
<source>Edit Signals/Slots</source>
<translation>編輯信號與信號槽</translation>
</message>
<message>
+ <location line="+2"/>
<source>F4</source>
<translation>F4</translation>
</message>
@@ -6905,7 +8081,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::SignalSlotEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="32"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="+62"/>
<source>Edit Signals/Slots</source>
<translation>編輯信號與信號槽</translation>
</message>
@@ -6913,7 +8089,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::StatusBarTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="55"/>
+ <location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+85"/>
<source>Remove</source>
<translation>移除</translation>
</message>
@@ -6925,7 +8101,7 @@ Class: %2</source>
<translation type="obsolete">變更字串列表</translation>
</message>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="30"/>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditorbutton.cpp" line="+60"/>
<source>Change String List</source>
<translation>變更字串列表</translation>
</message>
@@ -6933,31 +8109,38 @@ Class: %2</source>
<context>
<name>qdesigner_internal::StyleSheetEditorDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="71"/>
+ <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="+101"/>
<source>Edit Style Sheet</source>
<translation>編輯樣式表</translation>
</message>
<message>
+ <location line="-7"/>
+ <location line="+283"/>
<source>Valid Style Sheet</source>
<translation>合法樣式表</translation>
</message>
<message>
+ <location line="+3"/>
<source>Invalid Style Sheet</source>
<translation>不合法的樣式表</translation>
</message>
<message>
+ <location line="-284"/>
<source>Add Resource...</source>
<translation>新增資源...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Add Gradient...</source>
<translation>新增漸層...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Add Color...</source>
<translation>新增顏色...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Add Font...</source>
<translation>新增字型...</translation>
</message>
@@ -6986,23 +8169,27 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TabOrderEditor</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="333"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor.cpp" line="+363"/>
<source>Start from Here</source>
<translation>從這裡開始</translation>
</message>
<message>
+ <location line="+3"/>
<source>Restart</source>
<translation>重新開始</translation>
</message>
<message>
+ <location line="+2"/>
<source>Tab Order List...</source>
<translation>定位點順序列表...</translation>
</message>
<message>
+ <location line="+44"/>
<source>Tab Order List</source>
<translation>定位點順序列表</translation>
</message>
<message>
+ <location line="+1"/>
<source>Tab Order</source>
<translation>定位點順序</translation>
</message>
@@ -7010,7 +8197,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TabOrderEditorPlugin</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="47"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="+77"/>
<source>Edit Tab Order</source>
<translation>編輯定位點順序</translation>
</message>
@@ -7018,7 +8205,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TabOrderEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="31"/>
+ <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="+61"/>
<source>Edit Tab Order</source>
<translation>編輯定位點順序</translation>
</message>
@@ -7026,35 +8213,43 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TableWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="41"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+71"/>
<source>New Column</source>
<translation>新增欄位</translation>
</message>
<message>
+ <location line="+3"/>
<source>New Row</source>
<translation>新增列</translation>
</message>
<message>
+ <location line="+8"/>
<source>&amp;Columns</source>
<translation>欄(&amp;C)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Rows</source>
<translation>列(&amp;R)</translation>
</message>
<message>
+ <location line="+137"/>
<source>Properties &amp;&lt;&lt;</source>
<translation>屬性 &amp;&lt;&lt;</translation>
</message>
<message>
+ <location line="+2"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui"/>
<source>Properties &amp;&gt;&gt;</source>
<translation>屬性 &amp;&gt;&gt;</translation>
</message>
<message>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui"/>
<source>Edit Table Widget</source>
<translation>編輯表格元件</translation>
</message>
<message>
+ <location/>
<source>&amp;Items</source>
<translation>項目(&amp;I)</translation>
</message>
@@ -7119,6 +8314,7 @@ Class: %2</source>
<translation type="obsolete">重置列像素圖</translation>
</message>
<message>
+ <location/>
<source>Table Items</source>
<translation>表格項目</translation>
</message>
@@ -7182,7 +8378,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TableWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="38"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+68"/>
<source>Edit Items...</source>
<translation>編輯項目...</translation>
</message>
@@ -7190,18 +8386,22 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TemplateOptionsWidget</name>
<message>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="-18"/>
<source>Pick a directory to save templates in</source>
<translation>請選擇要儲存樣本的目錄</translation>
</message>
<message>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.ui"/>
<source>Form</source>
<translation>表單</translation>
</message>
<message>
+ <location/>
<source>Additional Template Paths</source>
<translation>額外樣本路徑</translation>
</message>
<message>
+ <location/>
<source>...</source>
<translation>...</translation>
</message>
@@ -7209,19 +8409,22 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TextEditTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="33"/>
+ <location filename="../tools/designer/src/components/taskmenu/textedit_taskmenu.cpp" line="+63"/>
<source>Change HTML...</source>
<translation>變更 HTML...</translation>
</message>
<message>
+ <location line="-1"/>
<source>Edit HTML</source>
<translation>編輯 HTML</translation>
</message>
<message>
+ <location line="+10"/>
<source>Edit Text</source>
<translation>編輯文字</translation>
</message>
<message>
+ <location line="+1"/>
<source>Change Plain Text...</source>
<translation>變更純文字...</translation>
</message>
@@ -7229,18 +8432,22 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TextEditor</name>
<message>
+ <location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="-201"/>
<source>Choose Resource...</source>
<translation>選擇資源...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Choose File...</source>
<translation>選擇檔案...</translation>
</message>
<message>
+ <location line="+120"/>
<source>Choose a File</source>
<translation>選擇檔案</translation>
</message>
<message>
+ <location line="-115"/>
<source>...</source>
<translation>...</translation>
</message>
@@ -7248,23 +8455,27 @@ Class: %2</source>
<context>
<name>qdesigner_internal::ToolBarEventFilter</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="209"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_toolbar.cpp" line="+239"/>
<source>Insert Separator</source>
<translation>插入分隔器</translation>
</message>
<message>
+ <location line="-65"/>
<source>Remove action &apos;%1&apos;</source>
<translation>移除動作 %1</translation>
</message>
<message>
+ <location line="+7"/>
<source>Remove Toolbar &apos;%1&apos;</source>
<translation>移除工具列 %1</translation>
</message>
<message>
+ <location line="-28"/>
<source>Insert Separator before &apos;%1&apos;</source>
<translation>在 %1 之前插入分隔器</translation>
</message>
<message>
+ <location line="+9"/>
<source>Append Separator</source>
<translation>附加分隔器</translation>
</message>
@@ -7279,27 +8490,34 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TreeWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="50"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+80"/>
<source>&amp;Columns</source>
<translation>欄(&amp;C)</translation>
</message>
<message>
+ <location line="+69"/>
<source>Per column properties</source>
<translation>每欄屬性</translation>
</message>
<message>
+ <location line="+1"/>
<source>Common properties</source>
<translation>共同屬性</translation>
</message>
<message>
+ <location line="+53"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/>
<source>New Item</source>
<translation>新增項目</translation>
</message>
<message>
+ <location line="+194"/>
<source>Properties &amp;&lt;&lt;</source>
<translation>屬性 &amp;&lt;&lt;</translation>
</message>
<message>
+ <location line="+2"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/>
<source>Properties &amp;&gt;&gt;</source>
<translation>屬性 &amp;&gt;&gt;</translation>
</message>
@@ -7308,18 +8526,22 @@ Class: %2</source>
<translation type="obsolete">新增子項目</translation>
</message>
<message>
+ <location line="-327"/>
<source>New Column</source>
<translation>新增欄位</translation>
</message>
<message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/>
<source>Edit Tree Widget</source>
<translation>編輯樹狀圖元件</translation>
</message>
<message>
+ <location/>
<source>&amp;Items</source>
<translation>項目(&amp;I)</translation>
</message>
<message>
+ <location/>
<source>Tree Items</source>
<translation>樹狀圖項目</translation>
</message>
@@ -7352,14 +8574,18 @@ Class: %2</source>
<translation type="obsolete">新增項目(&amp;N)</translation>
</message>
<message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+150"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/>
<source>New Subitem</source>
<translation>新增子項目</translation>
</message>
<message>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/>
<source>New &amp;Subitem</source>
<translation>新增子項目(&amp;S)</translation>
</message>
<message>
+ <location/>
<source>Delete Item</source>
<translation>刪除項目</translation>
</message>
@@ -7368,34 +8594,42 @@ Class: %2</source>
<translation type="obsolete">刪除項目(&amp;D)</translation>
</message>
<message>
+ <location/>
<source>Move Item Left (before Parent Item)</source>
<translation>將項目左移(在父項目之前)</translation>
</message>
<message>
+ <location/>
<source>L</source>
<translation>L</translation>
</message>
<message>
+ <location/>
<source>Move Item Right (as a First Subitem of the Next Sibling Item)</source>
<translation>將項目右移(移到右鄰項目的第一個子項目)</translation>
</message>
<message>
+ <location/>
<source>R</source>
<translation>R</translation>
</message>
<message>
+ <location/>
<source>Move Item Up</source>
<translation>將項目上移</translation>
</message>
<message>
+ <location/>
<source>U</source>
<translation>U</translation>
</message>
<message>
+ <location/>
<source>Move Item Down</source>
<translation>將項目下移</translation>
</message>
<message>
+ <location/>
<source>D</source>
<translation>D</translation>
</message>
@@ -7448,14 +8682,17 @@ Class: %2</source>
<translation type="obsolete">樹狀圖欄位</translation>
</message>
<message>
+ <location/>
<source>1</source>
<translation>1</translation>
</message>
<message>
+ <location/>
<source>&amp;New</source>
<translation>新增(&amp;N)</translation>
</message>
<message>
+ <location/>
<source>&amp;Delete</source>
<translation>刪除(&amp;D)</translation>
</message>
@@ -7467,7 +8704,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TreeWidgetTaskMenu</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="37"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+67"/>
<source>Edit Items...</source>
<translation>編輯項目...</translation>
</message>
@@ -7475,7 +8712,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetBox</name>
<message>
- <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="83"/>
+ <location filename="../tools/designer/src/components/widgetbox/widgetbox_dnditem.cpp" line="+113"/>
<source>Warning: Widget creation failed in the widget box. This could be caused by invalid custom widget XML.</source>
<translation>警告:在元件盒內建立元件失敗。可能是不合法的自訂元件 XML 造成的。</translation>
</message>
@@ -7510,34 +8747,42 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetBoxTreeWidget</name>
<message>
+ <location filename="../tools/designer/src/components/widgetbox/widgetboxtreewidget.cpp" line="-268"/>
<source>Scratchpad</source>
<translation>暫存</translation>
</message>
<message>
+ <location line="+370"/>
<source>Custom Widgets</source>
<translation>自訂元件</translation>
</message>
<message>
+ <location line="+260"/>
<source>Expand all</source>
<translation>全部展開</translation>
</message>
<message>
+ <location line="+1"/>
<source>Collapse all</source>
<translation>全部折疊</translation>
</message>
<message>
+ <location line="+3"/>
<source>List View</source>
<translation>列表檢視</translation>
</message>
<message>
+ <location line="+1"/>
<source>Icon View</source>
<translation>圖示檢視</translation>
</message>
<message>
+ <location line="+15"/>
<source>Remove</source>
<translation>移除</translation>
</message>
<message>
+ <location line="+2"/>
<source>Edit name</source>
<translation>編輯名稱</translation>
</message>
@@ -7545,6 +8790,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetDataBase</name>
<message>
+ <location filename="../tools/designer/src/lib/shared/widgetdatabase.cpp" line="-411"/>
<source>A custom widget plugin whose class name (%1) matches that of an existing class has been found.</source>
<translation>類別名稱為 %1 的自訂元件外掛程式找到了相同名稱的類別。</translation>
</message>
@@ -7552,7 +8798,7 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetEditorTool</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="41"/>
+ <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="+71"/>
<source>Edit Widgets</source>
<translation>編輯元件</translation>
</message>
@@ -7560,29 +8806,34 @@ Class: %2</source>
<context>
<name>qdesigner_internal::WidgetFactory</name>
<message>
- <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="237"/>
+ <location filename="../tools/designer/src/lib/shared/widgetfactory.cpp" line="+267"/>
<source>The custom widget factory registered for widgets of class %1 returned 0.</source>
<translation>類別 %1 的元件的自訂元件工廠註冊時傳回值 0。</translation>
</message>
<message>
+ <location line="+44"/>
<source>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.</source>
<translation>當使用類別 %1 的元件所註冊的自訂元件工廠建立元件時,發生類別名稱不相符的錯誤。它傳回的元件為類別 %2 的元件。</translation>
</message>
<message>
+ <location line="+99"/>
<source>%1 Widget</source>
<translation>%1 元件</translation>
</message>
<message>
+ <location line="+90"/>
<source>The current page of the container &apos;%1&apos; (%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.</source>
<translation>在建立佈局時,容器 %1(%2)裡目前的頁面無法被決定。這表示介面檔中可能有不相符的情況。可能在容器元件裡已經建構了一個佈局。</translation>
</message>
<message>
+ <location line="+53"/>
<source>Attempt to add a layout to a widget &apos;%1&apos; (%2) which already has an unmanaged layout of type %3.
This indicates an inconsistency in the ui-file.</source>
<translation>您試圖將一個佈局新增到元件 %1(%2)中,但該元件已經有一個型態為 %3 的未管理佈局。
這表示在 ui 檔中有發生不一致的情況。</translation>
</message>
<message>
+ <location line="+211"/>
<source>Cannot create style &apos;%1&apos;.</source>
<translation>無法建立樣式 %1。</translation>
</message>
@@ -7590,10 +8841,12 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>qdesigner_internal::WizardContainerWidgetTaskMenu</name>
<message>
+ <location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="-49"/>
<source>Next</source>
<translation>下一個</translation>
</message>
<message>
+ <location line="+1"/>
<source>Back</source>
<translation>返回</translation>
</message>
@@ -7601,8 +8854,9 @@ This indicates an inconsistency in the ui-file.</source>
<context>
<name>qdesigner_internal::ZoomMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/zoomwidget.cpp" line="54"/>
+ <location filename="../tools/designer/src/lib/shared/zoomwidget.cpp" line="+84"/>
<source>%1 %</source>
+ <extracomment>Zoom factor</extracomment>
<translation>%1 %</translation>
</message>
</context>
diff --git a/translations/linguist_de.ts b/translations/linguist_de.ts
index 925b6c2..712f75d 100644
--- a/translations/linguist_de.ts
+++ b/translations/linguist_de.ts
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="de">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="de">
<context>
<name></name>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+29"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+59"/>
<source>(New Entry)</source>
<translation type="unfinished"></translation>
</message>
@@ -19,7 +19,7 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1318"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1357"/>
<source>Qt Linguist</source>
<translation>QT Linguist</translation>
</message>
@@ -27,7 +27,7 @@
<context>
<name>BatchTranslationDialog</name>
<message>
- <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+49"/>
+ <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+79"/>
<source>Batch Translation of &apos;%1&apos; - Qt Linguist</source>
<translation type="unfinished"></translation>
</message>
@@ -118,7 +118,7 @@
<context>
<name>DataModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+184"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+214"/>
<source>&lt;qt&gt;Duplicate messages found in &apos;%1&apos;:</source>
<translation type="unfinished"></translation>
</message>
@@ -138,10 +138,21 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+121"/>
+ <location line="+70"/>
+ <source>Linguist does not know the plural rules for &apos;%1&apos;.
+Will assume a single universal form.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+56"/>
<source>Cannot create &apos;%2&apos;: %1</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+56"/>
+ <source>Universal Form</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>EditorPage</name>
@@ -201,7 +212,7 @@
<context>
<name>ErrorsView</name>
<message>
- <location filename="../tools/linguist/linguist/errorsview.cpp" line="+46"/>
+ <location filename="../tools/linguist/linguist/errorsview.cpp" line="+76"/>
<source>Accelerator possibly superfluous in translation.</source>
<translation>Zusätzliche Kurztaste im Übersetzungstext.</translation>
</message>
@@ -373,7 +384,7 @@
<context>
<name>LRelease</name>
<message numerus="yes">
- <location filename="../tools/linguist/shared/qm.cpp" line="+653"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+715"/>
<source> Generated %n translation(s) (%1 finished and %2 unfinished)
</source>
<translation>
@@ -922,9 +933,8 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">Gehe zum nächsten unerledigten Eintrag.</translation>
</message>
<message>
- <location/>
<source>Ctrl+L</source>
- <translation>Ctrl+L</translation>
+ <translation type="obsolete">Ctrl+L</translation>
</message>
<message>
<location/>
@@ -950,9 +960,8 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">Gehe zum nächsten Eintrag.</translation>
</message>
<message>
- <location/>
<source>Ctrl+Shift+L</source>
- <translation>Ctrl+Shift+L</translation>
+ <translation type="obsolete">Ctrl+Shift+L</translation>
</message>
<message>
<location/>
@@ -1153,13 +1162,13 @@ p, li { white-space: pre-wrap; }
<translation>Eryeuge eine Qt Nachrichtendatei aus der aktuellen Übersetzungsdatei. Der Dateiname wird automatisch aus dem Namen der .ts Datei abgeleitet.</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1965"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2004"/>
<source></source>
<comment>This is the application&apos;s main window.</comment>
<translation></translation>
</message>
<message>
- <location line="+165"/>
+ <location line="+195"/>
<source>Source text</source>
<translation type="unfinished">Ursprungstext</translation>
</message>
@@ -1212,32 +1221,32 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<source>Loading...</source>
<translation type="unfinished">Lade...</translation>
</message>
<message>
+ <location line="+32"/>
<location line="+22"/>
- <location line="+20"/>
<source>Loading File - Qt Linguist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-19"/>
+ <location line="-21"/>
<source>The file &apos;%1&apos; does not seem to be related to the currently open file(s) &apos;%2&apos;.
Close the open file(s) first?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+22"/>
<source>The file &apos;%1&apos; does not seem to be related to the file &apos;%2&apos; which is being loaded as well.
Skip loading the first named file?</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+49"/>
+ <location line="+61"/>
<source>%n translation unit(s) loaded.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -1245,7 +1254,7 @@ Skip loading the first named file?</source>
</translation>
</message>
<message>
- <location line="+92"/>
+ <location line="+93"/>
<source>Related files (%1);;</source>
<translation type="unfinished"></translation>
</message>
@@ -1255,20 +1264,20 @@ Skip loading the first named file?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
- <location line="+30"/>
+ <location line="+10"/>
+ <location line="+31"/>
<source>File saved.</source>
<translation type="unfinished">Datei gespeichert.</translation>
</message>
<message>
- <location line="+14"/>
- <location line="+1184"/>
+ <location line="+15"/>
+ <location line="+1164"/>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Release</source>
<translation type="unfinished">Freigeben</translation>
</message>
<message>
- <location line="-1183"/>
+ <location line="-1163"/>
<source>Qt message files for released applications (*.qm)
All files (*)</source>
<translation type="unfinished">Qt Nachrichtendateien (*.qm)
@@ -1332,7 +1341,7 @@ Alle Dateien (*)</translation>
<message>
<location line="+17"/>
<location line="+278"/>
- <location line="+60"/>
+ <location line="+40"/>
<location line="+24"/>
<location line="+22"/>
<location line="+516"/>
@@ -1344,7 +1353,7 @@ Alle Dateien (*)</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1224"/>
+ <location line="-1204"/>
<location line="+102"/>
<source>Cannot find the string &apos;%1&apos;.</source>
<translation type="unfinished">Kann Zeichenkette &apos;%1&apos; nicht finden.</translation>
@@ -1449,27 +1458,11 @@ Alle Dateien (*)</translation>
<translation type="unfinished">Version %1</translation>
</message>
<message>
- <location line="+2"/>
<source> Open Source Edition</source>
- <translation type="unfinished">Open Source Edition</translation>
- </message>
- <message>
- <location line="+7"/>
- <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.&lt;br/&gt;&lt;br/&gt;You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;tt&gt;http://qtsoftware.com/company/model.html&lt;/tt&gt; for an overview of Qt licensing.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+8"/>
- <source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+4"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
+ <translation type="obsolete">Open Source Edition</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist is a tool for adding translations to Qt applications.&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;/p&gt;</source>
<translation type="unfinished">&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist ist ein Werkzeug zum Übersetzen von Qt Anwendungen.&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;/p&gt;</translation>
</message>
@@ -1652,7 +1645,7 @@ Alle Dateien (*)</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+312"/>
+ <location line="+314"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
@@ -1672,7 +1665,7 @@ Alle Dateien (*)</translation>
<translation>F5</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-525"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-527"/>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Translation File &amp;Settings...</source>
<translation>E&amp;instellungen...</translation>
@@ -1695,11 +1688,21 @@ Alle Dateien (*)</translation>
<source>Ctrl+T</source>
<translation>Ctrl+T</translation>
</message>
+ <message>
+ <location/>
+ <source>Ctrl+J</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+Shift+J</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageEditor</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+42"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+72"/>
<source>German</source>
<translation type="unfinished">Deutsch</translation>
</message>
@@ -1834,7 +1837,7 @@ Zeile: %2</translation>
<translation type="obsolete">Index</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+861"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+832"/>
<source>Completion status for %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1864,7 +1867,7 @@ Zeile: %2</translation>
<context>
<name>MsgEdit</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-549"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-579"/>
<source></source>
<comment>This is the right panel of the main window.</comment>
<translation></translation>
@@ -1877,13 +1880,13 @@ Zeile: %2</translation>
<translation type="obsolete">%1 - %2[*]</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-17"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-47"/>
<source></source>
<comment>Go to Phrase &gt; Edit Phrase Book... The dialog that pops up is a PhraseBookBox.</comment>
<translation></translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+55"/>
<source>%1[*] - Qt Linguist</source>
<translation type="unfinished"></translation>
</message>
@@ -2002,7 +2005,7 @@ Zeile: %2</translation>
<context>
<name>PhraseModel</name>
<message>
- <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+87"/>
+ <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+117"/>
<source>Source phrase</source>
<translation>Ursprungstext</translation>
</message>
@@ -2020,7 +2023,7 @@ Zeile: %2</translation>
<context>
<name>PhraseView</name>
<message>
- <location filename="../tools/linguist/linguist/phraseview.cpp" line="+91"/>
+ <location filename="../tools/linguist/linguist/phraseview.cpp" line="+121"/>
<source>Insert</source>
<translation>Einfügen</translation>
</message>
@@ -2048,7 +2051,7 @@ Zeile: %2</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1296"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1279"/>
<source>Translation files (%1);;</source>
<translation type="unfinished"></translation>
</message>
@@ -2058,37 +2061,38 @@ Zeile: %2</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1086"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1118"/>
<location line="+18"/>
- <location line="+101"/>
+ <location line="+67"/>
+ <location line="+39"/>
<location line="+17"/>
<location line="+15"/>
- <location filename="../tools/linguist/linguist/phrase.cpp" line="+166"/>
+ <location filename="../tools/linguist/linguist/phrase.cpp" line="+196"/>
<source>Qt Linguist</source>
<translation>Qt Linguist</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/cpp.cpp" line="+1039"/>
+ <location filename="../tools/linguist/shared/cpp.cpp" line="+1072"/>
<source>C++ source files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/java.cpp" line="+624"/>
+ <location filename="../tools/linguist/shared/java.cpp" line="+646"/>
<source>Java source files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/po.cpp" line="+584"/>
+ <location filename="../tools/linguist/shared/po.cpp" line="+651"/>
<source>GNU Gettext localization files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/qscript.cpp" line="+2369"/>
+ <location filename="../tools/linguist/shared/qscript.cpp" line="+2399"/>
<source>Qt Script source files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/ts.cpp" line="+617"/>
+ <location filename="../tools/linguist/shared/ts.cpp" line="+752"/>
<source>Qt translation sources (format 1.1)</source>
<translation type="unfinished"></translation>
</message>
@@ -2099,11 +2103,11 @@ Zeile: %2</translation>
</message>
<message>
<location line="+9"/>
- <source>Qt translation sources</source>
+ <source>Qt translation sources (latest format)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/ui.cpp" line="+171"/>
+ <location filename="../tools/linguist/shared/ui.cpp" line="+213"/>
<source>Qt Designer form files</source>
<translation type="unfinished"></translation>
</message>
@@ -2113,10 +2117,15 @@ Zeile: %2</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/xliff.cpp" line="+778"/>
+ <location filename="../tools/linguist/shared/xliff.cpp" line="+817"/>
<source>XLIFF localization files</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../tools/linguist/shared/qph.cpp" line="+192"/>
+ <source>Qt Linguist &apos;Phrase Book&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QtWindowListMenu</name>
@@ -2155,7 +2164,7 @@ Zeile: %2</translation>
<context>
<name>SourceCodeView</name>
<message>
- <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+40"/>
+ <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+70"/>
<source>&lt;i&gt;Source code not available&lt;/i&gt;</source>
<translation>&lt;i&gt;Quelltext nicht verfügbar&lt;/i&gt;</translation>
</message>
@@ -2710,7 +2719,7 @@ Alle Dateien (*)</translation>
<context>
<name>TranslationSettingsDialog</name>
<message>
- <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+38"/>
+ <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+68"/>
<source>Any Country</source>
<translation>Land</translation>
</message>
diff --git a/translations/linguist_fr.ts b/translations/linguist_fr.ts
index ad346bf..b8317b2 100644
--- a/translations/linguist_fr.ts
+++ b/translations/linguist_fr.ts
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0">
+<!DOCTYPE TS>
+<TS version="2.0">
<context>
<name></name>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+29"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+59"/>
<source>(New Entry)</source>
<translation type="unfinished"></translation>
</message>
@@ -11,7 +12,7 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1318"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1357"/>
<source>Qt Linguist</source>
<translation type="unfinished"></translation>
</message>
@@ -19,7 +20,7 @@
<context>
<name>BatchTranslationDialog</name>
<message>
- <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+49"/>
+ <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+79"/>
<source>Batch Translation of &apos;%1&apos; - Qt Linguist</source>
<translation type="unfinished"></translation>
</message>
@@ -109,7 +110,7 @@
<context>
<name>DataModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+184"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+214"/>
<source>&lt;qt&gt;Duplicate messages found in &apos;%1&apos;:</source>
<translation type="unfinished"></translation>
</message>
@@ -129,15 +130,26 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+121"/>
+ <location line="+70"/>
+ <source>Linguist does not know the plural rules for &apos;%1&apos;.
+Will assume a single universal form.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+56"/>
<source>Cannot create &apos;%2&apos;: %1</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+56"/>
+ <source>Universal Form</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>ErrorsView</name>
<message>
- <location filename="../tools/linguist/linguist/errorsview.cpp" line="+46"/>
+ <location filename="../tools/linguist/linguist/errorsview.cpp" line="+76"/>
<source>Accelerator possibly superfluous in translation.</source>
<translation type="unfinished"></translation>
</message>
@@ -274,7 +286,7 @@
<context>
<name>LRelease</name>
<message numerus="yes">
- <location filename="../tools/linguist/shared/qm.cpp" line="+653"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+715"/>
<source> Generated %n translation(s) (%1 finished and %2 unfinished)
</source>
<translation type="unfinished">
@@ -707,11 +719,6 @@
</message>
<message>
<location/>
- <source>Ctrl+L</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location/>
<source>P&amp;rev</source>
<translation type="unfinished"></translation>
</message>
@@ -727,11 +734,6 @@
</message>
<message>
<location/>
- <source>Ctrl+Shift+L</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location/>
<source>&amp;Done and Next</source>
<translation type="unfinished"></translation>
</message>
@@ -909,13 +911,13 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1965"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2004"/>
<source></source>
<comment>This is the application&apos;s main window.</comment>
<translation></translation>
</message>
<message>
- <location line="+165"/>
+ <location line="+195"/>
<source>Source text</source>
<translation type="unfinished"></translation>
</message>
@@ -968,39 +970,39 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<source>Loading...</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+32"/>
<location line="+22"/>
- <location line="+20"/>
<source>Loading File - Qt Linguist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-19"/>
+ <location line="-21"/>
<source>The file &apos;%1&apos; does not seem to be related to the currently open file(s) &apos;%2&apos;.
Close the open file(s) first?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+22"/>
<source>The file &apos;%1&apos; does not seem to be related to the file &apos;%2&apos; which is being loaded as well.
Skip loading the first named file?</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+49"/>
+ <location line="+61"/>
<source>%n translation unit(s) loaded.</source>
<translation type="unfinished">
<numerusform></numerusform>
</translation>
</message>
<message>
- <location line="+92"/>
+ <location line="+93"/>
<source>Related files (%1);;</source>
<translation type="unfinished"></translation>
</message>
@@ -1010,20 +1012,20 @@ Skip loading the first named file?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
- <location line="+30"/>
+ <location line="+10"/>
+ <location line="+31"/>
<source>File saved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
- <location line="+1184"/>
+ <location line="+15"/>
+ <location line="+1164"/>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Release</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1183"/>
+ <location line="-1163"/>
<source>Qt message files for released applications (*.qm)
All files (*)</source>
<translation type="unfinished"></translation>
@@ -1086,7 +1088,7 @@ All files (*)</source>
<message>
<location line="+17"/>
<location line="+278"/>
- <location line="+60"/>
+ <location line="+40"/>
<location line="+24"/>
<location line="+22"/>
<location line="+516"/>
@@ -1098,7 +1100,7 @@ All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1224"/>
+ <location line="-1204"/>
<location line="+102"/>
<source>Cannot find the string &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
@@ -1193,27 +1195,7 @@ All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
- <source> Open Source Edition</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <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.&lt;br/&gt;&lt;br/&gt;You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;tt&gt;http://qtsoftware.com/company/model.html&lt;/tt&gt; for an overview of Qt licensing.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+8"/>
- <source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+4"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+5"/>
+ <location line="+6"/>
<source>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist is a tool for adding translations to Qt applications.&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -1396,7 +1378,7 @@ All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+312"/>
+ <location line="+314"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
@@ -1416,7 +1398,7 @@ All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-525"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-527"/>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Translation File &amp;Settings...</source>
<translation type="unfinished"></translation>
@@ -1431,11 +1413,21 @@ All files (*)</source>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location/>
+ <source>Ctrl+J</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+Shift+J</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageEditor</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+42"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+72"/>
<source>German</source>
<translation type="unfinished"></translation>
</message>
@@ -1529,7 +1521,7 @@ Line: %2</source>
<context>
<name>MessageModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+861"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+832"/>
<source>Completion status for %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1552,7 +1544,7 @@ Line: %2</source>
<context>
<name>MsgEdit</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-547"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-577"/>
<source></source>
<comment>This is the right panel of the main window.</comment>
<translation></translation>
@@ -1561,13 +1553,13 @@ Line: %2</source>
<context>
<name>PhraseBookBox</name>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-15"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-45"/>
<source></source>
<comment>Go to Phrase &gt; Edit Phrase Book... The dialog that pops up is a PhraseBookBox.</comment>
<translation></translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+53"/>
<source>%1[*] - Qt Linguist</source>
<translation type="unfinished"></translation>
</message>
@@ -1670,7 +1662,7 @@ Line: %2</source>
<context>
<name>PhraseModel</name>
<message>
- <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+87"/>
+ <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+117"/>
<source>Source phrase</source>
<translation type="unfinished"></translation>
</message>
@@ -1688,7 +1680,7 @@ Line: %2</source>
<context>
<name>PhraseView</name>
<message>
- <location filename="../tools/linguist/linguist/phraseview.cpp" line="+91"/>
+ <location filename="../tools/linguist/linguist/phraseview.cpp" line="+121"/>
<source>Insert</source>
<translation type="unfinished"></translation>
</message>
@@ -1716,7 +1708,7 @@ Line: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1296"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1279"/>
<source>Translation files (%1);;</source>
<translation type="unfinished"></translation>
</message>
@@ -1726,37 +1718,38 @@ Line: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1086"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1118"/>
<location line="+18"/>
- <location line="+101"/>
+ <location line="+67"/>
+ <location line="+39"/>
<location line="+17"/>
<location line="+15"/>
- <location filename="../tools/linguist/linguist/phrase.cpp" line="+166"/>
+ <location filename="../tools/linguist/linguist/phrase.cpp" line="+196"/>
<source>Qt Linguist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/cpp.cpp" line="+1039"/>
+ <location filename="../tools/linguist/shared/cpp.cpp" line="+1072"/>
<source>C++ source files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/java.cpp" line="+624"/>
+ <location filename="../tools/linguist/shared/java.cpp" line="+646"/>
<source>Java source files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/po.cpp" line="+584"/>
+ <location filename="../tools/linguist/shared/po.cpp" line="+651"/>
<source>GNU Gettext localization files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/qscript.cpp" line="+2369"/>
+ <location filename="../tools/linguist/shared/qscript.cpp" line="+2399"/>
<source>Qt Script source files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/ts.cpp" line="+617"/>
+ <location filename="../tools/linguist/shared/ts.cpp" line="+752"/>
<source>Qt translation sources (format 1.1)</source>
<translation type="unfinished"></translation>
</message>
@@ -1767,11 +1760,11 @@ Line: %2</source>
</message>
<message>
<location line="+9"/>
- <source>Qt translation sources</source>
+ <source>Qt translation sources (latest format)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/ui.cpp" line="+171"/>
+ <location filename="../tools/linguist/shared/ui.cpp" line="+213"/>
<source>Qt Designer form files</source>
<translation type="unfinished"></translation>
</message>
@@ -1781,15 +1774,20 @@ Line: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/xliff.cpp" line="+778"/>
+ <location filename="../tools/linguist/shared/xliff.cpp" line="+817"/>
<source>XLIFF localization files</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../tools/linguist/shared/qph.cpp" line="+192"/>
+ <source>Qt Linguist &apos;Phrase Book&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SourceCodeView</name>
<message>
- <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+40"/>
+ <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+70"/>
<source>&lt;i&gt;Source code not available&lt;/i&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -1932,7 +1930,7 @@ Line: %2</source>
<context>
<name>TranslationSettingsDialog</name>
<message>
- <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+38"/>
+ <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+68"/>
<source>Any Country</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/linguist_ja.ts b/translations/linguist_ja.ts
index 41c24ca..7af3ebb 100644
--- a/translations/linguist_ja.ts
+++ b/translations/linguist_ja.ts
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="ja">
+<!DOCTYPE TS>
+<TS version="2.0" language="ja">
<context>
<name></name>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+29"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+59"/>
<source>(New Entry)</source>
<translation type="unfinished"></translation>
</message>
@@ -18,7 +19,7 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1318"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1357"/>
<source>Qt Linguist</source>
<translation>Qt Linguist</translation>
</message>
@@ -30,7 +31,7 @@
<translation type="obsolete">%1 項目が一括翻訳されました</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+86"/>
+ <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+116"/>
<source>&amp;Cancel</source>
<translation>キャンセル(&amp;C)</translation>
</message>
@@ -135,7 +136,7 @@
<context>
<name>DataModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+184"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+214"/>
<source>&lt;qt&gt;Duplicate messages found in &apos;%1&apos;:</source>
<translation type="unfinished"></translation>
</message>
@@ -155,10 +156,21 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+121"/>
+ <location line="+70"/>
+ <source>Linguist does not know the plural rules for &apos;%1&apos;.
+Will assume a single universal form.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+56"/>
<source>Cannot create &apos;%2&apos;: %1</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+56"/>
+ <source>Universal Form</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>EditorPage</name>
@@ -186,7 +198,7 @@
<context>
<name>ErrorsView</name>
<message>
- <location filename="../tools/linguist/linguist/errorsview.cpp" line="+46"/>
+ <location filename="../tools/linguist/linguist/errorsview.cpp" line="+76"/>
<source>Accelerator possibly superfluous in translation.</source>
<translation type="unfinished">訳に余分なアクセラレータがついています。</translation>
</message>
@@ -373,7 +385,7 @@
<context>
<name>LRelease</name>
<message numerus="yes">
- <location filename="../tools/linguist/shared/qm.cpp" line="+653"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+715"/>
<source> Generated %n translation(s) (%1 finished and %2 unfinished)
</source>
<translation type="unfinished">
@@ -507,9 +519,8 @@
<translation>Ctrl+K</translation>
</message>
<message>
- <location/>
<source>Ctrl+L</source>
- <translation>Ctrl+L</translation>
+ <translation type="obsolete">Ctrl+L</translation>
</message>
<message>
<location/>
@@ -552,9 +563,8 @@
<translation>Ctrl+Shift+K</translation>
</message>
<message>
- <location/>
<source>Ctrl+Shift+L</source>
- <translation>Ctrl+Shift+L</translation>
+ <translation type="obsolete">Ctrl+Shift+L</translation>
</message>
<message>
<location/>
@@ -838,13 +848,13 @@
<translation type="obsolete">ソート順序を初期状態に(&amp;R)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1965"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2004"/>
<source></source>
<comment>This is the application&apos;s main window.</comment>
<translation></translation>
</message>
<message>
- <location line="+165"/>
+ <location line="+195"/>
<source>Source text</source>
<translation type="unfinished">ソーステキスト</translation>
</message>
@@ -897,39 +907,39 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<source>Loading...</source>
<translation type="unfinished">ロードしています...</translation>
</message>
<message>
+ <location line="+32"/>
<location line="+22"/>
- <location line="+20"/>
<source>Loading File - Qt Linguist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-19"/>
+ <location line="-21"/>
<source>The file &apos;%1&apos; does not seem to be related to the currently open file(s) &apos;%2&apos;.
Close the open file(s) first?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+22"/>
<source>The file &apos;%1&apos; does not seem to be related to the file &apos;%2&apos; which is being loaded as well.
Skip loading the first named file?</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+49"/>
+ <location line="+61"/>
<source>%n translation unit(s) loaded.</source>
<translation type="unfinished">
<numerusform></numerusform>
</translation>
</message>
<message>
- <location line="+92"/>
+ <location line="+93"/>
<source>Related files (%1);;</source>
<translation type="unfinished"></translation>
</message>
@@ -939,20 +949,20 @@ Skip loading the first named file?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
- <location line="+30"/>
+ <location line="+10"/>
+ <location line="+31"/>
<source>File saved.</source>
<translation type="unfinished">ファイルが保存されました。</translation>
</message>
<message>
- <location line="+14"/>
- <location line="+1184"/>
+ <location line="+15"/>
+ <location line="+1164"/>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Release</source>
<translation type="unfinished">リリース</translation>
</message>
<message>
- <location line="-1183"/>
+ <location line="-1163"/>
<source>Qt message files for released applications (*.qm)
All files (*)</source>
<translation type="unfinished">リリースされたアプリケーション用の Qt メッセージファイル (*.qm)
@@ -1016,7 +1026,7 @@ All files (*)</source>
<message>
<location line="+17"/>
<location line="+278"/>
- <location line="+60"/>
+ <location line="+40"/>
<location line="+24"/>
<location line="+22"/>
<location line="+516"/>
@@ -1028,7 +1038,7 @@ All files (*)</source>
<translation type="unfinished">Qt Linguist</translation>
</message>
<message>
- <location line="-1224"/>
+ <location line="-1204"/>
<location line="+102"/>
<source>Cannot find the string &apos;%1&apos;.</source>
<translation type="unfinished">文字列 &apos;%1&apos; が見つかりません。</translation>
@@ -1134,27 +1144,19 @@ All files (*)</source>
<translation type="unfinished">バージョン %1</translation>
</message>
<message>
- <location line="+2"/>
<source> Open Source Edition</source>
- <translation type="unfinished"> オープンソース版</translation>
+ <translation type="obsolete"> オープンソース版</translation>
</message>
<message>
- <location line="+7"/>
<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.&lt;br/&gt;&lt;br/&gt;You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;tt&gt;http://qtsoftware.com/company/model.html&lt;/tt&gt; for an overview of Qt licensing.</source>
- <translation type="unfinished">このバージョンの Qt Linguist は、 オープンソースアプリケーションを開発するための Qt オープンソース版の一部です。Qt は、クロスプラットフォームなアプリケーションを開発するための包括的な C++ のフレームワークです。&lt;br/&gt;&lt;br/&gt;独占的な(ソースが隠された)アプリケーションを開発するには、Qt の商用ライセンスが必要です。Qt のライセンスの概要については &lt;tt&gt;http://qtsoftware.com/company/model.html&lt;/tt&gt; をご覧ください。</translation>
- </message>
- <message>
- <location line="+8"/>
- <source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.</source>
- <translation type="unfinished"></translation>
+ <translation type="obsolete">このバージョンの Qt Linguist は、 オープンソースアプリケーションを開発するための Qt オープンソース版の一部です。Qt は、クロスプラットフォームなアプリケーションを開発するための包括的な C++ のフレームワークです。&lt;br/&gt;&lt;br/&gt;独占的な(ソースが隠された)アプリケーションを開発するには、Qt の商用ライセンスが必要です。Qt のライセンスの概要については &lt;tt&gt;http://qtsoftware.com/company/model.html&lt;/tt&gt; をご覧ください。</translation>
</message>
<message>
- <location line="+4"/>
<source>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.</source>
- <translation type="unfinished">このプログラムは、Qt 商用ライセンス契約書の定める条件の下であなたの利用が認められています。詳細は、ソフトウェアと一緒に配布される LICENSE ファイルを参照してください。</translation>
+ <translation type="obsolete">このプログラムは、Qt 商用ライセンス契約書の定める条件の下であなたの利用が認められています。詳細は、ソフトウェアと一緒に配布される LICENSE ファイルを参照してください。</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist is a tool for adding translations to Qt applications.&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;/p&gt;</source>
<translation type="unfinished">&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist は、Qt アプリケーションの翻訳を行うツールです。&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 全ての権利は保護されています。&lt;/p&gt;&lt;p&gt;このプログラムは、「設計」、「市場性」および「特定の目的への適合性」も含む、あらゆる種類の「保証がなく」、「そのままで」提供されます。&lt;/p&gt;</translation>
</message>
@@ -1320,7 +1322,7 @@ All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+312"/>
+ <location line="+314"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
@@ -1409,7 +1411,7 @@ All files (*)</source>
<translation type="obsolete">ツール(&amp;L)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-459"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-461"/>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Translation</source>
<translation>翻訳</translation>
@@ -1645,6 +1647,16 @@ All files (*)</source>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location/>
+ <source>Ctrl+J</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+Shift+J</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageEditor</name>
@@ -1693,7 +1705,7 @@ All files (*)</source>
<translation type="obsolete">タブ</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+42"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+72"/>
<source>German</source>
<translation type="unfinished"></translation>
</message>
@@ -1807,7 +1819,7 @@ Line: %2</source>
<translation type="obsolete">項目数</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+861"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+832"/>
<source>Completion status for %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1837,7 +1849,7 @@ Line: %2</source>
<context>
<name>MsgEdit</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-547"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-577"/>
<source></source>
<comment>This is the right panel of the main window.</comment>
<translation></translation>
@@ -1973,7 +1985,7 @@ Line: %2</source>
<translation>訳(&amp;T):</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-113"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-143"/>
<source></source>
<comment>Go to Phrase &gt; Edit Phrase Book... The dialog that pops up is a PhraseBookBox.</comment>
<translation></translation>
@@ -1982,7 +1994,7 @@ Line: %2</source>
<context>
<name>PhraseModel</name>
<message>
- <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+91"/>
+ <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+121"/>
<source>Definition</source>
<translation>定義</translation>
</message>
@@ -2000,7 +2012,7 @@ Line: %2</source>
<context>
<name>PhraseView</name>
<message>
- <location filename="../tools/linguist/linguist/phraseview.cpp" line="+91"/>
+ <location filename="../tools/linguist/linguist/phraseview.cpp" line="+121"/>
<source>Insert</source>
<translation type="unfinished"></translation>
</message>
@@ -2028,7 +2040,7 @@ Line: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1296"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1279"/>
<source>Translation files (%1);;</source>
<translation type="unfinished"></translation>
</message>
@@ -2038,37 +2050,38 @@ Line: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1086"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1118"/>
<location line="+18"/>
- <location line="+101"/>
+ <location line="+67"/>
+ <location line="+39"/>
<location line="+17"/>
<location line="+15"/>
- <location filename="../tools/linguist/linguist/phrase.cpp" line="+166"/>
+ <location filename="../tools/linguist/linguist/phrase.cpp" line="+196"/>
<source>Qt Linguist</source>
<translation>Qt Linguist</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/cpp.cpp" line="+1039"/>
+ <location filename="../tools/linguist/shared/cpp.cpp" line="+1072"/>
<source>C++ source files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/java.cpp" line="+624"/>
+ <location filename="../tools/linguist/shared/java.cpp" line="+646"/>
<source>Java source files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/po.cpp" line="+584"/>
+ <location filename="../tools/linguist/shared/po.cpp" line="+651"/>
<source>GNU Gettext localization files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/qscript.cpp" line="+2369"/>
+ <location filename="../tools/linguist/shared/qscript.cpp" line="+2399"/>
<source>Qt Script source files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/ts.cpp" line="+617"/>
+ <location filename="../tools/linguist/shared/ts.cpp" line="+752"/>
<source>Qt translation sources (format 1.1)</source>
<translation type="unfinished"></translation>
</message>
@@ -2079,11 +2092,11 @@ Line: %2</source>
</message>
<message>
<location line="+9"/>
- <source>Qt translation sources</source>
+ <source>Qt translation sources (latest format)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/ui.cpp" line="+171"/>
+ <location filename="../tools/linguist/shared/ui.cpp" line="+213"/>
<source>Qt Designer form files</source>
<translation type="unfinished"></translation>
</message>
@@ -2093,10 +2106,15 @@ Line: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/xliff.cpp" line="+778"/>
+ <location filename="../tools/linguist/shared/xliff.cpp" line="+817"/>
<source>XLIFF localization files</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../tools/linguist/shared/qph.cpp" line="+192"/>
+ <source>Qt Linguist &apos;Phrase Book&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QtWindowListMenu</name>
@@ -2127,7 +2145,7 @@ Line: %2</source>
<context>
<name>SourceCodeView</name>
<message>
- <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+40"/>
+ <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+70"/>
<source>&lt;i&gt;Source code not available&lt;/i&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -2688,7 +2706,7 @@ All files (*)</source>
<context>
<name>TranslationSettingsDialog</name>
<message>
- <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+38"/>
+ <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+68"/>
<source>Any Country</source>
<translation>指定しない</translation>
</message>
diff --git a/translations/linguist_pl.ts b/translations/linguist_pl.ts
index 12b98d5..efed849 100644
--- a/translations/linguist_pl.ts
+++ b/translations/linguist_pl.ts
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="pl">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="pl">
<context>
<name></name>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+29"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+59"/>
<source>(New Entry)</source>
<translation>(Nowe wyrażenie)</translation>
</message>
@@ -12,7 +12,7 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1318"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1357"/>
<source>Qt Linguist</source>
<translation>Qt Linguist</translation>
</message>
@@ -20,7 +20,7 @@
<context>
<name>BatchTranslationDialog</name>
<message numerus="yes">
- <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+129"/>
+ <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+159"/>
<source>Batch translated %n entries</source>
<translation>
<numerusform>Automat przetłumaczył %n wpis</numerusform>
@@ -112,7 +112,7 @@
<context>
<name>DataModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+184"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+214"/>
<source>&lt;qt&gt;Duplicate messages found in &apos;%1&apos;:</source>
<translation>&lt;qt&gt;Znaleziono powtórzenia w &apos;%1&apos;:</translation>
</message>
@@ -132,15 +132,26 @@
<translation>&lt;br&gt;* Komentarz: %3</translation>
</message>
<message>
- <location line="+121"/>
+ <location line="+70"/>
+ <source>Linguist does not know the plural rules for &apos;%1&apos;.
+Will assume a single universal form.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+56"/>
<source>Cannot create &apos;%2&apos;: %1</source>
<translation>Nie można utworzyć &apos;%2&apos;: %1</translation>
</message>
+ <message>
+ <location line="+56"/>
+ <source>Universal Form</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>ErrorsView</name>
<message>
- <location filename="../tools/linguist/linguist/errorsview.cpp" line="+46"/>
+ <location filename="../tools/linguist/linguist/errorsview.cpp" line="+76"/>
<source>Accelerator possibly superfluous in translation.</source>
<translation>Prawdopodobnie nadmiarowy klawisz skrótu w tłumaczeniu.</translation>
</message>
@@ -277,7 +288,7 @@
<context>
<name>LRelease</name>
<message numerus="yes">
- <location filename="../tools/linguist/shared/qm.cpp" line="+653"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+715"/>
<source> Generated %n translation(s) (%1 finished and %2 unfinished)
</source>
<translation>
@@ -406,9 +417,8 @@
<translation>Ctrl+K</translation>
</message>
<message>
- <location/>
<source>Ctrl+L</source>
- <translation>Ctrl+L</translation>
+ <translation type="obsolete">Ctrl+L</translation>
</message>
<message>
<location/>
@@ -451,9 +461,8 @@
<translation>Ctrl+Shift+K</translation>
</message>
<message>
- <location/>
<source>Ctrl+Shift+L</source>
- <translation>Ctrl+Shift+L</translation>
+ <translation type="obsolete">Ctrl+Shift+L</translation>
</message>
<message>
<location/>
@@ -676,13 +685,13 @@
<translation>Zamienia tłumaczenia we wszystkich pasujących do wzorca wpisach.</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1965"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2004"/>
<source></source>
<comment>This is the application&apos;s main window.</comment>
<translation></translation>
</message>
<message>
- <location line="+165"/>
+ <location line="+195"/>
<source>Source text</source>
<translation>Tekst źródłowy</translation>
</message>
@@ -735,18 +744,18 @@
<translation> MOD </translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<source>Loading...</source>
<translation>Ładowanie...</translation>
</message>
<message>
+ <location line="+32"/>
<location line="+22"/>
- <location line="+20"/>
<source>Loading File - Qt Linguist</source>
<translation>Wczytywanie pliku - Qt Linguist</translation>
</message>
<message>
- <location line="-19"/>
+ <location line="-21"/>
<source>The file &apos;%1&apos; does not seem to be related to the currently open file(s) &apos;%2&apos;.
Close the open file(s) first?</source>
@@ -755,7 +764,7 @@ Close the open file(s) first?</source>
Czy chcesz najpierw zamknąć otwarty plik (pliki)?</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+22"/>
<source>The file &apos;%1&apos; does not seem to be related to the file &apos;%2&apos; which is being loaded as well.
Skip loading the first named file?</source>
@@ -764,7 +773,7 @@ Skip loading the first named file?</source>
Czy chcesz pominąć pierwszy plik?</translation>
</message>
<message numerus="yes">
- <location line="+49"/>
+ <location line="+61"/>
<source>%n translation unit(s) loaded.</source>
<translation>
<numerusform>Załadowano %n część z tłumaczeniami.</numerusform>
@@ -773,7 +782,7 @@ Czy chcesz pominąć pierwszy plik?</translation>
</translation>
</message>
<message>
- <location line="+92"/>
+ <location line="+93"/>
<source>Related files (%1);;</source>
<translation>Związane pliki (%1);;</translation>
</message>
@@ -783,20 +792,20 @@ Czy chcesz pominąć pierwszy plik?</translation>
<translation>Otwórz pliki z tłumaczeniami</translation>
</message>
<message>
- <location line="+9"/>
- <location line="+30"/>
+ <location line="+10"/>
+ <location line="+31"/>
<source>File saved.</source>
<translation>Plik zachowany.</translation>
</message>
<message>
- <location line="+14"/>
- <location line="+1184"/>
+ <location line="+15"/>
+ <location line="+1164"/>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Release</source>
<translation>Wydaj</translation>
</message>
<message>
- <location line="-1183"/>
+ <location line="-1163"/>
<source>Qt message files for released applications (*.qm)
All files (*)</source>
<translation>Pliki z wydanymi tłumaczeniami (*.qm)
@@ -860,7 +869,7 @@ Wszystkie pliki (*)</translation>
<message>
<location line="+17"/>
<location line="+278"/>
- <location line="+60"/>
+ <location line="+40"/>
<location line="+24"/>
<location line="+22"/>
<location line="+516"/>
@@ -872,7 +881,7 @@ Wszystkie pliki (*)</translation>
<translation>Qt Linguist</translation>
</message>
<message>
- <location line="-1224"/>
+ <location line="-1204"/>
<location line="+102"/>
<source>Cannot find the string &apos;%1&apos;.</source>
<translation>Nie można znaleźć tekstu &apos;%1&apos;.</translation>
@@ -984,27 +993,19 @@ Wszystkie pliki (*)</translation>
<translation>Wersja %1</translation>
</message>
<message>
- <location line="+2"/>
<source> Open Source Edition</source>
- <translation> Wydanie Open Source</translation>
+ <translation type="obsolete"> Wydanie Open Source</translation>
</message>
<message>
- <location line="+7"/>
<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.&lt;br/&gt;&lt;br/&gt;You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;tt&gt;http://qtsoftware.com/company/model.html&lt;/tt&gt; for an overview of Qt licensing.</source>
- <translation type="unfinished">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.&lt;br/&gt;&lt;br/&gt;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 &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt;.</translation>
+ <translation type="obsolete">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.&lt;br/&gt;&lt;br/&gt;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 &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt;.</translation>
</message>
<message>
- <location line="+8"/>
- <source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+4"/>
<source>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.</source>
- <translation type="unfinished">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.</translation>
+ <translation type="obsolete">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.</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist is a tool for adding translations to Qt applications.&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -1170,7 +1171,7 @@ Wszystkie pliki (*)</translation>
<translation>Czy chcesz zachować książke wyrażeń &apos;%1&apos;?</translation>
</message>
<message>
- <location line="+312"/>
+ <location line="+314"/>
<source>All</source>
<translation>Wszystko</translation>
</message>
@@ -1240,7 +1241,7 @@ Wszystkie pliki (*)</translation>
<translation>&amp;Tłumaczenie</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-459"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-461"/>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Translation</source>
<translation>Tłumaczenie</translation>
@@ -1468,11 +1469,21 @@ Wszystkie pliki (*)</translation>
<source>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.</source>
<translation>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.</translation>
</message>
+ <message>
+ <location/>
+ <source>Ctrl+J</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+Shift+J</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageEditor</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+42"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+72"/>
<source>German</source>
<translation>Niemieckie</translation>
</message>
@@ -1567,7 +1578,7 @@ Linia: %2</translation>
<context>
<name>MessageModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+861"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+832"/>
<source>Completion status for %1</source>
<translation>Stan ukończenia dla %1</translation>
</message>
@@ -1590,7 +1601,7 @@ Linia: %2</translation>
<context>
<name>MsgEdit</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-547"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-577"/>
<source></source>
<comment>This is the right panel of the main window.</comment>
<translation></translation>
@@ -1699,7 +1710,7 @@ Linia: %2</translation>
<translation>&amp;Tłumaczenie:</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-113"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-143"/>
<source></source>
<comment>Go to Phrase &gt; Edit Phrase Book... The dialog that pops up is a PhraseBookBox.</comment>
<translation></translation>
@@ -1708,7 +1719,7 @@ Linia: %2</translation>
<context>
<name>PhraseModel</name>
<message>
- <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+91"/>
+ <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+121"/>
<source>Definition</source>
<translation>Definicja</translation>
</message>
@@ -1726,7 +1737,7 @@ Linia: %2</translation>
<context>
<name>PhraseView</name>
<message>
- <location filename="../tools/linguist/linguist/phraseview.cpp" line="+91"/>
+ <location filename="../tools/linguist/linguist/phraseview.cpp" line="+121"/>
<source>Insert</source>
<translation>Wstaw</translation>
</message>
@@ -1754,7 +1765,7 @@ Linia: %2</translation>
<translation>Skompilowane tłumaczenia Qt</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1296"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1279"/>
<source>Translation files (%1);;</source>
<translation>Pliki z tłumaczeniami (%1);;</translation>
</message>
@@ -1764,37 +1775,38 @@ Linia: %2</translation>
<translation>Wszystkie pliki (*)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1086"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1118"/>
<location line="+18"/>
- <location line="+101"/>
+ <location line="+67"/>
+ <location line="+39"/>
<location line="+17"/>
<location line="+15"/>
- <location filename="../tools/linguist/linguist/phrase.cpp" line="+166"/>
+ <location filename="../tools/linguist/linguist/phrase.cpp" line="+196"/>
<source>Qt Linguist</source>
<translation>Qt Linguist</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/cpp.cpp" line="+1039"/>
+ <location filename="../tools/linguist/shared/cpp.cpp" line="+1072"/>
<source>C++ source files</source>
<translation>Pliki źródłowe C++</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/java.cpp" line="+624"/>
+ <location filename="../tools/linguist/shared/java.cpp" line="+646"/>
<source>Java source files</source>
<translation>Pliki źródłowe Java</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/po.cpp" line="+584"/>
+ <location filename="../tools/linguist/shared/po.cpp" line="+651"/>
<source>GNU Gettext localization files</source>
<translation>Pliki GNU Gettext</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/qscript.cpp" line="+2369"/>
+ <location filename="../tools/linguist/shared/qscript.cpp" line="+2399"/>
<source>Qt Script source files</source>
<translation>Pliki źródłowe Qt Script</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/ts.cpp" line="+617"/>
+ <location filename="../tools/linguist/shared/ts.cpp" line="+752"/>
<source>Qt translation sources (format 1.1)</source>
<translation>Źródła tlumaczeń Qt (format 1.1)</translation>
</message>
@@ -1805,11 +1817,15 @@ Linia: %2</translation>
</message>
<message>
<location line="+9"/>
+ <source>Qt translation sources (latest format)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>Qt translation sources</source>
- <translation>Źródła tlumaczeń Qt</translation>
+ <translation type="obsolete">Źródła tlumaczeń Qt</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/ui.cpp" line="+171"/>
+ <location filename="../tools/linguist/shared/ui.cpp" line="+213"/>
<source>Qt Designer form files</source>
<translation>Pliki z formularzami Qt Designer</translation>
</message>
@@ -1819,15 +1835,20 @@ Linia: %2</translation>
<translation>Pliki z formularzami Qt Jambi</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/xliff.cpp" line="+778"/>
+ <location filename="../tools/linguist/shared/xliff.cpp" line="+817"/>
<source>XLIFF localization files</source>
<translation>Pliki XLIFF</translation>
</message>
+ <message>
+ <location filename="../tools/linguist/shared/qph.cpp" line="+192"/>
+ <source>Qt Linguist &apos;Phrase Book&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SourceCodeView</name>
<message>
- <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+40"/>
+ <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+70"/>
<source>&lt;i&gt;Source code not available&lt;/i&gt;</source>
<translation>&lt;i&gt;Kod źródłowy nie jest dostępny&lt;/i&gt;</translation>
</message>
@@ -1970,7 +1991,7 @@ Linia: %2</translation>
<context>
<name>TranslationSettingsDialog</name>
<message>
- <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+38"/>
+ <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+68"/>
<source>Any Country</source>
<translation>Dowolny kraj</translation>
</message>
diff --git a/translations/linguist_untranslated.ts b/translations/linguist_untranslated.ts
index 5690378..ae3ff20 100644
--- a/translations/linguist_untranslated.ts
+++ b/translations/linguist_untranslated.ts
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0">
+<!DOCTYPE TS>
+<TS version="2.0">
<context>
<name></name>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+29"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+59"/>
<source>(New Entry)</source>
<translation type="unfinished"></translation>
</message>
@@ -11,7 +12,7 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1318"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1357"/>
<source>Qt Linguist</source>
<translation type="unfinished"></translation>
</message>
@@ -19,7 +20,7 @@
<context>
<name>BatchTranslationDialog</name>
<message>
- <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+49"/>
+ <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+79"/>
<source>Batch Translation of &apos;%1&apos; - Qt Linguist</source>
<translation type="unfinished"></translation>
</message>
@@ -109,7 +110,7 @@
<context>
<name>DataModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+184"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+214"/>
<source>&lt;qt&gt;Duplicate messages found in &apos;%1&apos;:</source>
<translation type="unfinished"></translation>
</message>
@@ -129,15 +130,26 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+121"/>
+ <location line="+70"/>
+ <source>Linguist does not know the plural rules for &apos;%1&apos;.
+Will assume a single universal form.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+56"/>
<source>Cannot create &apos;%2&apos;: %1</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+56"/>
+ <source>Universal Form</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>ErrorsView</name>
<message>
- <location filename="../tools/linguist/linguist/errorsview.cpp" line="+46"/>
+ <location filename="../tools/linguist/linguist/errorsview.cpp" line="+76"/>
<source>Accelerator possibly superfluous in translation.</source>
<translation type="unfinished"></translation>
</message>
@@ -274,7 +286,7 @@
<context>
<name>LRelease</name>
<message numerus="yes">
- <location filename="../tools/linguist/shared/qm.cpp" line="+653"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+715"/>
<source> Generated %n translation(s) (%1 finished and %2 unfinished)
</source>
<translation type="unfinished">
@@ -572,11 +584,6 @@
</message>
<message>
<location/>
- <source>Ctrl+L</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location/>
<source>P&amp;rev</source>
<translation type="unfinished"></translation>
</message>
@@ -592,11 +599,6 @@
</message>
<message>
<location/>
- <source>Ctrl+Shift+L</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location/>
<source>&amp;Done and Next</source>
<translation type="unfinished"></translation>
</message>
@@ -743,13 +745,13 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1965"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2004"/>
<source></source>
<comment>This is the application&apos;s main window.</comment>
<translation></translation>
</message>
<message>
- <location line="+165"/>
+ <location line="+195"/>
<source>Source text</source>
<translation type="unfinished"></translation>
</message>
@@ -802,39 +804,39 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<source>Loading...</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+32"/>
<location line="+22"/>
- <location line="+20"/>
<source>Loading File - Qt Linguist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-19"/>
+ <location line="-21"/>
<source>The file &apos;%1&apos; does not seem to be related to the currently open file(s) &apos;%2&apos;.
Close the open file(s) first?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+22"/>
<source>The file &apos;%1&apos; does not seem to be related to the file &apos;%2&apos; which is being loaded as well.
Skip loading the first named file?</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+49"/>
+ <location line="+61"/>
<source>%n translation unit(s) loaded.</source>
<translation type="unfinished">
<numerusform></numerusform>
</translation>
</message>
<message>
- <location line="+92"/>
+ <location line="+93"/>
<source>Related files (%1);;</source>
<translation type="unfinished"></translation>
</message>
@@ -844,20 +846,20 @@ Skip loading the first named file?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
- <location line="+30"/>
+ <location line="+10"/>
+ <location line="+31"/>
<source>File saved.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
- <location line="+1184"/>
+ <location line="+15"/>
+ <location line="+1164"/>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Release</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1183"/>
+ <location line="-1163"/>
<source>Qt message files for released applications (*.qm)
All files (*)</source>
<translation type="unfinished"></translation>
@@ -920,7 +922,7 @@ All files (*)</source>
<message>
<location line="+17"/>
<location line="+278"/>
- <location line="+60"/>
+ <location line="+40"/>
<location line="+24"/>
<location line="+22"/>
<location line="+516"/>
@@ -932,7 +934,7 @@ All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1224"/>
+ <location line="-1204"/>
<location line="+102"/>
<source>Cannot find the string &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
@@ -1027,27 +1029,7 @@ All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
- <source> Open Source Edition</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+7"/>
- <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.&lt;br/&gt;&lt;br/&gt;You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;tt&gt;http://qtsoftware.com/company/model.html&lt;/tt&gt; for an overview of Qt licensing.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+8"/>
- <source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+4"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+5"/>
+ <location line="+6"/>
<source>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist is a tool for adding translations to Qt applications.&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -1230,7 +1212,7 @@ All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+312"/>
+ <location line="+314"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
@@ -1410,7 +1392,7 @@ All files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-524"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-526"/>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>&amp;Batch Translation...</source>
<translation type="unfinished"></translation>
@@ -1431,11 +1413,21 @@ All files (*)</source>
<source>Ctrl+T</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location/>
+ <source>Ctrl+J</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+Shift+J</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageEditor</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+42"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+72"/>
<source>German</source>
<translation type="unfinished"></translation>
</message>
@@ -1529,7 +1521,7 @@ Line: %2</source>
<context>
<name>MessageModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+861"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+832"/>
<source>Completion status for %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1552,7 +1544,7 @@ Line: %2</source>
<context>
<name>MsgEdit</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-547"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-577"/>
<source></source>
<comment>This is the right panel of the main window.</comment>
<translation></translation>
@@ -1661,7 +1653,7 @@ Line: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-114"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-144"/>
<source></source>
<comment>Go to Phrase &gt; Edit Phrase Book... The dialog that pops up is a PhraseBookBox.</comment>
<translation></translation>
@@ -1670,7 +1662,7 @@ Line: %2</source>
<context>
<name>PhraseModel</name>
<message>
- <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+87"/>
+ <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+117"/>
<source>Source phrase</source>
<translation type="unfinished"></translation>
</message>
@@ -1688,7 +1680,7 @@ Line: %2</source>
<context>
<name>PhraseView</name>
<message>
- <location filename="../tools/linguist/linguist/phraseview.cpp" line="+91"/>
+ <location filename="../tools/linguist/linguist/phraseview.cpp" line="+121"/>
<source>Insert</source>
<translation type="unfinished"></translation>
</message>
@@ -1716,7 +1708,7 @@ Line: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1296"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1279"/>
<source>Translation files (%1);;</source>
<translation type="unfinished"></translation>
</message>
@@ -1726,37 +1718,38 @@ Line: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1086"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1118"/>
<location line="+18"/>
- <location line="+101"/>
+ <location line="+67"/>
+ <location line="+39"/>
<location line="+17"/>
<location line="+15"/>
- <location filename="../tools/linguist/linguist/phrase.cpp" line="+166"/>
+ <location filename="../tools/linguist/linguist/phrase.cpp" line="+196"/>
<source>Qt Linguist</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/cpp.cpp" line="+1039"/>
+ <location filename="../tools/linguist/shared/cpp.cpp" line="+1072"/>
<source>C++ source files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/java.cpp" line="+624"/>
+ <location filename="../tools/linguist/shared/java.cpp" line="+646"/>
<source>Java source files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/po.cpp" line="+584"/>
+ <location filename="../tools/linguist/shared/po.cpp" line="+651"/>
<source>GNU Gettext localization files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/qscript.cpp" line="+2369"/>
+ <location filename="../tools/linguist/shared/qscript.cpp" line="+2399"/>
<source>Qt Script source files</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/ts.cpp" line="+617"/>
+ <location filename="../tools/linguist/shared/ts.cpp" line="+752"/>
<source>Qt translation sources (format 1.1)</source>
<translation type="unfinished"></translation>
</message>
@@ -1767,11 +1760,11 @@ Line: %2</source>
</message>
<message>
<location line="+9"/>
- <source>Qt translation sources</source>
+ <source>Qt translation sources (latest format)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/ui.cpp" line="+171"/>
+ <location filename="../tools/linguist/shared/ui.cpp" line="+213"/>
<source>Qt Designer form files</source>
<translation type="unfinished"></translation>
</message>
@@ -1781,15 +1774,20 @@ Line: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/linguist/shared/xliff.cpp" line="+778"/>
+ <location filename="../tools/linguist/shared/xliff.cpp" line="+817"/>
<source>XLIFF localization files</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../tools/linguist/shared/qph.cpp" line="+192"/>
+ <source>Qt Linguist &apos;Phrase Book&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>SourceCodeView</name>
<message>
- <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+40"/>
+ <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+70"/>
<source>&lt;i&gt;Source code not available&lt;/i&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -1932,7 +1930,7 @@ Line: %2</source>
<context>
<name>TranslationSettingsDialog</name>
<message>
- <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+38"/>
+ <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+68"/>
<source>Any Country</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/linguist_zh_CN.ts b/translations/linguist_zh_CN.ts
index a9ecdb6..3a81543 100644
--- a/translations/linguist_zh_CN.ts
+++ b/translations/linguist_zh_CN.ts
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="zh">
-<defaultcodec></defaultcodec>
<context>
<name></name>
<message>
@@ -9,7 +8,7 @@
<translation type="obsolete">(新短语)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+29"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+59"/>
<source>(New Entry)</source>
<translation>(新条目)</translation>
</message>
@@ -17,7 +16,7 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1318"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1357"/>
<source>Qt Linguist</source>
<translation>Qt 语言家</translation>
</message>
@@ -25,7 +24,7 @@
<context>
<name>BatchTranslationDialog</name>
<message numerus="yes">
- <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+129"/>
+ <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+159"/>
<source>Batch translated %n entries</source>
<translation>
<numerusform>已经批翻译 %n 个条目</numerusform>
@@ -115,7 +114,7 @@
<context>
<name>DataModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+184"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+214"/>
<source>&lt;qt&gt;Duplicate messages found in &apos;%1&apos;:</source>
<translation>&lt;qt&gt;在“%1”中找到的重复信息:</translation>
</message>
@@ -135,10 +134,21 @@
<translation>&lt;br&gt;* 注释:%3</translation>
</message>
<message>
- <location line="+121"/>
+ <location line="+70"/>
+ <source>Linguist does not know the plural rules for &apos;%1&apos;.
+Will assume a single universal form.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+56"/>
<source>Cannot create &apos;%2&apos;: %1</source>
<translation>不能创建&apos;%2&apos;: %1</translation>
</message>
+ <message>
+ <location line="+56"/>
+ <source>Universal Form</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>EditorPage</name>
@@ -198,7 +208,7 @@
<context>
<name>ErrorsView</name>
<message>
- <location filename="../tools/linguist/linguist/errorsview.cpp" line="+46"/>
+ <location filename="../tools/linguist/linguist/errorsview.cpp" line="+76"/>
<source>Accelerator possibly superfluous in translation.</source>
<translation>译文中可能加速键过多。</translation>
</message>
@@ -342,7 +352,7 @@
<context>
<name>LRelease</name>
<message numerus="yes">
- <location filename="../tools/linguist/shared/qm.cpp" line="+653"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+715"/>
<source> Generated %n translation(s) (%1 finished and %2 unfinished)
</source>
<translation>
@@ -538,9 +548,8 @@ p, li { white-space: pre-wrap; }
<translation>Ctrl+K</translation>
</message>
<message>
- <location/>
<source>Ctrl+L</source>
- <translation>Ctrl+L</translation>
+ <translation type="obsolete">Ctrl+L</translation>
</message>
<message>
<location/>
@@ -583,9 +592,8 @@ p, li { white-space: pre-wrap; }
<translation>Ctrl+Shift+K</translation>
</message>
<message>
- <location/>
<source>Ctrl+Shift+L</source>
- <translation>Ctrl+Shift+L</translation>
+ <translation type="obsolete">Ctrl+Shift+L</translation>
</message>
<message>
<location/>
@@ -816,13 +824,13 @@ p, li { white-space: pre-wrap; }
<translation>替换所有和搜索的源文匹配的条目的译文。</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1965"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2004"/>
<source></source>
<comment>This is the application&apos;s main window.</comment>
<translation></translation>
</message>
<message>
- <location line="+165"/>
+ <location line="+195"/>
<source>Source text</source>
<translation>源文</translation>
</message>
@@ -875,18 +883,18 @@ p, li { white-space: pre-wrap; }
<translation>已修改</translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<source>Loading...</source>
<translation>正在载入...</translation>
</message>
<message>
+ <location line="+32"/>
<location line="+22"/>
- <location line="+20"/>
<source>Loading File - Qt Linguist</source>
<translation>正在载入文件 - Qt 语言家</translation>
</message>
<message>
- <location line="-19"/>
+ <location line="-21"/>
<source>The file &apos;%1&apos; does not seem to be related to the currently open file(s) &apos;%2&apos;.
Close the open file(s) first?</source>
@@ -895,7 +903,7 @@ Close the open file(s) first?</source>
要将打开的文件先关闭么?</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+22"/>
<source>The file &apos;%1&apos; does not seem to be related to the file &apos;%2&apos; which is being loaded as well.
Skip loading the first named file?</source>
@@ -904,14 +912,14 @@ Skip loading the first named file?</source>
要跳过对第一个文件的加载么?</translation>
</message>
<message numerus="yes">
- <location line="+49"/>
+ <location line="+61"/>
<source>%n translation unit(s) loaded.</source>
<translation>
<numerusform>%n 个翻译单元已经被加载。</numerusform>
</translation>
</message>
<message>
- <location line="+92"/>
+ <location line="+93"/>
<source>Related files (%1);;</source>
<translation>相关文件(%1);;</translation>
</message>
@@ -921,20 +929,20 @@ Skip loading the first named file?</source>
<translation>打开翻译文件</translation>
</message>
<message>
- <location line="+9"/>
- <location line="+30"/>
+ <location line="+10"/>
+ <location line="+31"/>
<source>File saved.</source>
<translation>文件已保存。</translation>
</message>
<message>
- <location line="+14"/>
- <location line="+1184"/>
+ <location line="+15"/>
+ <location line="+1164"/>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Release</source>
<translation>发布</translation>
</message>
<message>
- <location line="-1183"/>
+ <location line="-1163"/>
<source>Qt message files for released applications (*.qm)
All files (*)</source>
<translation>用于发布应用程序的 Qt 消息文件 (*.qm)
@@ -998,7 +1006,7 @@ All files (*)</source>
<message>
<location line="+17"/>
<location line="+278"/>
- <location line="+60"/>
+ <location line="+40"/>
<location line="+24"/>
<location line="+22"/>
<location line="+516"/>
@@ -1010,7 +1018,7 @@ All files (*)</source>
<translation>Qt 语言家</translation>
</message>
<message>
- <location line="-1224"/>
+ <location line="-1204"/>
<location line="+102"/>
<source>Cannot find the string &apos;%1&apos;.</source>
<translation>无法找到字符串“%1”。</translation>
@@ -1116,27 +1124,23 @@ All files (*)</source>
<translation>%1 版本</translation>
</message>
<message>
- <location line="+2"/>
<source> Open Source Edition</source>
- <translation>开源版本</translation>
+ <translation type="obsolete">开源版本</translation>
</message>
<message>
- <location line="+7"/>
<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.&lt;br/&gt;&lt;br/&gt;You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;tt&gt;http://qtsoftware.com/company/model.html&lt;/tt&gt; for an overview of Qt licensing.</source>
- <translation>这个版本的 Qt 语言家是 Qt 开源版本的一部分,用于开发开源应用程序。Qt 是一个用于跨平台应用程序开发的综合 C++ 框架。&lt;br/&gt;&lt;br/&gt;开发商业(闭源)应用程序,你需要商业 Qt 许可。对于 Qt 许可的概览,请参考&lt;tt&gt;http://qtsoftware.com/company/model.html&lt;/tt&gt;。</translation>
+ <translation type="obsolete">这个版本的 Qt 语言家是 Qt 开源版本的一部分,用于开发开源应用程序。Qt 是一个用于跨平台应用程序开发的综合 C++ 框架。&lt;br/&gt;&lt;br/&gt;开发商业(闭源)应用程序,你需要商业 Qt 许可。对于 Qt 许可的概览,请参考&lt;tt&gt;http://qtsoftware.com/company/model.html&lt;/tt&gt;。</translation>
</message>
<message>
- <location line="+8"/>
<source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.</source>
- <translation>我们已经允许您在 Qt %1 许可协议下使用本程序。有关细节,请阅读本软件发行中所带的协议文件。</translation>
+ <translation type="obsolete">我们已经允许您在 Qt %1 许可协议下使用本程序。有关细节,请阅读本软件发行中所带的协议文件。</translation>
</message>
<message>
- <location line="+4"/>
<source>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.</source>
- <translation>我们已经允许您在 Qt 商业许可协议下使用本程序。有关细节,请阅读本软件发行中所带的 LICENSE 文件。</translation>
+ <translation type="obsolete">我们已经允许您在 Qt 商业许可协议下使用本程序。有关细节,请阅读本软件发行中所带的 LICENSE 文件。</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist is a tool for adding translations to Qt applications.&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;/p&gt;</source>
<translation>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt 语言家是一个用于为 Qt 应用程序添加翻译的工具。&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;版权所有 (C) 2000-$THISYEAR$ Nokia公司和/或它的子公司。所有权利已被保留。&lt;/p&gt;&lt;p&gt;本程序是在&lt;b&gt;没有任何担保(其中包括任何特定目的的设计、商业和适当性的担保)&lt;/b&gt;的条件下提供的。&lt;/p&gt;</translation>
</message>
@@ -1302,7 +1306,7 @@ All files (*)</source>
<translation>是否保存短语书&apos;%1&apos;?</translation>
</message>
<message>
- <location line="+312"/>
+ <location line="+314"/>
<source>All</source>
<translation>全部</translation>
</message>
@@ -1376,7 +1380,7 @@ All files (*)</source>
<translation>译文(&amp;T)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-459"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-461"/>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Translation</source>
<translation>译文</translation>
@@ -1624,6 +1628,16 @@ All files (*)</source>
<source>Toggle the validity check of ending punctuation. If the check fails, a message is shown in the warnings window.</source>
<translation>切换结束标点有效性检查。如果检查失败,会在警告窗口中显示一条消息。</translation>
</message>
+ <message>
+ <location/>
+ <source>Ctrl+J</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+Shift+J</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageEditor</name>
@@ -1652,7 +1666,7 @@ All files (*)</source>
<translation type="obsolete">制表符</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+42"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+72"/>
<source>German</source>
<translation>德语</translation>
</message>
@@ -1762,7 +1776,7 @@ Line: %2</source>
<translation type="obsolete">索引</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+861"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+832"/>
<source>Completion status for %1</source>
<translation>%1 的完成状态</translation>
</message>
@@ -1792,7 +1806,7 @@ Line: %2</source>
<context>
<name>MsgEdit</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-549"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-579"/>
<source></source>
<comment>This is the right panel of the main window.</comment>
<translation></translation>
@@ -1801,13 +1815,13 @@ Line: %2</source>
<context>
<name>PhraseBookBox</name>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-17"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-47"/>
<source></source>
<comment>Go to Phrase &gt; Edit Phrase Book... The dialog that pops up is a PhraseBookBox.</comment>
<translation></translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+55"/>
<source>%1[*] - Qt Linguist</source>
<translation>%1[*] - Qt 语言家</translation>
</message>
@@ -1930,7 +1944,7 @@ Line: %2</source>
<context>
<name>PhraseModel</name>
<message>
- <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+91"/>
+ <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+121"/>
<source>Definition</source>
<translation>准确度</translation>
</message>
@@ -1948,7 +1962,7 @@ Line: %2</source>
<context>
<name>PhraseView</name>
<message>
- <location filename="../tools/linguist/linguist/phraseview.cpp" line="+91"/>
+ <location filename="../tools/linguist/linguist/phraseview.cpp" line="+121"/>
<source>Insert</source>
<translation>插入</translation>
</message>
@@ -1976,7 +1990,7 @@ Line: %2</source>
<translation>已编译的 Qt 翻译</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1296"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1279"/>
<source>Translation files (%1);;</source>
<translation>翻译文件(%1);;</translation>
</message>
@@ -1986,37 +2000,38 @@ Line: %2</source>
<translation>全部文件(*)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1086"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1118"/>
<location line="+18"/>
- <location line="+101"/>
+ <location line="+67"/>
+ <location line="+39"/>
<location line="+17"/>
<location line="+15"/>
- <location filename="../tools/linguist/linguist/phrase.cpp" line="+166"/>
+ <location filename="../tools/linguist/linguist/phrase.cpp" line="+196"/>
<source>Qt Linguist</source>
<translation>Qt 语言家</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/cpp.cpp" line="+1039"/>
+ <location filename="../tools/linguist/shared/cpp.cpp" line="+1072"/>
<source>C++ source files</source>
<translation>C++源文件</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/java.cpp" line="+624"/>
+ <location filename="../tools/linguist/shared/java.cpp" line="+646"/>
<source>Java source files</source>
<translation>Java源文件</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/po.cpp" line="+584"/>
+ <location filename="../tools/linguist/shared/po.cpp" line="+651"/>
<source>GNU Gettext localization files</source>
<translation>GNU Gettext 本地化文件</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/qscript.cpp" line="+2369"/>
+ <location filename="../tools/linguist/shared/qscript.cpp" line="+2399"/>
<source>Qt Script source files</source>
<translation>Qt脚本源文件</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/ts.cpp" line="+617"/>
+ <location filename="../tools/linguist/shared/ts.cpp" line="+752"/>
<source>Qt translation sources (format 1.1)</source>
<translation>Qt翻译源(格式1.1)</translation>
</message>
@@ -2027,11 +2042,15 @@ Line: %2</source>
</message>
<message>
<location line="+9"/>
+ <source>Qt translation sources (latest format)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>Qt translation sources</source>
- <translation>Qt翻译源</translation>
+ <translation type="obsolete">Qt翻译源</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/ui.cpp" line="+171"/>
+ <location filename="../tools/linguist/shared/ui.cpp" line="+213"/>
<source>Qt Designer form files</source>
<translation>Qt设计师表单文件</translation>
</message>
@@ -2041,10 +2060,15 @@ Line: %2</source>
<translation>Qt Jambi表单文件</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/xliff.cpp" line="+778"/>
+ <location filename="../tools/linguist/shared/xliff.cpp" line="+817"/>
<source>XLIFF localization files</source>
<translation>XLIFF 本地化文件</translation>
</message>
+ <message>
+ <location filename="../tools/linguist/shared/qph.cpp" line="+192"/>
+ <source>Qt Linguist &apos;Phrase Book&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QtWindowListMenu</name>
@@ -2083,7 +2107,7 @@ Line: %2</source>
<context>
<name>SourceCodeView</name>
<message>
- <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+40"/>
+ <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+70"/>
<source>&lt;i&gt;Source code not available&lt;/i&gt;</source>
<translation>&lt;i&gt;源代码不可用&lt;/i&gt;</translation>
</message>
@@ -2651,7 +2675,7 @@ XLIFF 本地化文件 (*.xlf)
<context>
<name>TranslationSettingsDialog</name>
<message>
- <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+38"/>
+ <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+68"/>
<source>Any Country</source>
<translation>任意国家</translation>
</message>
diff --git a/translations/linguist_zh_TW.ts b/translations/linguist_zh_TW.ts
index 47aff95..7bb7e57 100644
--- a/translations/linguist_zh_TW.ts
+++ b/translations/linguist_zh_TW.ts
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="zh_TW">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_TW">
<context>
<name></name>
<message>
@@ -8,7 +8,7 @@
<translation type="obsolete">(新片語)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="29"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+59"/>
<source>(New Entry)</source>
<translation>(新項目)</translation>
</message>
@@ -23,7 +23,7 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="1318"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1357"/>
<source>Qt Linguist</source>
<translation>Qt 語言家</translation>
</message>
@@ -31,73 +31,89 @@
<context>
<name>BatchTranslationDialog</name>
<message>
- <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="49"/>
+ <location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+79"/>
<source>Batch Translation of &apos;%1&apos; - Qt Linguist</source>
<translation>批次翻譯 %1 ─ Qt 語言家</translation>
</message>
<message>
+ <location line="+37"/>
<source>Searching, please wait...</source>
<translation>搜尋中,請稍候...</translation>
</message>
<message>
+ <location line="+0"/>
<source>&amp;Cancel</source>
<translation>取消(&amp;C)</translation>
</message>
<message>
+ <location line="+42"/>
<source>Linguist batch translator</source>
<translation>語言家批次翻譯器</translation>
</message>
<message numerus="yes">
+ <location line="+1"/>
<source>Batch translated %n entries</source>
<translation>
<numerusform>已批次翻譯 %n 個條目</numerusform>
</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/batchtranslation.ui"/>
<source>Qt Linguist - Batch Translation</source>
<translation>Qt 語言家─批次翻譯</translation>
</message>
<message>
+ <location/>
<source>Options</source>
<translation>選項</translation>
</message>
<message>
+ <location/>
<source>Set translated entries to finished</source>
<translation>將已翻譯條目設為完成</translation>
</message>
<message>
+ <location/>
<source>Retranslate entries with existing translation</source>
<translation>以現有的翻譯來重新翻譯項目</translation>
</message>
<message>
+ <location/>
<source>Note that the modified entries will be reset to unfinished if &apos;Set translated entries to finished&apos; above is unchecked.</source>
<translation>注意,若上述的「將已翻譯條目設為完成」未被勾選,則變更的項目將會設為「未完成」。</translation>
</message>
<message>
+ <location/>
<source>Translate also finished entries</source>
<translation>也對已完成的項目做翻譯</translation>
</message>
<message>
+ <location/>
<source>Phrase book preference</source>
<translation>片語書喜好設定</translation>
</message>
<message>
+ <location/>
<source>Move up</source>
<translation>上移</translation>
</message>
<message>
+ <location/>
<source>Move down</source>
<translation>下移</translation>
</message>
<message>
+ <location/>
<source>The batch translator will search through the selected phrase books in the order given above.</source>
<translation>批次翻譯器會依指定的順序搜尋選取的片語書。</translation>
</message>
<message>
+ <location/>
<source>&amp;Run</source>
<translation>執行(&amp;R)</translation>
</message>
<message>
+ <location/>
<source>Cancel</source>
<translation>取消</translation>
</message>
@@ -105,26 +121,41 @@
<context>
<name>DataModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="184"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+214"/>
<source>&lt;qt&gt;Duplicate messages found in &apos;%1&apos;:</source>
<translation>&lt;qt&gt;複製在 %1 找到的訊息:</translation>
</message>
<message>
+ <location line="+4"/>
<source>&lt;p&gt;[more duplicates omitted]</source>
<translation>&lt;p&gt;[省略更多複製]</translation>
</message>
<message>
+ <location line="+3"/>
<source>&lt;p&gt;* Context: %1&lt;br&gt;* Source: %2</source>
<translation>&lt;p&gt;* 內文:%1&lt;br&gt;* 源碼:%2</translation>
</message>
<message>
+ <location line="+3"/>
<source>&lt;br&gt;* Comment: %3</source>
<translation>&lt;br&gt;* 註解:%3</translation>
</message>
<message>
+ <location line="+70"/>
+ <source>Linguist does not know the plural rules for &apos;%1&apos;.
+Will assume a single universal form.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+56"/>
<source>Cannot create &apos;%2&apos;: %1</source>
<translation>無法建立 %2:%1</translation>
</message>
+ <message>
+ <location line="+56"/>
+ <source>Universal Form</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>EditorPage</name>
@@ -196,31 +227,37 @@
<context>
<name>ErrorsView</name>
<message>
- <location filename="../tools/linguist/linguist/errorsview.cpp" line="46"/>
+ <location filename="../tools/linguist/linguist/errorsview.cpp" line="+76"/>
<source>Accelerator possibly superfluous in translation.</source>
<translation>翻譯中的快捷鍵可能過多。</translation>
</message>
<message>
+ <location line="+3"/>
<source>Accelerator possibly missing in translation.</source>
<translation>翻譯中的快捷鍵可能有遺失。</translation>
</message>
<message>
+ <location line="+3"/>
<source>Translation does not end with the same punctuation as the source text.</source>
<translation>翻譯沒有以與原始訊息相同的標點結束。</translation>
</message>
<message>
+ <location line="+3"/>
<source>A phrase book suggestion for &apos;%1&apos; was ignored.</source>
<translation>對 %1 的片語書建議已被忽略。</translation>
</message>
<message>
+ <location line="+3"/>
<source>Translation does not refer to the same place markers as in the source text.</source>
<translation>翻譯中使用了原始訊息中沒有的參數符。</translation>
</message>
<message>
+ <location line="+3"/>
<source>Translation does not contain the necessary %n place marker.</source>
<translation>翻譯中未包含必須的 %n 參數符。</translation>
</message>
<message>
+ <location line="+3"/>
<source>Unknown error</source>
<translation>未知的錯誤</translation>
</message>
@@ -232,6 +269,7 @@
<translation type="obsolete">Qt 語言家</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/finddialog.ui"/>
<source>This window allows you to search for some text in the translation source file.</source>
<translation>此視窗讓您搜尋翻譯源碼檔中的一些文字。</translation>
</message>
@@ -240,14 +278,17 @@
<translation type="obsolete">要搜尋的文字:</translation>
</message>
<message>
+ <location/>
<source>Type in the text to search for.</source>
<translation>請輸入要搜尋的文字。</translation>
</message>
<message>
+ <location/>
<source>Options</source>
<translation>選項</translation>
</message>
<message>
+ <location/>
<source>Source texts are searched when checked.</source>
<translation>勾選此項目的話,會搜尋原始訊息中的文字。</translation>
</message>
@@ -256,6 +297,7 @@
<translation type="obsolete">原始訊息文字</translation>
</message>
<message>
+ <location/>
<source>Translations are searched when checked.</source>
<translation>勾選此項目的話,會搜尋已翻譯的文字。</translation>
</message>
@@ -264,6 +306,7 @@
<translation type="obsolete">翻譯</translation>
</message>
<message>
+ <location/>
<source>Texts such as &apos;TeX&apos; and &apos;tex&apos; are considered as different when checked.</source>
<translation>勾選此項目的話,TeX 與 tex 會被認為是兩個不同的字串。</translation>
</message>
@@ -272,6 +315,7 @@
<translation type="obsolete">符合大小寫</translation>
</message>
<message>
+ <location/>
<source>Comments and contexts are searched when checked.</source>
<translation>勾選此項目的話,會搜尋註解與內文。</translation>
</message>
@@ -280,51 +324,62 @@
<translation type="obsolete">註解</translation>
</message>
<message>
+ <location/>
<source>Click here to find the next occurrence of the text you typed in.</source>
<translation>點選這裡以尋找下一筆符合的字串。</translation>
</message>
<message>
+ <location/>
<source>Find Next</source>
<translation>尋找下一個</translation>
</message>
<message>
+ <location/>
<source>Click here to close this window.</source>
<translation>點選這裡以關閉視窗。</translation>
</message>
<message>
+ <location/>
<source>Cancel</source>
<translation>取消</translation>
</message>
<message>
+ <location/>
<source>Find</source>
<translation>尋找</translation>
</message>
<message>
+ <location/>
<source>&amp;Find what:</source>
<translation>尋找什麼(&amp;F):</translation>
</message>
<message>
+ <location/>
<source>&amp;Source texts</source>
<translation>來源文字(&amp;S)</translation>
</message>
<message>
+ <location/>
<source>&amp;Translations</source>
<translation>翻譯(&amp;T)</translation>
</message>
<message>
+ <location/>
<source>&amp;Match case</source>
<translation>符合大小寫(&amp;M)</translation>
</message>
<message>
+ <location/>
<source>&amp;Comments</source>
<translation>註解(&amp;C)</translation>
</message>
<message>
+ <location/>
<source>Ignore &amp;accelerators</source>
<translation>忽略快捷鍵(&amp;A)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/finddialog.cpp" line="14"/>
+ <location filename="../tools/linguist/linguist/finddialog.cpp" line="+14"/>
<source></source>
<comment>Choose Edit|Find from the menu bar or press Ctrl+F to pop up the Find dialog</comment>
<translation></translation>
@@ -359,7 +414,7 @@
<context>
<name>LRelease</name>
<message numerus="yes">
- <location filename="../tools/linguist/shared/qm.cpp" line="653"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+715"/>
<source> Generated %n translation(s) (%1 finished and %2 unfinished)
</source>
<translation>
@@ -368,6 +423,7 @@
</translation>
</message>
<message numerus="yes">
+ <location line="+4"/>
<source> Ignored %n untranslated source text(s)
</source>
<translation>
@@ -462,38 +518,47 @@ p, li { white-space: pre-wrap; }
<context>
<name>MainWindow</name>
<message>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>MainWindow</source>
<translation>主視窗</translation>
</message>
<message>
+ <location/>
<source>&amp;Phrases</source>
<translation>片語(&amp;P)</translation>
</message>
<message>
+ <location/>
<source>&amp;Close Phrase Book</source>
<translation>關閉片語書(&amp;C)</translation>
</message>
<message>
+ <location/>
<source>&amp;Edit Phrase Book</source>
<translation>編輯片語書(&amp;E)</translation>
</message>
<message>
+ <location/>
<source>&amp;Print Phrase Book</source>
<translation>列印片語書(&amp;P)</translation>
</message>
<message>
+ <location/>
<source>V&amp;alidation</source>
<translation>確認(&amp;A)</translation>
</message>
<message>
+ <location/>
<source>&amp;View</source>
<translation>檢視(&amp;V)</translation>
</message>
<message>
+ <location/>
<source>Vie&amp;ws</source>
<translation>檢視(&amp;W)</translation>
</message>
<message>
+ <location/>
<source>&amp;Toolbars</source>
<translation>工具列(&amp;T)</translation>
</message>
@@ -502,14 +567,17 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">工具(&amp;L)</translation>
</message>
<message>
+ <location/>
<source>&amp;Help</source>
<translation>說明(&amp;H)</translation>
</message>
<message>
+ <location/>
<source>&amp;Translation</source>
<translation>翻譯(&amp;T)</translation>
</message>
<message>
+ <location/>
<source>&amp;File</source>
<translation>檔案(&amp;F)</translation>
</message>
@@ -518,6 +586,7 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">最近開啟的檔案(&amp;C)</translation>
</message>
<message>
+ <location/>
<source>&amp;Edit</source>
<translation>編輯(&amp;E)</translation>
</message>
@@ -530,63 +599,80 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">開啟(&amp;O)</translation>
</message>
<message>
+ <location/>
<source>Open a Qt translation source file (TS file) for editing</source>
<translation>開啟 Qt 翻譯源碼檔 (TS 檔) 來編輯</translation>
</message>
<message>
+ <location/>
<source>Ctrl+O</source>
<translation>Ctrl+Q</translation>
</message>
<message>
+ <location/>
<source>E&amp;xit</source>
<translation>離開(&amp;X)</translation>
</message>
<message>
+ <location/>
<source>Close this window and exit.</source>
<translation>關閉視窗並離開。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+Q</source>
<translation>Ctrl+Q</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+646"/>
+ <location line="+15"/>
<source>&amp;Save</source>
<translation>儲存(&amp;S)</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Save changes made to this Qt translation source file</source>
<translation>儲存對此檔案的變更</translation>
</message>
<message>
+ <location/>
<source>Open Read-O&amp;nly...</source>
<translation>以唯讀模式開啟(&amp;N)...</translation>
</message>
<message>
+ <location/>
<source>&amp;Save All</source>
<translation>全部儲存(&amp;S)</translation>
</message>
<message>
+ <location/>
<source>Ctrl+S</source>
<translation>Ctrl+S</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-14"/>
+ <location line="+11"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Save &amp;As...</source>
<translation>另存新檔(&amp;A)...</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Save As...</source>
<translation>另存新檔...</translation>
</message>
<message>
+ <location/>
<source>Save changes made to this Qt translation source file into a new file.</source>
<translation>將此檔存成另一個檔案。</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="4"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+4"/>
<source>&amp;Release</source>
<translation>釋出(&amp;R)</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Create a Qt message file suitable for released applications from the current message file.</source>
<translation>以目前的訊息檔來建立適用於釋出應用程式的 Qt 訊息檔。</translation>
</message>
@@ -599,10 +685,12 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">列印目前 Qt 翻譯源碼檔中所有的片語清單。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+P</source>
<translation>Ctrl+P</translation>
</message>
<message>
+ <location/>
<source>&amp;Undo</source>
<translation>復原(&amp;U)</translation>
</message>
@@ -611,66 +699,82 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">復原上次的編輯動作。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+Z</source>
<translation>Ctrl+Z</translation>
</message>
<message>
+ <location/>
<source>&amp;Redo</source>
<translation>重做(&amp;R)</translation>
</message>
<message>
+ <location/>
<source>Redo an undone editing operation performed on the translation.</source>
<translation>重做上次復原的動作。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+Y</source>
<translation>Ctrl+Y</translation>
</message>
<message>
+ <location/>
<source>Cu&amp;t</source>
<translation>剪下(&amp;T)</translation>
</message>
<message>
+ <location/>
<source>Copy the selected translation text to the clipboard and deletes it.</source>
<translation>將選取的翻譯文字剪下。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+X</source>
<translation>Ctrl+X</translation>
</message>
<message>
+ <location/>
<source>&amp;Copy</source>
<translation>複製(&amp;C)</translation>
</message>
<message>
+ <location/>
<source>Copy the selected translation text to the clipboard.</source>
<translation>複製所選取的文字到剪貼簿中。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+C</source>
<translation>Ctrl+C</translation>
</message>
<message>
+ <location/>
<source>&amp;Paste</source>
<translation>貼上(&amp;P)</translation>
</message>
<message>
+ <location/>
<source>Paste the clipboard text into the translation.</source>
<translation>將剪貼簿內容貼到翻譯區。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+V</source>
<translation>Ctrl+V</translation>
</message>
<message>
+ <location/>
<source>Select &amp;All</source>
<translation>全部選取(&amp;A)</translation>
</message>
<message>
+ <location/>
<source>Select the whole translation text.</source>
<translation>選擇整個翻譯文字。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+A</source>
<translation>Ctrl+A</translation>
</message>
@@ -679,26 +783,32 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">尋找(&amp;F)</translation>
</message>
<message>
+ <location/>
<source>Search for some text in the translation source file.</source>
<translation>在翻譯源碼檔中尋找文字。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+F</source>
<translation>Ctrl+F</translation>
</message>
<message>
+ <location/>
<source>Find &amp;Next</source>
<translation>尋找下一個(&amp;N)</translation>
</message>
<message>
+ <location/>
<source>Continue the search where it was left.</source>
<translation>繼續尋找下一個。</translation>
</message>
<message>
+ <location/>
<source>F3</source>
<translation>F3</translation>
</message>
<message>
+ <location/>
<source>&amp;Prev Unfinished</source>
<translation>前一個未完成的條目(&amp;P)</translation>
</message>
@@ -707,10 +817,12 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">移到前一個未完成的條目。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+K</source>
<translation>Ctrl+K</translation>
</message>
<message>
+ <location/>
<source>&amp;Next Unfinished</source>
<translation>下一個未完成的條目(&amp;N)</translation>
</message>
@@ -720,9 +832,10 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Ctrl+L</source>
- <translation>Ctrl+L</translation>
+ <translation type="obsolete">Ctrl+L</translation>
</message>
<message>
+ <location/>
<source>P&amp;rev</source>
<translation>前一個(&amp;R)</translation>
</message>
@@ -731,10 +844,12 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">移到前一個條目。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+Shift+K</source>
<translation>Ctrl+Shift+K</translation>
</message>
<message>
+ <location/>
<source>Ne&amp;xt</source>
<translation>下一個(&amp;X)</translation>
</message>
@@ -744,9 +859,10 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Ctrl+Shift+L</source>
- <translation>Ctrl+Shift+L</translation>
+ <translation type="obsolete">Ctrl+Shift+L</translation>
</message>
<message>
+ <location/>
<source>&amp;Done and Next</source>
<translation>完成並跳到下一個(&amp;D)</translation>
</message>
@@ -759,14 +875,17 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">複製原始訊息(&amp;B)</translation>
</message>
<message>
+ <location/>
<source>Copies the source text into the translation field.</source>
<translation>將原始訊息複製到翻譯欄位中。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+B</source>
<translation>Ctrl+B</translation>
</message>
<message>
+ <location/>
<source>&amp;Accelerators</source>
<translation>快捷鍵(&amp;A)</translation>
</message>
@@ -775,6 +894,7 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">切換是否要檢查快捷鍵是否有加入翻譯中。</translation>
</message>
<message>
+ <location/>
<source>&amp;Ending Punctuation</source>
<translation>結束的標點(&amp;E)</translation>
</message>
@@ -783,14 +903,17 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">切換是否要檢查結束的標點。</translation>
</message>
<message>
+ <location/>
<source>&amp;Phrase matches</source>
<translation>片語翻譯建議(&amp;P)</translation>
</message>
<message>
+ <location/>
<source>Toggle checking that phrase suggestions are used.</source>
<translation>切換是否要使用片語翻譯建議。</translation>
</message>
<message>
+ <location/>
<source>Place &amp;Marker Matches</source>
<translation>參數符號(&amp;M)</translation>
</message>
@@ -803,10 +926,12 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">新增片語書(&amp;N)</translation>
</message>
<message>
+ <location/>
<source>Create a new phrase book.</source>
<translation>建立新的片語書。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+N</source>
<translation>Ctrl+N</translation>
</message>
@@ -815,10 +940,12 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">開啟片語書(&amp;O)</translation>
</message>
<message>
+ <location/>
<source>Open a phrase book to assist translation.</source>
<translation>開啟片語書以協助翻譯。</translation>
</message>
<message>
+ <location/>
<source>Ctrl+H</source>
<translation>Ctrl+H</translation>
</message>
@@ -827,18 +954,22 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">反向排序(&amp;R)</translation>
</message>
<message>
+ <location/>
<source>Sort the items back in the same order as in the message file.</source>
<translation>依訊息檔中的順序反向排列。</translation>
</message>
<message>
+ <location/>
<source>&amp;Display guesses</source>
<translation>顯示猜測(&amp;D)</translation>
</message>
<message>
+ <location/>
<source>Set whether or not to display translation guesses.</source>
<translation>設定是否要顯示猜測的翻譯。</translation>
</message>
<message>
+ <location/>
<source>&amp;Statistics</source>
<translation>統計(&amp;S)</translation>
</message>
@@ -847,38 +978,47 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">設定是否要顯示翻譯統計。</translation>
</message>
<message>
+ <location/>
<source>&amp;Manual</source>
<translation>手冊(&amp;M)</translation>
</message>
<message>
+ <location/>
<source>F1</source>
<translation>F1</translation>
</message>
<message>
+ <location/>
<source>About Qt Linguist</source>
<translation>關於 Qt 語言家</translation>
</message>
<message>
+ <location/>
<source>About Qt</source>
<translation>關於 Qt</translation>
</message>
<message>
+ <location/>
<source>Display information about the Qt toolkit by Trolltech.</source>
<translation>顯示關於 Qt 的資訊。</translation>
</message>
<message>
+ <location/>
<source>&amp;What&apos;s This?</source>
<translation>這是什麼?(&amp;W)</translation>
</message>
<message>
+ <location/>
<source>What&apos;s This?</source>
<translation>這是什麼?</translation>
</message>
<message>
+ <location/>
<source>Enter What&apos;s This? mode.</source>
<translation>進入「這是什麼?」模式。</translation>
</message>
<message>
+ <location/>
<source>Shift+F1</source>
<translation>Shift+F1</translation>
</message>
@@ -887,6 +1027,7 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">搜尋並翻譯(&amp;S)</translation>
</message>
<message>
+ <location/>
<source>Replace the translation on all entries that matches the search source text.</source>
<translation>在所有條目中搜尋,並取代符合者。</translation>
</message>
@@ -895,14 +1036,19 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">批次翻譯(&amp;B)</translation>
</message>
<message>
+ <location/>
<source>Batch translate all entries using the information in the phrase books.</source>
<translation>使用片語書中的資訊來批次翻譯所有的條目。</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-13"/>
+ <location line="+10"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Release As...</source>
<translation>釋出為...</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>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.</source>
<translation>以目前的訊息檔來建立適用於釋出應用程式的 Qt 訊息檔。檔名會自動由此檔的前面一部份來決定。</translation>
</message>
@@ -912,55 +1058,71 @@ p, li { white-space: pre-wrap; }
<translation></translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1809"/>
<source>Source text</source>
<translation>原始訊息文字</translation>
</message>
<message>
+ <location line="+1"/>
+ <location line="+25"/>
<source>Index</source>
<translation>索引</translation>
</message>
<message>
+ <location line="-2"/>
+ <location line="+61"/>
<source>Context</source>
<translation>內文</translation>
</message>
<message>
+ <location line="-60"/>
<source>Items</source>
<translation>條目</translation>
</message>
<message>
+ <location line="+77"/>
<source>This panel lists the source contexts.</source>
<translation>此面板列出源碼檔中的內容。</translation>
</message>
<message>
+ <location line="+15"/>
<source>Strings</source>
<translation>字串</translation>
</message>
<message>
+ <location line="+39"/>
<source>Phrases and guesses</source>
<translation>片語與猜測</translation>
</message>
<message>
+ <location line="+10"/>
<source>Sources and Forms</source>
<translation>來源與表單</translation>
</message>
<message>
+ <location line="+15"/>
<source>Warnings</source>
<translation>警告</translation>
</message>
<message>
+ <location line="+59"/>
<source> MOD </source>
<comment>status bar: file(s) modified</comment>
<translation>已變更</translation>
</message>
<message>
+ <location line="+125"/>
<source>Loading...</source>
<translation>載入中...</translation>
</message>
<message>
+ <location line="+32"/>
+ <location line="+22"/>
<source>Loading File - Qt Linguist</source>
<translation>載入檔案中 ─ Qt 語言家</translation>
</message>
<message>
+ <location line="-21"/>
<source>The file &apos;%1&apos; does not seem to be related to the currently open file(s) &apos;%2&apos;.
Close the open file(s) first?</source>
@@ -969,6 +1131,7 @@ Close the open file(s) first?</source>
要將開啟的檔案先關閉嗎?</translation>
</message>
<message>
+ <location line="+22"/>
<source>The file &apos;%1&apos; does not seem to be related to the file &apos;%2&apos; which is being loaded as well.
Skip loading the first named file?</source>
@@ -977,78 +1140,114 @@ Skip loading the first named file?</source>
要跳過載入第一個檔案嗎?</translation>
</message>
<message numerus="yes">
+ <location line="+61"/>
<source>%n translation unit(s) loaded.</source>
<translation>
<numerusform>載入 %n 個翻譯單位。</numerusform>
</translation>
</message>
<message>
+ <location line="+93"/>
<source>Related files (%1);;</source>
<translation>關聯檔案(%1);;</translation>
</message>
<message>
+ <location line="+4"/>
<source>Open Translation Files</source>
<translation>開啟翻譯檔</translation>
</message>
<message>
+ <location line="+10"/>
+ <location line="+31"/>
<source>File saved.</source>
<translation>檔案已儲存。</translation>
</message>
<message>
+ <location line="+15"/>
+ <location line="+1164"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Release</source>
<translation>釋出</translation>
</message>
<message>
+ <location line="-1163"/>
<source>Qt message files for released applications (*.qm)
All files (*)</source>
<translation>釋出的應用程式使用的 Qt 訊息檔 (*.qm)
所有檔案 (*)</translation>
</message>
<message>
+ <location line="+3"/>
+ <location line="+12"/>
<source>File created.</source>
<translation>檔案已建立。</translation>
</message>
<message>
+ <location line="+27"/>
+ <location line="+355"/>
<source>Printing...</source>
<translation>列印中...</translation>
</message>
<message>
+ <location line="-347"/>
<source>Context: %1</source>
<translation>內文:%1</translation>
</message>
<message>
+ <location line="+32"/>
<source>finished</source>
<translation>已完成</translation>
</message>
<message>
+ <location line="+3"/>
<source>unresolved</source>
<translation>未解決</translation>
</message>
<message>
+ <location line="+3"/>
<source>obsolete</source>
<translation>已棄用</translation>
</message>
<message>
+ <location line="+15"/>
+ <location line="+307"/>
<source>Printing... (page %1)</source>
<translation>列印中...(第 %1 頁)</translation>
</message>
<message>
+ <location line="-300"/>
+ <location line="+307"/>
<source>Printing completed</source>
<translation>列印已完成</translation>
</message>
<message>
+ <location line="-305"/>
+ <location line="+307"/>
<source>Printing aborted</source>
<translation>列印已中止</translation>
</message>
<message>
+ <location line="-232"/>
<source>Search wrapped.</source>
<translation>搜尋折回。</translation>
</message>
<message>
+ <location line="+17"/>
+ <location line="+278"/>
+ <location line="+40"/>
+ <location line="+24"/>
+ <location line="+22"/>
+ <location line="+516"/>
+ <location line="+1"/>
+ <location line="+274"/>
+ <location line="+40"/>
+ <location line="+10"/>
<source>Qt Linguist</source>
<translation>Qt 語言家</translation>
</message>
<message>
+ <location line="-1204"/>
+ <location line="+102"/>
<source>Cannot find the string &apos;%1&apos;.</source>
<translation>無法找到字串 %1。</translation>
</message>
@@ -1063,244 +1262,311 @@ All files (*)</source>
</translation>
</message>
<message>
+ <location line="-82"/>
<source>Search And Translate in &apos;%1&apos; - Qt Linguist</source>
<translation>在 %1 內搜尋並翻譯 ─ Qt 語言家</translation>
</message>
<message>
+ <location line="+34"/>
+ <location line="+23"/>
+ <location line="+24"/>
<source>Translate - Qt Linguist</source>
<translation>翻譯 ─ Qt 語言家</translation>
</message>
<message numerus="yes">
+ <location line="-46"/>
<source>Translated %n entry(s)</source>
<translation>
<numerusform>已翻譯 %n 個條目</numerusform>
</translation>
</message>
<message>
+ <location line="+23"/>
<source>No more occurrences of &apos;%1&apos;. Start over?</source>
<translation>找不到更多的 %1。要從頭開始嗎?</translation>
</message>
<message>
+ <location line="+30"/>
<source>Create New Phrase Book</source>
<translation>建立新的片語書</translation>
</message>
<message>
+ <location line="+1"/>
<source>Qt phrase books (*.qph)
All files (*)</source>
<translation>Qt 片語書 (*.qph)
所有檔案 (*)</translation>
</message>
<message>
+ <location line="+11"/>
<source>Phrase book created.</source>
<translation>片語書已建立。</translation>
</message>
<message>
+ <location line="+17"/>
<source>Open Phrase Book</source>
<translation>開啟片語書</translation>
</message>
<message>
+ <location line="+1"/>
<source>Qt phrase books (*.qph);;All files (*)</source>
<translation>Qt 片語書 (*.qph);;所有檔案 (*)</translation>
</message>
<message numerus="yes">
+ <location line="+7"/>
<source>%n phrase(s) loaded.</source>
<translation>
<numerusform>已載入 %n 個片語。</numerusform>
</translation>
</message>
<message>
+ <location line="+93"/>
+ <location line="+3"/>
+ <location line="+7"/>
<source>Add to phrase book</source>
<translation>新增到片語書</translation>
</message>
<message>
+ <location line="-9"/>
<source>No appropriate phrasebook found.</source>
<translation>找不到合適的片語書。</translation>
</message>
<message>
+ <location line="+3"/>
<source>Adding entry to phrasebook %1</source>
<translation>新增項目到片語書 %1</translation>
</message>
<message>
+ <location line="+7"/>
<source>Select phrase book to add to</source>
<translation>選取要新增到哪個片語書</translation>
</message>
<message>
+ <location line="+29"/>
<source>Unable to launch Qt Assistant (%1)</source>
<translation>無法啟動 Qt 小幫手(%1)</translation>
</message>
<message>
+ <location line="+17"/>
<source>Version %1</source>
<translation>版本 %1</translation>
</message>
<message>
<source> Open Source Edition</source>
- <translation> 開放源碼版本</translation>
+ <translation type="obsolete"> 開放源碼版本</translation>
</message>
<message>
<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.&lt;br/&gt;&lt;br/&gt;You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;tt&gt;http://qtsoftware.com/company/model.html&lt;/tt&gt; for an overview of Qt licensing.</source>
- <translation>此版本的 Qt 語言家是 Qt 開放源碼版本的一部份,只能用於開發開放源碼的應用程式。Qt 為一個跨平台的,強大的 C++ 應用程式開發框架。&lt;br/&gt;&lt;br/&gt;您需要商業版的 Qt 授權才能發展私有(封閉)應用程式軟體。關於 Qt 授權的概要,請參考 &lt;tt&gt;http://qtsoftware.com/company/model.html&lt;/tt&gt;。</translation>
+ <translation type="obsolete">此版本的 Qt 語言家是 Qt 開放源碼版本的一部份,只能用於開發開放源碼的應用程式。Qt 為一個跨平台的,強大的 C++ 應用程式開發框架。&lt;br/&gt;&lt;br/&gt;您需要商業版的 Qt 授權才能發展私有(封閉)應用程式軟體。關於 Qt 授權的概要,請參考 &lt;tt&gt;http://qtsoftware.com/company/model.html&lt;/tt&gt;。</translation>
</message>
<message>
<source>This program is licensed to you under the terms of the Qt %1 License Agreement. For details, see the license file that came with this software distribution.</source>
- <translation>此程式以 Qt %1授權同意書授權給您。詳情請參照 LICENSE 檔。</translation>
+ <translation type="obsolete">此程式以 Qt %1授權同意書授權給您。詳情請參照 LICENSE 檔。</translation>
</message>
<message>
<source>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.</source>
- <translation>此程式以 Qt 商業授權同意書(Qt Commerical License Agreement)授權給您。詳情請參照 LICENSE 檔。</translation>
+ <translation type="obsolete">此程式以 Qt 商業授權同意書(Qt Commerical License Agreement)授權給您。詳情請參照 LICENSE 檔。</translation>
</message>
<message>
+ <location line="+6"/>
<source>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt Linguist is a tool for adding translations to Qt applications.&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;/p&gt;</source>
<translation>&lt;center&gt;&lt;img src=&quot;:/images/splash.png&quot;/&gt;&lt;/img&gt;&lt;p&gt;%1&lt;/p&gt;&lt;/center&gt;&lt;p&gt;Qt 語言家是一套新增 Qt 應用程式的翻譯的工具。&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;/p&gt;</translation>
</message>
<message>
+ <location line="+41"/>
<source>Do you want to save the modified files?</source>
<translation>您要儲存已變更的檔案嗎?</translation>
</message>
<message>
+ <location line="+22"/>
<source>Do you want to save &apos;%1&apos;?</source>
<translation>您確定要儲存 %1 嗎?</translation>
</message>
<message>
+ <location line="+43"/>
<source>Qt Linguist[*]</source>
<translation>Qt 語言家 [*]</translation>
</message>
<message>
+ <location line="+2"/>
<source>%1[*] - Qt Linguist</source>
<translation>%1 [*] ─ Qt 語言家</translation>
</message>
<message>
+ <location line="+267"/>
+ <location line="+12"/>
<source>No untranslated translation units left.</source>
<translation>沒有任何未翻譯的翻譯單位。</translation>
</message>
<message>
+ <location line="+176"/>
<source>&amp;Window</source>
<translation>視窗(&amp;W)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Minimize</source>
<translation>最小化</translation>
</message>
<message>
+ <location line="+1"/>
<source>Ctrl+M</source>
<translation>Ctrl+M</translation>
</message>
<message>
+ <location line="+12"/>
<source>Display the manual for %1.</source>
<translation>顯示 %1 的手冊。</translation>
</message>
<message>
+ <location line="+1"/>
<source>Display information about %1.</source>
<translation>顯示 %1 的資訊。</translation>
</message>
<message>
+ <location line="+70"/>
<source>&amp;Save &apos;%1&apos;</source>
<translation>儲存 &apos;%1&apos; (&amp;S)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Save &apos;%1&apos; &amp;As...</source>
<translation>另存 &apos;%1&apos; 為(&amp;A)...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Release &apos;%1&apos;</source>
<translation>釋出 &apos;%1&apos;</translation>
</message>
<message>
+ <location line="+1"/>
<source>Release &apos;%1&apos; As...</source>
<translation>釋出 &apos;%1&apos; 為...</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Close &apos;%1&apos;</source>
<translation>關閉 &apos;%1&apos;(&amp;C)</translation>
</message>
<message>
+ <location line="+6"/>
+ <location line="+13"/>
<source>&amp;Close</source>
<translation>關閉(&amp;C)</translation>
</message>
<message>
+ <location line="-10"/>
<source>Save All</source>
<translation>全部儲存</translation>
</message>
<message>
+ <location line="+1"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>&amp;Release All</source>
<translation>全部釋出(&amp;R)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Close All</source>
<translation>全部關閉</translation>
</message>
<message>
+ <location line="+23"/>
<source>Translation File &amp;Settings for &apos;%1&apos;...</source>
<translation>%1 的翻譯檔設定(&amp;S)...</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Batch Translation of &apos;%1&apos;...</source>
<translation>%1 的批次翻譯(&amp;B)...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Search And &amp;Translate in &apos;%1&apos;...</source>
<translation>在 %1 內搜尋並翻譯(&amp;T)...</translation>
</message>
<message>
+ <location line="+4"/>
<source>Search And &amp;Translate...</source>
<translation>搜尋並翻譯(&amp;T)...</translation>
</message>
<message>
+ <location line="+51"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>File</source>
<translation>檔案</translation>
</message>
<message>
+ <location line="+7"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Edit</source>
<translation>編輯</translation>
</message>
<message>
+ <location line="+6"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Translation</source>
<translation>翻譯</translation>
</message>
<message>
+ <location line="+6"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Validation</source>
<translation>確認</translation>
</message>
<message>
+ <location line="+7"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Help</source>
<translation>說明</translation>
</message>
<message>
+ <location line="+84"/>
<source>Cannot read from phrase book &apos;%1&apos;.</source>
<translation>無法從片語書 %1 中讀取。</translation>
</message>
<message>
+ <location line="+15"/>
<source>Close this phrase book.</source>
<translation>關閉片語書。</translation>
</message>
<message>
+ <location line="+4"/>
<source>Enables you to add, modify, or delete entries in this phrase book.</source>
<translation>允許您從此片語書中新增、變更或移除片語。</translation>
</message>
<message>
+ <location line="+5"/>
<source>Print the entries in this phrase book.</source>
<translation>列印此片語書中的條目。</translation>
</message>
<message>
+ <location line="+16"/>
<source>Cannot create phrase book &apos;%1&apos;.</source>
<translation>無法建立片語書 %1。</translation>
</message>
<message>
+ <location line="+10"/>
<source>Do you want to save phrase book &apos;%1&apos;?</source>
<translation>您要儲存片語書 %1 嗎?</translation>
</message>
<message>
+ <location line="+314"/>
<source>All</source>
<translation>全部</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Open/Refresh Form &amp;Preview</source>
<translation>開啟/刷新表單預覽(&amp;P)</translation>
</message>
<message>
+ <location/>
<source>Form Preview Tool</source>
<translation>表單預覽工具</translation>
</message>
<message>
+ <location/>
<source>F5</source>
<translation>F5</translation>
</message>
@@ -1321,42 +1587,54 @@ All files (*)</source>
<translation type="obsolete">最近開啟的檔案(&amp;C)</translation>
</message>
<message>
+ <location/>
<source>&amp;Open...</source>
<translation>開啟(&amp;O)...</translation>
</message>
<message>
+ <location/>
<source>&amp;Print...</source>
<translation>列印(&amp;P)...</translation>
</message>
<message>
+ <location/>
<source>&amp;Find...</source>
<translation>尋找(&amp;F)...</translation>
</message>
<message>
+ <location/>
<source>&amp;New Phrase Book...</source>
<translation>新增片語書(&amp;N)...</translation>
</message>
<message>
+ <location/>
<source>&amp;Open Phrase Book...</source>
<translation>開啟片語書(&amp;O)...</translation>
</message>
<message>
+ <location/>
<source>&amp;Reset Sorting</source>
<translation>重置排序(&amp;R)</translation>
</message>
<message>
+ <location/>
<source>Display translation statistics.</source>
<translation>顯示翻譯統計。</translation>
</message>
<message>
+ <location/>
<source>&amp;Search And Translate...</source>
<translation>搜尋並翻譯(&amp;S)...</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-526"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>&amp;Batch Translation...</source>
<translation>批次翻譯(&amp;B)...</translation>
</message>
<message>
+ <location line="-1"/>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Translation File &amp;Settings...</source>
<translation>翻譯檔案設定(&amp;S)...</translation>
</message>
@@ -1369,94 +1647,117 @@ All files (*)</source>
<translation type="obsolete">編輯要顯示哪一種語言。</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>&amp;Add to Phrase Book</source>
<translation>新增到片語書(&amp;A)</translation>
</message>
<message>
+ <location/>
<source>Ctrl+T</source>
<translation>Ctrl+T</translation>
</message>
<message>
+ <location/>
<source>Previous unfinished item.</source>
<translation>前一個未完成的條目。</translation>
</message>
<message>
+ <location/>
<source>Recently Opened &amp;Files</source>
<translation>最近開啟的檔案(&amp;F)</translation>
</message>
<message>
+ <location/>
<source>Save</source>
<translation>儲存</translation>
</message>
<message>
+ <location/>
<source>Print a list of all the translation units in the current translation source file.</source>
<translation>列印目前翻譯源碼檔中所有的起翻譯單位。</translation>
</message>
<message>
+ <location/>
<source>Undo the last editing operation performed on the current translation.</source>
<translation>復原上次對目前翻譯執行的的編輯動作。</translation>
</message>
<message>
+ <location/>
<source>Move to the previous unfinished item.</source>
<translation>移到前一個未完成的條目。</translation>
</message>
<message>
+ <location/>
<source>Next unfinished item.</source>
<translation>下一個未完成的條目。</translation>
</message>
<message>
+ <location/>
<source>Move to the next unfinished item.</source>
<translation>移到下一個未完成的條目。</translation>
</message>
<message>
+ <location/>
<source>Move to previous item.</source>
<translation>移到前一個條目。</translation>
</message>
<message>
+ <location/>
<source>Move to the previous item.</source>
<translation>移到前一個條目。</translation>
</message>
<message>
+ <location/>
<source>Next item.</source>
<translation>下一個條目。</translation>
</message>
<message>
+ <location/>
<source>Move to the next item.</source>
<translation>移到下一個條目。</translation>
</message>
<message>
+ <location/>
<source>Mark item as done and move to the next unfinished item.</source>
<translation>標記此條目為完成,並移到下一個未完成的條目。</translation>
</message>
<message>
+ <location/>
<source>Mark this item as done and move to the next unfinished item.</source>
<translation>標記此條目為完成,並移到下一個未完成的條目。</translation>
</message>
<message>
+ <location/>
<source>Copy from source text</source>
<translation>複製原始訊息</translation>
</message>
<message>
+ <location/>
<source>Toggle the validity check of accelerators.</source>
<translation>切換是否要檢查快捷鍵是否有加入翻譯中。</translation>
</message>
<message>
+ <location/>
<source>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.</source>
<translation>切換是否要檢查快捷鍵是否有加入翻譯中,也就是檢查源碼中的快捷鍵符號數量與翻譯文字中是否相同。若是沒有,則會在警告視窗中顯示訊息。</translation>
</message>
<message>
+ <location/>
<source>Toggle the validity check of ending punctuation.</source>
<translation>切換是否要檢查結束的標點。</translation>
</message>
<message>
+ <location/>
<source>Close</source>
<translation>關閉</translation>
</message>
<message>
+ <location/>
<source>&amp;Close All</source>
<translation>全部關閉(&amp;C)</translation>
</message>
<message>
+ <location/>
<source>Ctrl+W</source>
<translation>Ctrl+W</translation>
</message>
@@ -1465,21 +1766,35 @@ All files (*)</source>
<translation type="obsolete">切換是否要檢查結束的標點。若是不相符,則會在警告視窗中顯示訊息。</translation>
</message>
<message>
+ <location/>
<source>Toggle checking that phrase suggestions are used. If the check fails, a message is shown in the warnings window.</source>
<translation>切換檢查是否使用建議的片語。若是沒有,則會在警告視窗中顯示訊息。</translation>
</message>
<message>
+ <location/>
<source>Toggle the validity check of place markers.</source>
<translation>切換是否檢查參數符號的正確性。</translation>
</message>
<message>
+ <location/>
<source>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.</source>
<translation>切換是否檢查參數符號的正確性。也就是源碼中的 %1,%2 等是否與翻譯文字中的相符。若是沒有,則會在警告視窗中顯示訊息。</translation>
</message>
<message>
+ <location/>
<source>Toggle the validity check of ending punctuation. If the check fails, a message is shown in the warnings window.</source>
<translation>切換是否檢查結束的標點。如果檢查結果不正確,會在警告視窗中顯示訊息。</translation>
</message>
+ <message>
+ <location/>
+ <source>Ctrl+J</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+Shift+J</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>MessageEditor</name>
@@ -1520,71 +1835,87 @@ All files (*)</source>
<translation type="obsolete">片語與猜測:</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="42"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+72"/>
<source>German</source>
<translation>德文</translation>
</message>
<message>
+ <location line="+1"/>
<source>Japanese</source>
<translation>日文</translation>
</message>
<message>
+ <location line="+1"/>
<source>French</source>
<translation>法文</translation>
</message>
<message>
+ <location line="+1"/>
<source>Polish</source>
<translation>波蘭文</translation>
</message>
<message>
+ <location line="+1"/>
<source>Chinese</source>
<translation>中文</translation>
</message>
<message>
+ <location line="+50"/>
<source>This whole panel allows you to view and edit the translation of some source text.</source>
<translation>這整個面板可以讓您檢視與編輯某些原始訊息的翻譯檔。</translation>
</message>
<message>
+ <location line="+25"/>
<source>Source text</source>
<translation>原始訊息文字</translation>
</message>
<message>
+ <location line="+2"/>
<source>This area shows the source text.</source>
<translation>此區域顯示原始訊息文字。</translation>
</message>
<message>
+ <location line="+3"/>
<source>Source text (Plural)</source>
<translation>原始訊息文字(複數型)</translation>
</message>
<message>
+ <location line="+2"/>
<source>This area shows the plural form of the source text.</source>
<translation>此區域顯示原始訊息文字的複數型。</translation>
</message>
<message>
+ <location line="+3"/>
<source>Developer comments</source>
<translation>開發者提示</translation>
</message>
<message>
+ <location line="+3"/>
<source>This area shows a comment that may guide you, and the context in which the text occurs.</source>
<translation>此區域顯示註解,說明此文字的內容協助您翻譯。</translation>
</message>
<message>
+ <location line="+59"/>
<source>Here you can enter comments for your own use. They have no effect on the translated applications.</source>
<translation>您可以在此輸入您自己的註解。它們不會對應用程式的訊息造成影響。</translation>
</message>
<message>
+ <location line="+205"/>
<source>%1 translation (%2)</source>
<translation>%1 翻譯(%2)</translation>
</message>
<message>
+ <location line="+19"/>
<source>This is where you can enter or modify the translation of the above source text.</source>
<translation>您可以在此輸入或變更某些原始訊息的翻譯。</translation>
</message>
<message>
+ <location line="+5"/>
<source>%1 translation</source>
<translation>%1 翻譯</translation>
</message>
<message>
+ <location line="+1"/>
<source>%1 translator comments</source>
<translation>%1 翻譯註解</translation>
</message>
@@ -1605,6 +1936,7 @@ All files (*)</source>
<translation type="obsolete">您可以在此輸入或變更某些原始訊息的翻譯。</translation>
</message>
<message>
+ <location line="+138"/>
<source>&apos;%1&apos;
Line: %2</source>
<translation>&apos;%1&apos;
@@ -1634,19 +1966,22 @@ Line: %2</source>
<translation type="obsolete">索引</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="861"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+832"/>
<source>Completion status for %1</source>
<translation>%1 的完成狀態</translation>
</message>
<message>
+ <location line="+15"/>
<source>&lt;file header&gt;</source>
<translation>&lt;檔案標頭&gt;</translation>
</message>
<message>
+ <location line="+2"/>
<source>&lt;context comment&gt;</source>
<translation>&lt;內文註解&gt;</translation>
</message>
<message>
+ <location line="+71"/>
<source>&lt;unnamed context&gt;</source>
<translation>&lt;未命名內文&gt;</translation>
</message>
@@ -1680,19 +2015,22 @@ Line: %2</source>
<context>
<name>PhraseBookBox</name>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="8"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+8"/>
<source>%1[*] - Qt Linguist</source>
<translation>%1 [*] ─ Qt 語言家</translation>
</message>
<message>
+ <location line="+90"/>
<source>Qt Linguist</source>
<translation>Qt 語言家</translation>
</message>
<message>
+ <location line="+1"/>
<source>Cannot save phrase book &apos;%1&apos;.</source>
<translation>無法儲存片語書 %1。</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/phrasebookbox.ui"/>
<source>Edit Phrase Book</source>
<translation>編輯片語書</translation>
</message>
@@ -1701,26 +2039,32 @@ Line: %2</source>
<translation type="obsolete">此視窗讓您可以新增、變更與刪除片語。</translation>
</message>
<message>
+ <location/>
<source>&amp;Translation:</source>
<translation>翻譯(&amp;T):</translation>
</message>
<message>
+ <location/>
<source>This is the phrase in the target language corresponding to the source phrase.</source>
<translation>這是跟原始訊息相關的目標語言的片語。</translation>
</message>
<message>
+ <location/>
<source>S&amp;ource phrase:</source>
<translation>原始訊息片語(&amp;O):</translation>
</message>
<message>
+ <location/>
<source>This is a definition for the source phrase.</source>
<translation>這是原始訊息片語的定義。</translation>
</message>
<message>
+ <location/>
<source>This is the phrase in the source language.</source>
<translation>這是原始語言的片語。</translation>
</message>
<message>
+ <location/>
<source>&amp;Definition:</source>
<translation>定義(&amp;D):</translation>
</message>
@@ -1729,6 +2073,7 @@ Line: %2</source>
<translation type="obsolete">新增片語(&amp;N)</translation>
</message>
<message>
+ <location/>
<source>Click here to add the phrase to the phrase book.</source>
<translation>點選這裡將片語新增到片語書中。</translation>
</message>
@@ -1741,38 +2086,47 @@ Line: %2</source>
<translation type="obsolete">點選這裡以從片語書中移除片語。</translation>
</message>
<message>
+ <location/>
<source>&amp;Save</source>
<translation>儲存(&amp;S)</translation>
</message>
<message>
+ <location/>
<source>Click here to save the changes made.</source>
<translation>點擊這裡以儲存變更。</translation>
</message>
<message>
+ <location/>
<source>This window allows you to add, modify, or delete entries in a phrase book.</source>
<translation>此視窗讓您可以新增、變更與刪除片語書中的條目。</translation>
</message>
<message>
+ <location/>
<source>&amp;New Entry</source>
<translation>新條目(&amp;N)</translation>
</message>
<message>
+ <location/>
<source>Click here to remove the entry from the phrase book.</source>
<translation>點擊此處以從片語書中移除條目。</translation>
</message>
<message>
+ <location/>
<source>&amp;Remove Entry</source>
<translation>移除條目(&amp;R)</translation>
</message>
<message>
+ <location/>
<source>Settin&amp;gs...</source>
<translation>設定(&amp;G)...</translation>
</message>
<message>
+ <location/>
<source>Close</source>
<translation>關閉</translation>
</message>
<message>
+ <location/>
<source>Click here to close this window.</source>
<translation>點選這裡以關閉視窗。</translation>
</message>
@@ -1789,15 +2143,17 @@ Line: %2</source>
<context>
<name>PhraseModel</name>
<message>
- <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="87"/>
+ <location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+117"/>
<source>Source phrase</source>
<translation>原始片語</translation>
</message>
<message>
+ <location line="+2"/>
<source>Translation</source>
<translation>翻譯</translation>
</message>
<message>
+ <location line="+2"/>
<source>Definition</source>
<translation>定義</translation>
</message>
@@ -1805,19 +2161,22 @@ Line: %2</source>
<context>
<name>PhraseView</name>
<message>
- <location filename="../tools/linguist/linguist/phraseview.cpp" line="91"/>
+ <location filename="../tools/linguist/linguist/phraseview.cpp" line="+121"/>
<source>Insert</source>
<translation>插入</translation>
</message>
<message>
+ <location line="+3"/>
<source>Edit</source>
<translation>編輯</translation>
</message>
<message>
+ <location line="+113"/>
<source>Guess (%1)</source>
<translation>猜測(%1)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Guess</source>
<translation>猜測</translation>
</message>
@@ -1825,70 +2184,90 @@ Line: %2</source>
<context>
<name>QObject</name>
<message>
- <location filename="../tools/linguist/shared/qm.cpp" line="12"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+12"/>
<source>Compiled Qt translations</source>
<translation>已編譯的 Qt 翻譯</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1279"/>
<source>Translation files (%1);;</source>
<translation>翻譯檔(%1):</translation>
</message>
<message>
+ <location line="+5"/>
<source>All files (*)</source>
<translation>所有檔案(*)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/phrase.cpp" line="166"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1118"/>
+ <location line="+18"/>
+ <location line="+67"/>
+ <location line="+39"/>
+ <location line="+17"/>
+ <location line="+15"/>
+ <location filename="../tools/linguist/linguist/phrase.cpp" line="+196"/>
<source>Qt Linguist</source>
<translation>Qt 語言家</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/cpp.cpp" line="1039"/>
+ <location filename="../tools/linguist/shared/cpp.cpp" line="+1072"/>
<source>C++ source files</source>
<translation>C++ 程式檔</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/java.cpp" line="624"/>
+ <location filename="../tools/linguist/shared/java.cpp" line="+646"/>
<source>Java source files</source>
<translation>Java 程式檔</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/po.cpp" line="584"/>
+ <location filename="../tools/linguist/shared/po.cpp" line="+651"/>
<source>GNU Gettext localization files</source>
<translation>GNU Gettext 地域化檔案</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/qscript.cpp" line="2369"/>
+ <location filename="../tools/linguist/shared/qscript.cpp" line="+2399"/>
<source>Qt Script source files</source>
<translation>Qt 文稿程式檔</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/ts.cpp" line="617"/>
+ <location filename="../tools/linguist/shared/ts.cpp" line="+752"/>
<source>Qt translation sources (format 1.1)</source>
<translation>Qt 翻譯源碼檔(1.1 格式)</translation>
</message>
<message>
+ <location line="+8"/>
<source>Qt translation sources (format 2.0)</source>
<translation>Qt 翻譯源碼檔(2.0 格式)</translation>
</message>
<message>
+ <location line="+9"/>
+ <source>Qt translation sources (latest format)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>Qt translation sources</source>
- <translation>Qt 翻譯源碼</translation>
+ <translation type="obsolete">Qt 翻譯源碼</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/ui.cpp" line="171"/>
+ <location filename="../tools/linguist/shared/ui.cpp" line="+213"/>
<source>Qt Designer form files</source>
<translation>Qt 設計器表單檔</translation>
</message>
<message>
+ <location line="+9"/>
<source>Qt Jambi form files</source>
<translation>Qt Jambi 表單檔</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/xliff.cpp" line="778"/>
+ <location filename="../tools/linguist/shared/xliff.cpp" line="+817"/>
<source>XLIFF localization files</source>
<translation>XLIFF 地域化檔案</translation>
</message>
+ <message>
+ <location filename="../tools/linguist/shared/qph.cpp" line="+192"/>
+ <source>Qt Linguist &apos;Phrase Book&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QtWindowListMenu</name>
@@ -1927,15 +2306,17 @@ Line: %2</source>
<context>
<name>SourceCodeView</name>
<message>
- <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="40"/>
+ <location filename="../tools/linguist/linguist/sourcecodeview.cpp" line="+70"/>
<source>&lt;i&gt;Source code not available&lt;/i&gt;</source>
<translation>&lt;i&gt;沒有原始碼&lt;/i&gt;</translation>
</message>
<message>
+ <location line="+33"/>
<source>&lt;i&gt;File %1 not available&lt;/i&gt;</source>
<translation>&lt;i&gt;沒有檔案 %1&lt;/i&gt;</translation>
</message>
<message>
+ <location line="+5"/>
<source>&lt;i&gt;File %1 not readable&lt;/i&gt;</source>
<translation>&lt;i&gt;檔案 %1 無法讀取&lt;/i&gt;</translation>
</message>
@@ -1962,6 +2343,7 @@ Line: %2</source>
<context>
<name>Statistics</name>
<message>
+ <location filename="../tools/linguist/linguist/statistics.ui"/>
<source>Statistics</source>
<translation>統計</translation>
</message>
@@ -1970,30 +2352,37 @@ Line: %2</source>
<translation type="obsolete">關閉(&amp;C)</translation>
</message>
<message>
+ <location/>
<source>Translation</source>
<translation>翻譯</translation>
</message>
<message>
+ <location/>
<source>Source</source>
<translation>來源</translation>
</message>
<message>
+ <location/>
<source>0</source>
<translation>0</translation>
</message>
<message>
+ <location/>
<source>Words:</source>
<translation>單字:</translation>
</message>
<message>
+ <location/>
<source>Characters:</source>
<translation>字元:</translation>
</message>
<message>
+ <location/>
<source>Characters (with spaces):</source>
<translation>字元(含空白):</translation>
</message>
<message>
+ <location/>
<source>Close</source>
<translation>關閉</translation>
</message>
@@ -2467,7 +2856,7 @@ All files (*)</source>
<translation type="obsolete">您要儲存片語書 %1 嗎?</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/trwindow.cpp" line="14"/>
+ <location filename="../tools/linguist/linguist/trwindow.cpp" line="+14"/>
<source></source>
<comment>This is the application&apos;s main window.</comment>
<translation></translation>
@@ -2480,58 +2869,72 @@ All files (*)</source>
<translation type="obsolete">Qt 語言家</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/translatedialog.ui"/>
<source>This window allows you to search for some text in the translation source file.</source>
<translation>此視窗讓您搜尋翻譯源碼檔中的一些文字。</translation>
</message>
<message>
+ <location/>
<source>Type in the text to search for.</source>
<translation>請輸入要搜尋的文字。</translation>
</message>
<message>
+ <location/>
<source>Find &amp;source text:</source>
<translation>尋找原始訊息(&amp;S):</translation>
</message>
<message>
+ <location/>
<source>&amp;Translate to:</source>
<translation>翻譯為(&amp;T):</translation>
</message>
<message>
+ <location/>
<source>Search options</source>
<translation>搜尋選項</translation>
</message>
<message>
+ <location/>
<source>Texts such as &apos;TeX&apos; and &apos;tex&apos; are considered as different when checked.</source>
<translation>勾選此項目的話,TeX 與 tex 會被認為是兩個不同的字串。</translation>
</message>
<message>
+ <location/>
<source>Match &amp;case</source>
<translation>符合大小寫(&amp;C)</translation>
</message>
<message>
+ <location/>
<source>Mark new translation as &amp;finished</source>
<translation>將新翻譯標記為完成(&amp;F)</translation>
</message>
<message>
+ <location/>
<source>Click here to find the next occurrence of the text you typed in.</source>
<translation>點選這裡以尋找下一筆符合的字串。</translation>
</message>
<message>
+ <location/>
<source>Find Next</source>
<translation>尋找下一個</translation>
</message>
<message>
+ <location/>
<source>Translate</source>
<translation>翻譯</translation>
</message>
<message>
+ <location/>
<source>Translate All</source>
<translation>全部翻譯</translation>
</message>
<message>
+ <location/>
<source>Click here to close this window.</source>
<translation>點選這裡以關閉視窗。</translation>
</message>
<message>
+ <location/>
<source>Cancel</source>
<translation>取消</translation>
</message>
@@ -2558,27 +2961,33 @@ All files (*)</source>
<context>
<name>TranslationSettingsDialog</name>
<message>
- <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="38"/>
+ <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+68"/>
<source>Any Country</source>
<translation>任何國家</translation>
</message>
<message>
+ <location line="+11"/>
+ <location line="+8"/>
<source>Settings for &apos;%1&apos; - Qt Linguist</source>
<translation>%1 的設定 ─ Qt 語言家</translation>
</message>
<message>
+ <location filename="../tools/linguist/linguist/translationsettings.ui"/>
<source>Source language</source>
<translation>原始語言</translation>
</message>
<message>
+ <location/>
<source>Language</source>
<translation>語言</translation>
</message>
<message>
+ <location/>
<source>Country/Region</source>
<translation>國家/地區</translation>
</message>
<message>
+ <location/>
<source>Target language</source>
<translation>目標語言</translation>
</message>
diff --git a/translations/qt_ar.ts b/translations/qt_ar.ts
index 76a1956..b5a60e2 100644
--- a/translations/qt_ar.ts
+++ b/translations/qt_ar.ts
@@ -4,7 +4,7 @@
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -22,7 +22,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation type="unfinished"></translation>
</message>
@@ -85,7 +85,7 @@
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -98,24 +98,24 @@ have libgstreamer-plugins-base installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+653"/>
- <location line="+9"/>
+ <location line="+676"/>
+ <location line="+8"/>
<location line="+15"/>
- <location line="+7"/>
- <location line="+5"/>
- <location line="+20"/>
- <location line="+317"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-381"/>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+355"/>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation type="unfinished"></translation>
</message>
@@ -149,7 +149,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation type="unfinished"></translation>
</message>
@@ -162,7 +162,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+253"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation type="unfinished">صحيح</translation>
</message>
@@ -190,7 +190,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+834"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation type="unfinished">نسخ أو تحريك ملفّ</translation>
</message>
@@ -215,7 +215,7 @@ have libgstreamer-plugins-base installed.</source>
<location line="-157"/>
<location line="+49"/>
<location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+80"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation type="unfinished">جميع الملفّات (*)</translation>
</message>
@@ -355,7 +355,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+704"/>
<location line="+2100"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+307"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation type="unfinished">فتح</translation>
</message>
@@ -523,7 +523,7 @@ Check path and filename.</source>
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+100"/>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
<location line="+10"/>
<source>Could not read directory
%1</source>
@@ -573,7 +573,7 @@ to
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2021"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation type="unfinished">تصفيف</translation>
</message>
@@ -586,7 +586,7 @@ to
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation type="unfinished">أوقفت العمليّة من طرف المستعمل</translation>
</message>
@@ -594,7 +594,7 @@ to
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+194"/>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
<translation type="unfinished">إلغاء</translation>
@@ -603,7 +603,7 @@ to
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+159"/>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
<location line="+814"/>
<source>OK</source>
<translation type="unfinished">موافقة</translation>
@@ -632,7 +632,7 @@ to
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5399"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation type="unfinished">&amp;تراجع</translation>
</message>
@@ -671,7 +671,7 @@ to
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+216"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation type="unfinished"></translation>
</message>
@@ -739,7 +739,7 @@ to
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation type="unfinished">أكثر...</translation>
</message>
@@ -747,7 +747,7 @@ to
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+356"/>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
@@ -799,7 +799,7 @@ to
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+147"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation type="unfinished">&amp;إلغاء</translation>
</message>
@@ -827,9 +827,9 @@ to
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+838"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+585"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+627"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
<location line="+26"/>
<source>Host not found</source>
<translation type="unfinished"></translation>
@@ -872,7 +872,7 @@ to
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1169"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation type="unfinished"></translation>
</message>
@@ -890,13 +890,13 @@ to
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>RTL</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation>البرنامج &apos;%1&apos; يتطلّب Qt %2، تمّ إيجاد Qt %3.</translation>
</message>
@@ -906,7 +906,7 @@ to
<translation>خطأ: مكتبة Qt غير موافقة</translation>
</message>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation type="unfinished"></translation>
</message>
@@ -942,7 +942,7 @@ to
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+84"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation type="unfinished"></translation>
</message>
@@ -960,7 +960,7 @@ to
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1219"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation>ال&amp;صّبغة:</translation>
</message>
@@ -1034,13 +1034,13 @@ to
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1741"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
<location line="+65"/>
<source>Open</source>
<translation type="unfinished">فتح</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation type="unfinished">خاطئ</translation>
</message>
@@ -1058,7 +1058,7 @@ to
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation type="unfinished"></translation>
@@ -1079,12 +1079,12 @@ to
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+263"/>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation type="unfinished"></translation>
</message>
@@ -1102,8 +1102,8 @@ to
<context>
<name>QDB2Result</name>
<message>
- <location line="-986"/>
- <location line="+242"/>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
@@ -1118,7 +1118,7 @@ to
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1136,7 +1136,7 @@ to
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation type="unfinished"></translation>
</message>
@@ -1159,7 +1159,7 @@ to
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation type="unfinished"></translation>
</message>
@@ -1177,7 +1177,7 @@ to
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>ما هذا؟</translation>
</message>
@@ -1190,9 +1190,9 @@ to
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1830"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+531"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation type="unfinished">موافقة</translation>
</message>
@@ -1315,7 +1315,7 @@ to
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+423"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation type="unfinished">الإسم</translation>
</message>
@@ -1345,7 +1345,7 @@ to
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation type="unfinished">إغلاق</translation>
</message>
@@ -1376,7 +1376,7 @@ to
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+361"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+391"/>
<source>&amp;Show this message again</source>
<translation>أ&amp;عرض مجدّداهذاالبلاغ</translation>
</message>
@@ -1404,13 +1404,18 @@ to
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+678"/>
- <location line="+130"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation type="unfinished"></translation>
</message>
@@ -1433,8 +1438,8 @@ to
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+484"/>
- <location line="+423"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+515"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation>جميع الملفّات (*)</translation>
</message>
@@ -1457,13 +1462,13 @@ to
<translation type="unfinished">معاينة مفصّلة</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+384"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+414"/>
<location line="+1"/>
<source>File</source>
<translation type="unfinished">ملفّ</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-440"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-461"/>
<source>Open</source>
<translation>فتح</translation>
</message>
@@ -1473,26 +1478,26 @@ to
<translation type="unfinished">حفظ تحت</translation>
</message>
<message>
- <location line="+653"/>
+ <location line="+678"/>
<location line="+50"/>
- <location line="+1440"/>
+ <location line="+1471"/>
<location line="+75"/>
<source>&amp;Open</source>
<translation>&amp;فتح</translation>
</message>
<message>
- <location line="-1565"/>
+ <location line="-1596"/>
<location line="+50"/>
<source>&amp;Save</source>
<translation>&amp;حفظ</translation>
</message>
<message>
- <location line="+1790"/>
+ <location line="+1822"/>
<source>Recent Places</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-2464"/>
+ <location line="-2521"/>
<source>&amp;Rename</source>
<translation type="unfinished">ت&amp;غيير الإسم</translation>
</message>
@@ -1507,33 +1512,33 @@ to
<translation type="unfinished">ع&amp;رض الملفّات المخفية</translation>
</message>
<message>
- <location line="+1908"/>
+ <location line="+1964"/>
<source>New Folder</source>
<translation type="unfinished">دليل جديد</translation>
</message>
<message>
- <location line="-1943"/>
+ <location line="-1999"/>
<source>Find Directory</source>
<translation type="unfinished">إيجاد الدّليل</translation>
</message>
<message>
- <location line="+660"/>
+ <location line="+685"/>
<source>Directories</source>
<translation>دلائل</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation type="unfinished">جميع الملفّات (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-619"/>
- <location line="+623"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-644"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation type="unfinished">دليل:</translation>
</message>
<message>
- <location line="+807"/>
+ <location line="+828"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation type="unfinished"></translation>
@@ -1564,14 +1569,14 @@ Please verify the correct file name was given.</source>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="-54"/>
- <location line="+851"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-217"/>
+ <location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
@@ -1597,7 +1602,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2062"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2118"/>
<source>Show </source>
<translation type="unfinished"></translation>
</message>
@@ -1613,19 +1618,19 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+631"/>
+ <location line="+656"/>
<location line="+38"/>
<source>&amp;Choose</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-662"/>
- <location line="+627"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation type="unfinished">إ&amp;سم الملفّ:</translation>
</message>
@@ -1645,7 +1650,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+707"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
<source>%1 TB</source>
<translation type="unfinished"></translation>
</message>
@@ -1707,7 +1712,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation type="unfinished"></translation>
</message>
@@ -1720,7 +1725,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+60"/>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
<location line="+1176"/>
<source>Normal</source>
<translation type="unfinished"></translation>
@@ -1937,7 +1942,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+742"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation>ال&amp;خطّ</translation>
</message>
@@ -1986,7 +1991,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+2273"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+2303"/>
<source>Host %1 found</source>
<translation type="unfinished">تمّ إيجاد المضيف %1</translation>
</message>
@@ -1996,7 +2001,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished">تمّ إيجاد المضيف</translation>
</message>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+973"/>
+ <location filename="../src/network/access/qftp.cpp" line="+1003"/>
<location filename="../src/qt3support/network/q3ftp.cpp" line="-1456"/>
<location line="+1451"/>
<source>Connected to host %1</source>
@@ -2132,7 +2137,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation type="unfinished">خطأ مجهول</translation>
</message>
@@ -2140,11 +2145,11 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+148"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
<location line="+9"/>
<location line="+64"/>
<location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+150"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
<location line="+9"/>
<location line="+40"/>
<location line="+27"/>
@@ -2170,13 +2175,13 @@ Do you want to delete it anyway?</source>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+1712"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1806"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1836"/>
<source>Connection refused</source>
<translation>رفض الوصل</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+2597"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+2631"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2189,12 +2194,12 @@ Do you want to delete it anyway?</source>
<translation>طول المحتوى خاطئ</translation>
</message>
<message>
- <location line="-2200"/>
+ <location line="-2204"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2282"/>
+ <location line="+2286"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+10"/>
<location line="+19"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+48"/>
@@ -2233,21 +2238,21 @@ Do you want to delete it anyway?</source>
<translation type="unfinished">وصل مغلق</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-1073"/>
- <location line="+816"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-1077"/>
+ <location line="+820"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-1152"/>
<location line="+567"/>
<source>Unknown error</source>
<translation>خطأ مجهول</translation>
</message>
<message>
- <location line="-564"/>
+ <location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation>تمّ إبطال الطّلب</translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation>ليس هناك أيّ خادم للوصل</translation>
@@ -2265,7 +2270,12 @@ Do you want to delete it anyway?</source>
<translation>صديرة استجابة الHTTP غير صالحة</translation>
</message>
<message>
- <location line="+120"/>
+ <location line="+28"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+97"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
@@ -2288,7 +2298,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-133"/>
+ <location line="-138"/>
<source>Connection refused (or timed out)</source>
<translation type="unfinished"></translation>
</message>
@@ -2369,7 +2379,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1378"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation type="unfinished"></translation>
</message>
@@ -2392,7 +2402,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1077"/>
+ <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation type="unfinished"></translation>
</message>
@@ -2412,7 +2422,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<location line="+189"/>
<source>Could not find array</source>
<translation type="unfinished"></translation>
@@ -2482,7 +2492,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1830"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation type="unfinished"></translation>
</message>
@@ -2502,7 +2512,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation type="unfinished">خطأ مجهول</translation>
</message>
@@ -2510,7 +2520,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+212"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation type="unfinished"></translation>
</message>
@@ -2533,7 +2543,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation type="unfinished"></translation>
</message>
@@ -2541,7 +2551,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QLibrary</name>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2572,7 +2582,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="-377"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+250"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation type="unfinished"></translation>
</message>
@@ -2587,8 +2597,8 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+179"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2608,7 +2618,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2649"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2680"/>
<source>&amp;Undo</source>
<translation type="unfinished">&amp;تراجع</translation>
</message>
@@ -2646,8 +2656,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+196"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation type="unfinished"></translation>
</message>
@@ -2663,7 +2673,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+127"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2671,8 +2681,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+102"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation type="unfinished"></translation>
</message>
@@ -2685,7 +2695,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
<location line="+43"/>
<source>%1: Invalid name</source>
<translation type="unfinished"></translation>
@@ -2742,7 +2752,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1200"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation type="unfinished"></translation>
</message>
@@ -2752,7 +2762,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+123"/>
+ <location line="+127"/>
<source>Unable to begin transaction</source>
<translation type="unfinished"></translation>
</message>
@@ -2770,7 +2780,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-917"/>
+ <location line="-922"/>
<source>Unable to fetch data</source>
<translation type="unfinished"></translation>
</message>
@@ -2785,7 +2795,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+189"/>
+ <location line="+190"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
<translation type="unfinished"></translation>
@@ -2830,7 +2840,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation type="unfinished"></translation>
</message>
@@ -2838,7 +2848,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation type="unfinished">%1 - [%2]</translation>
</message>
@@ -2931,7 +2941,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+127"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
<location line="+225"/>
<source>Close</source>
<translation type="unfinished">إغلاق</translation>
@@ -2988,7 +2998,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1958"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1964"/>
<location line="+852"/>
<location filename="../src/gui/dialogs/qmessagebox.h" line="-52"/>
<location line="+8"/>
@@ -2996,22 +3006,17 @@ Do you want to delete it anyway?</source>
<translation>موافقة</translation>
</message>
<message>
- <location line="+503"/>
+ <location line="+509"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-502"/>
+ <location line="-508"/>
<source>Help</source>
<translation type="unfinished">مساعدة</translation>
</message>
<message>
- <location line="+487"/>
- <source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-1584"/>
+ <location line="-1097"/>
<source>Show Details...</source>
<translation type="unfinished"></translation>
</message>
@@ -3022,19 +3027,14 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+1570"/>
- <source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+15"/>
- <source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation type="unfinished"></translation>
</message>
@@ -3042,7 +3042,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation type="unfinished"></translation>
</message>
@@ -3055,7 +3055,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+176"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
<source>The remote host closed the connection</source>
<translation type="unfinished"></translation>
</message>
@@ -3188,7 +3188,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3196,7 +3196,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3224,7 +3224,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3234,7 +3234,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation type="unfinished"></translation>
</message>
@@ -3252,7 +3252,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3265,7 +3265,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation type="unfinished"></translation>
</message>
@@ -3273,7 +3273,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+422"/>
+ <location line="+432"/>
<location line="+22"/>
<source>Operation canceled</source>
<translation type="unfinished"></translation>
@@ -3282,7 +3282,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2027"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/>
<source>Unable to logon</source>
<translation type="unfinished"></translation>
</message>
@@ -3311,7 +3311,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIResult</name>
<message>
- <location line="-976"/>
+ <location line="-963"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3338,18 +3338,12 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
- <location line="+37"/>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-20"/>
- <source>Unable to execute select statement</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+32"/>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
@@ -3357,7 +3351,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1657"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation type="unfinished"></translation>
</message>
@@ -3367,7 +3361,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+234"/>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation type="unfinished"></translation>
</message>
@@ -3390,19 +3384,19 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1204"/>
+ <location line="-1218"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-332"/>
- <location line="+625"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-554"/>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation type="unfinished"></translation>
</message>
@@ -3412,19 +3406,19 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+267"/>
+ <location line="+268"/>
<source>Unable to bind variable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-474"/>
- <location line="+577"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-671"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation type="unfinished"></translation>
</message>
@@ -3442,12 +3436,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QObject</name>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation type="unfinished">منزل</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3457,7 +3451,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -3482,7 +3476,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+147"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
<location line="+57"/>
<source>No host name given</source>
<translation type="unfinished"></translation>
@@ -3491,7 +3485,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation type="unfinished">الإسم</translation>
</message>
@@ -3504,7 +3498,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+732"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation type="unfinished"></translation>
</message>
@@ -3524,7 +3518,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+358"/>
<source>Unable to subscribe</source>
<translation type="unfinished"></translation>
</message>
@@ -3537,12 +3531,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1035"/>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation type="unfinished"></translation>
</message>
@@ -3550,7 +3544,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation type="unfinished"></translation>
</message>
@@ -3666,7 +3660,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+68"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation>موصل محليّا</translation>
</message>
@@ -3683,7 +3677,7 @@ Do you want to delete it anyway?</source>
<translation>مجهول</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation type="unfinished">موافقة</translation>
</message>
@@ -3700,7 +3694,7 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">الطّابعة</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+345"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+375"/>
<source>Print all</source>
<translation type="unfinished">طباعة الجميع</translation>
</message>
@@ -3880,7 +3874,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
@@ -4128,13 +4122,13 @@ Please choose a different file name.</source>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+38"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
<location line="+12"/>
<source>Page Setup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation type="unfinished"></translation>
</message>
@@ -4412,8 +4406,8 @@ Please choose a different file name.</source>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+445"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation type="unfinished"></translation>
</message>
@@ -4442,7 +4436,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+503"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4462,6 +4456,11 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation type="unfinished"></translation>
@@ -4470,7 +4469,7 @@ Please choose a different file name.</source>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>إلغاء</translation>
</message>
@@ -4494,7 +4493,7 @@ Please choose a different file name.</source>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+34"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation>لم يحدث هناك أيّ خطأ</translation>
</message>
@@ -4542,7 +4541,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation type="unfinished"></translation>
</message>
@@ -4565,12 +4564,12 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-310"/>
+ <location line="-323"/>
<source>Unable to fetch results</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+139"/>
+ <location line="+147"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
@@ -4578,7 +4577,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+498"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation type="unfinished"></translation>
</message>
@@ -4641,12 +4640,12 @@ Please choose a different file name.</source>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+419"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Left edge</source>
<translation type="unfinished"></translation>
</message>
@@ -4656,7 +4655,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Right edge</source>
<translation type="unfinished"></translation>
</message>
@@ -4666,7 +4665,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Page left</source>
<translation type="unfinished"></translation>
</message>
@@ -4677,7 +4676,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Page right</source>
<translation type="unfinished"></translation>
</message>
@@ -4688,7 +4687,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Scroll left</source>
<translation type="unfinished"></translation>
</message>
@@ -4698,7 +4697,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Scroll right</source>
<translation type="unfinished"></translation>
</message>
@@ -4726,7 +4725,7 @@ Please choose a different file name.</source>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+177"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4737,7 +4736,7 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+118"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4747,8 +4746,8 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+48"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation type="unfinished"></translation>
</message>
@@ -4826,7 +4825,7 @@ Please choose a different file name.</source>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+343"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation type="unfinished">فراغ</translation>
</message>
@@ -5407,7 +5406,7 @@ Please choose a different file name.</source>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+860"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation>حذف</translation>
</message>
@@ -5464,7 +5463,7 @@ Please choose a different file name.</source>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+539"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -5523,7 +5522,7 @@ Please choose a different file name.</source>
<name>QSystemSemaphore</name>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation type="unfinished"></translation>
</message>
@@ -5553,7 +5552,7 @@ Please choose a different file name.</source>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation type="unfinished"></translation>
</message>
@@ -5579,7 +5578,7 @@ Please choose a different file name.</source>
<context>
<name>QTcpServer</name>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation type="unfinished"></translation>
</message>
@@ -5587,7 +5586,7 @@ Please choose a different file name.</source>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1942"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation type="unfinished">&amp;تراجع</translation>
</message>
@@ -5645,7 +5644,7 @@ Please choose a different file name.</source>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation type="unfinished"></translation>
</message>
@@ -5653,7 +5652,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+356"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation type="unfinished">تراجع</translation>
</message>
@@ -5666,7 +5665,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -5674,7 +5673,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+804"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation type="unfinished">تراجع</translation>
</message>
@@ -5745,7 +5744,7 @@ Please choose a different file name.</source>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation type="unfinished"></translation>
</message>
@@ -6155,7 +6154,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6231,6 +6230,11 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation type="unfinished"></translation>
</message>
@@ -6299,11 +6303,21 @@ Please choose a different file name.</source>
<source>Delete to the end of the word</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation type="unfinished">ما هذا؟</translation>
</message>
@@ -6311,7 +6325,7 @@ Please choose a different file name.</source>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
@@ -6319,7 +6333,7 @@ Please choose a different file name.</source>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+605"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
<source>&lt; &amp;Back</source>
<translation type="unfinished">&lt; &amp;رجوع</translation>
</message>
@@ -6381,7 +6395,7 @@ Please choose a different file name.</source>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1064"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation type="unfinished">ا&amp;ستعاد</translation>
</message>
@@ -6451,7 +6465,7 @@ Please choose a different file name.</source>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+28"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation>لم يحدث هناك أيّ خطأ</translation>
</message>
@@ -6569,8 +6583,8 @@ Please choose a different file name.</source>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+562"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation type="unfinished"></translation>
</message>
@@ -6754,7 +6768,7 @@ Please choose a different file name.</source>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation type="unfinished"></translation>
</message>
@@ -6764,12 +6778,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation type="unfinished"></translation>
</message>
@@ -6779,7 +6793,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6819,7 +6833,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+69"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
<location line="+15"/>
<source>At least one component must be present.</source>
<translation type="unfinished"></translation>
@@ -6830,7 +6844,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6845,17 +6859,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
<source>Integer division (%1) by zero (%2) is undefined.</source>
<translation type="unfinished"></translation>
</message>
@@ -6886,17 +6900,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation type="unfinished"></translation>
</message>
@@ -6906,7 +6920,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation type="unfinished"></translation>
</message>
@@ -6916,7 +6930,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6926,7 +6940,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -6936,7 +6950,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6946,7 +6960,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+104"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+134"/>
<source>No casting is possible with %1 as the target type.</source>
<translation type="unfinished"></translation>
</message>
@@ -6971,7 +6985,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6981,7 +6995,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+137"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/>
<source>No comparisons can be done involving the type %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -6991,12 +7005,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation type="unfinished"></translation>
</message>
@@ -7006,7 +7020,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation type="unfinished"></translation>
</message>
@@ -7016,7 +7030,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+83"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
<source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
<translation type="unfinished"></translation>
</message>
@@ -7026,33 +7040,33 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+126"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+39"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -7066,7 +7080,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation type="unfinished"></translation>
</message>
@@ -7081,27 +7095,27 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+64"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation type="unfinished"></translation>
</message>
@@ -7116,7 +7130,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation type="unfinished"></translation>
</message>
@@ -7151,17 +7165,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation type="unfinished"></translation>
</message>
@@ -7171,12 +7185,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation type="unfinished"></translation>
</message>
@@ -7186,17 +7200,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+319"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
<location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation type="unfinished"></translation>
@@ -7217,7 +7231,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation type="unfinished"></translation>
</message>
@@ -7499,7 +7513,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation type="unfinished"></translation>
</message>
@@ -7524,7 +7538,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+33"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation type="unfinished"></translation>
</message>
@@ -7539,7 +7553,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation type="unfinished"></translation>
</message>
@@ -7549,12 +7563,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation type="unfinished"></translation>
</message>
@@ -7569,13 +7583,13 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+39"/>
- <source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -7594,12 +7608,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation type="unfinished"></translation>
</message>
@@ -7609,12 +7623,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation type="unfinished"></translation>
</message>
@@ -7669,7 +7683,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation type="unfinished"></translation>
</message>
@@ -7744,7 +7758,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+432"/>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/qt_de.ts b/translations/qt_de.ts
index 640ad40..70cf6f3 100644
--- a/translations/qt_de.ts
+++ b/translations/qt_de.ts
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="de">
-<defaultcodec></defaultcodec>
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation>&lt;html&gt;Das Audiogerät &lt;b&gt;%1&lt;/b&gt; funktioniert nicht.&lt;br/&gt;Es wird stattdessen &lt;b&gt;%2&lt;/b&gt; verwendet.&lt;/html&gt;</translation>
</message>
@@ -23,7 +22,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation>Schließen</translation>
</message>
@@ -81,7 +80,7 @@ Die Audio- und Video-Unterstützung wurde abgeschaltet</translation>
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -95,24 +94,24 @@ Bitte prüfen Sie die Gstreamer-Installation und stellen Sie sicher, dass das Pa
<translation>Es sind nicht alle erforderlichen Codecs installiert. Um diesen Inhalt abzuspielen, muss der folgende Codec installiert werden: %0</translation>
</message>
<message>
- <location line="+653"/>
- <location line="+9"/>
+ <location line="+676"/>
+ <location line="+8"/>
<location line="+15"/>
- <location line="+7"/>
- <location line="+5"/>
- <location line="+20"/>
- <location line="+317"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation>Die Medienquelle konnte nicht geöffnet werden.</translation>
</message>
<message>
- <location line="-381"/>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation>Ungültiger Typ der Medienquelle.</translation>
</message>
<message>
- <location line="+355"/>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation>Die Medienquelle konnte nicht gefunden werden.</translation>
</message>
@@ -146,7 +145,7 @@ Bitte prüfen Sie die Gstreamer-Installation und stellen Sie sicher, dass das Pa
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation>%1, %2 sind nicht definiert</translation>
</message>
@@ -159,7 +158,7 @@ Bitte prüfen Sie die Gstreamer-Installation und stellen Sie sicher, dass das Pa
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+253"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation>Wahr</translation>
</message>
@@ -187,7 +186,7 @@ Bitte prüfen Sie die Gstreamer-Installation und stellen Sie sicher, dass das Pa
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+834"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation>Datei kopieren oder verschieben</translation>
</message>
@@ -212,7 +211,7 @@ Bitte prüfen Sie die Gstreamer-Installation und stellen Sie sicher, dass das Pa
<location line="-157"/>
<location line="+49"/>
<location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+80"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation>Alle Dateien (*)</translation>
</message>
@@ -352,7 +351,7 @@ Bitte prüfen Sie die Gstreamer-Installation und stellen Sie sicher, dass das Pa
<message>
<location line="+704"/>
<location line="+2100"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+307"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation>Öffnen</translation>
</message>
@@ -520,7 +519,7 @@ Datei konnte nicht gefunden werden.
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+100"/>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
<location line="+10"/>
<source>Could not read directory
%1</source>
@@ -570,7 +569,7 @@ nach
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2021"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation>Ausrichten</translation>
</message>
@@ -583,7 +582,7 @@ nach
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation>Operation von Benutzer angehalten</translation>
</message>
@@ -591,7 +590,7 @@ nach
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+194"/>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
<translation>Abbrechen</translation>
@@ -600,7 +599,7 @@ nach
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+159"/>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
<location line="+814"/>
<source>OK</source>
<translation>OK</translation>
@@ -629,7 +628,7 @@ nach
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5399"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation>&amp;Rückgängig</translation>
</message>
@@ -668,7 +667,7 @@ nach
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+216"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation>System</translation>
</message>
@@ -736,7 +735,7 @@ nach
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation>Mehr...</translation>
</message>
@@ -744,7 +743,7 @@ nach
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+356"/>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
@@ -796,7 +795,7 @@ nach
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+147"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation>&amp;Abbrechen</translation>
</message>
@@ -824,9 +823,9 @@ nach
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+838"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+585"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+627"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
<location line="+26"/>
<source>Host not found</source>
<translation>Rechner konnte nicht gefunden werden</translation>
@@ -869,7 +868,7 @@ nach
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1169"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation>&amp;Inkrementieren</translation>
</message>
@@ -887,13 +886,13 @@ nach
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation>Die Anwendung &apos;%1&apos; benötigt Qt %2; es wurde aber Qt %3 gefunden.</translation>
</message>
@@ -903,7 +902,7 @@ nach
<translation>Qt Bibliothek ist inkompatibel</translation>
</message>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation>Aktivieren</translation>
</message>
@@ -939,7 +938,7 @@ nach
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+84"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation>Löschen</translation>
</message>
@@ -957,7 +956,7 @@ nach
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1219"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation>Farb&amp;ton:</translation>
</message>
@@ -1015,13 +1014,13 @@ nach
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1741"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
<location line="+65"/>
<source>Open</source>
<translation>Öffnen</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation>Falsch</translation>
</message>
@@ -1039,7 +1038,7 @@ nach
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation>%1: Ungültige Schlüsselangabe (leer)</translation>
@@ -1060,12 +1059,12 @@ nach
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation>Es kann keine Verbindung aufgebaut werden</translation>
</message>
<message>
- <location line="+263"/>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation>Die Transaktion konnte nicht durchgeführt werden (Operation &apos;commit&apos; fehlgeschlagen)</translation>
</message>
@@ -1083,8 +1082,8 @@ nach
<context>
<name>QDB2Result</name>
<message>
- <location line="-986"/>
- <location line="+242"/>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation>Der Befehl konnte nicht ausgeführt werden</translation>
</message>
@@ -1099,7 +1098,7 @@ nach
<translation>Die Variable konnte nicht gebunden werden</translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation>Der Datensatz %1 konnte nicht abgeholt werden</translation>
</message>
@@ -1117,7 +1116,7 @@ nach
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation>AM</translation>
</message>
@@ -1140,7 +1139,7 @@ nach
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation>QDial</translation>
</message>
@@ -1158,7 +1157,7 @@ nach
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>Direkthilfe</translation>
</message>
@@ -1171,9 +1170,9 @@ nach
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1830"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+531"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -1296,7 +1295,7 @@ nach
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+423"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation>Name</translation>
</message>
@@ -1326,7 +1325,7 @@ nach
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation>Schließen</translation>
</message>
@@ -1357,7 +1356,7 @@ nach
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+361"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+391"/>
<source>&amp;Show this message again</source>
<translation>Diese Meldung noch einmal an&amp;zeigen</translation>
</message>
@@ -1385,13 +1384,18 @@ nach
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+678"/>
- <location line="+130"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation>Die Zieldatei existiert bereits</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation>%1 konnte nicht zum Lesen geöffnet werden</translation>
</message>
@@ -1414,8 +1418,8 @@ nach
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+484"/>
- <location line="+423"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+515"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation>Alle Dateien (*)</translation>
</message>
@@ -1438,13 +1442,13 @@ nach
<translation>Details</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+384"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+414"/>
<location line="+1"/>
<source>File</source>
<translation>Datei</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-440"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-461"/>
<source>Open</source>
<translation>Öffnen</translation>
</message>
@@ -1454,26 +1458,26 @@ nach
<translation>Speichern unter</translation>
</message>
<message>
- <location line="+653"/>
+ <location line="+678"/>
<location line="+50"/>
- <location line="+1440"/>
+ <location line="+1471"/>
<location line="+75"/>
<source>&amp;Open</source>
<translation>&amp;Öffnen</translation>
</message>
<message>
- <location line="-1565"/>
+ <location line="-1596"/>
<location line="+50"/>
<source>&amp;Save</source>
<translation>S&amp;peichern</translation>
</message>
<message>
- <location line="+1790"/>
+ <location line="+1822"/>
<source>Recent Places</source>
<translation>Zuletzt besucht</translation>
</message>
<message>
- <location line="-2464"/>
+ <location line="-2521"/>
<source>&amp;Rename</source>
<translation>&amp;Umbenennen</translation>
</message>
@@ -1488,33 +1492,33 @@ nach
<translation>&amp;Versteckte Dateien anzeigen</translation>
</message>
<message>
- <location line="+1908"/>
+ <location line="+1964"/>
<source>New Folder</source>
<translation>Neues Verzeichnis</translation>
</message>
<message>
- <location line="-1943"/>
+ <location line="-1999"/>
<source>Find Directory</source>
<translation>Verzeichnis suchen</translation>
</message>
<message>
- <location line="+660"/>
+ <location line="+685"/>
<source>Directories</source>
<translation>Verzeichnisse</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation>Alle Dateien (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-619"/>
- <location line="+623"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-644"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation>Verzeichnis:</translation>
</message>
<message>
- <location line="+807"/>
+ <location line="+828"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>Die Datei %1 existiert bereits.
@@ -1548,7 +1552,7 @@ Stellen Sie sicher, dass der Dateiname richtig ist.</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="-54"/>
- <location line="+851"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
@@ -1557,7 +1561,7 @@ Das Verzeichnis konnte nicht gefunden werden.
Stellen Sie sicher, dass der Verzeichnisname richtig ist.</translation>
</message>
<message>
- <location line="-217"/>
+ <location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation>&apos;%1&apos; ist schreibgeschützt.
@@ -1584,7 +1588,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Unbekannt</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2062"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2118"/>
<source>Show </source>
<translation>Anzeigen </translation>
</message>
@@ -1600,19 +1604,19 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>&amp;Neues Verzeichnis</translation>
</message>
<message>
- <location line="+631"/>
+ <location line="+656"/>
<location line="+38"/>
<source>&amp;Choose</source>
<translation>&amp;Auswählen</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation>Löschen</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-662"/>
- <location line="+627"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation>Datei&amp;name:</translation>
</message>
@@ -1632,7 +1636,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+707"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
<source>%1 TB</source>
<translation>%1 TB</translation>
</message>
@@ -1694,7 +1698,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Änderungsdatum</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation>Mein Computer</translation>
</message>
@@ -1707,7 +1711,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+60"/>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
<location line="+1176"/>
<source>Normal</source>
<translation>Normal</translation>
@@ -1924,7 +1928,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+742"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation>&amp;Schriftart</translation>
</message>
@@ -1973,7 +1977,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+2273"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+2303"/>
<source>Host %1 found</source>
<translation>Rechner %1 gefunden</translation>
</message>
@@ -1983,7 +1987,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Rechner gefunden</translation>
</message>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+973"/>
+ <location filename="../src/network/access/qftp.cpp" line="+1003"/>
<location filename="../src/qt3support/network/q3ftp.cpp" line="-1456"/>
<location line="+1451"/>
<source>Connected to host %1</source>
@@ -2119,7 +2123,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation>Unbekannter Fehler</translation>
</message>
@@ -2127,11 +2131,11 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+148"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
<location line="+9"/>
<location line="+64"/>
<location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+150"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
<location line="+9"/>
<location line="+40"/>
<location line="+27"/>
@@ -2157,13 +2161,13 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+1712"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1806"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1836"/>
<source>Connection refused</source>
<translation>Verbindung verweigert</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+2597"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+2631"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2215,21 +2219,21 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Verbindung beendet</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-1073"/>
- <location line="+816"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-1077"/>
+ <location line="+820"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-1152"/>
<location line="+567"/>
<source>Unknown error</source>
<translation>Unbekannter Fehler</translation>
</message>
<message>
- <location line="-564"/>
+ <location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation>Anfrage wurde abgebrochen</translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation>Für die Verbindung wurde kein Server-Rechner angegeben</translation>
@@ -2247,7 +2251,12 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Der Kopfteil der HTTP-Antwort ist ungültig</translation>
</message>
<message>
- <location line="+120"/>
+ <location line="+28"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+97"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
@@ -2295,12 +2304,12 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Es wurde ein unbekanntes Protokoll angegeben</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-133"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-138"/>
<source>Connection refused (or timed out)</source>
<translation>Verbindung verweigert oder Zeitlimit überschritten</translation>
</message>
<message>
- <location line="-2259"/>
+ <location line="-2263"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation>Die angeforderte HTTPS-Verbindung kann nicht aufgebaut werden, da keine SSL-Unterstützung vorhanden ist</translation>
</message>
@@ -2356,7 +2365,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1378"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation>Die Datenbankverbindung konnte nicht geöffnet werden</translation>
</message>
@@ -2379,7 +2388,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1077"/>
+ <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation>Es konnte kein BLOB erzeugt werden</translation>
</message>
@@ -2399,7 +2408,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Der BLOB konnte nicht gelesen werden</translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<location line="+189"/>
<source>Could not find array</source>
<translation>Das Feld konnte nicht gefunden werden</translation>
@@ -2469,7 +2478,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1830"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation>Zugriff verweigert</translation>
</message>
@@ -2489,7 +2498,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Kein freier Speicherplatz auf dem Gerät vorhanden</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation>Unbekannter Fehler</translation>
</message>
@@ -2497,7 +2506,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+212"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation>XIM</translation>
</message>
@@ -2520,7 +2529,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation>Geben Sie einen Wert ein:</translation>
</message>
@@ -2528,7 +2537,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QLibrary</name>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation>Operation mmap fehlgeschlagen für &apos;%1&apos;: %2</translation>
</message>
@@ -2559,7 +2568,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
</message>
<message>
<location line="-377"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+250"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation>Die dynamische Bibliothek konnte nicht gefunden werden.</translation>
</message>
@@ -2574,8 +2583,8 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Das Plugin &apos;%1&apos; verwendet eine inkompatible Qt-Bibliothek. (Im Debug- und Release-Modus erstellte Bibliotheken können nicht zusammen verwendet werden.)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+179"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation>Die Library %1 kann nicht geladen werden: %2</translation>
</message>
@@ -2595,7 +2604,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2679"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2710"/>
<source>Select All</source>
<translation>Alles auswählen</translation>
</message>
@@ -2633,8 +2642,8 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+196"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation>%1: Fehlerhafter Name</translation>
</message>
@@ -2650,7 +2659,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
</message>
<message>
<location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+127"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation>%1: Unbekannter Fehler %2</translation>
</message>
@@ -2658,8 +2667,8 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+102"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation>%1: Der Aufbau einer Verbindung wurde verweigert</translation>
</message>
@@ -2672,7 +2681,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
<location line="+43"/>
<source>%1: Invalid name</source>
<translation>%1: Ungültiger Name</translation>
@@ -2729,7 +2738,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1200"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation>Die Datenbankverbindung konnte nicht geöffnet werden &apos;</translation>
</message>
@@ -2739,7 +2748,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Es kann keine Verbindung aufgebaut werden</translation>
</message>
<message>
- <location line="+123"/>
+ <location line="+127"/>
<source>Unable to begin transaction</source>
<translation>Es konnte keine Transaktion gestartet werden</translation>
</message>
@@ -2757,7 +2766,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-917"/>
+ <location line="-922"/>
<source>Unable to fetch data</source>
<translation>Es konnten keine Daten abgeholt werden</translation>
</message>
@@ -2772,7 +2781,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Das Ergebnis konnte nicht gespeichert werden</translation>
</message>
<message>
- <location line="+189"/>
+ <location line="+190"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
<translation>Der Befehl konnte nicht initialisiert werden</translation>
@@ -2817,7 +2826,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation>(Unbenannt)</translation>
</message>
@@ -2825,7 +2834,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation>%1 - [%2]</translation>
</message>
@@ -2918,7 +2927,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+127"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
<location line="+225"/>
<source>Close</source>
<translation>Schließen</translation>
@@ -2940,7 +2949,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1958"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1964"/>
<location line="+852"/>
<location filename="../src/gui/dialogs/qmessagebox.h" line="-52"/>
<location line="+8"/>
@@ -2948,22 +2957,21 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>OK</translation>
</message>
<message>
- <location line="+503"/>
+ <location line="+509"/>
<source>About Qt</source>
<translation>Über Qt</translation>
</message>
<message>
- <location line="-502"/>
+ <location line="-508"/>
<source>Help</source>
<translation>Hilfe</translation>
</message>
<message>
- <location line="+487"/>
<source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation>&lt;p&gt;Dieses Programm verwendet Qt-Version %1.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;Dieses Programm verwendet Qt-Version %1.&lt;/p&gt;</translation>
</message>
<message>
- <location line="-1584"/>
+ <location line="-1097"/>
<source>Show Details...</source>
<translation>Details einblenden...</translation>
</message>
@@ -2974,19 +2982,14 @@ Möchten sie die Datei trotzdem löschen?</translation>
</message>
<message>
<location line="+1570"/>
- <source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+15"/>
- <source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation>Eingabemethode auswählen</translation>
</message>
@@ -2994,7 +2997,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation>Umschalter für Eingabemethoden</translation>
</message>
@@ -3007,7 +3010,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+176"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
<source>The remote host closed the connection</source>
<translation>Der entfernte Rechner hat die Verbindung geschlossen</translation>
</message>
@@ -3140,7 +3143,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation>%1 konnte nicht geöffnet werden</translation>
</message>
@@ -3148,7 +3151,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation>Anforderung zum Öffnen einer Datei über Netzwerk %1</translation>
</message>
@@ -3176,7 +3179,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation>Es konnte kein geeigneter Proxy-Server gefunden werden</translation>
</message>
@@ -3186,7 +3189,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>%1 kann nicht geöffnet werden: Es handelt sich um ein Verzeichnis</translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation>Die Anmeldung bei %1 schlug fehl: Es ist eine Authentifizierung erforderlich</translation>
</message>
@@ -3204,7 +3207,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation>Es konnte kein geeigneter Proxy-Server gefunden werden</translation>
</message>
@@ -3217,7 +3220,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Beim Herunterladen von %1 trat ein Fehler auf - Die Antwort des Servers ist: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation>Das Protokoll &quot;%1&quot; ist unbekannt</translation>
</message>
@@ -3225,7 +3228,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+422"/>
+ <location line="+432"/>
<location line="+22"/>
<source>Operation canceled</source>
<translation>Operation abgebrochen</translation>
@@ -3234,7 +3237,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2027"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/>
<source>Unable to logon</source>
<translation>Logon-Vorgang fehlgeschlagen</translation>
</message>
@@ -3263,7 +3266,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QOCIResult</name>
<message>
- <location line="-976"/>
+ <location line="-963"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3290,18 +3293,16 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Der Befehl konnte nicht initialisiert werden</translation>
</message>
<message>
- <location line="+29"/>
- <location line="+37"/>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation>Der Wert konnte nicht gebunden werden</translation>
</message>
<message>
- <location line="-20"/>
<source>Unable to execute select statement</source>
- <translation>Die &apos;select&apos;-Abfrage konnte nicht ausgeführt werden</translation>
+ <translation type="obsolete">Die &apos;select&apos;-Abfrage konnte nicht ausgeführt werden</translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation>Der Befehl konnte nicht ausgeführt werden</translation>
</message>
@@ -3309,7 +3310,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1657"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation>Es kann keine Verbindung aufgebaut werden</translation>
</message>
@@ -3319,7 +3320,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Es kann keine Verbindung aufgebaut werden weil der Treiber die benötigte Funktionalität nicht vollständig unterstützt</translation>
</message>
<message>
- <location line="+234"/>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation>&apos;autocommit&apos; konnte nicht deaktiviert werden</translation>
</message>
@@ -3342,19 +3343,19 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1204"/>
+ <location line="-1218"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: &apos;SQL_CURSOR_STATIC&apos; konnte nicht als Attribut des Befehls gesetzt werden. Bitte prüfen Sie die Konfiguration Ihres ODBC-Treibers</translation>
</message>
<message>
<location line="-332"/>
- <location line="+625"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation>Der Befehl konnte nicht ausgeführt werden</translation>
</message>
<message>
- <location line="-554"/>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation>Der nächste Datensatz konnte nicht abgeholt werden</translation>
</message>
@@ -3364,19 +3365,19 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Der Befehl konnte nicht initialisiert werden</translation>
</message>
<message>
- <location line="+267"/>
+ <location line="+268"/>
<source>Unable to bind variable</source>
<translation>Die Variable konnte nicht gebunden werden</translation>
</message>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-474"/>
- <location line="+577"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation>Der letzte Datensatz konnte nicht abgeholt werden</translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-671"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation>Es konnten keine Daten abgeholt werden</translation>
</message>
@@ -3394,12 +3395,12 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QObject</name>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation>Pos1</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation>Diese Operation wird von %1 nicht unterstützt</translation>
</message>
@@ -3409,7 +3410,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Ungültiger URI: %1</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation>Fehler beim Schreiben zur Datei %1: %2</translation>
</message>
@@ -3434,7 +3435,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Protokollfehler: Ein leeres Datenpaket wurde empfangen</translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+147"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
<location line="+57"/>
<source>No host name given</source>
<translation>Es wurde kein Hostname angegeben</translation>
@@ -3443,7 +3444,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation>Name</translation>
</message>
@@ -3456,7 +3457,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+732"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation>Es kann keine Verbindung aufgebaut werden</translation>
</message>
@@ -3476,7 +3477,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Die Transaktion konnte nicht rückgängig gemacht werden (Operation &apos;rollback&apos; fehlgeschlagen)</translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+358"/>
<source>Unable to subscribe</source>
<translation>Die Registrierung schlug fehl</translation>
</message>
@@ -3489,12 +3490,12 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1035"/>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation>Es konnte keine Abfrage erzeugt werden</translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation>Der Befehl konnte nicht initialisiert werden</translation>
</message>
@@ -3502,7 +3503,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation>Zentimeter (cm)</translation>
</message>
@@ -3618,7 +3619,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+68"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation>direkt verbunden</translation>
</message>
@@ -3635,12 +3636,12 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>unbekannt</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation>OK</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+345"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+375"/>
<source>Print all</source>
<translation>Alles drucken</translation>
</message>
@@ -3805,7 +3806,7 @@ Möchten sie die Datei trotzdem löschen?</translation>
<translation>Auswahl drucken</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
@@ -4047,7 +4048,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation>%1%</translation>
</message>
@@ -4147,7 +4148,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>PostScript exportieren</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+38"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
<location line="+12"/>
<source>Page Setup</source>
<translation>Seite einrichten</translation>
@@ -4320,8 +4321,8 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+445"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation>Die Eingabeumleitung konnte nicht zum Lesen geöffnet werden</translation>
</message>
@@ -4350,7 +4351,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Zeitüberschreitung</translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+503"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4370,6 +4371,11 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Der Prozess ist abgestürzt</translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation>Das Starten des Prozesses schlug fehl</translation>
@@ -4378,7 +4384,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>Abbrechen</translation>
</message>
@@ -4402,7 +4408,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+34"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation>kein Fehler</translation>
</message>
@@ -4450,7 +4456,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation>Die Datenbankverbindung konnte nicht geöffnet werden</translation>
</message>
@@ -4473,12 +4479,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-310"/>
+ <location line="-323"/>
<source>Unable to fetch results</source>
<translation>Das Ergebnis konnte nicht abgeholt werden</translation>
</message>
<message>
- <location line="+139"/>
+ <location line="+147"/>
<source>Unable to execute statement</source>
<translation>Der Befehl konnte nicht ausgeführt werden</translation>
</message>
@@ -4486,7 +4492,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+498"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation>Die Datenbankverbindung konnte nicht geöffnet werden</translation>
</message>
@@ -4549,12 +4555,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+419"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation>Hierher scrollen</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Left edge</source>
<translation>Linker Rand</translation>
</message>
@@ -4564,7 +4570,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Anfang</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Right edge</source>
<translation>Rechter Rand</translation>
</message>
@@ -4574,7 +4580,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Ende</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Page left</source>
<translation>Eine Seite nach links</translation>
</message>
@@ -4585,7 +4591,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Eine Seite nach oben</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Page right</source>
<translation>Eine Seite nach rechts</translation>
</message>
@@ -4596,7 +4602,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Eine Seite nach unten</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Scroll left</source>
<translation>Nach links scrollen</translation>
</message>
@@ -4606,7 +4612,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Nach oben scrollen</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Scroll right</source>
<translation>Nach rechts scrollen</translation>
</message>
@@ -4634,13 +4640,13 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+258"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+288"/>
<source>%1: create size is less then 0</source>
<translation>%1: Die Größenangabe für die Erzeugung ist kleiner als Null</translation>
</message>
<message>
<location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+118"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation>%1: Sperrung fehlgeschlagen</translation>
</message>
@@ -4650,8 +4656,8 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>%1: Die Sperrung konnte nicht aufgehoben werden</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+48"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation>%1: Zugriff verweigert</translation>
</message>
@@ -4734,7 +4740,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+343"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation>Leertaste</translation>
</message>
@@ -5315,7 +5321,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+860"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation>Löschen</translation>
</message>
@@ -5372,7 +5378,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+539"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
<translation>Die Daten konnten nicht geschrieben werden: %1</translation>
</message>
@@ -5436,7 +5442,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
</message>
<message>
<location line="+5"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation>%1: Keine Ressourcen mehr verfügbar</translation>
</message>
@@ -5461,7 +5467,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation>Die Datenbankverbindung konnte nicht geöffnet werden</translation>
</message>
@@ -5487,7 +5493,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QTcpServer</name>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation>Diese Socketoperation wird nicht unterstützt</translation>
</message>
@@ -5495,7 +5501,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1942"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation>&amp;Rückgängig</translation>
</message>
@@ -5553,7 +5559,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation>Diese Plattform unterstützt kein IPv6</translation>
</message>
@@ -5561,7 +5567,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+356"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation>Rückgängig</translation>
</message>
@@ -5574,7 +5580,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation>&lt;leer&gt;</translation>
</message>
@@ -5582,7 +5588,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+804"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation>Rückgängig</translation>
</message>
@@ -5653,7 +5659,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation>Anfrage wurde abgebrochen</translation>
</message>
@@ -6064,7 +6070,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation>JavaScript-Hinweis - %1</translation>
</message>
@@ -6140,6 +6146,11 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
</message>
<message>
<location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation>Bis zum folgenden Zeichen markieren</translation>
</message>
@@ -6208,11 +6219,21 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<source>Delete to the end of the word</source>
<translation>Bis zum Ende des Wortes löschen</translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation>Direkthilfe</translation>
</message>
@@ -6220,7 +6241,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -6228,7 +6249,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+617"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+649"/>
<source>Cancel</source>
<translation>Abbrechen</translation>
</message>
@@ -6286,7 +6307,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1064"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation>Wieder&amp;herstellen</translation>
</message>
@@ -6356,7 +6377,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+28"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation>kein Fehler</translation>
</message>
@@ -6474,8 +6495,8 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+562"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation>Überzähliger Inhalt nach Ende des Dokumentes.</translation>
</message>
@@ -6659,38 +6680,38 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+69"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
<location line="+15"/>
<source>At least one component must be present.</source>
<translation>Es muss mindestens eine Komponente vorhanden sein.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation>Bei der Ganzzahldivision %1 darf kein Operand %2 sein.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation>%1 ist kein gültiger Wert des Typs %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation>Bei einer &quot;cast&quot;-Operation von %1 zu %2 darf der Wert nicht %3 sein.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation>Der effektive Boolesche Wert einer Sequenz aus zwei oder mehreren atomaren Werten kann nicht berechnet werden.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+151"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+181"/>
<source>Operator %1 is not available between atomic values of type %2 and %3.</source>
<translation>Der Operator %1 kann auf atomare Werte der Typen %2 und %3 nicht angewandt werden.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+119"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+149"/>
<source>It is not possible to cast from %1 to %2.</source>
<translation>Es kann keine &quot;cast&quot;-Operation von %1 zu %2 durchgeführt werden.</translation>
</message>
@@ -6715,33 +6736,33 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Mit dem Typ %1 können keine Vergleichsoperationen durchgeführt werden.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation>Die Daten einer Processing-Anweisung dürfen nicht die Zeichenkette %1 enthalten</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+138"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+39"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+168"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation>%1 ist kein gültiges %2</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation>%1 ist kein gültiges XML 1.0 Zeichen.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation>Das erste Argument von %1 kann nicht vom Typ %2 sein.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation>%1 wurde gerufen.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+103"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+133"/>
<source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
<translation>In der Ersetzung muss auf %1 eine Ziffer folgen, wenn es nicht durch ein Escape-Zeichen geschützt ist.</translation>
</message>
@@ -6751,7 +6772,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>In der Ersetzung kann %1 nur verwendet werden, um sich selbst oder %2 schützen, nicht jedoch für %3</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation>Der Ausdruck &apos;%1&apos; schließt Zeilenvorschübe ein</translation>
</message>
@@ -6766,12 +6787,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>%1 ist kein gültiger regulärer Ausdruck: %2</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation>%1 kann nicht bestimmt werden.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation>Für eine Kollektion ist keine Vorgabe definiert</translation>
</message>
@@ -6781,12 +6802,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>%1 kann nicht bestimmt werden</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation>Das Element %1 entspricht nicht dem erforderlichen Typ %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+319"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
<location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation>%1 ist ein unbekannter Schema-Typ.</translation>
@@ -6802,7 +6823,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Die Initialisierung der Variable %1 hängt von ihrem eigenem Wert ab</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation>Die Variable %1 wird nicht verwendet</translation>
</message>
@@ -6923,7 +6944,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>%1 befindet sich nicht unter den Attributdeklarationen im Bereich. Schema-Import wird nicht unterstützt.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation>leer</translation>
</message>
@@ -6948,27 +6969,27 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>kein oder mehrere</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+126"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+156"/>
<source>The focus is undefined.</source>
<translation>Es ist kein Fokus definiert.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+93"/>
<source>An attribute by name %1 has already been created.</source>
<translation>Es wurde bereits ein Attribut mit dem Namen %1 erzeugt.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation>Das Zeitlimit der Netzwerkoperation wurde überschritten.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation>Das Element %1 kann nicht serialisiert werden, da es außerhalb des Dokumentenelements erscheint.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation>%1 ist keine gültige Jahresangabe, da es mit %2 beginnt.</translation>
</message>
@@ -7013,7 +7034,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Bei Vorhandensein eines %1-Begrenzers muss mindestens eine Komponente vorhanden sein.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+171"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+201"/>
<location line="+32"/>
<source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source>
<translation>Die Division eines Werts des Typs %1 durch %2 (kein numerischer Wert) ist nicht zulässig.</translation>
@@ -7029,12 +7050,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Die Multiplikation eines Werts des Typs %1 mit %2 oder %3 (positiv oder negativ unendlich) ist nicht zulässig.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation>Ein Wert des Typs %1 kann keinen effektiven Booleschen Wert haben.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation>Der Wert %1 des Typs %2 überschreitet das Maximum (%3).</translation>
</message>
@@ -7044,7 +7065,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Der Wert %1 des Typs %2 unterschreitet das Minimum (%3).</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation>Die Stellenzahl eines Wertes des Typs %1 muss geradzahlig sein. Das ist bei %2 nicht der Fall.</translation>
</message>
@@ -7054,7 +7075,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>%1 ist kein gültiger Wert des Typs %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation>Der Operator %1 kann nicht auf den Typ %2 angewandt werden.</translation>
</message>
@@ -7064,7 +7085,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Der Operator %1 kann nicht auf atomare Werte der Typen %2 und %3 angewandt werden.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation>Der Namensraum-URI im Namen eines berechneten Attributes darf nicht %1 sein</translation>
</message>
@@ -7074,7 +7095,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Der Name eines berechneten Attributes darf keinen Namensraum-URI %1 mit dem lokalen Namen %2 haben.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation>Typfehler bei &quot;cast&quot;-Operation; es wurde %1 erwartet, aber %2 empfangen.</translation>
</message>
@@ -7084,7 +7105,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Bei einer &quot;cast&quot;-Operation zum Typ %1 oder abgeleitetenTypen muss der Quellwert ein Zeichenketten-Literal oder ein Wert gleichen Typs sein. Der Typ %2 ist ungültig.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation>Ein Kommentar darf nicht&apos;%1 enthalten</translation>
</message>
@@ -7094,12 +7115,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Ein Kommentar darf nicht auf %1 enden.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation>Ein Attributknoten darf nicht als Kind eines Dokumentknotens erscheinen. Es erschien ein Attributknoten mit dem Namen %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation>Ein Bibliotheksmodul kann nicht direkt ausgewertet werden, er muss von einem Hauptmodul importiert werden.</translation>
</message>
@@ -7109,7 +7130,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Es existiert keine Vorlage mit dem Namen %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation>Werte des Typs %1 dürfen keine Prädikate sein. Für Prädikate sind nur numerische oder effektiv Boolesche Typen zulässig.</translation>
</message>
@@ -7119,17 +7140,17 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Ein positionales Prädikat muss sich als einfacher, numerischer Wert auswerten lassen.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+107"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+137"/>
<source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source>
<translation>%1 ist kein gültiger Zielname einer Processing-Anweisung, es muss ein %2 Wert wie zum Beispiel %3 sein.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation>Der letzte Schritt eines Pfades kann entweder nur Knoten oder nur atomare Werte enthalten. Sie dürfen nicht zusammen auftreten.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation>Es existiert keine Namensraum-Bindung für den Präfix %1</translation>
</message>
@@ -7139,7 +7160,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Es existiert keine Namensraum-Bindung für den Präfix %1 in %2</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation>Das erste Argument von %1 darf nicht vom Typ %2 sein; es muss numerisch, xs:yearMonthDuration oder xs:dayTimeDuration sein.</translation>
</message>
@@ -7154,7 +7175,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Das zweite Argument von %1 kann nicht vom Typ %2 sein, es muss einer der Typen %3, %4 oder %5 sein.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation>Wenn beide Werte mit Zeitzonen angegeben werden, müssen diese übereinstimmen. %1 und %2 sind daher unzulässig.</translation>
</message>
@@ -7184,17 +7205,17 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Es kann kein Präfix angegeben werden, wenn das erste Argument leer oder eine leere Zeichenkette (kein Namensraum) ist. Es wurde der Präfix %1 angegeben.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation>Die Normalisierungsform %1 wird nicht unterstützt. Die unterstützten Normalisierungsformen sind %2, %3, %4 and %5, und &quot;kein&quot; (eine leere Zeichenkette steht für &quot;keine Normalisierung&quot;).</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation>Eine Zeitzonen-Differenz muss im Bereich %1..%2 (einschließlich) liegen. %3 liegt außerhalb des Bereiches.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation>Die erforderliche Kardinalität ist %1 (gegenwärtig %2).</translation>
</message>
@@ -7349,12 +7370,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Attribute dürfen nicht auf andere Knoten folgen.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation>Es wird nur Unicode Codepoint Collation unterstützt (%1). %2 wird nicht unterstützt.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation>Das Element hat bereits ein Attribut mit dem Namen %1 mit dem Wert %2.</translation>
</message>
@@ -7399,7 +7420,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>%2 ist kein gültiger Zielname einer Processing-Anweisung, da dieser nicht %1 sein darf (ungeachtet der Groß/Kleinschreibung).</translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation>
<numerusform>%1 hat nur %n Argument; die Angabe %2 ist daher ungültig.</numerusform>
@@ -7415,7 +7436,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation>Der übergeordnete Knoten des zweiten Arguments der Funktion %1 muss ein Dokumentknoten sein, was bei %2 nicht der Fall ist.</translation>
</message>
@@ -7461,7 +7482,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Das Attributelement %1 kann nicht serialisiert werden, da es auf der höchsten Ebene erscheint.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation>Das Encoding %1 wird nicht unterstützt.</translation>
</message>
@@ -7476,14 +7497,18 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Der Code-Punkt %1 aus %2 mit Encoding %3 ist kein gültiges XML-Zeichen.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation>Mehrdeutige Regel.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+39"/>
<source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
- <translation>Im Konstruktor eines Namensraums darf der Wert des Namensraumes keine leere Zeichenkette sein.</translation>
+ <translation type="obsolete">Im Konstruktor eines Namensraums darf der Wert des Namensraumes keine leere Zeichenkette sein.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
@@ -7501,12 +7526,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>An %2 kann nur der Präfix %1 gebunden werden (und umgekehrt).</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation>Es wurde eine zirkuläre Abhängigkeit festgestellt.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation>Es wurde kein entsprechendes %2 für den erforderlichen Parameter %1 angegeben.</translation>
</message>
@@ -7516,12 +7541,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Es existiert kein entsprechendes %2 für den übergebenen Parameter %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation>Der URI darf kein Fragment enthalten.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation>Das Element %1 darf nicht an dieser Stelle stehen.</translation>
</message>
@@ -7576,7 +7601,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Im %1-Attribut des Elements %2 muss mindestens ein Modus angegeben werden.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation>Das Element %2 kann nur die Standardattribute haben, nicht jedoch %1.</translation>
</message>
@@ -7651,7 +7676,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Das Element %1 kann keine Kindelemente haben.</translation>
</message>
<message>
- <location line="+432"/>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation>Das Element %1 kann keinen Sequenzkonstruktor haben.</translation>
</message>
diff --git a/translations/qt_es.ts b/translations/qt_es.ts
index 294b009..ee1e88c 100644
--- a/translations/qt_es.ts
+++ b/translations/qt_es.ts
@@ -4,7 +4,7 @@
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -22,7 +22,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation type="unfinished"></translation>
</message>
@@ -89,7 +89,7 @@
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -102,24 +102,24 @@ have libgstreamer-plugins-base installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+653"/>
- <location line="+9"/>
+ <location line="+676"/>
+ <location line="+8"/>
<location line="+15"/>
- <location line="+7"/>
- <location line="+5"/>
- <location line="+20"/>
- <location line="+317"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-381"/>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+355"/>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation type="unfinished"></translation>
</message>
@@ -153,7 +153,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation>La secuencia %1, %2 no está definida</translation>
</message>
@@ -166,7 +166,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+253"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation>Verdadero</translation>
</message>
@@ -194,7 +194,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+834"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation>Copiar o mover un fichero</translation>
</message>
@@ -219,7 +219,7 @@ have libgstreamer-plugins-base installed.</source>
<location line="-157"/>
<location line="+49"/>
<location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+80"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation>Todos los ficheros (*)</translation>
</message>
@@ -359,7 +359,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+704"/>
<location line="+2100"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+307"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation>Abrir</translation>
</message>
@@ -527,7 +527,7 @@ Compruebe la ruta y el nombre del fichero.</translation>
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+100"/>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
<location line="+10"/>
<source>Could not read directory
%1</source>
@@ -577,7 +577,7 @@ a
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2021"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation>Alinear</translation>
</message>
@@ -590,7 +590,7 @@ a
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation>Operación detenida por el usuario</translation>
</message>
@@ -598,7 +598,7 @@ a
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+194"/>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
<translation>Cancelar</translation>
@@ -607,7 +607,7 @@ a
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+159"/>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
<location line="+814"/>
<source>OK</source>
<translation>Aceptar</translation>
@@ -636,7 +636,7 @@ a
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5399"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation>&amp;Deshacer</translation>
</message>
@@ -675,7 +675,7 @@ a
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+216"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation>Sistema</translation>
</message>
@@ -743,7 +743,7 @@ a
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation>Más...</translation>
</message>
@@ -751,7 +751,7 @@ a
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+356"/>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
@@ -803,7 +803,7 @@ a
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+147"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation>&amp;Cancelar</translation>
</message>
@@ -831,9 +831,9 @@ a
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+838"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+585"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+627"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
<location line="+26"/>
<source>Host not found</source>
<translation>Equipo no encontrado</translation>
@@ -876,7 +876,7 @@ a
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1169"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation>&amp;Aumentar</translation>
</message>
@@ -894,12 +894,12 @@ a
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation>Activar</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation>El ejecutable «%1» requiere Qt %2 (se encontró Qt %3).</translation>
</message>
@@ -909,7 +909,7 @@ a
<translation>Error: biblioteca Qt incompatible</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
@@ -946,7 +946,7 @@ a
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+84"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation>Desmarcar</translation>
</message>
@@ -964,7 +964,7 @@ a
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1219"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation>&amp;Tono:</translation>
</message>
@@ -1038,13 +1038,13 @@ a
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1741"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
<location line="+65"/>
<source>Open</source>
<translation>Abrir</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation>Falso</translation>
</message>
@@ -1062,7 +1062,7 @@ a
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation type="unfinished"></translation>
@@ -1083,12 +1083,12 @@ a
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation>Imposible establecer una conexión</translation>
</message>
<message>
- <location line="+263"/>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation>Incapaz de enviar la transacción</translation>
</message>
@@ -1106,8 +1106,8 @@ a
<context>
<name>QDB2Result</name>
<message>
- <location line="-986"/>
- <location line="+242"/>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation>Imposible ejecutar la instrucción</translation>
</message>
@@ -1122,7 +1122,7 @@ a
<translation>No es posible ligar la variable</translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation>Imposible obtener el registro %1</translation>
</message>
@@ -1140,7 +1140,7 @@ a
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation>AM</translation>
</message>
@@ -1163,7 +1163,7 @@ a
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation>QDial</translation>
</message>
@@ -1181,7 +1181,7 @@ a
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>¿Qué es esto?</translation>
</message>
@@ -1194,9 +1194,9 @@ a
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1830"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+531"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation>Aceptar</translation>
</message>
@@ -1319,7 +1319,7 @@ a
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+423"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation>Nombre</translation>
</message>
@@ -1355,7 +1355,7 @@ a
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation>Cerrar</translation>
</message>
@@ -1386,7 +1386,7 @@ a
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+162"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+192"/>
<source>Debug Message:</source>
<translation>Mensaje de depuración:</translation>
</message>
@@ -1414,13 +1414,18 @@ a
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+678"/>
- <location line="+130"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation type="unfinished"></translation>
</message>
@@ -1443,37 +1448,37 @@ a
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+484"/>
- <location line="+423"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+515"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation>Todos los ficheros (*)</translation>
</message>
<message>
- <location line="+218"/>
+ <location line="+222"/>
<source>Directories</source>
<translation>Directorios</translation>
</message>
<message>
<location line="-3"/>
<location line="+50"/>
- <location line="+1440"/>
+ <location line="+1471"/>
<location line="+75"/>
<source>&amp;Open</source>
<translation>&amp;Abrir</translation>
</message>
<message>
- <location line="-1565"/>
+ <location line="-1596"/>
<location line="+50"/>
<source>&amp;Save</source>
<translation>&amp;Guardar</translation>
</message>
<message>
- <location line="-705"/>
+ <location line="-730"/>
<source>Open</source>
<translation>Abrir</translation>
</message>
<message>
- <location line="+1469"/>
+ <location line="+1515"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>El fichero %1 ya existe.
@@ -1494,7 +1499,7 @@ Verifique que el nombre del fichero es correcto.</translation>
<translation>Mi equipo</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1458"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1504"/>
<source>&amp;Rename</source>
<translation>Cambia&amp;r de nombre</translation>
</message>
@@ -1540,7 +1545,7 @@ Verifique que el nombre del fichero es correcto.</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="+6"/>
- <location line="+623"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation>Directorio:</translation>
</message>
@@ -1553,8 +1558,8 @@ Fichero no encontrado.
Compruebe que el nombre del fichero es correcto</translation>
</message>
<message>
- <location line="+773"/>
- <location line="+851"/>
+ <location line="+794"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
@@ -1563,7 +1568,7 @@ Directorio no encontrado.
Verique que el nombre del directorio es correcto.</translation>
</message>
<message>
- <location line="-217"/>
+ <location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation>«%1» está protegido contra escritura.
@@ -1580,22 +1585,22 @@ Do you want to delete it anyway?</source>
<translation>No fue posible borrar el directorio.</translation>
</message>
<message>
- <location line="+406"/>
+ <location line="+407"/>
<source>Recent Places</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation>Todos los ficheros (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2493"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2550"/>
<source>Save As</source>
<translation>Guardar como</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+381"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+411"/>
<source>Drive</source>
<translation>Unidad</translation>
</message>
@@ -1627,29 +1632,29 @@ Do you want to delete it anyway?</source>
<translation>Siguiente (histórico)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1914"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1970"/>
<source>New Folder</source>
<translation>Nueva carpeta</translation>
</message>
<message>
- <location line="-1907"/>
+ <location line="-1963"/>
<source>&amp;New Folder</source>
<translation>&amp;Nueva carpeta</translation>
</message>
<message>
- <location line="+631"/>
+ <location line="+656"/>
<location line="+38"/>
<source>&amp;Choose</source>
<translation>&amp;Seleccionar</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation>Eliminar</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-662"/>
- <location line="+627"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation>&amp;Nombre de fichero:</translation>
</message>
@@ -1669,7 +1674,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+707"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
<source>%1 TB</source>
<translation>%1 TiB</translation>
</message>
@@ -1731,7 +1736,7 @@ All other platforms</comment>
<translation>Última modificación</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation>Mi equipo</translation>
</message>
@@ -1750,7 +1755,7 @@ All other platforms</comment>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+60"/>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
<location line="+1176"/>
<source>Normal</source>
<translation type="unfinished"></translation>
@@ -1967,7 +1972,7 @@ All other platforms</comment>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+742"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation>&amp;Tipo de letra</translation>
</message>
@@ -2016,8 +2021,8 @@ All other platforms</comment>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+796"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+653"/>
+ <location filename="../src/network/access/qftp.cpp" line="+826"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+683"/>
<source>Not connected</source>
<translation>No conectado</translation>
</message>
@@ -2162,7 +2167,7 @@ All other platforms</comment>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation>Error desconocido</translation>
</message>
@@ -2170,11 +2175,11 @@ All other platforms</comment>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+148"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
<location line="+9"/>
<location line="+64"/>
<location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+150"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
<location line="+9"/>
<location line="+40"/>
<location line="+27"/>
@@ -2200,26 +2205,26 @@ All other platforms</comment>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+335"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+365"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1209"/>
- <location line="+816"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1130"/>
+ <location line="+820"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1160"/>
<location line="+567"/>
<source>Unknown error</source>
<translation>Error desconocido</translation>
</message>
<message>
- <location line="-564"/>
+ <location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation>Solicitud interrumpida</translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation>No se ha indicado ningún servidor al que conectarse</translation>
@@ -2237,18 +2242,23 @@ All other platforms</comment>
<translation>El servidor cerró la conexión inesperadamente</translation>
</message>
<message>
- <location line="+357"/>
+ <location line="+179"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+183"/>
<source>Error writing response to device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+1712"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+38"/>
<source>Connection refused</source>
<translation>Conexión rechazada</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-299"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-304"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2269,7 +2279,7 @@ All other platforms</comment>
<translation>Cabecera de respuesta HTTP no válida</translation>
</message>
<message>
- <location line="+120"/>
+ <location line="+125"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
@@ -2318,7 +2328,7 @@ All other platforms</comment>
<translation>Se precisa autenticación</translation>
</message>
<message>
- <location line="-133"/>
+ <location line="-138"/>
<source>Connection refused (or timed out)</source>
<translation type="unfinished"></translation>
</message>
@@ -2399,7 +2409,7 @@ All other platforms</comment>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1378"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation>Error al abrir la base de datos</translation>
</message>
@@ -2422,7 +2432,7 @@ All other platforms</comment>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1077"/>
+ <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation>Imposible crear un BLOB</translation>
</message>
@@ -2442,7 +2452,7 @@ All other platforms</comment>
<translation>Imposible leer el BLOB</translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<location line="+189"/>
<source>Could not find array</source>
<translation>No fue posible encontrar la tabla</translation>
@@ -2512,7 +2522,7 @@ All other platforms</comment>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1830"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation>Permiso denegado</translation>
</message>
@@ -2532,7 +2542,7 @@ All other platforms</comment>
<translation>No queda espacio en el dispositivo</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation>Error desconocido</translation>
</message>
@@ -2540,7 +2550,7 @@ All other platforms</comment>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+212"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation>XIM</translation>
</message>
@@ -2563,7 +2573,7 @@ All other platforms</comment>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation type="unfinished"></translation>
</message>
@@ -2583,7 +2593,7 @@ All other platforms</comment>
<translation type="obsolete">QLibrary::resolve_sys: Símbolo «%1» no definido en %2 (%3)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation>No fu posible establecer la proyección en memoria de «%1»: %2</translation>
</message>
@@ -2614,7 +2624,7 @@ All other platforms</comment>
</message>
<message>
<location line="-377"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+250"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation>No se ha encontrado la biblioteca compartida.</translation>
</message>
@@ -2629,8 +2639,8 @@ All other platforms</comment>
<translation>El complemento «%1» usa una biblioteca Qt incompatible. (No se pueden mezclar las bibliotecas «debug» y «release».)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+179"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2650,7 +2660,7 @@ All other platforms</comment>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2649"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2680"/>
<source>&amp;Undo</source>
<translation>&amp;Deshacer</translation>
</message>
@@ -2688,8 +2698,8 @@ All other platforms</comment>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+196"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation type="unfinished"></translation>
</message>
@@ -2705,7 +2715,7 @@ All other platforms</comment>
</message>
<message>
<location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+127"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2713,8 +2723,8 @@ All other platforms</comment>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+102"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation type="unfinished"></translation>
</message>
@@ -2727,7 +2737,7 @@ All other platforms</comment>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
<location line="+43"/>
<source>%1: Invalid name</source>
<translation type="unfinished"></translation>
@@ -2784,7 +2794,7 @@ All other platforms</comment>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1200"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation>Imposible abrir la base de datos &apos;</translation>
</message>
@@ -2794,7 +2804,7 @@ All other platforms</comment>
<translation>No es posible establecer una conexión</translation>
</message>
<message>
- <location line="+123"/>
+ <location line="+127"/>
<source>Unable to begin transaction</source>
<translation>No es posible iniciar la transacción</translation>
</message>
@@ -2812,7 +2822,7 @@ All other platforms</comment>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-917"/>
+ <location line="-922"/>
<source>Unable to fetch data</source>
<translation>No es posible obtener los datos</translation>
</message>
@@ -2827,7 +2837,7 @@ All other platforms</comment>
<translation>No es posible almacenar el resultado</translation>
</message>
<message>
- <location line="+189"/>
+ <location line="+190"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
<translation>No es posible preparar la instrucción</translation>
@@ -2872,7 +2882,7 @@ All other platforms</comment>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation type="unfinished"></translation>
</message>
@@ -2880,7 +2890,7 @@ All other platforms</comment>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation>%1 - [%2]</translation>
</message>
@@ -2973,7 +2983,7 @@ All other platforms</comment>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+127"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
<location line="+225"/>
<source>Close</source>
<translation>Cerrar</translation>
@@ -3046,7 +3056,7 @@ All other platforms</comment>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1105"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1111"/>
<source>Help</source>
<translation>Ayuda</translation>
</message>
@@ -3059,21 +3069,20 @@ All other platforms</comment>
<translation>Aceptar</translation>
</message>
<message>
- <location line="+503"/>
+ <location line="+509"/>
<source>About Qt</source>
<translation>Acerca de Qt</translation>
</message>
<message>
- <location line="-15"/>
<source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation>&lt;p&gt;Este programa utiliza la versión %1 de Qt.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;Este programa utiliza la versión %1 de Qt.&lt;/p&gt;</translation>
</message>
<message>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="obsolete">&lt;h3&gt;Acerca de Qt&lt;/h3&gt;%1&lt;p&gt;Qt es un toolkit en C++ para desarrollo de aplicaciones multiplataforma.&lt;/p&gt;&lt;p&gt;Qt proporciona portabilidad del código entre MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux y todas las variantes comerciales de Unix importantes. Qt también está disponible para sistemas empotrados bajo el nombre Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt es un producto de Trolltech. Visite &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; para obtener más información.&lt;/p&gt;</translation>
</message>
<message>
- <location line="-1584"/>
+ <location line="-1605"/>
<source>Show Details...</source>
<translation>Mostrar los detalles...</translation>
</message>
@@ -3084,19 +3093,18 @@ All other platforms</comment>
</message>
<message>
<location line="+1570"/>
- <source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
<source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
- <translation>&lt;p&gt;Este programa utiliza Qt Open Source Edition versión %1.&lt;/p&gt;&lt;p&gt;Qt Open Source Edition está dirigida al desarrollo de aplicaciones libres. Para desarrollar aplicaciones privativas (de código cerrado) necesita una licencia comercial de Qt.&lt;/p&gt;&lt;p&gt;Visite &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; para obtener una visión global de las licencias de Qt.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;Este programa utiliza Qt Open Source Edition versión %1.&lt;/p&gt;&lt;p&gt;Qt Open Source Edition está dirigida al desarrollo de aplicaciones libres. Para desarrollar aplicaciones privativas (de código cerrado) necesita una licencia comercial de Qt.&lt;/p&gt;&lt;p&gt;Visite &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; para obtener una visión global de las licencias de Qt.&lt;/p&gt;</translation>
</message>
</context>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation>Seleccionar IM</translation>
</message>
@@ -3104,7 +3112,7 @@ All other platforms</comment>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation>Seleccionador de varios métodos de entrada</translation>
</message>
@@ -3117,7 +3125,7 @@ All other platforms</comment>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+176"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
<source>The remote host closed the connection</source>
<translation>El equipo remoto ha cerrado la conexión</translation>
</message>
@@ -3250,7 +3258,7 @@ All other platforms</comment>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3258,7 +3266,7 @@ All other platforms</comment>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3286,7 +3294,7 @@ All other platforms</comment>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3296,7 +3304,7 @@ All other platforms</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation type="unfinished"></translation>
</message>
@@ -3314,7 +3322,7 @@ All other platforms</comment>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3327,7 +3335,7 @@ All other platforms</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation type="unfinished"></translation>
</message>
@@ -3335,7 +3343,7 @@ All other platforms</comment>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+422"/>
+ <location line="+432"/>
<location line="+22"/>
<source>Operation canceled</source>
<translation type="unfinished"></translation>
@@ -3344,7 +3352,7 @@ All other platforms</comment>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2027"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/>
<source>Unable to logon</source>
<translation>No es posible abrir sesión</translation>
</message>
@@ -3373,7 +3381,7 @@ All other platforms</comment>
<context>
<name>QOCIResult</name>
<message>
- <location line="-976"/>
+ <location line="-963"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3400,18 +3408,16 @@ All other platforms</comment>
<translation>No es posible preparar la instrucción</translation>
</message>
<message>
- <location line="+29"/>
- <location line="+37"/>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation>No es posible ligar el valor</translation>
</message>
<message>
- <location line="-20"/>
<source>Unable to execute select statement</source>
- <translation>No es posible ejecutar la instrucción select</translation>
+ <translation type="obsolete">No es posible ejecutar la instrucción select</translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation>No es posible ejecutar la instrucción</translation>
</message>
@@ -3419,7 +3425,7 @@ All other platforms</comment>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1657"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation>No es posible establecer una conexión</translation>
</message>
@@ -3429,7 +3435,7 @@ All other platforms</comment>
<translation>No es posible conectarse - El controlador no ofrece todas las funciones necesarias</translation>
</message>
<message>
- <location line="+234"/>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation>No es posible inhabilitar el envío automático</translation>
</message>
@@ -3452,19 +3458,19 @@ All other platforms</comment>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1204"/>
+ <location line="-1218"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: No es posible establecer «SQL_CURSOR_STATIC» como atributo de instrucción. Compruebe la configuración de su controlador ODBC</translation>
</message>
<message>
<location line="-332"/>
- <location line="+625"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation>No es posible ejecutar la instrucción</translation>
</message>
<message>
- <location line="-554"/>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation>No es posible obtener el siguiente</translation>
</message>
@@ -3474,19 +3480,19 @@ All other platforms</comment>
<translation>No es posible preparar la instrucción</translation>
</message>
<message>
- <location line="+267"/>
+ <location line="+268"/>
<source>Unable to bind variable</source>
<translation>No es posible ligar la variable</translation>
</message>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-474"/>
- <location line="+577"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-671"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation type="unfinished"></translation>
</message>
@@ -3504,12 +3510,12 @@ All other platforms</comment>
<context>
<name>QObject</name>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation>Inicio</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3519,7 +3525,7 @@ All other platforms</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -3544,7 +3550,7 @@ All other platforms</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+147"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
<location line="+57"/>
<source>No host name given</source>
<translation type="unfinished"></translation>
@@ -3553,7 +3559,7 @@ All other platforms</comment>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation type="unfinished">Nombre</translation>
</message>
@@ -3566,7 +3572,7 @@ All other platforms</comment>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+732"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation>No es posible establecer conexión</translation>
</message>
@@ -3586,7 +3592,7 @@ All other platforms</comment>
<translation>No fue posible anular la transacción</translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+358"/>
<source>Unable to subscribe</source>
<translation type="unfinished"></translation>
</message>
@@ -3599,12 +3605,12 @@ All other platforms</comment>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1035"/>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation>No es posible crear la consulta</translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation type="unfinished"></translation>
</message>
@@ -3612,7 +3618,7 @@ All other platforms</comment>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation type="unfinished"></translation>
</message>
@@ -3728,7 +3734,7 @@ All other platforms</comment>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+68"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation>conectado localmente</translation>
</message>
@@ -3749,7 +3755,7 @@ All other platforms</comment>
<translation type="obsolete">Imprimir en color si es posible</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+345"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+375"/>
<source>Print all</source>
<translation>Imprimir todo</translation>
</message>
@@ -3934,7 +3940,7 @@ All other platforms</comment>
<translation>Sobre US Common #10 (105 x 241 mm)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation>Aceptar</translation>
</message>
@@ -3955,7 +3961,7 @@ All other platforms</comment>
<translation type="obsolete">Fuente del papel:</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
@@ -4257,13 +4263,13 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+38"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
<location line="+12"/>
<source>Page Setup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation type="unfinished"></translation>
</message>
@@ -4545,8 +4551,8 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+445"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation type="unfinished"></translation>
</message>
@@ -4575,7 +4581,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+503"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4595,6 +4601,11 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation type="unfinished"></translation>
@@ -4603,7 +4614,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>Cancelar</translation>
</message>
@@ -4627,7 +4638,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+34"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation>no se ha producido ningún error</translation>
</message>
@@ -4675,7 +4686,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation>Error al abrir la base de datos</translation>
</message>
@@ -4698,12 +4709,12 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-310"/>
+ <location line="-323"/>
<source>Unable to fetch results</source>
<translation>No es posible obtener los resultados</translation>
</message>
<message>
- <location line="+139"/>
+ <location line="+147"/>
<source>Unable to execute statement</source>
<translation>No es posible ejecutar la instrucción</translation>
</message>
@@ -4711,7 +4722,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+498"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation>Error al abrir la base de datos</translation>
</message>
@@ -4778,12 +4789,12 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+419"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation>Desplazar hasta aquí</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Left edge</source>
<translation>Borde izquierdo</translation>
</message>
@@ -4793,7 +4804,7 @@ Elija un nombre de fichero diferente.</translation>
<translation>Parte superior</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Right edge</source>
<translation>Borde derecho</translation>
</message>
@@ -4803,7 +4814,7 @@ Elija un nombre de fichero diferente.</translation>
<translation>Parte inferior</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Page left</source>
<translation>Una página a la izquierda</translation>
</message>
@@ -4814,7 +4825,7 @@ Elija un nombre de fichero diferente.</translation>
<translation>Una página hacia arriba</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Page right</source>
<translation>Una página a la derecha</translation>
</message>
@@ -4825,7 +4836,7 @@ Elija un nombre de fichero diferente.</translation>
<translation>Una página hacia abajo</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Scroll left</source>
<translation>Desplazar hacia la izquierda</translation>
</message>
@@ -4835,7 +4846,7 @@ Elija un nombre de fichero diferente.</translation>
<translation>Desplazar hacia arriba</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Scroll right</source>
<translation>Desplazar hacia la derecha</translation>
</message>
@@ -4863,7 +4874,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+177"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4874,7 +4885,7 @@ Elija un nombre de fichero diferente.</translation>
</message>
<message>
<location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+118"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4884,8 +4895,8 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+48"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation type="unfinished"></translation>
</message>
@@ -4963,7 +4974,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+343"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation>Espacio</translation>
</message>
@@ -5548,7 +5559,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+860"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation>Borrar</translation>
</message>
@@ -5605,7 +5616,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+539"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
<translation>No es posible escribir los datos: %1</translation>
</message>
@@ -5668,7 +5679,7 @@ Elija un nombre de fichero diferente.</translation>
<name>QSystemSemaphore</name>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation type="unfinished"></translation>
</message>
@@ -5698,7 +5709,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation>No es posible abrir la conexión</translation>
</message>
@@ -5728,7 +5739,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="obsolete">Operación socket no admitida</translation>
</message>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation type="unfinished"></translation>
</message>
@@ -5736,7 +5747,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1942"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation>&amp;Deshacer</translation>
</message>
@@ -5794,7 +5805,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation>La plataforma no contempla IPv6</translation>
</message>
@@ -5802,7 +5813,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+356"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation>Deshacer</translation>
</message>
@@ -5815,7 +5826,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation>&lt;vacío&gt;</translation>
</message>
@@ -5823,7 +5834,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+804"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation>Deshacer</translation>
</message>
@@ -5894,7 +5905,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation type="unfinished"></translation>
</message>
@@ -6305,7 +6316,7 @@ Elija un nombre de fichero diferente.</translation>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6381,6 +6392,11 @@ Elija un nombre de fichero diferente.</translation>
</message>
<message>
<location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation type="unfinished"></translation>
</message>
@@ -6449,11 +6465,21 @@ Elija un nombre de fichero diferente.</translation>
<source>Delete to the end of the word</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation>¿Qué es esto?</translation>
</message>
@@ -6461,7 +6487,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -6469,7 +6495,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+605"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
<source>Go Back</source>
<translation>Precedente</translation>
</message>
@@ -6531,7 +6557,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1064"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation>&amp;Restaurar</translation>
</message>
@@ -6601,7 +6627,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+28"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation>no se ha producido ningún error</translation>
</message>
@@ -6719,8 +6745,8 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+562"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation>Contenido extra al final del documento.</translation>
</message>
@@ -6908,7 +6934,7 @@ Elija un nombre de fichero diferente.</translation>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation type="unfinished"></translation>
</message>
@@ -6918,12 +6944,12 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation type="unfinished"></translation>
</message>
@@ -6933,7 +6959,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6973,7 +6999,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+69"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
<location line="+15"/>
<source>At least one component must be present.</source>
<translation type="unfinished"></translation>
@@ -6984,7 +7010,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6999,17 +7025,17 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
<source>Integer division (%1) by zero (%2) is undefined.</source>
<translation type="unfinished"></translation>
</message>
@@ -7040,17 +7066,17 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation type="unfinished"></translation>
</message>
@@ -7060,7 +7086,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation type="unfinished"></translation>
</message>
@@ -7070,7 +7096,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -7080,7 +7106,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -7090,7 +7116,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -7100,7 +7126,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+104"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+134"/>
<source>No casting is possible with %1 as the target type.</source>
<translation type="unfinished"></translation>
</message>
@@ -7125,7 +7151,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation type="unfinished"></translation>
</message>
@@ -7135,7 +7161,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+137"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/>
<source>No comparisons can be done involving the type %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -7145,12 +7171,12 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation type="unfinished"></translation>
</message>
@@ -7160,7 +7186,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation type="unfinished"></translation>
</message>
@@ -7170,7 +7196,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+83"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
<source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
<translation type="unfinished"></translation>
</message>
@@ -7180,33 +7206,33 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+126"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+39"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -7222,7 +7248,7 @@ Elija un nombre de fichero diferente.</translation>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation type="unfinished"></translation>
</message>
@@ -7237,27 +7263,27 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+64"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation type="unfinished"></translation>
</message>
@@ -7272,7 +7298,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation type="unfinished"></translation>
</message>
@@ -7307,17 +7333,17 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation type="unfinished"></translation>
</message>
@@ -7327,12 +7353,12 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation type="unfinished"></translation>
</message>
@@ -7342,17 +7368,17 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+319"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
<location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation type="unfinished"></translation>
@@ -7373,7 +7399,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation type="unfinished"></translation>
</message>
@@ -7655,7 +7681,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation type="unfinished"></translation>
</message>
@@ -7680,7 +7706,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+33"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation type="unfinished"></translation>
</message>
@@ -7695,7 +7721,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation type="unfinished"></translation>
</message>
@@ -7705,12 +7731,12 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation type="unfinished"></translation>
</message>
@@ -7725,13 +7751,13 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+39"/>
- <source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -7750,12 +7776,12 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation type="unfinished"></translation>
</message>
@@ -7765,12 +7791,12 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation type="unfinished"></translation>
</message>
@@ -7825,7 +7851,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation type="unfinished"></translation>
</message>
@@ -7900,7 +7926,7 @@ Elija un nombre de fichero diferente.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+432"/>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/qt_fr.ts b/translations/qt_fr.ts
index 2408e8b..37b334b 100644
--- a/translations/qt_fr.ts
+++ b/translations/qt_fr.ts
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="fr">
-<defaultcodec></defaultcodec>
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation>&lt;html&gt;Le dispositif audio &lt;b&gt;%1&lt;/b&gt; ne fonctionne pas.&lt;br/&gt;Utilisation de &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
</message>
@@ -65,7 +64,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation>Fermer l&apos;onglet</translation>
</message>
@@ -189,7 +188,7 @@ Le support audio et vidéo est désactivé</translation>
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -234,24 +233,24 @@ have libgstreamer-plugins-base installed.</source>
<translation>Un codec requis est manquant. Vous devez installer le codec suivant pour jouer le contenu: %0</translation>
</message>
<message>
- <location line="+653"/>
- <location line="+9"/>
+ <location line="+676"/>
+ <location line="+8"/>
<location line="+15"/>
- <location line="+7"/>
- <location line="+5"/>
- <location line="+20"/>
- <location line="+317"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation>Impossible d&apos;ouvrir le média source.</translation>
</message>
<message>
- <location line="-381"/>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation>Type de source invalide.</translation>
</message>
<message>
- <location line="+355"/>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation>Impossible de localiser le média source.</translation>
</message>
@@ -285,7 +284,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation>La séquence %1, %2 n&apos;est pas définie</translation>
</message>
@@ -298,7 +297,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+253"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation>Vrai</translation>
</message>
@@ -326,7 +325,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+834"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation>Copie ou déplace un fichier</translation>
</message>
@@ -351,7 +350,7 @@ have libgstreamer-plugins-base installed.</source>
<location line="-157"/>
<location line="+49"/>
<location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+80"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation>Tous les fichiers (*)</translation>
</message>
@@ -491,7 +490,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+704"/>
<location line="+2100"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+307"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation>Ouvrir</translation>
</message>
@@ -659,7 +658,7 @@ Vérifier le chemin et le nom du fichier.</translation>
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+100"/>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
<location line="+10"/>
<source>Could not read directory
%1</source>
@@ -709,7 +708,7 @@ en
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2021"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation>Aligner</translation>
</message>
@@ -722,7 +721,7 @@ en
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation>Opération interrompue par l&apos;utilisateur</translation>
</message>
@@ -730,7 +729,7 @@ en
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+194"/>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
<translation>Annuler</translation>
@@ -739,7 +738,7 @@ en
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+159"/>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
<location line="+814"/>
<source>OK</source>
<translation>OK</translation>
@@ -768,7 +767,7 @@ en
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5399"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation>&amp;Annuler</translation>
</message>
@@ -807,7 +806,7 @@ en
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+216"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation>Système</translation>
</message>
@@ -875,7 +874,7 @@ en
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation>Reste...</translation>
</message>
@@ -883,7 +882,7 @@ en
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+356"/>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
@@ -935,7 +934,7 @@ en
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+147"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation>&amp;Annuler</translation>
</message>
@@ -963,9 +962,9 @@ en
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+838"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+585"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+627"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
<location line="+26"/>
<source>Host not found</source>
<translation>Hôte introuvable</translation>
@@ -1008,7 +1007,7 @@ en
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1169"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation>&amp;Augmenter</translation>
</message>
@@ -1026,13 +1025,13 @@ en
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation>L&apos;exécutable &apos;%1&apos; requiert Qt %2 (Qt %3 présent).</translation>
</message>
@@ -1042,7 +1041,7 @@ en
<translation>Erreur : bibliothèque Qt incompatible</translation>
</message>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation>Activer</translation>
</message>
@@ -1078,7 +1077,7 @@ en
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+84"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation>Décocher</translation>
</message>
@@ -1096,7 +1095,7 @@ en
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1219"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation>&amp;Teinte :</translation>
</message>
@@ -1170,13 +1169,13 @@ en
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1741"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
<location line="+65"/>
<source>Open</source>
<translation>Ouvrir</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation>Faux</translation>
</message>
@@ -1219,7 +1218,7 @@ en
<translation type="obsolete">%1: erreur inconnue %2</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation>%1: clé vide</translation>
@@ -1240,12 +1239,12 @@ en
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation>Incapable d&apos;établir une connexion</translation>
</message>
<message>
- <location line="+263"/>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation>Incapable de soumettre la transaction</translation>
</message>
@@ -1263,8 +1262,8 @@ en
<context>
<name>QDB2Result</name>
<message>
- <location line="-986"/>
- <location line="+242"/>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation>Impossible d&apos;exécuter la requête</translation>
</message>
@@ -1279,7 +1278,7 @@ en
<translation>Impossible d&apos;attacher la variable</translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation>Impossible de récupérer l&apos;enregistrement %1</translation>
</message>
@@ -1297,7 +1296,7 @@ en
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation>AM</translation>
</message>
@@ -1320,7 +1319,7 @@ en
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation></translation>
</message>
@@ -1338,7 +1337,7 @@ en
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>Qu&apos;est-ce que c&apos;est ?</translation>
</message>
@@ -1351,9 +1350,9 @@ en
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1830"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+531"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -1476,7 +1475,7 @@ en
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+423"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation>Nom</translation>
</message>
@@ -1506,7 +1505,7 @@ en
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation>Fermer</translation>
</message>
@@ -1537,7 +1536,7 @@ en
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+361"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+391"/>
<source>&amp;Show this message again</source>
<translation>&amp;Afficher ce message de nouveau</translation>
</message>
@@ -1565,13 +1564,18 @@ en
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+678"/>
- <location line="+130"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation>Le fichier destination existe</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation>Impossible d&apos;ouvrir %1 pour lecture</translation>
</message>
@@ -1612,26 +1616,26 @@ en
<translation>Affichage détaillé</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+467"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+498"/>
<source>Open</source>
<translation>Ouvrir</translation>
</message>
<message>
- <location line="+655"/>
+ <location line="+680"/>
<location line="+50"/>
- <location line="+1440"/>
+ <location line="+1471"/>
<location line="+75"/>
<source>&amp;Open</source>
<translation>&amp;Ouvrir</translation>
</message>
<message>
- <location line="-1565"/>
+ <location line="-1596"/>
<location line="+50"/>
<source>&amp;Save</source>
<translation>&amp;Enregistrer</translation>
</message>
<message>
- <location line="-674"/>
+ <location line="-699"/>
<source>&amp;Rename</source>
<translation>&amp;Renommer</translation>
</message>
@@ -1646,23 +1650,23 @@ en
<translation>Afficher les fic&amp;hiers cachés</translation>
</message>
<message>
- <location line="+625"/>
+ <location line="+650"/>
<source>Directories</source>
<translation>Dossiers</translation>
</message>
<message>
- <location line="+1837"/>
+ <location line="+1869"/>
<source>Recent Places</source>
<translation>Emplacements récents</translation>
</message>
<message>
- <location line="-2478"/>
- <location line="+423"/>
+ <location line="-2535"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation>Tous les fichiers (*)</translation>
</message>
<message>
- <location line="+1029"/>
+ <location line="+1054"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>Le fichier %1 existe déjà. Voulez-vous l&apos;écraser ?</translation>
@@ -1694,8 +1698,8 @@ Veuillez vérifier que le nom du fichier est correct.</translation>
<translation>Fichiers de type :</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1450"/>
- <location line="+623"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1496"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation>Dossier :</translation>
</message>
@@ -1708,8 +1712,8 @@ Fichier introuvable.
Veuillez vérifier que le nom du fichier est correct</translation>
</message>
<message>
- <location line="+773"/>
- <location line="+851"/>
+ <location line="+794"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
@@ -1718,7 +1722,7 @@ Dossier introuvable.
Veuillez vérifier que le nom du dossier est correct.</translation>
</message>
<message>
- <location line="-217"/>
+ <location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation>&apos;%1&apos; est protégé en écriture.
@@ -1735,17 +1739,17 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Impossible de supprimer le dossier.</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation>Tous les fichiers (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2087"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2143"/>
<source>Save As</source>
<translation>Enregistrer sous</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+381"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+411"/>
<source>Drive</source>
<translation>Unité</translation>
</message>
@@ -1777,29 +1781,29 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Successeur</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1914"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1970"/>
<source>New Folder</source>
<translation>Nouveau dossier</translation>
</message>
<message>
- <location line="-1907"/>
+ <location line="-1963"/>
<source>&amp;New Folder</source>
<translation>&amp;Nouveau dossier</translation>
</message>
<message>
- <location line="+631"/>
+ <location line="+656"/>
<location line="+38"/>
<source>&amp;Choose</source>
<translation>&amp;Choisir</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation>Supprimer</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-662"/>
- <location line="+627"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation>&amp;Nom de fichier :</translation>
</message>
@@ -1819,7 +1823,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+707"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
<source>%1 TB</source>
<translation>%1 To</translation>
</message>
@@ -1881,7 +1885,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Dernière modification</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation>Mon ordinateur</translation>
</message>
@@ -1894,7 +1898,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+60"/>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
<location line="+1176"/>
<source>Normal</source>
<translation></translation>
@@ -2111,7 +2115,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+742"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation>&amp;Police</translation>
</message>
@@ -2160,7 +2164,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+2273"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+2303"/>
<source>Host %1 found</source>
<translation>Hôte %1 trouvé</translation>
</message>
@@ -2170,7 +2174,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Hôte trouvé</translation>
</message>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+973"/>
+ <location filename="../src/network/access/qftp.cpp" line="+1003"/>
<location filename="../src/qt3support/network/q3ftp.cpp" line="-1456"/>
<location line="+1451"/>
<source>Connected to host %1</source>
@@ -2306,7 +2310,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation>Erreur inconnue</translation>
</message>
@@ -2314,11 +2318,11 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+148"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
<location line="+9"/>
<location line="+64"/>
<location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+150"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
<location line="+9"/>
<location line="+40"/>
<location line="+27"/>
@@ -2344,13 +2348,13 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+1712"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1806"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1836"/>
<source>Connection refused</source>
<translation>Connexion refusée</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+2597"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+2631"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2402,21 +2406,21 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Connexion arrêtée</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-1073"/>
- <location line="+816"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-1077"/>
+ <location line="+820"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-1152"/>
<location line="+567"/>
<source>Unknown error</source>
<translation>Erreur inconnue</translation>
</message>
<message>
- <location line="-564"/>
+ <location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation>Requête interrompue</translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation>Aucun serveur spécifié</translation>
@@ -2434,7 +2438,12 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Entête de réponse HTTP invalide</translation>
</message>
<message>
- <location line="+120"/>
+ <location line="+28"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+97"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
@@ -2482,12 +2491,12 @@ Voulez-vous quand même le supprimer?</translation>
<translation>le handshake SSL a échoué</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-133"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-138"/>
<source>Connection refused (or timed out)</source>
<translation>Connexion refusée (ou délai expiré)</translation>
</message>
<message>
- <location line="-2259"/>
+ <location line="-2263"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation>Connexion HTTPS requise mais le support SSL n&apos;est pas compilé</translation>
</message>
@@ -2543,7 +2552,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1378"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation>Erreur d&apos;ouverture de la base de données</translation>
</message>
@@ -2566,7 +2575,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1077"/>
+ <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation>Impossible de créer un BLOB</translation>
</message>
@@ -2586,7 +2595,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Impossible de lire le BLOB</translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<location line="+189"/>
<source>Could not find array</source>
<translation>Impossible de trouver le tableau</translation>
@@ -2656,7 +2665,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1830"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation>Accès refusé</translation>
</message>
@@ -2676,7 +2685,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Aucun espace disponible sur le périphérique</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation>Erreur inconnue</translation>
</message>
@@ -2684,7 +2693,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+212"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation>XIM</translation>
</message>
@@ -2707,7 +2716,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation>Entrer une valeur :</translation>
</message>
@@ -2727,7 +2736,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation type="obsolete">QLibrary::resolve_sys: Symbole &quot;%1&quot; non défini dans %2 (%3)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation>Impossible d&apos;établir la projection en mémoire de &apos;%1&apos; : %2</translation>
</message>
@@ -2758,7 +2767,7 @@ Voulez-vous quand même le supprimer?</translation>
</message>
<message>
<location line="-377"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+250"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation>La bibliothèque partagée est introuvable.</translation>
</message>
@@ -2773,8 +2782,8 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Le plugin &apos;%1&apos; utilise une bibliothèque Qt incompatible. (Il est impossible de mélanger des bibliothèques &apos;debug&apos; et &apos;release&apos;.)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+179"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation>Impossible de charger la bibliothèque %1 : %2</translation>
</message>
@@ -2794,7 +2803,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2679"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2710"/>
<source>Select All</source>
<translation>Tout sélectionner</translation>
</message>
@@ -2832,8 +2841,8 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+196"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation>%1: Erreur de nom</translation>
</message>
@@ -2849,7 +2858,7 @@ Voulez-vous quand même le supprimer?</translation>
</message>
<message>
<location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+127"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation>%1: Erreur inconnue %2</translation>
</message>
@@ -2857,8 +2866,8 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+102"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation>%1: Connexion refusée</translation>
</message>
@@ -2871,7 +2880,7 @@ Voulez-vous quand même le supprimer?</translation>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
<location line="+43"/>
<source>%1: Invalid name</source>
<translation>%1: Nom invalide</translation>
@@ -2928,7 +2937,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1200"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation>Impossible d&apos;ouvrir la base de données &apos;</translation>
</message>
@@ -2938,7 +2947,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Impossible d&apos;établir une connexion</translation>
</message>
<message>
- <location line="+123"/>
+ <location line="+127"/>
<source>Unable to begin transaction</source>
<translation>Impossible de démarrer la transaction</translation>
</message>
@@ -2956,7 +2965,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-917"/>
+ <location line="-922"/>
<source>Unable to fetch data</source>
<translation>Impossible de récuperer des données</translation>
</message>
@@ -2971,7 +2980,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Impossible de stocker le résultat</translation>
</message>
<message>
- <location line="+189"/>
+ <location line="+190"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
<translation>Impossible de préparer l&apos;instruction</translation>
@@ -3016,7 +3025,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation>(Sans titre)</translation>
</message>
@@ -3024,7 +3033,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation>%1 - [%2]</translation>
</message>
@@ -3117,7 +3126,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+127"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
<location line="+225"/>
<source>Close</source>
<translation>Fermer</translation>
@@ -3190,7 +3199,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1958"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1964"/>
<location line="+852"/>
<location filename="../src/gui/dialogs/qmessagebox.h" line="-52"/>
<location line="+8"/>
@@ -3198,26 +3207,25 @@ Voulez-vous quand même le supprimer?</translation>
<translation>OK</translation>
</message>
<message>
- <location line="+503"/>
+ <location line="+509"/>
<source>About Qt</source>
<translation>À propos de Qt</translation>
</message>
<message>
- <location line="-502"/>
+ <location line="-508"/>
<source>Help</source>
<translation>Aide</translation>
</message>
<message>
- <location line="+487"/>
<source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation>&lt;p&gt;Ce programme utilise la version %1 de Qt.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;Ce programme utilise la version %1 de Qt.&lt;/p&gt;</translation>
</message>
<message>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="obsolete">&lt;h3&gt;A propos de Qt&lt;/h3&gt;%1&lt;p&gt;Qt est un toolkit C++ pour le développement d&apos;applications multi-platformes.&lt;/p&gt;&lt;p&gt;Qt fournit la portabilité du code source pour MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux et toutes les variantes commerciales majeures d&apos;Unix. Qt est aussi disponible pour les systèmes embarqués sous le nom Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt est un produit de Trolltech. &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</translation>
</message>
<message>
- <location line="-1584"/>
+ <location line="-1097"/>
<source>Show Details...</source>
<translation>Montrer les détails...</translation>
</message>
@@ -3228,13 +3236,16 @@ Voulez-vous quand même le supprimer?</translation>
</message>
<message>
<location line="+1570"/>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation>&lt;h3&gt;A propos de Qt&lt;/h3&gt;%1&lt;p&gt;Qt est un framework de développement d&apos;applications multi-plateforme.&lt;/p&gt;&lt;p&gt;Qt fournit la portabilité du code source surMS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, et toutes les variantes majeures d&apos;Unix. Qt est aussi disponible pour l&apos;embarqué avec Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt est un produit de Nokia. Allez à &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; pour plus d&apos;informations.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;h3&gt;A propos de Qt&lt;/h3&gt;%1&lt;p&gt;Qt est un framework de développement d&apos;applications multi-plateforme.&lt;/p&gt;&lt;p&gt;Qt fournit la portabilité du code source surMS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, et toutes les variantes majeures d&apos;Unix. Qt est aussi disponible pour l&apos;embarqué avec Qt for Embedded Linux and Qt for Windows CE.&lt;/p&gt;&lt;p&gt;Qt est un produit de Nokia. Allez à &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; pour plus d&apos;informations.&lt;/p&gt;</translation>
</message>
<message>
- <location line="+15"/>
<source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
- <translation>&lt;p&gt;Ce programme utilise Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;Qt Open Source Edition est prévu pour le développement d&apos;applications Open Source. Vous devez avoir un license commerciale de Qt pour développer des applications propiétaires (Closed Source).&lt;/p&gt;&lt;p&gt;Vous pouvez aller sur &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; pour plus d&apos;informations sur les licenses Qt.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;Ce programme utilise Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;Qt Open Source Edition est prévu pour le développement d&apos;applications Open Source. Vous devez avoir un license commerciale de Qt pour développer des applications propiétaires (Closed Source).&lt;/p&gt;&lt;p&gt;Vous pouvez aller sur &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; pour plus d&apos;informations sur les licenses Qt.&lt;/p&gt;</translation>
</message>
<message>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt Embedded.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
@@ -3244,7 +3255,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation>Sélectionner IM</translation>
</message>
@@ -3252,7 +3263,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation>Sélectionneur de méthode de saisie</translation>
</message>
@@ -3265,7 +3276,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+176"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
<source>The remote host closed the connection</source>
<translation>L&apos;hôte distant a fermé la connexion</translation>
</message>
@@ -3398,7 +3409,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation>Erreur lors de l&apos;ouverture de %1</translation>
</message>
@@ -3406,7 +3417,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation>Requête d&apos;ouverture de fichier distant %1</translation>
</message>
@@ -3434,7 +3445,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation>Aucun proxy trouvé</translation>
</message>
@@ -3444,7 +3455,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Impossible d&apos;ouvrir %1 : le chemin est un dossier</translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation>Connexion à %1 a échoué : authentification requise</translation>
</message>
@@ -3462,7 +3473,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation>Aucun proxy trouvé</translation>
</message>
@@ -3475,7 +3486,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Erreur lors du téléchargement de %1 - le serveur a répondu: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation>Le protocole &quot;%1&quot; est inconnu</translation>
</message>
@@ -3483,7 +3494,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+422"/>
+ <location line="+432"/>
<location line="+22"/>
<source>Operation canceled</source>
<translation>Opération annulée</translation>
@@ -3492,7 +3503,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2027"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/>
<source>Unable to logon</source>
<translation>Impossible d&apos;ouvrir une session</translation>
</message>
@@ -3521,7 +3532,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QOCIResult</name>
<message>
- <location line="-976"/>
+ <location line="-963"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3548,18 +3559,16 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Impossible de préparer la requête</translation>
</message>
<message>
- <location line="+29"/>
- <location line="+37"/>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation>Impossible d&apos;attacher la valeur</translation>
</message>
<message>
- <location line="-20"/>
<source>Unable to execute select statement</source>
- <translation>Impossible d&apos;exéctuer la requête select</translation>
+ <translation type="obsolete">Impossible d&apos;exéctuer la requête select</translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation>Impossible d&apos;exéctuer la requête</translation>
</message>
@@ -3567,7 +3576,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1657"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation>Incapable d&apos;établir une connexion</translation>
</message>
@@ -3577,7 +3586,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Impossible de se connecter - Le pilote ne supporte pas toutes les fonctionnalités nécessaires</translation>
</message>
<message>
- <location line="+234"/>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation>Impossible de désactiver l&apos;autocommit</translation>
</message>
@@ -3600,19 +3609,19 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1204"/>
+ <location line="-1218"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: Impossible d&apos;utiliser &apos;SQL_CURSOR_STATIC&apos; comme attribut de requête. Veuillez vérifier la configuration de votre pilote ODBC</translation>
</message>
<message>
<location line="-332"/>
- <location line="+625"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation>Impossible d&apos;exéctuer la requête</translation>
</message>
<message>
- <location line="-554"/>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation>Impossible de récupérer le suivant</translation>
</message>
@@ -3622,19 +3631,19 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Impossible de préparer la requête</translation>
</message>
<message>
- <location line="+267"/>
+ <location line="+268"/>
<source>Unable to bind variable</source>
<translation>Impossible d&apos;attacher la variable</translation>
</message>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-474"/>
- <location line="+577"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation>Impossible de récupérer le dernier</translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-671"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation>Impossible de récupérer</translation>
</message>
@@ -3652,12 +3661,12 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QObject</name>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation>Début</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation>Opération non supportée sur %1</translation>
</message>
@@ -3667,7 +3676,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation>URI invalide : %1</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation>Erreur d&apos;écriture sur %1 : %2</translation>
</message>
@@ -3692,7 +3701,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Erreur de protocole: paquet de taille 0 reçu</translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+147"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
<location line="+57"/>
<source>No host name given</source>
<translation>Nom d&apos;hôte manquant</translation>
@@ -3701,7 +3710,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation>Nom</translation>
</message>
@@ -3714,7 +3723,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+732"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation>Impossible d&apos;établir une connexion</translation>
</message>
@@ -3734,7 +3743,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation>Impossible d&apos;annuler la transaction</translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+358"/>
<source>Unable to subscribe</source>
<translation>Impossible de s&apos;inscrire</translation>
</message>
@@ -3747,12 +3756,12 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1035"/>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation>Impossible de créer la requête</translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation>Impossible de préparer la requête</translation>
</message>
@@ -3760,7 +3769,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation>Centimètres (cm)</translation>
</message>
@@ -3876,7 +3885,7 @@ Voulez-vous quand même le supprimer?</translation>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+68"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation>connecté en local</translation>
</message>
@@ -3887,7 +3896,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation>inconnu</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -3900,7 +3909,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation type="obsolete">Imprimer en couleur si possible</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+345"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+375"/>
<source>Print all</source>
<translation>Imprimer tout</translation>
</message>
@@ -4103,7 +4112,7 @@ Voulez-vous quand même le supprimer?</translation>
<translation type="obsolete">Source du papier :</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
@@ -4405,7 +4414,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation>%1%</translation>
</message>
@@ -4505,7 +4514,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Exporter vers PostScript</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+38"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
<location line="+12"/>
<source>Page Setup</source>
<translation>Configuration de la page</translation>
@@ -4693,8 +4702,8 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+445"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation>Impossible d&apos;ouvrir la redirection d&apos;entrée en lecture</translation>
</message>
@@ -4723,7 +4732,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Operation de processus a expiré</translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+503"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4743,6 +4752,11 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Le processus à planté</translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation>Le processus n&apos;a pas démarré</translation>
@@ -4751,7 +4765,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>Annuler</translation>
</message>
@@ -4775,7 +4789,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+34"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation>aucune erreur ne s&apos;est produite</translation>
</message>
@@ -4823,7 +4837,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation>Erreur à l&apos;ouverture de la base de données</translation>
</message>
@@ -4846,12 +4860,12 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-310"/>
+ <location line="-323"/>
<source>Unable to fetch results</source>
<translation>Impossible de récupérer les résultats</translation>
</message>
<message>
- <location line="+139"/>
+ <location line="+147"/>
<source>Unable to execute statement</source>
<translation>Impossible d&apos;exécuter la requête</translation>
</message>
@@ -4859,7 +4873,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+498"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation>Erreur lors de l&apos;ouverture de la base de données</translation>
</message>
@@ -4926,12 +4940,12 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+419"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation>Défiler jusqu&apos;ici</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Left edge</source>
<translation>Extrême gauche</translation>
</message>
@@ -4941,7 +4955,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>En haut</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Right edge</source>
<translation>Extrême droite</translation>
</message>
@@ -4951,7 +4965,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>En bas</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Page left</source>
<translation>Page précédente</translation>
</message>
@@ -4962,7 +4976,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Page précédente</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Page right</source>
<translation>Page suivante</translation>
</message>
@@ -4973,7 +4987,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Page suivante</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Scroll left</source>
<translation>Défiler vers la gauche</translation>
</message>
@@ -4983,7 +4997,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Défiler vers le haut</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Scroll right</source>
<translation>Défiler vers la droite</translation>
</message>
@@ -5011,7 +5025,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+177"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
<translation>%1 : impossible d&apos;affecter la clé au verrou</translation>
</message>
@@ -5022,7 +5036,7 @@ Veuillez choisir un nom de fichier différent.</translation>
</message>
<message>
<location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+118"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation>%1 : impossible de vérrouiller</translation>
</message>
@@ -5032,8 +5046,8 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>%1 : impossible de déverrouiller</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+48"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation>%1 : permission refusée</translation>
</message>
@@ -5111,7 +5125,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+343"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation>Espace</translation>
</message>
@@ -5697,7 +5711,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+860"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation>Supprimer</translation>
</message>
@@ -5754,7 +5768,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+539"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
<translation>Impossible d&apos;écrire les données : %1</translation>
</message>
@@ -5817,7 +5831,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<name>QSystemSemaphore</name>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation>%1: plus de ressources disponibles</translation>
</message>
@@ -5847,7 +5861,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation>Impossible d&apos;ouvrir la connexion</translation>
</message>
@@ -5877,7 +5891,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">Operation socket non supportée</translation>
</message>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation>Opération sur le socket non supportée</translation>
</message>
@@ -5885,7 +5899,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1942"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation>&amp;Annuler</translation>
</message>
@@ -5943,7 +5957,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation>Cette plateforme ne supporte pas IPv6</translation>
</message>
@@ -5951,7 +5965,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+356"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation>Annuler</translation>
</message>
@@ -5964,7 +5978,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation>&lt;vide&gt;</translation>
</message>
@@ -5972,7 +5986,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+804"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation>Annuler</translation>
</message>
@@ -6043,7 +6057,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation>Requête annulée</translation>
</message>
@@ -6459,7 +6473,7 @@ Veuillez choisir un nom de fichier différent.</translation>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation>Alerte javascript - %1</translation>
</message>
@@ -6535,6 +6549,11 @@ Veuillez choisir un nom de fichier différent.</translation>
</message>
<message>
<location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation>Sélectionner le caractère suivant</translation>
</message>
@@ -6603,11 +6622,21 @@ Veuillez choisir un nom de fichier différent.</translation>
<source>Delete to the end of the word</source>
<translation>Supprimer jusqu&apos;à la fin du mot</translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation>Qu&apos;est-ce que c&apos;est ?</translation>
</message>
@@ -6615,7 +6644,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -6623,7 +6652,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+605"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
<source>Go Back</source>
<translation>Précédent</translation>
</message>
@@ -6685,7 +6714,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1064"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation>&amp;Restaurer</translation>
</message>
@@ -6755,7 +6784,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+28"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation>aucune erreur ne s&apos;est produite</translation>
</message>
@@ -6873,8 +6902,8 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+562"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation>Conteny supplémentaire à la fin du document.</translation>
</message>
@@ -7062,7 +7091,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation>Un attribute %1 avec la valeur %2 est déjà déclaré.</translation>
</message>
@@ -7072,12 +7101,12 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Un attribute %1 doit avoir un %2 valide, %3 ne l&apos;a pas.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation>Le réseau ne répond pas.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation>L&apos;élément %1 ne peut pas être sérialisé parce qu&apos;il est hors de l&apos;élément document.</translation>
</message>
@@ -7086,7 +7115,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">L&apos;élément attribute %1 ne peut pas être sérialisé parce qu&apos;il apparaît comme racine.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation>L&apos;année %1 est invalide parce qu&apos;elle commence par %2.</translation>
</message>
@@ -7126,7 +7155,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Overflow : la date ne peut pas être représentée.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+69"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
<location line="+15"/>
<source>At least one component must be present.</source>
<translation>Au moins un composant doit être présent.</translation>
@@ -7137,7 +7166,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Au moins un composant doit apparaître après le délimiteur %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation>Pas d&apos;opérande dans une division entière, %1, peut être %2.</translation>
</message>
@@ -7152,17 +7181,17 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Le second opérande dans une division, %1, ne peut être nul (%2).</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation>%1 n&apos;est pas une valeur valide du type %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation>En castant de %2 vers %1, la valeur source ne peut pas être %3.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
<source>Integer division (%1) by zero (%2) is undefined.</source>
<translation>Division entière (%1) par zéro (%2) indéfinie.</translation>
</message>
@@ -7193,17 +7222,17 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>La multiplication d&apos;une valeur du type %1 par %2 ou %3 (plus ou moins infini) est interdite.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation>Une valeur de type %1 ne peut pas avoir une Effective Boolean Value.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation>Effective Boolean Value ne peut être calculée pour une séquence contenant deux ou plus valeurs atomiques.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation>La valeur %1 de type %2 excède le maximum (%3).</translation>
</message>
@@ -7213,7 +7242,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>La valeur %1 de type %2 est inférieur au minimum (%3).</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation>Une valeur de type %1 doit contenir un nombre pair de chiffre. La valeur %2 n&apos;est pas conforme.</translation>
</message>
@@ -7223,7 +7252,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>%1 n&apos;est pas une valeur valide de type %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation>L&apos;opérateur %1 ne peut pas être utilisé pour le type %2.</translation>
</message>
@@ -7233,7 +7262,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>L&apos;opérateur %1 ne peut pas être utilisé pour des valeurs atomiques de type %2 ou %3.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation>L&apos;URI de namespace dans le nom d&apos;un attribut calculé ne peut pas être %1.</translation>
</message>
@@ -7243,7 +7272,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Le nom d&apos;un attribut calculé ne peut pas avoir l&apos;URI de namespace %1 avec le nom local %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation>Erreur de type lors du cast, attendu %1 mais reçu %2.</translation>
</message>
@@ -7253,7 +7282,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>En castant vers %1 ou des types dérivés, la valeur source doit être du même type ou une chaîne. Le type %2 n&apos;est pas autorisé.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+104"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+134"/>
<source>No casting is possible with %1 as the target type.</source>
<translation>Aucun cast n&apos;est possible avec %1 comme type de destination.</translation>
</message>
@@ -7278,7 +7307,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Echec en castant de %1 ver %2 : %3</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation>Un commentaire ne peut pas contenir %1</translation>
</message>
@@ -7288,7 +7317,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Un commentaire ne peut pas finir par %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+137"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/>
<source>No comparisons can be done involving the type %1.</source>
<translation>Aucune comparaison ne peut être faite avec le type %1.</translation>
</message>
@@ -7298,12 +7327,12 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>L&apos;opérateur %1 n&apos;est pas disponible entre valeurs atomiques de type %2 et %3.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation>Un noeuds attribut ne peut être un fils d&apos;un noeuds document. C&apos;est pourquoi l&apos;attribut %1 est mal placé.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation>Un module de bibliothèque ne peut pas être évalué directement. Il doit être importé d&apos;un module principal.</translation>
</message>
@@ -7313,7 +7342,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Aucun template nommé %1 n&apos;existe.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation>Une valeur de type %1 ne peut être un prédicat. Un prédicat doit être de type numérique ou un Effective Boolean Value.</translation>
</message>
@@ -7323,7 +7352,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Un prédicat de position doit être évalué en une unique valeur numérique.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+83"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
<source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
<translation>Le nom de destination dans une instruction de traitement ne peut être %1. %2 est invalide.</translation>
</message>
@@ -7333,33 +7362,33 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>%1 n&apos;est pas un nom de destination valide dans une instruction de traitement. Ce doit être une valeur %2, par ex. %3.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation>La dernière étape dans un chemin doit contenir soit des noeuds soit des valeurs atomiques. Cela ne peut pas être un mélange des deux.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation>Les données d&apos;une instruction de traitement ne peut contenir la chaîne %1</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation>Aucun lien de namespace n&apos;existe pour le préfixe %1</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+126"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation>Aucun lien de namespace n&apos;existe pour le préfixe %1 dans %2</translation>
</message>
<message>
<location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+39"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation>%1 est un ivalide %2</translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation>
<numerusform>%1 prend au maximum %n argument. %2 est donc invalide.</numerusform>
@@ -7375,7 +7404,7 @@ Veuillez choisir un nom de fichier différent.</translation>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation>Le premier argument de %1 ne peut être du type %2. Il doit être de type numérique, xs:yearMonthDuration ou xs:dayTimeDuration.</translation>
</message>
@@ -7390,27 +7419,27 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Le deuxième argument de %1 ne peut être du type %2. Il doit être de type %3, %4 ou %5.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation>%1 n&apos;est pas un caractère XML 1.0 valide.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation>Le premier argument de %1 ne peut être du type %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation>Si les deux valeurs ont des décalages de zone, elle doivent avoir le même. %1 et %2 sont différents.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation>%1 a été appelé.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+64"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation>%1 doit être suivi par %2 ou %3, et non à la fin de la chaîne de remplacement.</translation>
</message>
@@ -7425,7 +7454,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Dans la chaîne de remplacement, %1 peut seulement être utilisé pour échapper lui-même ou %2 mais pas %3</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation>%1 correspond à des caractères de saut de ligne</translation>
</message>
@@ -7460,17 +7489,17 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Si le premier argument est une sequence vide ou un chaîne vide (sans namespace), un préfixe ne peut être spécifié. Le préfixe %1 a été spécifié.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation>Il sera impossible de récupérer %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation>Le noeuds racine du deuxième argument à la fonction %1 doit être un noeuds document. %2 n&apos;est pas un document.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation>I&apos;l n&apos;y a pas de collection par défaut</translation>
</message>
@@ -7480,12 +7509,12 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>%1 ne peut pas être récupéré</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation>Le forme de normalisation %1 n&apos;est pas supportée. Les formes supportées sont %2, %3, %4 et %5, et aucun, ie. une chaîne vide (pas de normalisation).</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation>Un décalage de zone doit être dans l&apos;intervalle %1..%2 inclus. %3 est hors de l&apos;intervalle.</translation>
</message>
@@ -7494,17 +7523,17 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation type="obsolete">%1 n&apos;est pas un nombre complet de minutes.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation>La cardinalité requise est %1; reçu %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation>L&apos;item %1 ne correspond pas au type requis %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+319"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
<location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation>%1 est un type de schema inconnu.</translation>
@@ -7525,7 +7554,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Aucun variable nommée %1 existe</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation>La variable %1 est inutilisée</translation>
</message>
@@ -7823,7 +7852,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Le nom d&apos;une expression d&apos;extension doit être dans un namespace.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation>vide</translation>
</message>
@@ -7848,7 +7877,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>zéro ou plus</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+33"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation>Le type requis est %1, mais %2 a été reçu.</translation>
</message>
@@ -7863,7 +7892,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Le focus est indéfini.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation>Il est impossible d&apos;ajouter des attributs après un autre type de noeuds.</translation>
</message>
@@ -7873,7 +7902,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Un attribute de nom %1 a déjà été créé.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation>Seule le Unicode CodepointCollation est supporté (%1), %2 n&apos;est pas supporté.</translation>
</message>
@@ -7888,7 +7917,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>L&apos;attribut %1 ne peut pas être sérialisé car il apparaît à la racine.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation>%1 est un encodage non supporté.</translation>
</message>
@@ -7903,14 +7932,18 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Le codepoint %1 dans %2 et utilisant l&apos;encodage %3 est un caractère XML invalide.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation>Corresonpdance aux règles ambigüe.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+39"/>
<source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
- <translation>Dans un cosntructeur de namespace, la valeur pour un namespace ne peut pas être une chaîne vide.</translation>
+ <translation type="obsolete">Dans un cosntructeur de namespace, la valeur pour un namespace ne peut pas être une chaîne vide.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
@@ -7928,12 +7961,12 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Seul le préfixe %1 peut être lié à %2, et vice versa.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation>Circularité détectée</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation>Le paramètre %1 est requis, mais aucun %2 correspondant n&apos;est fourni.</translation>
</message>
@@ -7943,12 +7976,12 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Le paramètre %1 est passé mais aucun %2 correspondant n&apos;existe.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation>L&apos;URI ne peut pas avoir de fragments</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation>L&apos;élément %1 n&apos;est pas autorisé à cet emplacement.</translation>
</message>
@@ -8003,7 +8036,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>Au moins un mode doit être spécifié dans l&apos;attribut %1 sur l&apos;élément %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation>L&apos;attribut %1 ne peut pas apparaître sur l&apos;élément %2. Seuls les attributs standard le peuvent.</translation>
</message>
@@ -8078,7 +8111,7 @@ Veuillez choisir un nom de fichier différent.</translation>
<translation>L&apos;élément %1 ne peut pas avoir de fils.</translation>
</message>
<message>
- <location line="+432"/>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation>L&apos;élément %1 ne peut pas avoir un constructuer de séquence.</translation>
</message>
diff --git a/translations/qt_help_de.ts b/translations/qt_help_de.ts
index 45ddf03..ed8a3c3 100644
--- a/translations/qt_help_de.ts
+++ b/translations/qt_help_de.ts
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="de">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="de">
<context>
<name>QCLuceneResultWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+80"/>
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+110"/>
<source>Search Results</source>
<translation>Ergebnisse</translation>
</message>
@@ -32,7 +32,7 @@
<context>
<name>QHelpCollectionHandler</name>
<message>
- <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+49"/>
+ <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+79"/>
<source>The collection file is not set up yet!</source>
<translation>Das &quot;Collection File&quot; ist noch nicht eingerichtet.</translation>
</message>
@@ -111,7 +111,7 @@
<context>
<name>QHelpDBReader</name>
<message>
- <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="+65"/>
+ <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="+95"/>
<source>Cannot open database &apos;%1&apos; &apos;%2&apos;: %3</source>
<translation>Kann Datenbank nicht öffnen: &apos;%1&apos; &apos;%2&apos;: %3</translation>
</message>
@@ -119,7 +119,7 @@
<context>
<name>QHelpEngineCore</name>
<message>
- <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+482"/>
+ <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+516"/>
<source>The specified namespace does not exist!</source>
<translation>Der angegebene Namensraum existiert nicht!</translation>
</message>
@@ -127,7 +127,7 @@
<context>
<name>QHelpEngineCorePrivate</name>
<message>
- <location line="-390"/>
+ <location line="-394"/>
<source>Cannot open documentation file %1: %2!</source>
<translation>Kann Dokumentations-Datei nicht öffnen: %1: %2!</translation>
</message>
@@ -135,7 +135,7 @@
<context>
<name>QHelpGenerator</name>
<message>
- <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+127"/>
+ <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+157"/>
<source>Invalid help data!</source>
<translation>Ungültige Hilfe-Daten!</translation>
</message>
@@ -180,7 +180,7 @@
<translation>Dokumentation erfolgreich generiert.</translation>
</message>
<message>
- <location line="+72"/>
+ <location line="+76"/>
<source>Some tables already exist!</source>
<translation>Einige Tabellen existieren bereits!</translation>
</message>
@@ -210,7 +210,7 @@
<translation>Kann Datei %1 nicht öffnen! Überspringe sie.</translation>
</message>
<message>
- <location line="+132"/>
+ <location line="+134"/>
<source>The filter %1 is already registered!</source>
<translation>Der Filter %1 is bereits registriert!</translation>
</message>
@@ -243,7 +243,7 @@
<context>
<name>QHelpSearchQueryWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+170"/>
+ <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+200"/>
<source>Search for:</source>
<translation>Suche nach:</translation>
</message>
@@ -286,7 +286,7 @@
<context>
<name>QHelpSearchResultWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+232"/>
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+235"/>
<source>0 - 0 of 0 Hits</source>
<translation>0 - 0 von 0 Treffern</translation>
</message>
@@ -302,12 +302,12 @@
<context>
<name>QObject</name>
<message>
- <location filename="../tools/assistant/lib/qhelp_global.h" line="+53"/>
+ <location filename="../tools/assistant/lib/qhelp_global.h" line="+83"/>
<source>Untitled</source>
<translation>Ohne Titel</translation>
</message>
<message>
- <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+50"/>
+ <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+80"/>
<source>Unknown token.</source>
<translation>Unbekanntes Token.</translation>
</message>
diff --git a/translations/qt_help_ja.ts b/translations/qt_help_ja.ts
index 01ef482..5702cfd 100644
--- a/translations/qt_help_ja.ts
+++ b/translations/qt_help_ja.ts
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0">
+<!DOCTYPE TS>
+<TS version="2.0">
<context>
<name>QCLuceneResultWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+80"/>
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+110"/>
<source>Search Results</source>
<translation type="unfinished"></translation>
</message>
@@ -31,7 +32,7 @@
<context>
<name>QHelpCollectionHandler</name>
<message>
- <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+49"/>
+ <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+79"/>
<source>The collection file is not set up yet!</source>
<translation type="unfinished"></translation>
</message>
@@ -110,7 +111,7 @@
<context>
<name>QHelpDBReader</name>
<message>
- <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="+65"/>
+ <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="+95"/>
<source>Cannot open database &apos;%1&apos; &apos;%2&apos;: %3</source>
<translation type="unfinished"></translation>
</message>
@@ -118,7 +119,7 @@
<context>
<name>QHelpEngineCore</name>
<message>
- <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+482"/>
+ <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+516"/>
<source>The specified namespace does not exist!</source>
<translation type="unfinished"></translation>
</message>
@@ -126,7 +127,7 @@
<context>
<name>QHelpEngineCorePrivate</name>
<message>
- <location line="-390"/>
+ <location line="-394"/>
<source>Cannot open documentation file %1: %2!</source>
<translation type="unfinished"></translation>
</message>
@@ -134,7 +135,7 @@
<context>
<name>QHelpGenerator</name>
<message>
- <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+127"/>
+ <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+157"/>
<source>Invalid help data!</source>
<translation type="unfinished"></translation>
</message>
@@ -179,7 +180,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+72"/>
+ <location line="+76"/>
<source>Some tables already exist!</source>
<translation type="unfinished"></translation>
</message>
@@ -209,7 +210,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+132"/>
+ <location line="+134"/>
<source>The filter %1 is already registered!</source>
<translation type="unfinished"></translation>
</message>
@@ -242,7 +243,7 @@
<context>
<name>QHelpSearchQueryWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+170"/>
+ <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+200"/>
<source>Search for:</source>
<translation type="unfinished"></translation>
</message>
@@ -285,7 +286,7 @@
<context>
<name>QHelpSearchResultWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+232"/>
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+235"/>
<source>0 - 0 of 0 Hits</source>
<translation type="unfinished"></translation>
</message>
@@ -301,12 +302,12 @@
<context>
<name>QObject</name>
<message>
- <location filename="../tools/assistant/lib/qhelp_global.h" line="+53"/>
+ <location filename="../tools/assistant/lib/qhelp_global.h" line="+83"/>
<source>Untitled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+50"/>
+ <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+80"/>
<source>Unknown token.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/qt_help_pl.ts b/translations/qt_help_pl.ts
index 1b586bc..c85b46c 100644
--- a/translations/qt_help_pl.ts
+++ b/translations/qt_help_pl.ts
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="pl">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="pl">
<context>
<name>QCLuceneResultWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+80"/>
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+110"/>
<source>Search Results</source>
<translation>Wyniki wyszukiwania</translation>
</message>
@@ -32,7 +32,7 @@
<context>
<name>QHelpCollectionHandler</name>
<message>
- <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+49"/>
+ <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+79"/>
<source>The collection file is not set up yet!</source>
<translation>Plik z kolekcją nie jest jeszcze ustawiony!</translation>
</message>
@@ -115,7 +115,7 @@
<translation type="obsolete">Nie można otworzyć bazy danych!</translation>
</message>
<message>
- <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="+65"/>
+ <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="+95"/>
<source>Cannot open database &apos;%1&apos; &apos;%2&apos;: %3</source>
<translation>Nie można otworzyć bazy danych &apos;%1&apos; &apos;%2&apos;: %3</translation>
</message>
@@ -123,7 +123,7 @@
<context>
<name>QHelpEngineCore</name>
<message>
- <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+482"/>
+ <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+516"/>
<source>The specified namespace does not exist!</source>
<translation>Podana przestrzeń nazw nie istnieje!</translation>
</message>
@@ -131,7 +131,7 @@
<context>
<name>QHelpEngineCorePrivate</name>
<message>
- <location line="-390"/>
+ <location line="-394"/>
<source>Cannot open documentation file %1: %2!</source>
<translation>Nie można otworzyć pliku z dokumentacją %1: %2!</translation>
</message>
@@ -147,7 +147,7 @@
<context>
<name>QHelpGenerator</name>
<message>
- <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+127"/>
+ <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+157"/>
<source>Invalid help data!</source>
<translation>Niepoprawne dane pomocy!</translation>
</message>
@@ -200,7 +200,7 @@
<translation>Dokumentacja została poprawnie wygenerowana.</translation>
</message>
<message>
- <location line="+72"/>
+ <location line="+76"/>
<source>Some tables already exist!</source>
<translation>Niektóre tabele już istnieją!</translation>
</message>
@@ -230,7 +230,7 @@
<translation>Nie można otworzyć pliku %1! Zostaje on opuszczony.</translation>
</message>
<message>
- <location line="+132"/>
+ <location line="+134"/>
<source>The filter %1 is already registered!</source>
<translation>Filtr %1 jest już zarejestrowany!</translation>
</message>
@@ -263,7 +263,7 @@
<context>
<name>QHelpSearchQueryWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+170"/>
+ <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+200"/>
<source>Search for:</source>
<translation>Wyszukaj:</translation>
</message>
@@ -306,7 +306,7 @@
<context>
<name>QHelpSearchResultWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+232"/>
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+235"/>
<source>0 - 0 of 0 Hits</source>
<translation>0 - 0 z 0 Trafień</translation>
</message>
@@ -322,7 +322,7 @@
<context>
<name>QObject</name>
<message>
- <location filename="../tools/assistant/lib/qhelp_global.h" line="+53"/>
+ <location filename="../tools/assistant/lib/qhelp_global.h" line="+83"/>
<source>Untitled</source>
<translation>Nienazwany</translation>
</message>
@@ -335,7 +335,7 @@
<translation type="obsolete">Nieznany znak w linii %1. Spodziewano się &quot;QtHelpProject&quot;!</translation>
</message>
<message>
- <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+50"/>
+ <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+80"/>
<source>Unknown token.</source>
<translation>Nieznany znak.</translation>
</message>
diff --git a/translations/qt_help_untranslated.ts b/translations/qt_help_untranslated.ts
index 01ef482..5702cfd 100644
--- a/translations/qt_help_untranslated.ts
+++ b/translations/qt_help_untranslated.ts
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0">
+<!DOCTYPE TS>
+<TS version="2.0">
<context>
<name>QCLuceneResultWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+80"/>
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+110"/>
<source>Search Results</source>
<translation type="unfinished"></translation>
</message>
@@ -31,7 +32,7 @@
<context>
<name>QHelpCollectionHandler</name>
<message>
- <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+49"/>
+ <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+79"/>
<source>The collection file is not set up yet!</source>
<translation type="unfinished"></translation>
</message>
@@ -110,7 +111,7 @@
<context>
<name>QHelpDBReader</name>
<message>
- <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="+65"/>
+ <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="+95"/>
<source>Cannot open database &apos;%1&apos; &apos;%2&apos;: %3</source>
<translation type="unfinished"></translation>
</message>
@@ -118,7 +119,7 @@
<context>
<name>QHelpEngineCore</name>
<message>
- <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+482"/>
+ <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+516"/>
<source>The specified namespace does not exist!</source>
<translation type="unfinished"></translation>
</message>
@@ -126,7 +127,7 @@
<context>
<name>QHelpEngineCorePrivate</name>
<message>
- <location line="-390"/>
+ <location line="-394"/>
<source>Cannot open documentation file %1: %2!</source>
<translation type="unfinished"></translation>
</message>
@@ -134,7 +135,7 @@
<context>
<name>QHelpGenerator</name>
<message>
- <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+127"/>
+ <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+157"/>
<source>Invalid help data!</source>
<translation type="unfinished"></translation>
</message>
@@ -179,7 +180,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+72"/>
+ <location line="+76"/>
<source>Some tables already exist!</source>
<translation type="unfinished"></translation>
</message>
@@ -209,7 +210,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+132"/>
+ <location line="+134"/>
<source>The filter %1 is already registered!</source>
<translation type="unfinished"></translation>
</message>
@@ -242,7 +243,7 @@
<context>
<name>QHelpSearchQueryWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+170"/>
+ <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+200"/>
<source>Search for:</source>
<translation type="unfinished"></translation>
</message>
@@ -285,7 +286,7 @@
<context>
<name>QHelpSearchResultWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+232"/>
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+235"/>
<source>0 - 0 of 0 Hits</source>
<translation type="unfinished"></translation>
</message>
@@ -301,12 +302,12 @@
<context>
<name>QObject</name>
<message>
- <location filename="../tools/assistant/lib/qhelp_global.h" line="+53"/>
+ <location filename="../tools/assistant/lib/qhelp_global.h" line="+83"/>
<source>Untitled</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+50"/>
+ <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+80"/>
<source>Unknown token.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/qt_help_zh_CN.ts b/translations/qt_help_zh_CN.ts
index 0f2d3ed..cc100b7 100644
--- a/translations/qt_help_zh_CN.ts
+++ b/translations/qt_help_zh_CN.ts
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="zh">
-<defaultcodec></defaultcodec>
<context>
<name>QCLuceneResultWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+80"/>
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+110"/>
<source>Search Results</source>
<translation>搜索结果</translation>
</message>
@@ -33,7 +32,7 @@
<context>
<name>QHelpCollectionHandler</name>
<message>
- <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+49"/>
+ <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+79"/>
<source>The collection file is not set up yet!</source>
<translation>还没有设置收藏文件呢!</translation>
</message>
@@ -116,7 +115,7 @@
<translation type="obsolete">不能打开数据库!</translation>
</message>
<message>
- <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="+65"/>
+ <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="+95"/>
<source>Cannot open database &apos;%1&apos; &apos;%2&apos;: %3</source>
<translation>不能打开数据库“%1” “%2”:%3</translation>
</message>
@@ -124,7 +123,7 @@
<context>
<name>QHelpEngineCore</name>
<message>
- <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+482"/>
+ <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+516"/>
<source>The specified namespace does not exist!</source>
<translation>指定的命名空间不存在!</translation>
</message>
@@ -132,7 +131,7 @@
<context>
<name>QHelpEngineCorePrivate</name>
<message>
- <location line="-390"/>
+ <location line="-394"/>
<source>Cannot open documentation file %1: %2!</source>
<translation>不能打开文档文件%1:%2!</translation>
</message>
@@ -144,7 +143,7 @@
<context>
<name>QHelpGenerator</name>
<message>
- <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+127"/>
+ <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+157"/>
<source>Invalid help data!</source>
<translation>无效的帮助数据!</translation>
</message>
@@ -179,7 +178,7 @@
<translation>文档已经被成功生成。</translation>
</message>
<message>
- <location line="+72"/>
+ <location line="+76"/>
<source>Some tables already exist!</source>
<translation>一些表格已经存在!</translation>
</message>
@@ -209,7 +208,7 @@
<translation>不能打开文件 %1!正在忽略它。</translation>
</message>
<message>
- <location line="+132"/>
+ <location line="+134"/>
<source>The filter %1 is already registered!</source>
<translation>过滤器 %1 已经被注册!</translation>
</message>
@@ -239,7 +238,7 @@
<translation>不能注册内容!</translation>
</message>
<message>
- <location line="-603"/>
+ <location line="-609"/>
<source>The file %1 cannot be overwritten!</source>
<translation>文件 %1 不能被覆盖!</translation>
</message>
@@ -252,7 +251,7 @@
<context>
<name>QHelpSearchQueryWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+170"/>
+ <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+200"/>
<source>Search for:</source>
<translation>搜索:</translation>
</message>
@@ -295,7 +294,7 @@
<context>
<name>QHelpSearchResultWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+232"/>
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+235"/>
<source>0 - 0 of 0 Hits</source>
<translation>0 次点击中的 0 - 0</translation>
</message>
@@ -311,7 +310,7 @@
<context>
<name>QObject</name>
<message>
- <location filename="../tools/assistant/lib/qhelp_global.h" line="+53"/>
+ <location filename="../tools/assistant/lib/qhelp_global.h" line="+83"/>
<source>Untitled</source>
<translation>未命名的</translation>
</message>
@@ -324,7 +323,7 @@
<translation type="obsolete">在行 %1 的未知标记。需要“QtHelpProject”!</translation>
</message>
<message>
- <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+81"/>
+ <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+111"/>
<source>A virtual folder must not contain a &apos;/&apos; character!</source>
<translation>虚拟文件夹必须不包含“/“字符!</translation>
</message>
diff --git a/translations/qt_help_zh_TW.ts b/translations/qt_help_zh_TW.ts
index e2609d7..2e9340e 100644
--- a/translations/qt_help_zh_TW.ts
+++ b/translations/qt_help_zh_TW.ts
@@ -1,26 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="zh_TW">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_TW">
<context>
<name>QCLuceneResultWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="80"/>
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+110"/>
<source>Search Results</source>
<translation>搜尋結果</translation>
</message>
<message>
+ <location line="+7"/>
<source>Note:</source>
<translation>備註:</translation>
</message>
<message>
+ <location line="+1"/>
<source>The search results may not be complete since the documentation is still being indexed!</source>
<translation>搜尋結果可能不完整,因為文件仍在建索引中!</translation>
</message>
<message>
+ <location line="+11"/>
<source>Your search did not match any documents.</source>
<translation>您的搜尋字串沒有出現在任何文件中。</translation>
</message>
<message>
+ <location line="+4"/>
<source>(The reason for this might be that the documentation is still being indexed.)</source>
<translation>(有可能是因為文件仍在建索引中。)</translation>
</message>
@@ -28,63 +32,78 @@
<context>
<name>QHelpCollectionHandler</name>
<message>
- <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="49"/>
+ <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+79"/>
<source>The collection file is not set up yet!</source>
<translation>收集檔尚未設定。</translation>
</message>
<message>
+ <location line="+22"/>
<source>Cannot load sqlite database driver!</source>
<translation>無法載入 sqlite 資料庫驅動程式!</translation>
</message>
<message>
+ <location line="+11"/>
+ <location line="+48"/>
<source>Cannot open collection file: %1</source>
<translation>無法開啟收集檔:%1</translation>
</message>
<message>
+ <location line="-39"/>
<source>Cannot create tables in file %1!</source>
<translation>無法在檔案 %1 裡建立表格。</translation>
</message>
<message>
+ <location line="+16"/>
<source>The specified collection file already exists!</source>
<translation>指定的收集檔已存在。</translation>
</message>
<message>
+ <location line="+5"/>
<source>Cannot create directory: %1</source>
<translation>無法建立目錄:%1</translation>
</message>
<message>
+ <location line="+23"/>
<source>Cannot copy collection file: %1</source>
<translation>無法複製收集檔:%1</translation>
</message>
<message>
+ <location line="+119"/>
<source>Unknown filter!</source>
<translation>未知的過濾器!</translation>
</message>
<message>
+ <location line="+55"/>
<source>Cannot register filter %1!</source>
<translation>無法註冊過濾器 %1。</translation>
</message>
<message>
+ <location line="+44"/>
<source>Cannot open documentation file %1!</source>
<translation>無法開啟文件檔 %1。</translation>
</message>
<message>
+ <location line="+6"/>
<source>Invalid documentation file!</source>
<translation>不合法的文件檔!</translation>
</message>
<message>
+ <location line="+34"/>
<source>The namespace %1 was not registered!</source>
<translation>命名空間 %1 尚未註冊。</translation>
</message>
<message>
+ <location line="+120"/>
<source>Namespace %1 already exists!</source>
<translation>命名空間 %1 已存在。</translation>
</message>
<message>
+ <location line="+13"/>
<source>Cannot register namespace!</source>
<translation>無法註冊命名空間。</translation>
</message>
<message>
+ <location line="+24"/>
<source>Cannot open database to optimize!</source>
<translation>無法開啟資料庫以進行最佳化。</translation>
</message>
@@ -96,7 +115,7 @@
<translation type="obsolete">無法開啟資料庫。</translation>
</message>
<message>
- <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="65"/>
+ <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="+95"/>
<source>Cannot open database &apos;%1&apos; &apos;%2&apos;: %3</source>
<translation>無法開啟資料庫 &apos;%1&apos; &apos;%2&apos;:%3</translation>
</message>
@@ -104,7 +123,7 @@
<context>
<name>QHelpEngineCore</name>
<message>
- <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="482"/>
+ <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+516"/>
<source>The specified namespace does not exist!</source>
<translation>指定的命名空間不存在。</translation>
</message>
@@ -112,6 +131,7 @@
<context>
<name>QHelpEngineCorePrivate</name>
<message>
+ <location line="-394"/>
<source>Cannot open documentation file %1: %2!</source>
<translation>無法開啟文件檔 %1&apos;:%2!</translation>
</message>
@@ -127,11 +147,12 @@
<context>
<name>QHelpGenerator</name>
<message>
- <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="127"/>
+ <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+157"/>
<source>Invalid help data!</source>
<translation>不合法的說明資料。</translation>
</message>
<message>
+ <location line="+6"/>
<source>No output file name specified!</source>
<translation>沒有指定輸出檔名。</translation>
</message>
@@ -140,6 +161,7 @@
<translation type="obsolete">檔案 %1 已存在。</translation>
</message>
<message>
+ <location line="+14"/>
<source>Building up file structure...</source>
<translation>建立檔案結構中...</translation>
</message>
@@ -148,42 +170,52 @@
<translation type="obsolete">無法開啟資料庫。</translation>
</message>
<message>
+ <location line="+22"/>
<source>Cannot register namespace %1!</source>
<translation>無法註冊命名空間 %1。</translation>
</message>
<message>
+ <location line="+6"/>
<source>Insert custom filters...</source>
<translation>插入自訂過濾器...</translation>
</message>
<message>
+ <location line="+12"/>
<source>Insert help data for filter section (%1 of %2)...</source>
<translation>插入過濾器區段的說明資料(%1 / %2)...</translation>
</message>
<message>
+ <location line="+18"/>
<source>Documentation successfully generated.</source>
<translation>文件已成功產生。</translation>
</message>
<message>
+ <location line="+76"/>
<source>Some tables already exist!</source>
<translation>有些表格已存在。</translation>
</message>
<message>
+ <location line="+61"/>
<source>Cannot create tables!</source>
<translation>無法建立表格。</translation>
</message>
<message>
+ <location line="+86"/>
<source>Cannot register virtual folder!</source>
<translation>無法註冊虛擬資料夾。</translation>
</message>
<message>
+ <location line="+10"/>
<source>Insert files...</source>
<translation>插入檔案...</translation>
</message>
<message>
+ <location line="+41"/>
<source>The file %1 does not exist! Skipping it.</source>
<translation>檔案 %1 不存在!將忽略它。</translation>
</message>
<message>
+ <location line="+7"/>
<source>Cannot open file %1! Skipping it.</source>
<translation>無法開啟檔案 %1。將忽略它。</translation>
</message>
@@ -192,34 +224,42 @@
<translation type="obsolete">無法將檔案資料插入資料庫。</translation>
</message>
<message>
+ <location line="+134"/>
<source>The filter %1 is already registered!</source>
<translation>過濾器 %1 已註冊。</translation>
</message>
<message>
+ <location line="+5"/>
<source>Cannot register filter %1!</source>
<translation>無法註冊過濾器 %1。</translation>
</message>
<message>
+ <location line="+24"/>
<source>Insert indices...</source>
<translation>插入索引...</translation>
</message>
<message>
+ <location line="+80"/>
<source>Insert contents...</source>
<translation>插入內容...</translation>
</message>
<message>
+ <location line="+8"/>
<source>Cannot insert contents!</source>
<translation>無法插入內容。</translation>
</message>
<message>
+ <location line="+12"/>
<source>Cannot register contents!</source>
<translation>無法註冊內容。</translation>
</message>
<message>
+ <location line="-609"/>
<source>The file %1 cannot be overwritten!</source>
<translation>檔案 %1 無法被覆寫。</translation>
</message>
<message>
+ <location line="+18"/>
<source>Cannot open data base file %1!</source>
<translation>無法開啟資料庫檔案 %1。</translation>
</message>
@@ -227,35 +267,42 @@
<context>
<name>QHelpSearchQueryWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="170"/>
+ <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+200"/>
<source>Search for:</source>
<translation>搜尋:</translation>
</message>
<message>
+ <location line="+2"/>
<source>Search</source>
<translation>搜尋</translation>
</message>
<message>
+ <location line="+16"/>
<source>Advanced search</source>
<translation>進階搜尋</translation>
</message>
<message>
+ <location line="+18"/>
<source>words &lt;B&gt;similar&lt;/B&gt; to:</source>
<translation>&lt;B&gt;相似於&lt;/B&gt;這些單字:</translation>
</message>
<message>
+ <location line="+5"/>
<source>&lt;B&gt;without&lt;/B&gt; the words:</source>
<translation>&lt;B&gt;不含&lt;/B&gt;這些單字:</translation>
</message>
<message>
+ <location line="+5"/>
<source>with &lt;B&gt;exact phrase&lt;/B&gt;:</source>
<translation>&lt;B&gt;完全符合&lt;/B&gt;此片語:</translation>
</message>
<message>
+ <location line="+5"/>
<source>with &lt;B&gt;all&lt;/B&gt; of the words:</source>
<translation>包含&lt;B&gt;所有&lt;/B&gt;單字:</translation>
</message>
<message>
+ <location line="+5"/>
<source>with &lt;B&gt;at least one&lt;/B&gt; of the words:</source>
<translation>&lt;B&gt;至少符合一個&lt;/B&gt;單字:</translation>
</message>
@@ -263,7 +310,7 @@
<context>
<name>QHelpSearchResultWidget</name>
<message>
- <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="232"/>
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+235"/>
<source>0 - 0 of 0 Hits</source>
<translation>0 - 0/0 筆符合</translation>
</message>
@@ -271,6 +318,7 @@
<context>
<name>QHelpSearchResultWidgetPrivate</name>
<message>
+ <location line="-61"/>
<source>%1 - %2 of %3 Hits</source>
<translation>%1 - %2 / %3 筆符合</translation>
</message>
@@ -278,7 +326,7 @@
<context>
<name>QObject</name>
<message>
- <location filename="../tools/assistant/lib/qhelp_global.h" line="53"/>
+ <location filename="../tools/assistant/lib/qhelp_global.h" line="+83"/>
<source>Untitled</source>
<translation>未命名</translation>
</message>
@@ -291,39 +339,47 @@
<translation type="obsolete">第 %1 行有未知的符號。應該要是 &quot;QtHelpProject&quot;。</translation>
</message>
<message>
- <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="81"/>
+ <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+111"/>
<source>A virtual folder must not contain a &apos;/&apos; character!</source>
<translation>虛擬資料夾不能含有 / 字元。</translation>
</message>
<message>
+ <location line="+4"/>
<source>A namespace must not contain a &apos;/&apos; character!</source>
<translation>命名空間不能含有 / 字元。</translation>
</message>
<message>
+ <location line="+16"/>
<source>Missing namespace in QtHelpProject.</source>
<translation>QtHelpProject 中沒有命名空間。</translation>
</message>
<message>
+ <location line="+2"/>
<source>Missing virtual folder in QtHelpProject</source>
<translation>QtHelpProject 中沒有虛擬資料夾。</translation>
</message>
<message>
+ <location line="+88"/>
<source>Missing attribute in keyword at line %1.</source>
<translation>第 %1 行的關鍵字中沒有屬性。</translation>
</message>
<message>
+ <location line="+83"/>
<source>The input file %1 could not be opened!</source>
<translation>無法開啟輸入檔 %1。</translation>
</message>
<message>
+ <location line="-224"/>
<source>Unknown token.</source>
<translation>未知的符號。</translation>
</message>
<message>
+ <location line="+13"/>
<source>Unknown token. Expected &quot;QtHelpProject&quot;!</source>
<translation>未知的符號。應該為 &quot;QtHelpProject&quot;。</translation>
</message>
<message>
+ <location line="+5"/>
<source>Error in line %1: %2</source>
<translation>第 %1 行發生錯誤:%2</translation>
</message>
diff --git a/translations/qt_iw.ts b/translations/qt_iw.ts
index 3eea6dd..3b4897d 100644
--- a/translations/qt_iw.ts
+++ b/translations/qt_iw.ts
@@ -4,7 +4,7 @@
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -22,7 +22,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation type="unfinished"></translation>
</message>
@@ -85,7 +85,7 @@
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -98,24 +98,24 @@ have libgstreamer-plugins-base installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+653"/>
- <location line="+9"/>
+ <location line="+676"/>
+ <location line="+8"/>
<location line="+15"/>
- <location line="+7"/>
- <location line="+5"/>
- <location line="+20"/>
- <location line="+317"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-381"/>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+355"/>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation type="unfinished"></translation>
</message>
@@ -149,7 +149,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation type="unfinished"></translation>
</message>
@@ -162,7 +162,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+253"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation type="unfinished">אמת</translation>
</message>
@@ -190,7 +190,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+834"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation type="unfinished">העתק או העבר קובץ</translation>
</message>
@@ -215,7 +215,7 @@ have libgstreamer-plugins-base installed.</source>
<location line="-157"/>
<location line="+49"/>
<location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+80"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation type="unfinished">כל הקבצים (*)</translation>
</message>
@@ -355,7 +355,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+704"/>
<location line="+2100"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+307"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation type="unfinished">פתח</translation>
</message>
@@ -523,7 +523,7 @@ Check path and filename.</source>
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+100"/>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
<location line="+10"/>
<source>Could not read directory
%1</source>
@@ -570,7 +570,7 @@ to
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2021"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation type="unfinished">סדר בשורה</translation>
</message>
@@ -583,7 +583,7 @@ to
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation type="unfinished">הפעולה הופסקה על ידי המשתמש</translation>
</message>
@@ -591,7 +591,7 @@ to
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+194"/>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
<translation type="unfinished">ביטול</translation>
@@ -600,7 +600,7 @@ to
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+159"/>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
<location line="+814"/>
<source>OK</source>
<translation type="unfinished">אישור</translation>
@@ -629,7 +629,7 @@ to
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5399"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation type="unfinished">&amp;בטל</translation>
</message>
@@ -668,7 +668,7 @@ to
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+216"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation type="unfinished"></translation>
</message>
@@ -736,7 +736,7 @@ to
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation type="unfinished"></translation>
</message>
@@ -744,7 +744,7 @@ to
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+356"/>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
@@ -796,7 +796,7 @@ to
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+147"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -824,9 +824,9 @@ to
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+838"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+585"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+627"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
<location line="+26"/>
<source>Host not found</source>
<translation type="unfinished"></translation>
@@ -869,7 +869,7 @@ to
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1169"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation type="unfinished"></translation>
</message>
@@ -887,13 +887,13 @@ to
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>RTL</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation type="unfinished"></translation>
</message>
@@ -903,7 +903,7 @@ to
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation type="unfinished"></translation>
</message>
@@ -939,7 +939,7 @@ to
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+84"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation type="unfinished"></translation>
</message>
@@ -957,7 +957,7 @@ to
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1219"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation>&amp;גוון:</translation>
</message>
@@ -1031,13 +1031,13 @@ to
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1741"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
<location line="+65"/>
<source>Open</source>
<translation type="unfinished">פתח</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation type="unfinished">שקר</translation>
</message>
@@ -1055,7 +1055,7 @@ to
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation type="unfinished"></translation>
@@ -1076,12 +1076,12 @@ to
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+263"/>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation type="unfinished"></translation>
</message>
@@ -1099,8 +1099,8 @@ to
<context>
<name>QDB2Result</name>
<message>
- <location line="-986"/>
- <location line="+242"/>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
@@ -1115,7 +1115,7 @@ to
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1133,7 +1133,7 @@ to
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation type="unfinished"></translation>
</message>
@@ -1156,7 +1156,7 @@ to
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation type="unfinished"></translation>
</message>
@@ -1174,7 +1174,7 @@ to
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>מה זה?</translation>
</message>
@@ -1187,9 +1187,9 @@ to
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1830"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+531"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation type="unfinished">אישור</translation>
</message>
@@ -1312,7 +1312,7 @@ to
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+423"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation type="unfinished">שם</translation>
</message>
@@ -1342,7 +1342,7 @@ to
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation type="unfinished">סגור</translation>
</message>
@@ -1373,7 +1373,7 @@ to
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+361"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+391"/>
<source>&amp;Show this message again</source>
<translation>&amp;הצג הודעה זו שנית</translation>
</message>
@@ -1401,13 +1401,18 @@ to
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+678"/>
- <location line="+130"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation type="unfinished"></translation>
</message>
@@ -1430,8 +1435,8 @@ to
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+484"/>
- <location line="+423"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+515"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation>כל הקבצים (*)</translation>
</message>
@@ -1454,13 +1459,13 @@ to
<translation type="unfinished">תצוגת פרטים</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+384"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+414"/>
<location line="+1"/>
<source>File</source>
<translation type="unfinished">קובץ</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-440"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-461"/>
<source>Open</source>
<translation>פתח</translation>
</message>
@@ -1470,21 +1475,21 @@ to
<translation type="unfinished">שמירה בשם</translation>
</message>
<message>
- <location line="+653"/>
+ <location line="+678"/>
<location line="+50"/>
- <location line="+1440"/>
+ <location line="+1471"/>
<location line="+75"/>
<source>&amp;Open</source>
<translation>&amp;פתח</translation>
</message>
<message>
- <location line="-1565"/>
+ <location line="-1596"/>
<location line="+50"/>
<source>&amp;Save</source>
<translation>&amp;שמור</translation>
</message>
<message>
- <location line="-674"/>
+ <location line="-699"/>
<source>&amp;Rename</source>
<translation type="unfinished">ש&amp;נה שם</translation>
</message>
@@ -1499,27 +1504,27 @@ to
<translation type="unfinished">הצג קבצים &amp;מוסתרים</translation>
</message>
<message>
- <location line="+1908"/>
+ <location line="+1964"/>
<source>New Folder</source>
<translation type="unfinished">תיקיה חדשה</translation>
</message>
<message>
- <location line="-1943"/>
+ <location line="-1999"/>
<source>Find Directory</source>
<translation type="unfinished">חפש ספריה</translation>
</message>
<message>
- <location line="+660"/>
+ <location line="+685"/>
<source>Directories</source>
<translation>ספריות</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation type="unfinished">כל הקבצים (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+811"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+832"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation type="unfinished"></translation>
@@ -1549,21 +1554,21 @@ Please verify the correct file name was given.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1450"/>
- <location line="+623"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1496"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+773"/>
- <location line="+851"/>
+ <location line="+794"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-217"/>
+ <location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
@@ -1579,7 +1584,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+406"/>
+ <location line="+407"/>
<source>Recent Places</source>
<translation type="unfinished"></translation>
</message>
@@ -1594,7 +1599,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2468"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2525"/>
<source>Show </source>
<translation type="unfinished"></translation>
</message>
@@ -1610,19 +1615,19 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+631"/>
+ <location line="+656"/>
<location line="+38"/>
<source>&amp;Choose</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-662"/>
- <location line="+627"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation type="unfinished">&amp;שם הקובץ:</translation>
</message>
@@ -1642,7 +1647,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+707"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
<source>%1 TB</source>
<translation type="unfinished"></translation>
</message>
@@ -1704,7 +1709,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation type="unfinished"></translation>
</message>
@@ -1717,7 +1722,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+60"/>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
<location line="+1176"/>
<source>Normal</source>
<translation type="unfinished"></translation>
@@ -1934,7 +1939,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+742"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation>&amp;גופן</translation>
</message>
@@ -1983,7 +1988,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+2273"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+2303"/>
<source>Host %1 found</source>
<translation type="unfinished">המארח %1 נמצא</translation>
</message>
@@ -1993,7 +1998,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished">המארח נמצא</translation>
</message>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+973"/>
+ <location filename="../src/network/access/qftp.cpp" line="+1003"/>
<location filename="../src/qt3support/network/q3ftp.cpp" line="-1456"/>
<location line="+1451"/>
<source>Connected to host %1</source>
@@ -2120,7 +2125,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation type="unfinished"></translation>
</message>
@@ -2128,11 +2133,11 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+148"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
<location line="+9"/>
<location line="+64"/>
<location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+150"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
<location line="+9"/>
<location line="+40"/>
<location line="+27"/>
@@ -2158,13 +2163,13 @@ Do you want to delete it anyway?</source>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+1712"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1806"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1836"/>
<source>Connection refused</source>
<translation>החיבור נדחה</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+2597"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+2631"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2177,12 +2182,12 @@ Do you want to delete it anyway?</source>
<translation>אורך תוכן שגוי</translation>
</message>
<message>
- <location line="-2200"/>
+ <location line="-2204"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2282"/>
+ <location line="+2286"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+10"/>
<location line="+19"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+48"/>
@@ -2221,21 +2226,21 @@ Do you want to delete it anyway?</source>
<translation type="unfinished">החיבור נסגר</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-1073"/>
- <location line="+816"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-1077"/>
+ <location line="+820"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-1152"/>
<location line="+567"/>
<source>Unknown error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-564"/>
+ <location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation type="unfinished"></translation>
@@ -2253,7 +2258,12 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+120"/>
+ <location line="+28"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+97"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
@@ -2276,7 +2286,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-133"/>
+ <location line="-138"/>
<source>Connection refused (or timed out)</source>
<translation type="unfinished"></translation>
</message>
@@ -2357,7 +2367,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1378"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation type="unfinished"></translation>
</message>
@@ -2380,7 +2390,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1077"/>
+ <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation type="unfinished"></translation>
</message>
@@ -2400,7 +2410,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<location line="+189"/>
<source>Could not find array</source>
<translation type="unfinished"></translation>
@@ -2470,7 +2480,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1830"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation type="unfinished"></translation>
</message>
@@ -2490,7 +2500,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation type="unfinished"></translation>
</message>
@@ -2498,7 +2508,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+212"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation type="unfinished"></translation>
</message>
@@ -2521,7 +2531,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation type="unfinished"></translation>
</message>
@@ -2529,7 +2539,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QLibrary</name>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2560,7 +2570,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="-377"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+250"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation type="unfinished"></translation>
</message>
@@ -2575,8 +2585,8 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+179"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2596,7 +2606,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2649"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2680"/>
<source>&amp;Undo</source>
<translation type="unfinished">&amp;בטל</translation>
</message>
@@ -2634,8 +2644,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+196"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation type="unfinished"></translation>
</message>
@@ -2651,7 +2661,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+127"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2659,8 +2669,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+102"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation type="unfinished"></translation>
</message>
@@ -2673,7 +2683,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
<location line="+43"/>
<source>%1: Invalid name</source>
<translation type="unfinished"></translation>
@@ -2730,7 +2740,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1200"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation type="unfinished"></translation>
</message>
@@ -2740,7 +2750,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+123"/>
+ <location line="+127"/>
<source>Unable to begin transaction</source>
<translation type="unfinished"></translation>
</message>
@@ -2758,7 +2768,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-917"/>
+ <location line="-922"/>
<source>Unable to fetch data</source>
<translation type="unfinished"></translation>
</message>
@@ -2773,7 +2783,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+189"/>
+ <location line="+190"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
<translation type="unfinished"></translation>
@@ -2818,7 +2828,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation type="unfinished"></translation>
</message>
@@ -2826,7 +2836,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation type="unfinished">%1 - [%2]</translation>
</message>
@@ -2919,7 +2929,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+127"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
<location line="+225"/>
<source>Close</source>
<translation type="unfinished">סגור</translation>
@@ -2948,7 +2958,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1958"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1964"/>
<location line="+852"/>
<location filename="../src/gui/dialogs/qmessagebox.h" line="-52"/>
<location line="+8"/>
@@ -2956,22 +2966,17 @@ Do you want to delete it anyway?</source>
<translation>אישור</translation>
</message>
<message>
- <location line="+503"/>
+ <location line="+509"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-502"/>
+ <location line="-508"/>
<source>Help</source>
<translation type="unfinished">עזרה</translation>
</message>
<message>
- <location line="+487"/>
- <source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-1584"/>
+ <location line="-1097"/>
<source>Show Details...</source>
<translation type="unfinished"></translation>
</message>
@@ -2982,19 +2987,14 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+1570"/>
- <source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+15"/>
- <source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation type="unfinished"></translation>
</message>
@@ -3002,7 +3002,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation type="unfinished"></translation>
</message>
@@ -3015,7 +3015,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+176"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
<source>The remote host closed the connection</source>
<translation type="unfinished"></translation>
</message>
@@ -3148,7 +3148,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3156,7 +3156,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3184,7 +3184,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3194,7 +3194,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation type="unfinished"></translation>
</message>
@@ -3212,7 +3212,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3225,7 +3225,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation type="unfinished"></translation>
</message>
@@ -3233,7 +3233,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+422"/>
+ <location line="+432"/>
<location line="+22"/>
<source>Operation canceled</source>
<translation type="unfinished"></translation>
@@ -3242,7 +3242,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2027"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/>
<source>Unable to logon</source>
<translation type="unfinished"></translation>
</message>
@@ -3271,7 +3271,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIResult</name>
<message>
- <location line="-976"/>
+ <location line="-963"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3298,18 +3298,12 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
- <location line="+37"/>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-20"/>
- <source>Unable to execute select statement</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+32"/>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
@@ -3317,7 +3311,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1657"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation type="unfinished"></translation>
</message>
@@ -3327,7 +3321,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+234"/>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation type="unfinished"></translation>
</message>
@@ -3350,19 +3344,19 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1204"/>
+ <location line="-1218"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-332"/>
- <location line="+625"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-554"/>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation type="unfinished"></translation>
</message>
@@ -3372,19 +3366,19 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+267"/>
+ <location line="+268"/>
<source>Unable to bind variable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-474"/>
- <location line="+577"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-671"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation type="unfinished"></translation>
</message>
@@ -3402,12 +3396,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QObject</name>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation type="unfinished">Home</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3417,7 +3411,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -3442,7 +3436,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+147"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
<location line="+57"/>
<source>No host name given</source>
<translation type="unfinished"></translation>
@@ -3451,7 +3445,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation type="unfinished">שם</translation>
</message>
@@ -3464,7 +3458,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+732"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation type="unfinished"></translation>
</message>
@@ -3484,7 +3478,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+358"/>
<source>Unable to subscribe</source>
<translation type="unfinished"></translation>
</message>
@@ -3497,12 +3491,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1035"/>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation type="unfinished"></translation>
</message>
@@ -3510,7 +3504,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation type="unfinished"></translation>
</message>
@@ -3626,7 +3620,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+68"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation>מחוברת מקומית</translation>
</message>
@@ -3643,7 +3637,7 @@ Do you want to delete it anyway?</source>
<translation>לא ידוע</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation type="unfinished">אישור</translation>
</message>
@@ -3660,7 +3654,7 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">מדפסת</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+345"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+375"/>
<source>Print all</source>
<translation type="unfinished">הדפס הכל</translation>
</message>
@@ -3840,7 +3834,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
@@ -4092,13 +4086,13 @@ Please choose a different file name.</source>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+38"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
<location line="+12"/>
<source>Page Setup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation type="unfinished"></translation>
</message>
@@ -4376,8 +4370,8 @@ Please choose a different file name.</source>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+445"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation type="unfinished"></translation>
</message>
@@ -4406,7 +4400,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+503"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4426,6 +4420,11 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation type="unfinished"></translation>
@@ -4434,7 +4433,7 @@ Please choose a different file name.</source>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>ביטול</translation>
</message>
@@ -4458,7 +4457,7 @@ Please choose a different file name.</source>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+34"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation type="unfinished">לא אירעה כל שגיאה</translation>
</message>
@@ -4506,7 +4505,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation type="unfinished"></translation>
</message>
@@ -4529,12 +4528,12 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-310"/>
+ <location line="-323"/>
<source>Unable to fetch results</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+139"/>
+ <location line="+147"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
@@ -4542,7 +4541,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+498"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation type="unfinished"></translation>
</message>
@@ -4605,12 +4604,12 @@ Please choose a different file name.</source>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+419"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Left edge</source>
<translation type="unfinished"></translation>
</message>
@@ -4620,7 +4619,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Right edge</source>
<translation type="unfinished"></translation>
</message>
@@ -4630,7 +4629,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Page left</source>
<translation type="unfinished"></translation>
</message>
@@ -4641,7 +4640,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Page right</source>
<translation type="unfinished"></translation>
</message>
@@ -4652,7 +4651,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Scroll left</source>
<translation type="unfinished"></translation>
</message>
@@ -4662,7 +4661,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Scroll right</source>
<translation type="unfinished"></translation>
</message>
@@ -4690,7 +4689,7 @@ Please choose a different file name.</source>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+177"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4701,7 +4700,7 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+118"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4711,8 +4710,8 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+48"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation type="unfinished"></translation>
</message>
@@ -4790,7 +4789,7 @@ Please choose a different file name.</source>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+343"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation type="unfinished">רווח</translation>
</message>
@@ -5371,7 +5370,7 @@ Please choose a different file name.</source>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+860"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation type="unfinished">מחק</translation>
</message>
@@ -5428,7 +5427,7 @@ Please choose a different file name.</source>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+539"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -5487,7 +5486,7 @@ Please choose a different file name.</source>
<name>QSystemSemaphore</name>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation type="unfinished"></translation>
</message>
@@ -5517,7 +5516,7 @@ Please choose a different file name.</source>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation type="unfinished"></translation>
</message>
@@ -5543,7 +5542,7 @@ Please choose a different file name.</source>
<context>
<name>QTcpServer</name>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation type="unfinished"></translation>
</message>
@@ -5551,7 +5550,7 @@ Please choose a different file name.</source>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1942"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation type="unfinished">&amp;בטל</translation>
</message>
@@ -5609,7 +5608,7 @@ Please choose a different file name.</source>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation type="unfinished"></translation>
</message>
@@ -5617,7 +5616,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+356"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation type="unfinished">בטל</translation>
</message>
@@ -5630,7 +5629,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -5638,7 +5637,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+804"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation type="unfinished">בטל</translation>
</message>
@@ -5709,7 +5708,7 @@ Please choose a different file name.</source>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation type="unfinished"></translation>
</message>
@@ -6119,7 +6118,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6195,6 +6194,11 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation type="unfinished"></translation>
</message>
@@ -6263,11 +6267,21 @@ Please choose a different file name.</source>
<source>Delete to the end of the word</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation type="unfinished">מה זה?</translation>
</message>
@@ -6275,7 +6289,7 @@ Please choose a different file name.</source>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
@@ -6283,7 +6297,7 @@ Please choose a different file name.</source>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+617"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+649"/>
<source>Cancel</source>
<translation type="unfinished">ביטול</translation>
</message>
@@ -6341,7 +6355,7 @@ Please choose a different file name.</source>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1064"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation type="unfinished">ש&amp;חזר</translation>
</message>
@@ -6411,7 +6425,7 @@ Please choose a different file name.</source>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+28"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation>לא אירעה כל שגיאה</translation>
</message>
@@ -6529,8 +6543,8 @@ Please choose a different file name.</source>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+562"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation type="unfinished"></translation>
</message>
@@ -6714,7 +6728,7 @@ Please choose a different file name.</source>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation type="unfinished"></translation>
</message>
@@ -6724,12 +6738,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation type="unfinished"></translation>
</message>
@@ -6739,7 +6753,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6779,7 +6793,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+69"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
<location line="+15"/>
<source>At least one component must be present.</source>
<translation type="unfinished"></translation>
@@ -6790,7 +6804,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6805,17 +6819,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
<source>Integer division (%1) by zero (%2) is undefined.</source>
<translation type="unfinished"></translation>
</message>
@@ -6846,17 +6860,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation type="unfinished"></translation>
</message>
@@ -6866,7 +6880,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation type="unfinished"></translation>
</message>
@@ -6876,7 +6890,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6886,7 +6900,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -6896,7 +6910,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6906,7 +6920,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+104"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+134"/>
<source>No casting is possible with %1 as the target type.</source>
<translation type="unfinished"></translation>
</message>
@@ -6931,7 +6945,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6941,7 +6955,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+137"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/>
<source>No comparisons can be done involving the type %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -6951,12 +6965,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation type="unfinished"></translation>
</message>
@@ -6966,7 +6980,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation type="unfinished"></translation>
</message>
@@ -6976,7 +6990,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+83"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
<source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
<translation type="unfinished"></translation>
</message>
@@ -6986,33 +7000,33 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+126"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+39"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -7026,7 +7040,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation type="unfinished"></translation>
</message>
@@ -7041,27 +7055,27 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+64"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation type="unfinished"></translation>
</message>
@@ -7076,7 +7090,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation type="unfinished"></translation>
</message>
@@ -7111,17 +7125,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation type="unfinished"></translation>
</message>
@@ -7131,12 +7145,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation type="unfinished"></translation>
</message>
@@ -7146,17 +7160,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+319"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
<location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation type="unfinished"></translation>
@@ -7177,7 +7191,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation type="unfinished"></translation>
</message>
@@ -7459,7 +7473,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation type="unfinished"></translation>
</message>
@@ -7484,7 +7498,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+33"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation type="unfinished"></translation>
</message>
@@ -7499,7 +7513,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation type="unfinished"></translation>
</message>
@@ -7509,12 +7523,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation type="unfinished"></translation>
</message>
@@ -7529,13 +7543,13 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+39"/>
- <source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -7554,12 +7568,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation type="unfinished"></translation>
</message>
@@ -7569,12 +7583,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation type="unfinished"></translation>
</message>
@@ -7629,7 +7643,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation type="unfinished"></translation>
</message>
@@ -7704,7 +7718,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+432"/>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/qt_ja_JP.ts b/translations/qt_ja_JP.ts
index de76cf1..7c8b874 100644
--- a/translations/qt_ja_JP.ts
+++ b/translations/qt_ja_JP.ts
@@ -4,7 +4,7 @@
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -22,7 +22,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation type="unfinished"></translation>
</message>
@@ -89,7 +89,7 @@
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -102,24 +102,24 @@ have libgstreamer-plugins-base installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+653"/>
- <location line="+9"/>
+ <location line="+676"/>
+ <location line="+8"/>
<location line="+15"/>
- <location line="+7"/>
- <location line="+5"/>
- <location line="+20"/>
- <location line="+317"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-381"/>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+355"/>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation type="unfinished"></translation>
</message>
@@ -153,7 +153,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation>%1, %2 は定義されていません</translation>
</message>
@@ -166,7 +166,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+253"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation>True</translation>
</message>
@@ -194,7 +194,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+102"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+132"/>
<source>All Files (*.*)</source>
<translation>すべてのファイル(*.*)</translation>
</message>
@@ -209,7 +209,7 @@ have libgstreamer-plugins-base installed.</source>
<translation>ディレクトリを選択</translation>
</message>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+834"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation>ファイルをコピーまたは移動</translation>
</message>
@@ -234,7 +234,7 @@ have libgstreamer-plugins-base installed.</source>
<location line="-157"/>
<location line="+49"/>
<location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+80"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation>すべてのファイル(*)</translation>
</message>
@@ -527,7 +527,7 @@ Check path and filename.</source>
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+100"/>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
<location line="+10"/>
<source>Could not read directory
%1</source>
@@ -577,7 +577,7 @@ to
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2021"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation>整列</translation>
</message>
@@ -590,7 +590,7 @@ to
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation>操作がユーザによって停止されました</translation>
</message>
@@ -598,7 +598,7 @@ to
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+194"/>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
<translation>キャンセル</translation>
@@ -607,7 +607,7 @@ to
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+159"/>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
<location line="+814"/>
<source>OK</source>
<translation>OK</translation>
@@ -636,7 +636,7 @@ to
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5399"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation>元に戻す(&amp;U)</translation>
</message>
@@ -675,7 +675,7 @@ to
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+216"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation>システム</translation>
</message>
@@ -743,7 +743,7 @@ to
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation>その他...</translation>
</message>
@@ -751,7 +751,7 @@ to
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+356"/>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
@@ -803,7 +803,7 @@ to
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+147"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation>キャンセル(&amp;C)</translation>
</message>
@@ -831,9 +831,9 @@ to
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+838"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+585"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+627"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
<location line="+26"/>
<source>Host not found</source>
<translation>ホストが見つかりませんでした</translation>
@@ -876,7 +876,7 @@ to
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1169"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation>上(&amp;S)</translation>
</message>
@@ -894,7 +894,7 @@ to
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation>アクティブに</translation>
</message>
@@ -904,7 +904,7 @@ to
<translation>メインウィンドウをアクティブにする</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation>実行可能ファイル &apos;%1&apos; には Qt %2 が必要です。Qt %3 が見つかりました。</translation>
</message>
@@ -914,7 +914,7 @@ to
<translation>互換性のないQtライブラリエラー</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
@@ -946,7 +946,7 @@ to
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+84"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation>選択解除</translation>
</message>
@@ -964,7 +964,7 @@ to
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1219"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation>色相(&amp;E):</translation>
</message>
@@ -1038,13 +1038,13 @@ to
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1741"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
<location line="+65"/>
<source>Open</source>
<translation>オープン</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation type="unfinished">False</translation>
</message>
@@ -1062,7 +1062,7 @@ to
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation type="unfinished"></translation>
@@ -1083,12 +1083,12 @@ to
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation>接続できません</translation>
</message>
<message>
- <location line="+263"/>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation>トランザクションをコミットできません</translation>
</message>
@@ -1106,8 +1106,8 @@ to
<context>
<name>QDB2Result</name>
<message>
- <location line="-986"/>
- <location line="+242"/>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation>ステートメントを実行できません</translation>
</message>
@@ -1122,7 +1122,7 @@ to
<translation>変数をバインドできません</translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation>レコード %1 をフェッチできません</translation>
</message>
@@ -1140,7 +1140,7 @@ to
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation>AM</translation>
</message>
@@ -1163,7 +1163,7 @@ to
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation type="unfinished"></translation>
</message>
@@ -1181,7 +1181,7 @@ to
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>ヒント</translation>
</message>
@@ -1194,9 +1194,9 @@ to
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1830"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+531"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -1319,7 +1319,7 @@ to
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+423"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation>名前</translation>
</message>
@@ -1349,7 +1349,7 @@ to
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation type="unfinished">閉じる</translation>
</message>
@@ -1380,7 +1380,7 @@ to
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+162"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+192"/>
<source>Debug Message:</source>
<translation>デバッグメッセージ:</translation>
</message>
@@ -1408,13 +1408,18 @@ to
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+678"/>
- <location line="+130"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation type="unfinished"></translation>
</message>
@@ -1437,44 +1442,44 @@ to
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+484"/>
- <location line="+423"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+515"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation>すべてのファイル(*)</translation>
</message>
<message>
- <location line="+218"/>
+ <location line="+222"/>
<source>Directories</source>
<translation>ディレクトリ</translation>
</message>
<message>
- <location line="-619"/>
- <location line="+623"/>
+ <location line="-644"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation>ディレクトリ:</translation>
</message>
<message>
- <location line="-621"/>
- <location line="+627"/>
+ <location line="-646"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation>ファイル名:</translation>
</message>
<message>
<location line="-13"/>
<location line="+50"/>
- <location line="+1440"/>
+ <location line="+1471"/>
<location line="+75"/>
<source>&amp;Open</source>
<translation>オープン(&amp;O)</translation>
</message>
<message>
- <location line="-1565"/>
+ <location line="-1596"/>
<location line="+50"/>
<source>&amp;Save</source>
<translation>保存(&amp;S)</translation>
</message>
<message>
- <location line="-705"/>
+ <location line="-730"/>
<source>Open</source>
<translation>オープン</translation>
</message>
@@ -1491,7 +1496,7 @@ Please verify the correct file name was given</source>
正しいファイル名が入力されたかどうか確認してください</translation>
</message>
<message>
- <location line="+1469"/>
+ <location line="+1515"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1はすでに存在します。
@@ -1513,7 +1518,7 @@ Please verify the correct file name was given.</source>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="-54"/>
- <location line="+851"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
@@ -1526,7 +1531,7 @@ Please verify the correct directory name was given.</source>
<translation type="obsolete">ソート</translation>
</message>
<message>
- <location line="-2255"/>
+ <location line="-2312"/>
<source>&amp;Rename</source>
<translation>名前の変更(&amp;R)</translation>
</message>
@@ -1603,7 +1608,7 @@ Please verify the correct directory name was given.</source>
<translation>ファイルの種類:</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+381"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+411"/>
<source>Drive</source>
<translation>ドライブ</translation>
</message>
@@ -1619,7 +1624,7 @@ Please verify the correct directory name was given.</source>
<translation>不明</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation type="unfinished">すべてのファイル(*.*)</translation>
</message>
@@ -1637,7 +1642,7 @@ Please verify the correct directory name was given.</source>
<translation type="obsolete">ディレクトリを選択</translation>
</message>
<message>
- <location line="+2067"/>
+ <location line="+2123"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation>&apos;%1&apos; は書き込みが禁止されています。
@@ -1654,7 +1659,7 @@ Do you want to delete it anyway?</source>
<translation>ディレクトリを削除できませんでした。</translation>
</message>
<message>
- <location line="-2091"/>
+ <location line="-2147"/>
<source>Find Directory</source>
<translation type="unfinished">ディレクトリの検索</translation>
</message>
@@ -1669,18 +1674,18 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+631"/>
+ <location line="+656"/>
<location line="+38"/>
<source>&amp;Choose</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1238"/>
+ <location line="+1269"/>
<source>New Folder</source>
<translation type="unfinished">新しいフォルダ</translation>
</message>
<message>
- <location line="+554"/>
+ <location line="+555"/>
<source>Recent Places</source>
<translation type="unfinished"></translation>
</message>
@@ -1691,7 +1696,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished">進む</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
@@ -1699,7 +1704,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+855"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+892"/>
<source>Name</source>
<translation>名前</translation>
</message>
@@ -1761,7 +1766,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation type="unfinished">マイ コンピュータ</translation>
</message>
@@ -1774,7 +1779,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+60"/>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
<location line="+1176"/>
<source>Normal</source>
<translation type="unfinished"></translation>
@@ -1991,7 +1996,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+742"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation>フォント(&amp;F)</translation>
</message>
@@ -2040,8 +2045,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+796"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+653"/>
+ <location filename="../src/network/access/qftp.cpp" line="+826"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+683"/>
<source>Not connected</source>
<translation>未接続です</translation>
</message>
@@ -2186,7 +2191,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation>不明なエラー</translation>
</message>
@@ -2194,11 +2199,11 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+148"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
<location line="+9"/>
<location line="+64"/>
<location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+150"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
<location line="+9"/>
<location line="+40"/>
<location line="+27"/>
@@ -2224,26 +2229,26 @@ Do you want to delete it anyway?</source>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+335"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+365"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1209"/>
- <location line="+816"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1130"/>
+ <location line="+820"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1160"/>
<location line="+567"/>
<source>Unknown error</source>
<translation>不明なエラー</translation>
</message>
<message>
- <location line="-564"/>
+ <location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation>要求が中止されました</translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation>接続が設定されているサーバがありません</translation>
@@ -2261,18 +2266,23 @@ Do you want to delete it anyway?</source>
<translation>サーバの接続が予期せず閉じられました</translation>
</message>
<message>
- <location line="+357"/>
+ <location line="+179"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+183"/>
<source>Error writing response to device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+1712"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+38"/>
<source>Connection refused</source>
<translation>接続が拒否されました</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-299"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-304"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2293,7 +2303,7 @@ Do you want to delete it anyway?</source>
<translation>無効なHTTP応答ヘッダです</translation>
</message>
<message>
- <location line="+120"/>
+ <location line="+125"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
@@ -2342,7 +2352,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-133"/>
+ <location line="-138"/>
<source>Connection refused (or timed out)</source>
<translation type="unfinished"></translation>
</message>
@@ -2423,7 +2433,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1378"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation>データベースのオープンでエラーが発生しました</translation>
</message>
@@ -2446,7 +2456,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1077"/>
+ <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation>バイナリラージオブジェクトを作成できません</translation>
</message>
@@ -2466,7 +2476,7 @@ Do you want to delete it anyway?</source>
<translation>バイナリラージオブジェクトを読み込めません</translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<location line="+189"/>
<source>Could not find array</source>
<translation>配列が見つかりませんでした</translation>
@@ -2536,7 +2546,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1830"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation>許可されていません</translation>
</message>
@@ -2556,7 +2566,7 @@ Do you want to delete it anyway?</source>
<translation>デバイスの残り容量がありません</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation>不明なエラー</translation>
</message>
@@ -2564,7 +2574,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+212"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation>XIM</translation>
</message>
@@ -2587,7 +2597,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation type="unfinished"></translation>
</message>
@@ -2595,7 +2605,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QLibrary</name>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation>&apos;%1&apos; をメモリにマッピングできませんでした: %2</translation>
</message>
@@ -2638,7 +2648,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="-377"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+250"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation type="unfinished"></translation>
</message>
@@ -2653,8 +2663,8 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+179"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2674,7 +2684,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2649"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2680"/>
<source>&amp;Undo</source>
<translation>元に戻す(&amp;U)</translation>
</message>
@@ -2712,8 +2722,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+196"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation type="unfinished"></translation>
</message>
@@ -2729,7 +2739,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+127"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2737,8 +2747,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+102"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation type="unfinished"></translation>
</message>
@@ -2751,7 +2761,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
<location line="+43"/>
<source>%1: Invalid name</source>
<translation type="unfinished"></translation>
@@ -2808,7 +2818,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1200"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation>データベースをオープンできません &apos;</translation>
</message>
@@ -2818,7 +2828,7 @@ Do you want to delete it anyway?</source>
<translation>接続できません</translation>
</message>
<message>
- <location line="+123"/>
+ <location line="+127"/>
<source>Unable to begin transaction</source>
<translation>トランザクションを開始できません</translation>
</message>
@@ -2836,7 +2846,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-917"/>
+ <location line="-922"/>
<source>Unable to fetch data</source>
<translation>データをフェッチできません</translation>
</message>
@@ -2851,7 +2861,7 @@ Do you want to delete it anyway?</source>
<translation>実行結果を記録できません</translation>
</message>
<message>
- <location line="+189"/>
+ <location line="+190"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
<translation>プリペアステートメントを使えません</translation>
@@ -2896,7 +2906,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation type="unfinished"></translation>
</message>
@@ -2904,7 +2914,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation type="unfinished">%1 - [%2]</translation>
</message>
@@ -2997,7 +3007,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+127"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
<location line="+225"/>
<source>Close</source>
<translation>閉じる</translation>
@@ -3026,7 +3036,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1105"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1111"/>
<source>Help</source>
<translation>ヘルプ</translation>
</message>
@@ -3046,28 +3056,21 @@ Do you want to delete it anyway?</source>
&lt;p&gt;QtはTrolltechの商品です。詳細は&lt;tt&gt;http://qtsoftware.com/qt/&lt;/tt&gt;を参照してください。&lt;/p&gt;</translation>
</message>
<message>
- <location line="+475"/>
- <source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+13"/>
<source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation>&lt;p&gt;このプログラムは Qt バージョン %1 を使用しています。&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;このプログラムは Qt バージョン %1 を使用しています。&lt;/p&gt;</translation>
</message>
<message>
- <location line="+2"/>
<source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
- <translation>&lt;p&gt;このプログラムは Qt オープンソース版バージョン %1 を使用しています。&lt;/p&gt;
+ <translation type="obsolete">&lt;p&gt;このプログラムは Qt オープンソース版バージョン %1 を使用しています。&lt;/p&gt;
&lt;p&gt;Qt オープンソース版はオープンソースのアプリケーションの開発用です。ソースコードを公開しない商用アプリケーションを開発するには商用版のライセンスが必要です。&lt;/p&gt;&lt;p&gt;Qtのライセンスについては&lt;tt&gt;http://qtsoftware.com/company/model.html&lt;/tt&gt;を参照してください。&lt;/p&gt;</translation>
</message>
<message>
- <location line="+13"/>
+ <location line="+509"/>
<source>About Qt</source>
<translation>Qt について</translation>
</message>
<message>
- <location line="-1599"/>
+ <location line="-1605"/>
<source>Show Details...</source>
<translation>詳細を表示...</translation>
</message>
@@ -3076,11 +3079,16 @@ Do you want to delete it anyway?</source>
<source>Hide Details...</source>
<translation>詳細を隠す...</translation>
</message>
+ <message>
+ <location line="+1570"/>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation>入力メソッドを選択</translation>
</message>
@@ -3088,7 +3096,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation>複数の入力メソッドを切り替え</translation>
</message>
@@ -3101,7 +3109,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+167"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+197"/>
<source>Unable to initialize non-blocking socket</source>
<translation>ノンブロッキングソケットを初期化できません</translation>
</message>
@@ -3234,7 +3242,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3242,7 +3250,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3270,7 +3278,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3280,7 +3288,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation type="unfinished"></translation>
</message>
@@ -3298,7 +3306,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3311,7 +3319,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation type="unfinished"></translation>
</message>
@@ -3319,7 +3327,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+422"/>
+ <location line="+432"/>
<location line="+22"/>
<source>Operation canceled</source>
<translation type="unfinished"></translation>
@@ -3328,7 +3336,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+1883"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+1925"/>
<source>Unable to initialize</source>
<comment>QOCIDriver</comment>
<translation>初期化できません</translation>
@@ -3357,7 +3365,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIResult</name>
<message>
- <location line="-976"/>
+ <location line="-963"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3384,18 +3392,16 @@ Do you want to delete it anyway?</source>
<translation>プリペアステートメントを使えません</translation>
</message>
<message>
- <location line="+29"/>
- <location line="+37"/>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation>値をバインドできません</translation>
</message>
<message>
- <location line="-20"/>
<source>Unable to execute select statement</source>
- <translation>SELECT ステートメントを実行できません</translation>
+ <translation type="obsolete">SELECT ステートメントを実行できません</translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation>ステートメントを実行できません</translation>
</message>
@@ -3403,7 +3409,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1657"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation>接続できません</translation>
</message>
@@ -3413,7 +3419,7 @@ Do you want to delete it anyway?</source>
<translation>接続できません - ドライバは全ての必要な機能をサポートしていません</translation>
</message>
<message>
- <location line="+234"/>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation>オートコミットを無効にできません</translation>
</message>
@@ -3436,13 +3442,13 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1187"/>
- <location line="+625"/>
+ <location line="-1201"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation>ステートメントを実行できません</translation>
</message>
<message>
- <location line="-554"/>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation>次のレコードをフェッチできません</translation>
</message>
@@ -3452,12 +3458,12 @@ Do you want to delete it anyway?</source>
<translation>プリペアステートメントを使えません</translation>
</message>
<message>
- <location line="+267"/>
+ <location line="+268"/>
<source>Unable to bind variable</source>
<translation>変数をバインドできません</translation>
</message>
<message>
- <location line="-634"/>
+ <location line="-635"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: ステートメントの属性として &apos;SQL_CURSOR_STATUS&apos; を設定できません。ODBC ドライバの構成をチェックしてください。</translation>
@@ -3465,12 +3471,12 @@ Do you want to delete it anyway?</source>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
<location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-189"/>
- <location line="+577"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-671"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation type="unfinished"></translation>
</message>
@@ -3496,12 +3502,12 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">True</translation>
</message>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation>ホーム</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3511,7 +3517,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -3536,7 +3542,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+147"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
<location line="+57"/>
<source>No host name given</source>
<translation type="unfinished"></translation>
@@ -3545,7 +3551,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation type="unfinished">名前</translation>
</message>
@@ -3558,7 +3564,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+732"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation>接続できません</translation>
</message>
@@ -3578,7 +3584,7 @@ Do you want to delete it anyway?</source>
<translation>トランザクションをロールバックできませんでした</translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+358"/>
<source>Unable to subscribe</source>
<translation type="unfinished"></translation>
</message>
@@ -3591,12 +3597,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1035"/>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation>クエリーを作成できません</translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation type="unfinished">プリペアステートメントを使えません</translation>
</message>
@@ -3604,7 +3610,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation type="unfinished"></translation>
</message>
@@ -3732,7 +3738,7 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">給紙装置:</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -3749,7 +3755,7 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">横</translation>
</message>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+68"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation>ローカルに接続しています</translation>
</message>
@@ -3778,7 +3784,7 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">参照...</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+345"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+375"/>
<source>Print all</source>
<translation>すべて印刷</translation>
</message>
@@ -3998,7 +4004,7 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">両面印刷</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
@@ -4248,13 +4254,13 @@ Please choose a different file name.</source>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+38"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
<location line="+12"/>
<source>Page Setup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation type="unfinished"></translation>
</message>
@@ -4536,8 +4542,8 @@ Please choose a different file name.</source>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+445"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation type="unfinished"></translation>
</message>
@@ -4566,7 +4572,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+503"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4586,6 +4592,11 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation type="unfinished"></translation>
@@ -4594,7 +4605,7 @@ Please choose a different file name.</source>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>キャンセル</translation>
</message>
@@ -4618,7 +4629,7 @@ Please choose a different file name.</source>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+34"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation>エラーは発生しませんでした</translation>
</message>
@@ -4666,7 +4677,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation>データベースのオープンでエラーが発生しました</translation>
</message>
@@ -4689,12 +4700,12 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-310"/>
+ <location line="-323"/>
<source>Unable to fetch results</source>
<translation>実行結果をフェッチできません</translation>
</message>
<message>
- <location line="+139"/>
+ <location line="+147"/>
<source>Unable to execute statement</source>
<translation>ステートメントを実行できません</translation>
</message>
@@ -4702,7 +4713,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+498"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation>データベースのオープンでエラーが発生しました</translation>
</message>
@@ -4769,12 +4780,12 @@ Please choose a different file name.</source>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+419"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation>ここにスクロール</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Left edge</source>
<translation>左端</translation>
</message>
@@ -4784,7 +4795,7 @@ Please choose a different file name.</source>
<translation>上端</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Right edge</source>
<translation>右端</translation>
</message>
@@ -4794,7 +4805,7 @@ Please choose a different file name.</source>
<translation>下端</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Page left</source>
<translation>1ページ左へスクロール</translation>
</message>
@@ -4805,7 +4816,7 @@ Please choose a different file name.</source>
<translation>1ページ戻る</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Page right</source>
<translation>1ページ右へスクロール</translation>
</message>
@@ -4816,7 +4827,7 @@ Please choose a different file name.</source>
<translation>1ページ進む</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Scroll left</source>
<translation>左へスクロール</translation>
</message>
@@ -4826,7 +4837,7 @@ Please choose a different file name.</source>
<translation>上へスクロール</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Scroll right</source>
<translation>右へスクロール</translation>
</message>
@@ -4854,7 +4865,7 @@ Please choose a different file name.</source>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+177"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4865,7 +4876,7 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+118"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4875,8 +4886,8 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+48"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation type="unfinished"></translation>
</message>
@@ -4954,7 +4965,7 @@ Please choose a different file name.</source>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+343"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation>Space</translation>
</message>
@@ -5540,7 +5551,7 @@ Please choose a different file name.</source>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+860"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation>削除</translation>
</message>
@@ -5597,7 +5608,7 @@ Please choose a different file name.</source>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+230"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+260"/>
<source>Error creating SSL context (%1)</source>
<translation type="unfinished"></translation>
</message>
@@ -5656,7 +5667,7 @@ Please choose a different file name.</source>
<name>QSystemSemaphore</name>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation type="unfinished"></translation>
</message>
@@ -5686,7 +5697,7 @@ Please choose a different file name.</source>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation>接続をオープンできません</translation>
</message>
@@ -5716,7 +5727,7 @@ Please choose a different file name.</source>
<translation type="obsolete">ソケット操作はサポートされていません</translation>
</message>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation type="unfinished"></translation>
</message>
@@ -5724,7 +5735,7 @@ Please choose a different file name.</source>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1942"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation>元に戻す(&amp;U)</translation>
</message>
@@ -5782,7 +5793,7 @@ Please choose a different file name.</source>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation>このプラットフォームは IPv6 をサポートしていません</translation>
</message>
@@ -5790,7 +5801,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+356"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation>元に戻す</translation>
</message>
@@ -5803,7 +5814,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation>&lt;空&gt;</translation>
</message>
@@ -5811,7 +5822,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+804"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation>元に戻す</translation>
</message>
@@ -5882,7 +5893,7 @@ Please choose a different file name.</source>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation type="unfinished"></translation>
</message>
@@ -6292,7 +6303,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6368,6 +6379,11 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation type="unfinished"></translation>
</message>
@@ -6436,11 +6452,21 @@ Please choose a different file name.</source>
<source>Delete to the end of the word</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation>ヒント</translation>
</message>
@@ -6448,7 +6474,7 @@ Please choose a different file name.</source>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -6456,7 +6482,7 @@ Please choose a different file name.</source>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+605"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
<source>Go Back</source>
<translation type="unfinished"></translation>
</message>
@@ -6514,7 +6540,7 @@ Please choose a different file name.</source>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1064"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation>元に戻す(&amp;R)</translation>
</message>
@@ -6584,7 +6610,7 @@ Please choose a different file name.</source>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+28"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation>エラーは発生しませんでした</translation>
</message>
@@ -6702,8 +6728,8 @@ Please choose a different file name.</source>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+562"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation type="unfinished"></translation>
</message>
@@ -6887,7 +6913,7 @@ Please choose a different file name.</source>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation type="unfinished"></translation>
</message>
@@ -6897,12 +6923,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation type="unfinished"></translation>
</message>
@@ -6912,7 +6938,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6952,7 +6978,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+69"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
<location line="+15"/>
<source>At least one component must be present.</source>
<translation type="unfinished"></translation>
@@ -6963,7 +6989,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6978,17 +7004,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
<source>Integer division (%1) by zero (%2) is undefined.</source>
<translation type="unfinished"></translation>
</message>
@@ -7019,17 +7045,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation type="unfinished"></translation>
</message>
@@ -7039,7 +7065,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation type="unfinished"></translation>
</message>
@@ -7049,7 +7075,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -7059,7 +7085,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -7069,7 +7095,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -7079,7 +7105,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+104"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+134"/>
<source>No casting is possible with %1 as the target type.</source>
<translation type="unfinished"></translation>
</message>
@@ -7104,7 +7130,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation type="unfinished"></translation>
</message>
@@ -7114,7 +7140,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+137"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/>
<source>No comparisons can be done involving the type %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -7124,12 +7150,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation type="unfinished"></translation>
</message>
@@ -7139,7 +7165,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation type="unfinished"></translation>
</message>
@@ -7149,7 +7175,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+83"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
<source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
<translation type="unfinished"></translation>
</message>
@@ -7159,33 +7185,33 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+126"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+39"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -7199,7 +7225,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation type="unfinished"></translation>
</message>
@@ -7214,27 +7240,27 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+64"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation type="unfinished"></translation>
</message>
@@ -7249,7 +7275,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation type="unfinished"></translation>
</message>
@@ -7284,17 +7310,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation type="unfinished"></translation>
</message>
@@ -7304,12 +7330,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation type="unfinished"></translation>
</message>
@@ -7319,17 +7345,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+319"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
<location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation type="unfinished"></translation>
@@ -7350,7 +7376,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation type="unfinished"></translation>
</message>
@@ -7632,7 +7658,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation type="unfinished"></translation>
</message>
@@ -7657,7 +7683,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+33"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation type="unfinished"></translation>
</message>
@@ -7672,7 +7698,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation type="unfinished"></translation>
</message>
@@ -7682,12 +7708,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation type="unfinished"></translation>
</message>
@@ -7702,13 +7728,13 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+39"/>
- <source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -7727,12 +7753,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation type="unfinished"></translation>
</message>
@@ -7742,12 +7768,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation type="unfinished"></translation>
</message>
@@ -7802,7 +7828,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation type="unfinished"></translation>
</message>
@@ -7877,7 +7903,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+432"/>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/qt_pl.ts b/translations/qt_pl.ts
index b7b9cb7..7f9ec8d 100644
--- a/translations/qt_pl.ts
+++ b/translations/qt_pl.ts
@@ -4,7 +4,7 @@
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation>&lt;html&gt;Urządzenie dźwiękowe &lt;b&gt;%1&lt;/b&gt; nie działa.&lt;br/&gt;Przywracanie do &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
</message>
@@ -22,7 +22,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation>Zamknij kartę</translation>
</message>
@@ -80,7 +80,7 @@ Obsługa dźwięku i wideo została wyłączona</translation>
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -96,24 +96,24 @@ zainstalowałeś libgstreamer-plugins-base.</translation>
<translation type="unfinished">Brak wymaganego kodeka. Aby odtworzyć zawartość musisz zainstalować poniższego kodeka: %0</translation>
</message>
<message>
- <location line="+653"/>
- <location line="+9"/>
+ <location line="+676"/>
+ <location line="+8"/>
<location line="+15"/>
- <location line="+7"/>
- <location line="+5"/>
- <location line="+20"/>
- <location line="+317"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation>Nie można otworzyć źródła mediów.</translation>
</message>
<message>
- <location line="-381"/>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation>Niepoprawny typ źródła.</translation>
</message>
<message>
- <location line="+355"/>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation>Nie można znaleźć źródła mediów.</translation>
</message>
@@ -147,7 +147,7 @@ zainstalowałeś libgstreamer-plugins-base.</translation>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation>%1, %2 nie określone</translation>
</message>
@@ -160,7 +160,7 @@ zainstalowałeś libgstreamer-plugins-base.</translation>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+761"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+793"/>
<source>Delete</source>
<translation>Skasuj</translation>
</message>
@@ -188,7 +188,7 @@ zainstalowałeś libgstreamer-plugins-base.</translation>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+4500"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+4530"/>
<source>%1
File not found.
Check path and filename.</source>
@@ -205,7 +205,7 @@ Sprawdź ścieżkę i nazwę pliku.</translation>
<location line="-1928"/>
<location line="+49"/>
<location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+80"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation>Wszystkie pliki (*)</translation>
</message>
@@ -360,7 +360,7 @@ Sprawdź ścieżkę i nazwę pliku.</translation>
<message>
<location line="-1112"/>
<location line="+2100"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+307"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation>Otwórz</translation>
</message>
@@ -521,7 +521,7 @@ Sprawdź ścieżkę i nazwę pliku.</translation>
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+155"/>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+185"/>
<source>Could not create directory
%1</source>
<translation>Nie można utworzyć katalogu
@@ -571,7 +571,7 @@ na
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2023"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2053"/>
<source>Customize...</source>
<translation>Ustawienia użytkownika...</translation>
</message>
@@ -584,7 +584,7 @@ na
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation>Operacja zatrzymana przez użytkownika</translation>
</message>
@@ -592,7 +592,7 @@ na
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+194"/>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
<translation>Anuluj</translation>
@@ -601,7 +601,7 @@ na
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+617"/>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+647"/>
<source>Apply</source>
<translation>Zatwierdź</translation>
</message>
@@ -630,7 +630,7 @@ na
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5411"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5441"/>
<source>Clear</source>
<translation>Wyczyść</translation>
</message>
@@ -669,7 +669,7 @@ na
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+226"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+256"/>
<source>Close</source>
<translation>Zamknij okno</translation>
</message>
@@ -737,7 +737,7 @@ na
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation>Więcej...</translation>
</message>
@@ -745,7 +745,7 @@ na
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+859"/>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+889"/>
<location line="+1"/>
<source>(unknown)</source>
<translation>(nieznany)</translation>
@@ -797,7 +797,7 @@ na
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+148"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+178"/>
<source>&lt; &amp;Back</source>
<translation>&lt; &amp;Wstecz</translation>
</message>
@@ -825,9 +825,9 @@ na
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+888"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+588"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+918"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+618"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+687"/>
<source>Connection refused</source>
<translation>Połączenie odrzucone</translation>
</message>
@@ -870,7 +870,7 @@ na
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1171"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1201"/>
<source>Step &amp;down</source>
<translation>Krok w &amp;dół</translation>
</message>
@@ -888,7 +888,7 @@ na
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation>Uaktywnij</translation>
</message>
@@ -898,7 +898,7 @@ na
<translation>Uaktywnia główne okno programu</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation>Program &apos;%1&apos; wymaga do uruchomienia Qt %2, znaleziono Qt %3.</translation>
</message>
@@ -908,7 +908,7 @@ na
<translation>Niekompatybilność biblioteki Qt</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
@@ -940,7 +940,7 @@ na
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+87"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+117"/>
<source>Check</source>
<translation>Zaznacz</translation>
</message>
@@ -958,7 +958,7 @@ na
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1465"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1499"/>
<source>&amp;Add to Custom Colors</source>
<translation>&amp;Dodaj do własnych kolorów</translation>
</message>
@@ -1016,13 +1016,13 @@ na
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1741"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
<location line="+65"/>
<source>Open</source>
<translation>Otwórz</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation>Fałsz</translation>
</message>
@@ -1065,7 +1065,7 @@ na
<translation type="obsolete">%1: nieznany błąd %2</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation>%1: klucz jest pusty</translation>
@@ -1086,12 +1086,12 @@ na
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation>Nie można nawiązać połączenia</translation>
</message>
<message>
- <location line="+263"/>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation>Nie można dokonać transakcji</translation>
</message>
@@ -1109,8 +1109,8 @@ na
<context>
<name>QDB2Result</name>
<message>
- <location line="-986"/>
- <location line="+242"/>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation>Nie można wykonać polecenia</translation>
</message>
@@ -1125,7 +1125,7 @@ na
<translation>Nie można powiązać zmiennej</translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation>Nie można pobrać rekordu %1</translation>
</message>
@@ -1143,7 +1143,7 @@ na
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>am</source>
<translation>am</translation>
</message>
@@ -1166,7 +1166,7 @@ na
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation>QDial</translation>
</message>
@@ -1184,7 +1184,7 @@ na
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>Co to jest?</translation>
</message>
@@ -1197,7 +1197,7 @@ na
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+578"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+608"/>
<source>Abort</source>
<translation>Przerwij</translation>
</message>
@@ -1267,7 +1267,7 @@ na
<translation>Ni&amp;e dla wszystkich</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1830"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
<location line="+464"/>
<location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="-41"/>
<source>OK</source>
@@ -1322,7 +1322,7 @@ na
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+435"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+465"/>
<source>Date Modified</source>
<translation>Data modyfikacji</translation>
</message>
@@ -1352,7 +1352,7 @@ na
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation>Zamknij</translation>
</message>
@@ -1383,7 +1383,7 @@ na
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+162"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+192"/>
<source>Debug Message:</source>
<translation>Komunikat dla programisty:</translation>
</message>
@@ -1411,13 +1411,18 @@ na
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+678"/>
- <location line="+130"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation type="unfinished"></translation>
</message>
@@ -1440,22 +1445,22 @@ na
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1936"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+2013"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 już istnieje.
Czy chcesz zamienić?</translation>
</message>
<message>
- <location line="+600"/>
+ <location line="+610"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation>&apos;%1&apos; jest zabezpieczony przed zapisem.
Czy na pewno chcesz go skasować?</translation>
</message>
<message>
- <location line="-634"/>
- <location line="+851"/>
+ <location line="-644"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
@@ -1464,7 +1469,7 @@ Katalog nie znaleziony.
Sprawdź podaną nazwę katalogu.</translation>
</message>
<message>
- <location line="-797"/>
+ <location line="-808"/>
<source>%1
File not found.
Please verify the correct file name was given.</source>
@@ -1473,12 +1478,12 @@ Plik nie znaleziony.
Proszę o sprawdzenie podanej nazwy pliku.</translation>
</message>
<message>
- <location line="+585"/>
+ <location line="+595"/>
<source>Are sure you want to delete &apos;%1&apos;?</source>
<translation>Czy na pewno chcesz skasować &apos;%1&apos;?</translation>
</message>
<message>
- <location line="+421"/>
+ <location line="+422"/>
<source>Recent Places</source>
<translation type="unfinished"></translation>
</message>
@@ -1489,12 +1494,12 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Powrót</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-406"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-407"/>
<source>Could not delete directory.</source>
<translation>Nie można skasować katalogu.</translation>
</message>
<message>
- <location line="-2057"/>
+ <location line="-2113"/>
<source>&amp;Delete</source>
<translation>&amp;Skasuj</translation>
</message>
@@ -1505,18 +1510,18 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Szczegóły</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+626"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+651"/>
<source>Directories</source>
<translation>Katalogi</translation>
</message>
<message>
- <location line="-619"/>
- <location line="+623"/>
+ <location line="-644"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation>Katalog:</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+381"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+411"/>
<source>Drive</source>
<translation>Urządzenie</translation>
</message>
@@ -1546,7 +1551,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="-7"/>
<location line="+50"/>
- <location line="+1440"/>
+ <location line="+1471"/>
<location line="+75"/>
<source>&amp;Open</source>
<translation>&amp;Otwórz</translation>
@@ -1558,18 +1563,18 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Katalog wyżej</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2189"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2245"/>
<source>&amp;Rename</source>
<translation>&amp;Zmień nazwę</translation>
</message>
<message>
- <location line="+624"/>
+ <location line="+649"/>
<location line="+50"/>
<source>&amp;Save</source>
<translation>&amp;Zachowaj</translation>
</message>
<message>
- <location line="-672"/>
+ <location line="-697"/>
<source>Show &amp;hidden files</source>
<translation>Pokaż &amp;ukryte pliki</translation>
</message>
@@ -1594,7 +1599,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Znajdź katalog</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation>Wszystkie pliki (*.*)</translation>
</message>
@@ -1610,35 +1615,35 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Do przodu</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1914"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1970"/>
<source>New Folder</source>
<translation>Nowy katalog</translation>
</message>
<message>
- <location line="-1907"/>
+ <location line="-1963"/>
<source>&amp;New Folder</source>
<translation>&amp;Nowy katalog</translation>
</message>
<message>
- <location line="+631"/>
+ <location line="+656"/>
<location line="+38"/>
<source>&amp;Choose</source>
<translation>&amp;Wybierz</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation>Usuń</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-686"/>
- <location line="+423"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-711"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation>Wszystkie pliki (*)</translation>
</message>
<message>
- <location line="-399"/>
- <location line="+627"/>
+ <location line="-420"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation>Nazwa &amp;pliku:</translation>
</message>
@@ -1658,7 +1663,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+707"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
<source>%1 TB</source>
<translation>%1 TB</translation>
</message>
@@ -1720,7 +1725,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Data modyfikacji</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation>Mój komputer</translation>
</message>
@@ -1733,7 +1738,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+60"/>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
<location line="+1176"/>
<source>Normal</source>
<translation>Normalny</translation>
@@ -1952,7 +1957,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+745"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+775"/>
<source>Effects</source>
<translation>Efekty</translation>
</message>
@@ -2001,8 +2006,8 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+2300"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+1994"/>
+ <location filename="../src/network/access/qftp.cpp" line="+2330"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+2024"/>
<source>Changing directory failed:
%1</source>
<translation>Zmiana katalogu zakończona błędem:
@@ -2147,7 +2152,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation>Nieznany błąd</translation>
</message>
@@ -2155,11 +2160,11 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+148"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
<location line="+9"/>
<location line="+64"/>
<location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+150"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
<location line="+9"/>
<location line="+40"/>
<location line="+27"/>
@@ -2185,7 +2190,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/qt3support/network/q3http.cpp" line="+2279"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+2309"/>
<source>Connected to host</source>
<translation>Podłączony do hosta</translation>
</message>
@@ -2195,7 +2200,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Podłączony do hosta %1</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+1715"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+879"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+17"/>
<source>Connection closed</source>
<translation>Połączenie zakończone</translation>
@@ -2217,7 +2222,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Host %1 znaleziony</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+2597"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+2631"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-453"/>
<source>Host %1 not found</source>
@@ -2237,7 +2242,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Komenda HTTP zakończona błędem</translation>
</message>
<message>
- <location line="+193"/>
+ <location line="+198"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+109"/>
<location line="+47"/>
@@ -2245,7 +2250,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Niepoprawne ciało HTTP</translation>
</message>
<message>
- <location line="-168"/>
+ <location line="-173"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-87"/>
<source>Invalid HTTP response header</source>
<translation>Niepoprawny nagłówek odpowiedzi HTTP</translation>
@@ -2257,38 +2262,43 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Brak serwera do podłączenia</translation>
</message>
<message>
- <location line="-575"/>
+ <location line="-579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-381"/>
<source>Request aborted</source>
<translation>Komenda przerwana</translation>
</message>
<message>
- <location line="+743"/>
+ <location line="+747"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+441"/>
<source>Server closed connection unexpectedly</source>
<translation>Serwer niespodziewanie zakończył połączenie</translation>
</message>
<message>
- <location line="-995"/>
- <location line="+816"/>
+ <location line="-999"/>
+ <location line="+820"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-638"/>
<location line="+567"/>
<source>Unknown error</source>
<translation>Nieznany błąd</translation>
</message>
<message>
- <location line="-2025"/>
+ <location line="-2029"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation>Zażądano połączenia HTTPS lecz obsługa SSL nie jest wkompilowana</translation>
</message>
<message>
- <location line="+2200"/>
+ <location line="+2204"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+67"/>
<source>Wrong content length</source>
<translation>Błędna długość zawartości</translation>
</message>
<message>
- <location line="+188"/>
+ <location line="+183"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>Proxy authentication required</source>
<translation>Wymagana autoryzacja pośrednika</translation>
</message>
@@ -2328,7 +2338,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Nawiązanie sesji SSL nie powiodło się</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-302"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-307"/>
<source>Connection refused (or timed out)</source>
<translation>Połączenie odrzucone (przekroczony czas połączenia)</translation>
</message>
@@ -2384,7 +2394,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1432"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1482"/>
<source>Could not start transaction</source>
<translation>Nie można rozpocząć transakcji</translation>
</message>
@@ -2407,7 +2417,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-601"/>
+ <location line="-620"/>
<source>Could not allocate statement</source>
<translation>Nie można zaallokować polecenia</translation>
</message>
@@ -2469,17 +2479,17 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Nie można dokonać transakcji</translation>
</message>
<message>
- <location line="-443"/>
+ <location line="-444"/>
<source>Unable to create BLOB</source>
<translation>Nie można utworzyć obiektu typu BLOB</translation>
</message>
<message>
- <location line="+626"/>
+ <location line="+627"/>
<source>Unable to execute query</source>
<translation>Nie można wykonać zapytania</translation>
</message>
<message>
- <location line="-606"/>
+ <location line="-607"/>
<source>Unable to open BLOB</source>
<translation>Nie można otworzyć obiektu typu BLOB</translation>
</message>
@@ -2497,7 +2507,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1839"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1878"/>
<source>No space left on device</source>
<translation>Brak wolnego miejsca na urządzeniu</translation>
</message>
@@ -2517,7 +2527,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Zbyt wiele otwartych plików</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation>Nieznany błąd</translation>
</message>
@@ -2525,7 +2535,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+243"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+273"/>
<source>Mac OS X input method</source>
<translation>Metoda wprowadzania Mac OS X</translation>
</message>
@@ -2548,7 +2558,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation>Podaj wartość:</translation>
</message>
@@ -2556,7 +2566,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QLibrary</name>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation>Nie można wykonać przypisania &apos;%1&apos;: %2</translation>
</message>
@@ -2587,7 +2597,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
</message>
<message>
<location line="-377"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+250"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation>Biblioteka współdzielona niedostępna.</translation>
</message>
@@ -2602,8 +2612,8 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Wtyczka &quot;%1&quot; używa innej wersji biblioteki Qt. (Nie można łączyć bibliotek zwykłych i debugowych.)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+179"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation>Nie można załadować biblioteki %1: %2</translation>
</message>
@@ -2623,7 +2633,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2664"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2695"/>
<source>&amp;Copy</source>
<translation>S&amp;kopiuj</translation>
</message>
@@ -2661,8 +2671,8 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+196"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation>%1: Błąd nazwy</translation>
</message>
@@ -2678,7 +2688,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
</message>
<message>
<location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+127"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation>%1: Nieznany błąd %2</translation>
</message>
@@ -2686,8 +2696,8 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+102"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation>%1: Odmowa połączenia</translation>
</message>
@@ -2700,7 +2710,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
<location line="+43"/>
<source>%1: Invalid name</source>
<translation>%1: Niepoprawna nazwa</translation>
@@ -2757,7 +2767,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1330"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1365"/>
<source>Unable to begin transaction</source>
<translation>Nie można rozpocząć transakcji</translation>
</message>
@@ -2767,7 +2777,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Nie można potwierdzić transakcji</translation>
</message>
<message>
- <location line="-140"/>
+ <location line="-144"/>
<source>Unable to connect</source>
<translation>Nie można nawiązać połączenia</translation>
</message>
@@ -2777,7 +2787,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Nie można otworzyć bazy danych &apos;</translation>
</message>
<message>
- <location line="+164"/>
+ <location line="+168"/>
<source>Unable to rollback transaction</source>
<translation>Nie można wycofać transakcji</translation>
</message>
@@ -2785,7 +2795,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-392"/>
+ <location line="-396"/>
<location line="+21"/>
<source>Unable to bind outvalues</source>
<translation>Nie można powiązać wartości zewnętrznych</translation>
@@ -2796,22 +2806,22 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Nie można powiązać wartości</translation>
</message>
<message>
- <location line="-324"/>
+ <location line="-325"/>
<source>Unable to execute query</source>
<translation>Nie można wykonać zapytania</translation>
</message>
<message>
- <location line="+335"/>
+ <location line="+336"/>
<source>Unable to execute statement</source>
<translation>Nie można wykonać polecenia</translation>
</message>
<message>
- <location line="-511"/>
+ <location line="-512"/>
<source>Unable to fetch data</source>
<translation>Nie można pobrać danych</translation>
</message>
<message>
- <location line="+371"/>
+ <location line="+372"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
<translation>Nie można przygotować polecenia</translation>
@@ -2822,12 +2832,12 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Nie można skasować polecenia</translation>
</message>
<message>
- <location line="-231"/>
+ <location line="-232"/>
<source>Unable to store result</source>
<translation>Nie można zachować wyników</translation>
</message>
<message>
- <location line="+352"/>
+ <location line="+353"/>
<source>Unable to store statement results</source>
<translation>Nie można zachować wyników polecenia</translation>
</message>
@@ -2845,7 +2855,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation>(Nienazwany)</translation>
</message>
@@ -2853,7 +2863,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation>%1 - [%2]</translation>
</message>
@@ -2946,7 +2956,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+127"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
<location line="+225"/>
<source>Close</source>
<translation>Zamknij</translation>
@@ -2968,27 +2978,24 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-616"/>
<source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
- <translation>&lt;p&gt; Ten program używa Qt Open Source Edition w wersji %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Strona &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; opisuje sposób licencjonowania Qt.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt; Ten program używa Qt Open Source Edition w wersji %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Strona &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; opisuje sposób licencjonowania Qt.&lt;/p&gt;</translation>
</message>
<message>
- <location line="-2"/>
<source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation>&lt;p&gt; Ten program używa Qt w wersji %1.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt; Ten program używa Qt w wersji %1.&lt;/p&gt;</translation>
</message>
<message>
- <location line="-13"/>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation>&lt;h3&gt;Informacje o Qt&lt;/h3&gt;%1&lt;p&gt;Qt jest biblioteką C++ do tworzenia przenośnego oprogramowania.&lt;/p&gt;&lt;p&gt;Qt umożliwia pisanie przenośnego kodu zarówno dla MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux jak i dla wszystkich głównych komercyjnych wariantów Unix&apos;ó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.&lt;/p&gt;&lt;p&gt;Producentem Qt jest Nokia. Więcej informacji na stronie &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt;.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;h3&gt;Informacje o Qt&lt;/h3&gt;%1&lt;p&gt;Qt jest biblioteką C++ do tworzenia przenośnego oprogramowania.&lt;/p&gt;&lt;p&gt;Qt umożliwia pisanie przenośnego kodu zarówno dla MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux jak i dla wszystkich głównych komercyjnych wariantów Unix&apos;ó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.&lt;/p&gt;&lt;p&gt;Producentem Qt jest Nokia. Więcej informacji na stronie &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt;.&lt;/p&gt;</translation>
</message>
<message>
- <location line="+28"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-603"/>
<source>About Qt</source>
<translation>Informacje o Qt</translation>
</message>
<message>
- <location line="-502"/>
+ <location line="-508"/>
<source>Help</source>
<translation>Pomoc</translation>
</message>
@@ -3006,7 +3013,12 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>OK</translation>
</message>
<message>
- <location line="-1096"/>
+ <location line="+475"/>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-1571"/>
<source>Show Details...</source>
<translation>Pokaż szczegóły...</translation>
</message>
@@ -3014,7 +3026,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation>Wybierz metodę wprowadzania</translation>
</message>
@@ -3022,7 +3034,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation>Przełącznik metody wprowadzania</translation>
</message>
@@ -3035,7 +3047,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+233"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+263"/>
<source>Another socket is already listening on the same port</source>
<translation>Inne gniazdo nasłuchuje już na tym porcie</translation>
</message>
@@ -3168,7 +3180,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation>Błąd otwierania %1</translation>
</message>
@@ -3176,7 +3188,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation>Żądanie otwarcia zdalnego pliku %1</translation>
</message>
@@ -3204,7 +3216,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation>Nie odnaleziono odpowiedniego pośrednika</translation>
</message>
@@ -3214,7 +3226,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Nie można otworzyć %1: jest to katalog</translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation>Błąd podczas logowania do %1: wymagana autoryzacja</translation>
</message>
@@ -3232,7 +3244,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation>Nie odnaleziono odpowiedniego pośrednika</translation>
</message>
@@ -3245,7 +3257,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Błąd podczas pobierania %1 - odpowiedź serwera: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation>Protokół &quot;%1&quot; nie jest znany</translation>
</message>
@@ -3253,7 +3265,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+422"/>
+ <location line="+432"/>
<location line="+22"/>
<source>Operation canceled</source>
<translation>Operacja anulowana</translation>
@@ -3262,7 +3274,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+1883"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+1925"/>
<source>Unable to initialize</source>
<comment>QOCIDriver</comment>
<translation>Nie można dokonać inicjalizacji</translation>
@@ -3291,7 +3303,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QOCIResult</name>
<message>
- <location line="-976"/>
+ <location line="-963"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3318,18 +3330,16 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Nie można przygotować polecenia</translation>
</message>
<message>
- <location line="+29"/>
- <location line="+37"/>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation>Nie można powiązać wartości</translation>
</message>
<message>
- <location line="-20"/>
<source>Unable to execute select statement</source>
- <translation>Nie można wykonać polecenia select</translation>
+ <translation type="obsolete">Nie można wykonać polecenia select</translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation>Nie można wykonać polecenia</translation>
</message>
@@ -3337,12 +3347,12 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1914"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+2050"/>
<source>Unable to commit transaction</source>
<translation>Nie można potwierdzić transakcji</translation>
</message>
<message>
- <location line="-257"/>
+ <location line="-265"/>
<source>Unable to connect</source>
<translation>Nie można nawiązać połączenia</translation>
</message>
@@ -3352,7 +3362,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Nie można nawiązać połączenia - sterownik nie obsługuje całej potrzebnej funkcjonalności</translation>
</message>
<message>
- <location line="+234"/>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation>Nie można wyłączyć trybu automatycznego dokonywania transakcji</translation>
</message>
@@ -3370,24 +3380,24 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1189"/>
+ <location line="-1203"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: Nie można ustawić &apos;SQL_CURSOR_STATIC&apos; jako atrybutu polecenia. Proszę sprawdzić konfiguracje sterownika ODBC</translation>
</message>
<message>
- <location line="+285"/>
+ <location line="+286"/>
<source>Unable to bind variable</source>
<translation>Nie można powiązać zmiennej</translation>
</message>
<message>
- <location line="-617"/>
- <location line="+625"/>
+ <location line="-618"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation>Nie można wykonać polecenia</translation>
</message>
<message>
- <location line="-554"/>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation>Nie można pobrać kolejnych danych</translation>
</message>
@@ -3399,12 +3409,12 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
<location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-207"/>
- <location line="+577"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation>Nie można pobrać ostatnich danych</translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-671"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation>Nie można pobrać</translation>
</message>
@@ -3422,12 +3432,12 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QObject</name>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation>Strona startowa</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation>Operacja nieobsługiwana na %1</translation>
</message>
@@ -3437,7 +3447,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Niepoprawny URI: %1</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation>Błąd w trakcie zapisywania do %1: %2</translation>
</message>
@@ -3462,7 +3472,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Błąd protokołu: otrzymano pakiet o zerowym rozmiarze</translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+147"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
<location line="+57"/>
<source>No host name given</source>
<translation>Nie podano nazwy hosta</translation>
@@ -3471,7 +3481,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation>Nazwa</translation>
</message>
@@ -3484,7 +3494,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+781"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+812"/>
<source>Could not begin transaction</source>
<translation>Nie można rozpocząć transakcji</translation>
</message>
@@ -3504,7 +3514,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>Nie można nawiązać połączenia</translation>
</message>
<message>
- <location line="+418"/>
+ <location line="+440"/>
<source>Unable to subscribe</source>
<translation>Nie można wykonać subskrypcji</translation>
</message>
@@ -3517,12 +3527,12 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1035"/>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation>Nie można utworzyć zapytania</translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation>Nie można przygotować wyrażenia</translation>
</message>
@@ -3530,7 +3540,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation>Centymetry (cm)</translation>
</message>
@@ -3646,7 +3656,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+299"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+329"/>
<source>A0 (841 x 1189 mm)</source>
<translation>A0 (841 x 1189 mm)</translation>
</message>
@@ -3696,7 +3706,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>A9 (37 x 52 mm)</translation>
</message>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+91"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+121"/>
<location line="+225"/>
<source>Aliases: %1</source>
<translation>Aliasy: %1</translation>
@@ -3772,7 +3782,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>podłączony lokalnie</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -3828,7 +3838,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation>
<translation>US Common #10 Envelope (105 x 241 mm)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
@@ -4075,7 +4085,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation>%1%</translation>
</message>
@@ -4175,7 +4185,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+38"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
<location line="+12"/>
<source>Page Setup</source>
<translation>Ustawienia strony</translation>
@@ -4348,8 +4358,8 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+445"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation type="unfinished"></translation>
</message>
@@ -4378,7 +4388,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+503"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4398,6 +4408,11 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation type="unfinished"></translation>
@@ -4406,7 +4421,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>Anuluj</translation>
</message>
@@ -4430,7 +4445,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+36"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+66"/>
<source>bad char class syntax</source>
<translation>niepoprawna składnia klasy znakowej</translation>
</message>
@@ -4478,7 +4493,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation>Nie można otworzyć bazy danych</translation>
</message>
@@ -4501,12 +4516,12 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-171"/>
+ <location line="-176"/>
<source>Unable to execute statement</source>
<translation>Nie można wykonać polecenia</translation>
</message>
<message>
- <location line="-139"/>
+ <location line="-147"/>
<source>Unable to fetch results</source>
<translation>Nie można pobrać wyników</translation>
</message>
@@ -4514,7 +4529,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+509"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+539"/>
<source>Error closing database</source>
<translation>Błąd zamykania bazy danych</translation>
</message>
@@ -4577,12 +4592,12 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+424"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+451"/>
<source>Bottom</source>
<translation>W dół</translation>
</message>
<message>
- <location line="-2"/>
+ <location line="-1"/>
<source>Left edge</source>
<translation>Lewa krawędź</translation>
</message>
@@ -4597,23 +4612,23 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Linia w górę</translation>
</message>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+7"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+4"/>
<location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+6"/>
<source>Page down</source>
<translation>Strona w dół</translation>
</message>
<message>
- <location line="-2"/>
+ <location line="-1"/>
<source>Page left</source>
<translation>Strona w lewo</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Page right</source>
<translation>Strona w prawo</translation>
</message>
<message>
- <location line="-2"/>
+ <location line="-1"/>
<location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="-4"/>
<source>Page up</source>
<translation>Strona do góry</translation>
@@ -4624,37 +4639,37 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Pozycja</translation>
</message>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="-3"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="-2"/>
<source>Right edge</source>
<translation>Prawa krawędź</translation>
</message>
<message>
- <location line="+10"/>
+ <location line="+6"/>
<source>Scroll down</source>
<translation>Przewiń w dół</translation>
</message>
<message>
- <location line="-15"/>
+ <location line="-9"/>
<source>Scroll here</source>
<translation>Przewiń tutaj</translation>
</message>
<message>
- <location line="+13"/>
+ <location line="+8"/>
<source>Scroll left</source>
<translation>Przewiń w lewo</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Scroll right</source>
<translation>Przewiń w prawo</translation>
</message>
<message>
- <location line="-2"/>
+ <location line="-1"/>
<source>Scroll up</source>
<translation>Przewiń do góry</translation>
</message>
<message>
- <location line="-10"/>
+ <location line="-6"/>
<source>Top</source>
<translation>Do góry</translation>
</message>
@@ -4662,13 +4677,13 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+258"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+288"/>
<source>%1: create size is less then 0</source>
<translation>%1: rozmiar przy tworzeniu mniejszy od 0</translation>
</message>
<message>
<location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+118"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation>%1: nie można zablokować</translation>
</message>
@@ -4678,8 +4693,8 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>%1: nie można odblokować</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+48"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation>%1: brak dostępu</translation>
</message>
@@ -4762,7 +4777,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+1061"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+1091"/>
<source>+</source>
<translation>+</translation>
</message>
@@ -5343,7 +5358,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+880"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+910"/>
<source>Cancel</source>
<translation>Anuluj</translation>
</message>
@@ -5400,7 +5415,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+539"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
<translation>Nie można zapisać danych: %1</translation>
</message>
@@ -5459,7 +5474,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<name>QSystemSemaphore</name>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation>%1: zasoby wyczerpane</translation>
</message>
@@ -5489,7 +5504,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation>Nie można otworzyć połączenia</translation>
</message>
@@ -5515,7 +5530,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QTcpServer</name>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation>Operacja na gnieździe nieobsługiwana</translation>
</message>
@@ -5523,7 +5538,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1953"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1984"/>
<source>&amp;Copy</source>
<translation>S&amp;kopiuj</translation>
</message>
@@ -5581,7 +5596,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation>Ta platforma nie obsługuje IPv6</translation>
</message>
@@ -5589,7 +5604,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+384"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+414"/>
<source>Redo</source>
<translation>Przywróć</translation>
</message>
@@ -5602,7 +5617,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation>&lt;pusty&gt;</translation>
</message>
@@ -5610,7 +5625,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+831"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+861"/>
<source>Redo</source>
<translation>Przywróć</translation>
</message>
@@ -5681,7 +5696,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation>Prośba anulowana</translation>
</message>
@@ -6093,7 +6108,7 @@ Proszę wybrać inną nazwę pliku.</translation>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6169,6 +6184,11 @@ Proszę wybrać inną nazwę pliku.</translation>
</message>
<message>
<location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation type="unfinished"></translation>
</message>
@@ -6237,11 +6257,21 @@ Proszę wybrać inną nazwę pliku.</translation>
<source>Delete to the end of the word</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation>Co to jest?</translation>
</message>
@@ -6249,7 +6279,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -6257,7 +6287,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+605"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
<source>Go Back</source>
<translation>Wróć</translation>
</message>
@@ -6319,7 +6349,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1862"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1892"/>
<location line="+60"/>
<source>%1 - [%2]</source>
<translation>%1 - [%2]</translation>
@@ -6389,7 +6419,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+39"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+69"/>
<source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
<translation>oczekiwano deklaracji &quot;encoding&quot; lub &quot;standalone&quot; podczas odczytywania deklaracji XML</translation>
</message>
@@ -6507,8 +6537,8 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+562"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation>Dodatkowa treść na końcu dokumentu.</translation>
</message>
@@ -6692,12 +6722,12 @@ Proszę wybrać inną nazwę pliku.</translation>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation>Przekroczony czas połączenia.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation>Element %1 nie może być zserializowany ponieważ pojawił się poza elementem &quot;document&quot;.</translation>
</message>
@@ -6707,7 +6737,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Atrybut %1 nie może być zserializowany ponieważ pojawił się na najwyższym poziomie.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation>Rok %1 jest niepoprawny ponieważ rozpoczyna się: %2.</translation>
</message>
@@ -6747,7 +6777,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Przepełnienie: Data nie może być wyrażona.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+69"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
<location line="+15"/>
<source>At least one component must be present.</source>
<translation>Przynajmniej jeden komponent musi być obecny.</translation>
@@ -6758,22 +6788,22 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Przynajmniej jeden komponent musi wystąpić po nawiasie %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation>Żaden składnik dzielenia %1 nie może być %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation>%1 nie jest poprawną wartością dla typu %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation>W rzutowaniu %1 na %2 wartość źródłowa nie może być %3.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+171"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+201"/>
<location line="+32"/>
<source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source>
<translation>Dzielenie wartości typu %1 przez %2 (typ nienumeryczny) jest niedozwolone.</translation>
@@ -6789,17 +6819,17 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Mnożenie wartości typu %1 przez %2 lub %3 (plus lub minus nieskończoność) jest niedozwolone.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation>Wartość typu %1 nie może posiadać efektywnej wartości boolowskiej (EBV).</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation>Efektywna wartość boolowska (EBV) nie może być obliczona dla sekwencji zawierającej dwie lub więcej wartości atomowe.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation>Wartość %1 typu %2 przekracza maksimum (%3).</translation>
</message>
@@ -6809,7 +6839,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Wartość %1 typu %2 jest poniżej minimum (%3).</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation>Wartość typu %1 musi zawierać parzystą liczbę cyfr. Wartość %2 nie zawiera.</translation>
</message>
@@ -6819,7 +6849,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Wartość %1 nie jest poprawna jako wartość typu %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation>Operator %1 nie może być użyty dla typu %2.</translation>
</message>
@@ -6829,7 +6859,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Operator %1 nie może być użyty dla atomowych wartości typu %2 i %3.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation>Przestrzeń nazw URI nie może być %1 w nazwie dla obliczonego atrybutu.</translation>
</message>
@@ -6839,7 +6869,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Nazwa dla wyliczonego atrybutu nie może mieć przestrzeni nazw URI %1 z lokalną nazwą %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation>Błąd typów w rzutowaniu: spodziewano się %1, otrzymano %2.</translation>
</message>
@@ -6849,7 +6879,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>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.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+119"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+149"/>
<source>It is not possible to cast from %1 to %2.</source>
<translation>Nie można zrzutować %1 na %2.</translation>
</message>
@@ -6869,7 +6899,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Błąd podczas rzutowania %1 na %2: %3</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation>Komentarz nie może zawierać %1</translation>
</message>
@@ -6879,7 +6909,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Komentarz nie może kończyć się: %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+137"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/>
<source>No comparisons can be done involving the type %1.</source>
<translation>Żadne porównania nie mogą być wykonane dla typu %1.</translation>
</message>
@@ -6889,12 +6919,12 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Operator %1 jest niedostępny pomiędzy atomowymi wartościami %2 i %3.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation>Węzeł &quot;attribute&quot; nie może być dzieckiem węzła &quot;document&quot;. Dlatego atrybut %1 jest w złym miejscu.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation>Moduł biblioteki nie może być bezpośrednio oceniony. On musi być zaimportowany z głównego modułu.</translation>
</message>
@@ -6904,7 +6934,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Szablon o nazwie %1 nie istnieje.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation>Wartość typu %1 nie może być predykatem. Predykat musi być typu liczbowego lub Efektywną Wartość Logiczną.</translation>
</message>
@@ -6914,38 +6944,38 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Wynikiem predykatu pozycyjnego musi być pojedyńcza wartość liczbowa.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+107"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+137"/>
<source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source>
<translation>%1 nie jest poprawną nazwą docelową w instrukcji przetwarzania. Nazwa musi być wartością %2, np. %3.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation>Ostatni krok w ścieżce musi zawierać albo wezły albo wartości atomowe. Nie może zawierać obu jednocześnie.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation>Dane instrukcji przetwarzania nie mogą zawierać ciągu %1</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation>Żadna przestrzeń nazw nie jest powiązana z przedrostkiem %1</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+126"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation>Żadna przestrzeń nazw nie jest powiązana z przedrostkiem %1 w %2</translation>
</message>
<message>
<location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+39"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation>%1 jest niepoprawnym %2</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation>Pierwszy argument w %1 nie może być typu %2. Musi on być typu liczbowego: xs:yearMonthDuration lub xs:dayTimeDuration.</translation>
</message>
@@ -6960,27 +6990,27 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Drugi argument w %1 nie może być typu %2. Musi on być typu: %3, %4 lub %5.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation>%1 nie jest poprawnym znakiem XML 1.0.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation>Pierwszy argument dla %1 nie może być typu %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation>Jeśli oba argumenty mają przesunięcia strefowe, muszą one być takie same. %1 i %2 nie są takie same.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation>Wywołano %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+64"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation>Po %1 musi następowac %2 lub %3, lecz nie na końcu zastępczego ciągu.</translation>
</message>
@@ -6995,7 +7025,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>W zastępczym ciągu %1 może być użyte tylko do zabezpieczenia samej siebie lub %2, nigdy %3</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation>%1 dopasowało znak nowej linii</translation>
</message>
@@ -7030,12 +7060,12 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>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.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation>Nie będzie można odzyskać %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation>Domyślna kolekcja jest niezdefiniowana</translation>
</message>
@@ -7045,27 +7075,27 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>%1 nie może być odzyskane</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation>Znormalizowana forma %1 nie jest obsługiwana. Obsługiwanymi formami są: %2, %3, %4 i %5 oraz pusta forma (brak normalizacji).</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation>Przesunięcie strefowe musi być w zakresie %1..%2 włącznie. %3 jest poza tym zakresem.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation>Wymagana liczność wynosi %1; otrzymano %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation>Element %1 nie został dopasowany do wymaganego typu %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+319"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
<location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation>%1 jest nieznanym typem schematu.</translation>
@@ -7081,7 +7111,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Inicjalizacja zmiennej %1 zależy od niej samej</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation>Zmienna %1 jest nieużywana</translation>
</message>
@@ -7355,7 +7385,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Nazwa dodatkowego wyrażenia musi znajdować sie w przestrzeni nazw.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation>pusty</translation>
</message>
@@ -7380,7 +7410,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>zero lub więcej</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+33"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation>Odnaleziono typ %2, lecz wymaganym typem jest %1.</translation>
</message>
@@ -7395,7 +7425,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Focus jest niezdefiniowany.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation>Dodanie atrybutu poza węzłami nie jest możliwe.</translation>
</message>
@@ -7405,12 +7435,12 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Atrybut o nazwie %1 został już utworzony.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation>Obsługiwane jest jedynie &quot;Unicode Codepoint Collation&quot; (%1), %2 nie jest obsługiwane.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation>Atrybut %1 o wartości %2 został już zadeklarowany.</translation>
</message>
@@ -7455,7 +7485,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Docelowa nazwa w instrukcji przetwarzania nie może być %1 w żadnej kombinacji wielkich i małych liter. Dlatego nazwa %2 jest niepoprawna.</translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation>
<numerusform>%1 przyjmuje co najwyżej %n argument. %2 jest dlatego niepoprawne.</numerusform>
@@ -7473,7 +7503,7 @@ Proszę wybrać inną nazwę pliku.</translation>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation>Głównym węzłem drugiego argumentu w funkcji %1 musi być węzeł &quot;document&quot;. %2 nie jest węzłem &quot;document&quot;.</translation>
</message>
@@ -7504,7 +7534,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Importy modułów muszą pojawić się przed deklaracjami funkcji, zmiennych i opcji.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation>Nieobsługiwane kodowanie %1.</translation>
</message>
@@ -7519,14 +7549,18 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation>Dopasowano niejednoznaczną regułę.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+39"/>
<source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
- <translation>W konstruktorze przestrzeni nazw wartość przestrzeni nazw nie może być pustym ciągiem.</translation>
+ <translation type="obsolete">W konstruktorze przestrzeni nazw wartość przestrzeni nazw nie może być pustym ciągiem.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
@@ -7544,12 +7578,12 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Tylko przedrostek %1 może być powiązany z %2 i vice versa.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation>Wykryto cykl</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation>Wymagany jest parametr %1 lecz żaden odpowiadający mu %2 nie został dostarczony.</translation>
</message>
@@ -7559,12 +7593,12 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Przekazany jest parametr %1 lecz żaden odpowiadający mu %2 nie istnieje.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation>URI nie może posiadać fragmentu</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation>Element %1 jest niedozwolony w tym miejscu.</translation>
</message>
@@ -7619,7 +7653,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Przynajmniej jeden tryb musi być określony w atrybucie %1 elementu %2.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation>W elemencie %2 nie może wystąpić atrybut %1. Wystąpić mogą jedynie standardowe atrybuty.</translation>
</message>
@@ -7694,7 +7728,7 @@ Proszę wybrać inną nazwę pliku.</translation>
<translation>Element %1 nie może posiadać potomków.</translation>
</message>
<message>
- <location line="+432"/>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation>Element %1 nie może posiadać sekwencyjnego konstruktora.</translation>
</message>
diff --git a/translations/qt_pt.ts b/translations/qt_pt.ts
index c04456a..b00aaa0 100644
--- a/translations/qt_pt.ts
+++ b/translations/qt_pt.ts
@@ -4,7 +4,7 @@
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -22,7 +22,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation type="unfinished"></translation>
</message>
@@ -89,7 +89,7 @@
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -102,24 +102,24 @@ have libgstreamer-plugins-base installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+653"/>
- <location line="+9"/>
+ <location line="+676"/>
+ <location line="+8"/>
<location line="+15"/>
- <location line="+7"/>
- <location line="+5"/>
- <location line="+20"/>
- <location line="+317"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-381"/>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+355"/>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation type="unfinished"></translation>
</message>
@@ -153,7 +153,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation>%1, %2 indefinido</translation>
</message>
@@ -166,7 +166,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+253"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation>Verdadeiro</translation>
</message>
@@ -194,7 +194,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+834"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation>Copiar ou Mover um Ficheiro</translation>
</message>
@@ -219,7 +219,7 @@ have libgstreamer-plugins-base installed.</source>
<location line="-157"/>
<location line="+49"/>
<location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+80"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation>Todos os Ficheiros (*)</translation>
</message>
@@ -359,7 +359,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+704"/>
<location line="+2100"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+307"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation>Abrir</translation>
</message>
@@ -527,7 +527,7 @@ Verifique a localização e o nome.</translation>
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+100"/>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
<location line="+10"/>
<source>Could not read directory
%1</source>
@@ -577,7 +577,7 @@ para
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2021"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation>Alinhar</translation>
</message>
@@ -590,7 +590,7 @@ para
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation>Operação interrompida pelo utilizador</translation>
</message>
@@ -598,7 +598,7 @@ para
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+194"/>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
<translation>Cancelar</translation>
@@ -607,7 +607,7 @@ para
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+159"/>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
<location line="+814"/>
<source>OK</source>
<translation>OK</translation>
@@ -636,7 +636,7 @@ para
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5399"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation>&amp;Desfazer</translation>
</message>
@@ -675,7 +675,7 @@ para
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+216"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation>Sistema</translation>
</message>
@@ -743,7 +743,7 @@ para
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation>Mais...</translation>
</message>
@@ -751,7 +751,7 @@ para
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+356"/>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
@@ -803,7 +803,7 @@ para
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+147"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation>&amp;Cancelar</translation>
</message>
@@ -831,9 +831,9 @@ para
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+838"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+585"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+627"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
<location line="+26"/>
<source>Host not found</source>
<translation>Máquina desconhecida</translation>
@@ -876,7 +876,7 @@ para
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1169"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation>&amp;Passo acima</translation>
</message>
@@ -894,12 +894,12 @@ para
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation>Activar</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation>O executável &apos;%1&apos; requere Qt %2, Qt %3 encontrado.</translation>
</message>
@@ -909,7 +909,7 @@ para
<translation>Erro de Incompatibilidade da Biblioteca Qt</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
@@ -946,7 +946,7 @@ para
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+84"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation>Desactivar</translation>
</message>
@@ -964,7 +964,7 @@ para
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1219"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation>C&amp;or:</translation>
</message>
@@ -1038,13 +1038,13 @@ para
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1741"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
<location line="+65"/>
<source>Open</source>
<translation>Abrir</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation type="unfinished">Falso</translation>
</message>
@@ -1062,7 +1062,7 @@ para
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation type="unfinished"></translation>
@@ -1083,12 +1083,12 @@ para
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation>Ligação não possível</translation>
</message>
<message>
- <location line="+263"/>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation>Finalização de transacção não possível</translation>
</message>
@@ -1106,8 +1106,8 @@ para
<context>
<name>QDB2Result</name>
<message>
- <location line="-986"/>
- <location line="+242"/>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation>Execução não possível</translation>
</message>
@@ -1122,7 +1122,7 @@ para
<translation>Ligação de variável não possível</translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation>Obtenção do registo %1 não possível</translation>
</message>
@@ -1140,7 +1140,7 @@ para
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation>AM</translation>
</message>
@@ -1163,7 +1163,7 @@ para
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation type="unfinished"></translation>
</message>
@@ -1181,7 +1181,7 @@ para
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>O Que é Isto?</translation>
</message>
@@ -1194,9 +1194,9 @@ para
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1830"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+531"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -1319,7 +1319,7 @@ para
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+423"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation>Nome</translation>
</message>
@@ -1349,7 +1349,7 @@ para
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation type="unfinished">Fechar</translation>
</message>
@@ -1380,7 +1380,7 @@ para
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+162"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+192"/>
<source>Debug Message:</source>
<translation>Mensagem Depuração:</translation>
</message>
@@ -1408,13 +1408,18 @@ para
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+678"/>
- <location line="+130"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation type="unfinished"></translation>
</message>
@@ -1437,37 +1442,37 @@ para
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+484"/>
- <location line="+423"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+515"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation>Todos os Ficheiros (*)</translation>
</message>
<message>
- <location line="+218"/>
+ <location line="+222"/>
<source>Directories</source>
<translation>Pastas</translation>
</message>
<message>
<location line="-3"/>
<location line="+50"/>
- <location line="+1440"/>
+ <location line="+1471"/>
<location line="+75"/>
<source>&amp;Open</source>
<translation>&amp;Abrir</translation>
</message>
<message>
- <location line="-1565"/>
+ <location line="-1596"/>
<location line="+50"/>
<source>&amp;Save</source>
<translation>&amp;Gravar</translation>
</message>
<message>
- <location line="-705"/>
+ <location line="-730"/>
<source>Open</source>
<translation>Abrir</translation>
</message>
<message>
- <location line="+1469"/>
+ <location line="+1515"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 já existe.
@@ -1488,7 +1493,7 @@ Por favor verifique o nome do ficheiro.</translation>
<translation>O Meu Computador</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1458"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1504"/>
<source>&amp;Rename</source>
<translation>&amp;Mudar o Nome</translation>
</message>
@@ -1534,7 +1539,7 @@ Por favor verifique o nome do ficheiro.</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="+6"/>
- <location line="+623"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation>Pasta:</translation>
</message>
@@ -1547,8 +1552,8 @@ Ficheiro não encontrado.
Por favor verifique o nome do ficheiro</translation>
</message>
<message>
- <location line="+773"/>
- <location line="+851"/>
+ <location line="+794"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
@@ -1557,7 +1562,7 @@ Pasta não encontrada.
Por favor verifique o nome da pasta.</translation>
</message>
<message>
- <location line="-217"/>
+ <location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation>&apos;%1&apos; está protegido contra escrita.
@@ -1574,22 +1579,22 @@ Deseja apagar de qualquer forma?</translation>
<translation>Não foi possível apagar a pasta.</translation>
</message>
<message>
- <location line="+406"/>
+ <location line="+407"/>
<source>Recent Places</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation>Todos os Ficheiros (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2493"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2550"/>
<source>Save As</source>
<translation>Gravar Como</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+381"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+411"/>
<source>Drive</source>
<translation>Unidade</translation>
</message>
@@ -1621,29 +1626,29 @@ Deseja apagar de qualquer forma?</translation>
<translation type="unfinished">Seguinte</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1914"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1970"/>
<source>New Folder</source>
<translation type="unfinished">Nova Pasta</translation>
</message>
<message>
- <location line="-1907"/>
+ <location line="-1963"/>
<source>&amp;New Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+631"/>
+ <location line="+656"/>
<location line="+38"/>
<source>&amp;Choose</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-662"/>
- <location line="+627"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation type="unfinished">&amp;Nome do Ficheiro:</translation>
</message>
@@ -1663,7 +1668,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+707"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
<source>%1 TB</source>
<translation type="unfinished"></translation>
</message>
@@ -1725,7 +1730,7 @@ Deseja apagar de qualquer forma?</translation>
<translation type="unfinished">Data de Modificação</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation type="unfinished">O Meu Computador</translation>
</message>
@@ -1738,7 +1743,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+60"/>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
<location line="+1176"/>
<source>Normal</source>
<translation type="unfinished"></translation>
@@ -1955,7 +1960,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+742"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation>&amp;Tipo de Letra</translation>
</message>
@@ -2004,8 +2009,8 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+796"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+653"/>
+ <location filename="../src/network/access/qftp.cpp" line="+826"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+683"/>
<source>Not connected</source>
<translation>Desligado</translation>
</message>
@@ -2150,7 +2155,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation>Erro desconhecido</translation>
</message>
@@ -2158,11 +2163,11 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+148"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
<location line="+9"/>
<location line="+64"/>
<location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+150"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
<location line="+9"/>
<location line="+40"/>
<location line="+27"/>
@@ -2188,26 +2193,26 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+335"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+365"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1209"/>
- <location line="+816"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1130"/>
+ <location line="+820"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1160"/>
<location line="+567"/>
<source>Unknown error</source>
<translation>Erro desconhecido</translation>
</message>
<message>
- <location line="-564"/>
+ <location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation>Pedido abortado</translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation>Nenhum servidor para ligar</translation>
@@ -2225,18 +2230,23 @@ Deseja apagar de qualquer forma?</translation>
<translation>O servidor fechou a ligação inesperadamente</translation>
</message>
<message>
- <location line="+357"/>
+ <location line="+179"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+183"/>
<source>Error writing response to device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+1712"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+38"/>
<source>Connection refused</source>
<translation>Ligação recusada</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-299"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-304"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2257,7 +2267,7 @@ Deseja apagar de qualquer forma?</translation>
<translation>Cabeçalho de resposta HTTP inválido</translation>
</message>
<message>
- <location line="+120"/>
+ <location line="+125"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
@@ -2306,7 +2316,7 @@ Deseja apagar de qualquer forma?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-133"/>
+ <location line="-138"/>
<source>Connection refused (or timed out)</source>
<translation type="unfinished"></translation>
</message>
@@ -2387,7 +2397,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1378"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation>Erro ao abrir a base de dados</translation>
</message>
@@ -2410,7 +2420,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1077"/>
+ <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation>Não foi possível criar o BLOB</translation>
</message>
@@ -2430,7 +2440,7 @@ Deseja apagar de qualquer forma?</translation>
<translation>Não foi possível ler o BLOB</translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<location line="+189"/>
<source>Could not find array</source>
<translation>Não foi possível encontrar o array</translation>
@@ -2500,7 +2510,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1830"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation>Permissão negada</translation>
</message>
@@ -2520,7 +2530,7 @@ Deseja apagar de qualquer forma?</translation>
<translation>Dispositivo sem espaço livre</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation>Erro desconhecido</translation>
</message>
@@ -2528,7 +2538,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+212"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation>XIM</translation>
</message>
@@ -2551,7 +2561,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation type="unfinished"></translation>
</message>
@@ -2571,7 +2581,7 @@ Deseja apagar de qualquer forma?</translation>
<translation type="obsolete">QLibrary::resolve_sys: Símbolo &quot;%1&quot; indefinido em %2 (%3)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation>Não foi possivel mapear &apos;%1&apos;: %2</translation>
</message>
@@ -2602,7 +2612,7 @@ Deseja apagar de qualquer forma?</translation>
</message>
<message>
<location line="-377"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+250"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation type="unfinished"></translation>
</message>
@@ -2617,8 +2627,8 @@ Deseja apagar de qualquer forma?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+179"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2638,7 +2648,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2649"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2680"/>
<source>&amp;Undo</source>
<translation>&amp;Desfazer</translation>
</message>
@@ -2676,8 +2686,8 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+196"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation type="unfinished"></translation>
</message>
@@ -2693,7 +2703,7 @@ Deseja apagar de qualquer forma?</translation>
</message>
<message>
<location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+127"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2701,8 +2711,8 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+102"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation type="unfinished"></translation>
</message>
@@ -2715,7 +2725,7 @@ Deseja apagar de qualquer forma?</translation>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
<location line="+43"/>
<source>%1: Invalid name</source>
<translation type="unfinished"></translation>
@@ -2772,7 +2782,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1200"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation>Não foi possível abrir a base de dados &apos;</translation>
</message>
@@ -2782,7 +2792,7 @@ Deseja apagar de qualquer forma?</translation>
<translation>Não foi possível estabelecer a ligação</translation>
</message>
<message>
- <location line="+123"/>
+ <location line="+127"/>
<source>Unable to begin transaction</source>
<translation>Não foi possível iniciar a transacção</translation>
</message>
@@ -2800,7 +2810,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-917"/>
+ <location line="-922"/>
<source>Unable to fetch data</source>
<translation>Não foi possível obter dados</translation>
</message>
@@ -2815,7 +2825,7 @@ Deseja apagar de qualquer forma?</translation>
<translation>Não foi possível guardar o resultado</translation>
</message>
<message>
- <location line="+189"/>
+ <location line="+190"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
<translation>Não foi possível preparar a expressão</translation>
@@ -2860,7 +2870,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation type="unfinished"></translation>
</message>
@@ -2868,7 +2878,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation type="unfinished">%1 - [%2]</translation>
</message>
@@ -2961,7 +2971,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+127"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
<location line="+225"/>
<source>Close</source>
<translation>Fechar</translation>
@@ -3034,7 +3044,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1105"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1111"/>
<source>Help</source>
<translation>Ajuda</translation>
</message>
@@ -3047,21 +3057,20 @@ Deseja apagar de qualquer forma?</translation>
<translation>OK</translation>
</message>
<message>
- <location line="+503"/>
+ <location line="+509"/>
<source>About Qt</source>
<translation>Acerca do Qt</translation>
</message>
<message>
- <location line="-15"/>
<source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation>&lt;p&gt;Este programa usa Qt versão %1.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;Este programa usa Qt versão %1.&lt;/p&gt;</translation>
</message>
<message>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="obsolete">&lt;h3&gt;Acerca do Qt&lt;/h3&gt;%1&lt;p&gt;Qt é um conjunto de ferramentas para desenvolvimento de aplicações multiplataforma.&lt;/p&gt;O Qt oferece portabilidade de código fonte único em MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux e todas as principais variantes comerciais de Unix. O Qt está igualmente disponível para dispositivos embebidos como Qtopia Core.&lt;/p&gt;&lt;p&gt;O Qt é um produto Trolltech. Veja &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; para mais informação.&lt;/p&gt;</translation>
</message>
<message>
- <location line="-1584"/>
+ <location line="-1605"/>
<source>Show Details...</source>
<translation>Mostrar Detalhes...</translation>
</message>
@@ -3072,19 +3081,18 @@ Deseja apagar de qualquer forma?</translation>
</message>
<message>
<location line="+1570"/>
- <source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
<source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
- <translation>&lt;p&gt;Este programa usa Qt Open Source Edition versão %1.&lt;/p&gt;&lt;p&gt;Qt Open Source Edition é indicado para o desenvolvimento de aplicações/programas open source. Se pretender desenvolver aplicações sem disponibilizar o codigo fonte, então precisará de obter uma licença comercial.&lt;/p&gt;&lt;p&gt;Por favor consulte &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt;para obter mais informação acerca de licenças Qt.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;Este programa usa Qt Open Source Edition versão %1.&lt;/p&gt;&lt;p&gt;Qt Open Source Edition é indicado para o desenvolvimento de aplicações/programas open source. Se pretender desenvolver aplicações sem disponibilizar o codigo fonte, então precisará de obter uma licença comercial.&lt;/p&gt;&lt;p&gt;Por favor consulte &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt;para obter mais informação acerca de licenças Qt.&lt;/p&gt;</translation>
</message>
</context>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation>Seleccione Método de Entrada</translation>
</message>
@@ -3092,7 +3100,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation>Seleccionador de método de entrada</translation>
</message>
@@ -3105,7 +3113,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+176"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
<source>The remote host closed the connection</source>
<translation>A máquina remota fechou a ligação</translation>
</message>
@@ -3238,7 +3246,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3246,7 +3254,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3274,7 +3282,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3284,7 +3292,7 @@ Deseja apagar de qualquer forma?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation type="unfinished"></translation>
</message>
@@ -3302,7 +3310,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3315,7 +3323,7 @@ Deseja apagar de qualquer forma?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation type="unfinished"></translation>
</message>
@@ -3323,7 +3331,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+422"/>
+ <location line="+432"/>
<location line="+22"/>
<source>Operation canceled</source>
<translation type="unfinished"></translation>
@@ -3332,7 +3340,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2027"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/>
<source>Unable to logon</source>
<translation>Não foi possível autenticar</translation>
</message>
@@ -3361,7 +3369,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QOCIResult</name>
<message>
- <location line="-976"/>
+ <location line="-963"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3388,18 +3396,16 @@ Deseja apagar de qualquer forma?</translation>
<translation>Não foi possível preparar a expressão</translation>
</message>
<message>
- <location line="+29"/>
- <location line="+37"/>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation>Não foi possível fazer o ligamento do valor</translation>
</message>
<message>
- <location line="-20"/>
<source>Unable to execute select statement</source>
- <translation>Não foi possível executar a expressão select</translation>
+ <translation type="obsolete">Não foi possível executar a expressão select</translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation>Não foi possível executar a expressão</translation>
</message>
@@ -3407,7 +3413,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1657"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation>Não foi possível ligar</translation>
</message>
@@ -3417,7 +3423,7 @@ Deseja apagar de qualquer forma?</translation>
<translation>Não foi possível ligar - O &apos;driver&apos; não suporta todas as funcionalidades necessárias</translation>
</message>
<message>
- <location line="+234"/>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation>Não foi possível desactivar finalização automática</translation>
</message>
@@ -3440,19 +3446,19 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1204"/>
+ <location line="-1218"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: Não foi possível definir &apos;SQL_CURSOR_STATIC&apos; como atributo da expressão. Por favor verifique a configuração do seu &apos;driver&apos; ODBC</translation>
</message>
<message>
<location line="-332"/>
- <location line="+625"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation>Não foi possível executar a expressão</translation>
</message>
<message>
- <location line="-554"/>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation>Não foi possível obter o seguinte</translation>
</message>
@@ -3462,19 +3468,19 @@ Deseja apagar de qualquer forma?</translation>
<translation>Não foi possível preparar a expressão</translation>
</message>
<message>
- <location line="+267"/>
+ <location line="+268"/>
<source>Unable to bind variable</source>
<translation>Não foi possível fazer o ligamento da variável</translation>
</message>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-474"/>
- <location line="+577"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-671"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation type="unfinished"></translation>
</message>
@@ -3492,12 +3498,12 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QObject</name>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation>Início</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3507,7 +3513,7 @@ Deseja apagar de qualquer forma?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -3532,7 +3538,7 @@ Deseja apagar de qualquer forma?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+147"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
<location line="+57"/>
<source>No host name given</source>
<translation type="unfinished"></translation>
@@ -3541,7 +3547,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation type="unfinished">Nome</translation>
</message>
@@ -3554,7 +3560,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+732"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation>Não foi possível ligar</translation>
</message>
@@ -3574,7 +3580,7 @@ Deseja apagar de qualquer forma?</translation>
<translation>Não foi possível anular a transacção</translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+358"/>
<source>Unable to subscribe</source>
<translation type="unfinished"></translation>
</message>
@@ -3587,12 +3593,12 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1035"/>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation>Não foi possível criar a &apos;query&apos;</translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation type="unfinished"></translation>
</message>
@@ -3600,7 +3606,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation type="unfinished"></translation>
</message>
@@ -3716,7 +3722,7 @@ Deseja apagar de qualquer forma?</translation>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+68"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation>ligado localmente</translation>
</message>
@@ -3741,7 +3747,7 @@ Deseja apagar de qualquer forma?</translation>
<translation type="obsolete">Paisagem</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+299"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+329"/>
<source>A0 (841 x 1189 mm)</source>
<translation>A0 (841 x 1189 mm)</translation>
</message>
@@ -3891,7 +3897,7 @@ Deseja apagar de qualquer forma?</translation>
<translation>Envelope #10 Comum EUA (105 x 241 mm)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -3912,7 +3918,7 @@ Deseja apagar de qualquer forma?</translation>
<translation type="obsolete">Fonte papel:</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
@@ -4244,13 +4250,13 @@ Please choose a different file name.</source>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+38"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
<location line="+12"/>
<source>Page Setup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation type="unfinished"></translation>
</message>
@@ -4532,8 +4538,8 @@ Please choose a different file name.</source>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+445"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation type="unfinished"></translation>
</message>
@@ -4562,7 +4568,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+503"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4582,6 +4588,11 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation type="unfinished"></translation>
@@ -4590,7 +4601,7 @@ Please choose a different file name.</source>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>Cancelar</translation>
</message>
@@ -4614,7 +4625,7 @@ Please choose a different file name.</source>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+34"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation>sem erros</translation>
</message>
@@ -4662,7 +4673,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation>Erro ao abrir base de dados</translation>
</message>
@@ -4685,12 +4696,12 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-310"/>
+ <location line="-323"/>
<source>Unable to fetch results</source>
<translation>Não foi possível obter os resultados</translation>
</message>
<message>
- <location line="+139"/>
+ <location line="+147"/>
<source>Unable to execute statement</source>
<translation>Não foi possível executar a expressão</translation>
</message>
@@ -4698,7 +4709,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+498"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation>Erro ao abrir a base de dados</translation>
</message>
@@ -4765,12 +4776,12 @@ Please choose a different file name.</source>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+419"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation>Deslizar aqui</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Left edge</source>
<translation>Borda esquerda</translation>
</message>
@@ -4780,7 +4791,7 @@ Please choose a different file name.</source>
<translation>Topo</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Right edge</source>
<translation>Borda direita</translation>
</message>
@@ -4790,7 +4801,7 @@ Please choose a different file name.</source>
<translation>Fundo</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Page left</source>
<translation>Página para esquerda</translation>
</message>
@@ -4801,7 +4812,7 @@ Please choose a different file name.</source>
<translation>Página para cima</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Page right</source>
<translation>Página para direita</translation>
</message>
@@ -4812,7 +4823,7 @@ Please choose a different file name.</source>
<translation>Página para baixo</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Scroll left</source>
<translation>Deslizar para esquerda</translation>
</message>
@@ -4822,7 +4833,7 @@ Please choose a different file name.</source>
<translation>Deslizar para cima</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Scroll right</source>
<translation>Deslizar para a direita</translation>
</message>
@@ -4850,7 +4861,7 @@ Please choose a different file name.</source>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+177"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4861,7 +4872,7 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+118"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4871,8 +4882,8 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+48"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation type="unfinished"></translation>
</message>
@@ -4950,7 +4961,7 @@ Please choose a different file name.</source>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+343"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation>Space</translation>
</message>
@@ -5535,7 +5546,7 @@ Please choose a different file name.</source>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+860"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation>Apagar</translation>
</message>
@@ -5592,7 +5603,7 @@ Please choose a different file name.</source>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+539"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -5651,7 +5662,7 @@ Please choose a different file name.</source>
<name>QSystemSemaphore</name>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation type="unfinished"></translation>
</message>
@@ -5681,7 +5692,7 @@ Please choose a different file name.</source>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation>Não foi possível estabelecer a ligação</translation>
</message>
@@ -5711,7 +5722,7 @@ Please choose a different file name.</source>
<translation type="obsolete">Operação de &apos;socket&apos; não suportada</translation>
</message>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation type="unfinished"></translation>
</message>
@@ -5719,7 +5730,7 @@ Please choose a different file name.</source>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1942"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation>&amp;Desfazer</translation>
</message>
@@ -5777,7 +5788,7 @@ Please choose a different file name.</source>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation>Esta plataforma não suporta IPv6</translation>
</message>
@@ -5785,7 +5796,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+356"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation>Desfazer</translation>
</message>
@@ -5798,7 +5809,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation>&lt;vazio&gt;</translation>
</message>
@@ -5806,7 +5817,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+804"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation>Desfazer</translation>
</message>
@@ -5877,7 +5888,7 @@ Please choose a different file name.</source>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation type="unfinished"></translation>
</message>
@@ -6288,7 +6299,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6364,6 +6375,11 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation type="unfinished"></translation>
</message>
@@ -6432,11 +6448,21 @@ Please choose a different file name.</source>
<source>Delete to the end of the word</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation>O Que é Isto?</translation>
</message>
@@ -6444,7 +6470,7 @@ Please choose a different file name.</source>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -6452,7 +6478,7 @@ Please choose a different file name.</source>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+605"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
<source>Go Back</source>
<translation type="unfinished"></translation>
</message>
@@ -6514,7 +6540,7 @@ Please choose a different file name.</source>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1064"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation>&amp;Restaurar</translation>
</message>
@@ -6584,7 +6610,7 @@ Please choose a different file name.</source>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+28"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation>não ocorreu nenhum erro</translation>
</message>
@@ -6702,8 +6728,8 @@ Please choose a different file name.</source>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+562"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation type="unfinished"></translation>
</message>
@@ -6887,7 +6913,7 @@ Please choose a different file name.</source>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation type="unfinished"></translation>
</message>
@@ -6897,12 +6923,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation type="unfinished"></translation>
</message>
@@ -6912,7 +6938,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6952,7 +6978,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+69"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
<location line="+15"/>
<source>At least one component must be present.</source>
<translation type="unfinished"></translation>
@@ -6963,7 +6989,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6978,17 +7004,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
<source>Integer division (%1) by zero (%2) is undefined.</source>
<translation type="unfinished"></translation>
</message>
@@ -7019,17 +7045,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation type="unfinished"></translation>
</message>
@@ -7039,7 +7065,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation type="unfinished"></translation>
</message>
@@ -7049,7 +7075,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -7059,7 +7085,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -7069,7 +7095,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -7079,7 +7105,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+104"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+134"/>
<source>No casting is possible with %1 as the target type.</source>
<translation type="unfinished"></translation>
</message>
@@ -7104,7 +7130,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation type="unfinished"></translation>
</message>
@@ -7114,7 +7140,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+137"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/>
<source>No comparisons can be done involving the type %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -7124,12 +7150,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation type="unfinished"></translation>
</message>
@@ -7139,7 +7165,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation type="unfinished"></translation>
</message>
@@ -7149,7 +7175,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+83"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
<source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
<translation type="unfinished"></translation>
</message>
@@ -7159,33 +7185,33 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+126"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+39"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -7201,7 +7227,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation type="unfinished"></translation>
</message>
@@ -7216,27 +7242,27 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+64"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation type="unfinished"></translation>
</message>
@@ -7251,7 +7277,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation type="unfinished"></translation>
</message>
@@ -7286,17 +7312,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation type="unfinished"></translation>
</message>
@@ -7306,12 +7332,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation type="unfinished"></translation>
</message>
@@ -7321,17 +7347,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+319"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
<location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation type="unfinished"></translation>
@@ -7352,7 +7378,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation type="unfinished"></translation>
</message>
@@ -7634,7 +7660,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation type="unfinished"></translation>
</message>
@@ -7659,7 +7685,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+33"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation type="unfinished"></translation>
</message>
@@ -7674,7 +7700,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation type="unfinished"></translation>
</message>
@@ -7684,12 +7710,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation type="unfinished"></translation>
</message>
@@ -7704,13 +7730,13 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+39"/>
- <source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -7729,12 +7755,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation type="unfinished"></translation>
</message>
@@ -7744,12 +7770,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation type="unfinished"></translation>
</message>
@@ -7804,7 +7830,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation type="unfinished"></translation>
</message>
@@ -7879,7 +7905,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+432"/>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/qt_ru.ts b/translations/qt_ru.ts
index 3d05b71..28e786b 100644
--- a/translations/qt_ru.ts
+++ b/translations/qt_ru.ts
@@ -4,7 +4,7 @@
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -22,7 +22,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation type="unfinished"></translation>
</message>
@@ -85,7 +85,7 @@
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -98,24 +98,24 @@ have libgstreamer-plugins-base installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+653"/>
- <location line="+9"/>
+ <location line="+676"/>
+ <location line="+8"/>
<location line="+15"/>
- <location line="+7"/>
- <location line="+5"/>
- <location line="+20"/>
- <location line="+317"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-381"/>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+355"/>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation type="unfinished"></translation>
</message>
@@ -149,7 +149,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation type="unfinished"></translation>
</message>
@@ -162,7 +162,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+253"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation type="unfinished">True</translation>
</message>
@@ -190,7 +190,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+834"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation type="unfinished">Копировать или переместить файл</translation>
</message>
@@ -215,7 +215,7 @@ have libgstreamer-plugins-base installed.</source>
<location line="-157"/>
<location line="+49"/>
<location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+80"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation type="unfinished">Все файлы (*)</translation>
</message>
@@ -355,7 +355,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+704"/>
<location line="+2100"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+307"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation type="unfinished">Открыть</translation>
</message>
@@ -523,7 +523,7 @@ Check path and filename.</source>
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+100"/>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
<location line="+10"/>
<source>Could not read directory
%1</source>
@@ -573,7 +573,7 @@ to
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2021"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation type="unfinished">Выровнять</translation>
</message>
@@ -586,7 +586,7 @@ to
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation type="unfinished">Операция прервана пользователем</translation>
</message>
@@ -594,7 +594,7 @@ to
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+194"/>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
<translation type="unfinished">Отмена</translation>
@@ -603,7 +603,7 @@ to
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+159"/>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
<location line="+814"/>
<source>OK</source>
<translation type="unfinished">OK</translation>
@@ -632,7 +632,7 @@ to
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5399"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation type="unfinished">&amp;Отменить</translation>
</message>
@@ -671,7 +671,7 @@ to
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+216"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation type="unfinished"></translation>
</message>
@@ -739,7 +739,7 @@ to
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation type="unfinished">Больше...</translation>
</message>
@@ -747,7 +747,7 @@ to
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+356"/>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
@@ -799,7 +799,7 @@ to
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+147"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation type="unfinished">&amp;Отмена</translation>
</message>
@@ -827,9 +827,9 @@ to
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+838"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+585"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+627"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
<location line="+26"/>
<source>Host not found</source>
<translation type="unfinished"></translation>
@@ -872,7 +872,7 @@ to
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1169"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation type="unfinished"></translation>
</message>
@@ -890,13 +890,13 @@ to
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation>Программный модуль &apos;%1&apos; требует Qt %2, найдена версия %3.</translation>
</message>
@@ -906,7 +906,7 @@ to
<translation>Ошибка совместимости библиотеки Qt</translation>
</message>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation type="unfinished"></translation>
</message>
@@ -942,7 +942,7 @@ to
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+84"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation type="unfinished"></translation>
</message>
@@ -960,7 +960,7 @@ to
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1219"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation>&amp;Тон:</translation>
</message>
@@ -1034,13 +1034,13 @@ to
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1741"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
<location line="+65"/>
<source>Open</source>
<translation type="unfinished">Открыть</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation type="unfinished">False</translation>
</message>
@@ -1058,7 +1058,7 @@ to
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation type="unfinished"></translation>
@@ -1079,12 +1079,12 @@ to
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+263"/>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation type="unfinished"></translation>
</message>
@@ -1102,8 +1102,8 @@ to
<context>
<name>QDB2Result</name>
<message>
- <location line="-986"/>
- <location line="+242"/>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
@@ -1118,7 +1118,7 @@ to
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1136,7 +1136,7 @@ to
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation type="unfinished"></translation>
</message>
@@ -1159,7 +1159,7 @@ to
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation type="unfinished"></translation>
</message>
@@ -1177,7 +1177,7 @@ to
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>Что это?</translation>
</message>
@@ -1190,9 +1190,9 @@ to
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1830"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+531"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation type="unfinished">OK</translation>
</message>
@@ -1315,7 +1315,7 @@ to
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+423"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation type="unfinished">Имя</translation>
</message>
@@ -1345,7 +1345,7 @@ to
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation type="unfinished">Закрыть</translation>
</message>
@@ -1376,7 +1376,7 @@ to
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+361"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+391"/>
<source>&amp;Show this message again</source>
<translation>&amp;Показывать это сообщение в дальнейшем</translation>
</message>
@@ -1404,13 +1404,18 @@ to
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+678"/>
- <location line="+130"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation type="unfinished"></translation>
</message>
@@ -1433,8 +1438,8 @@ to
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+484"/>
- <location line="+423"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+515"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation>Все файлы (*)</translation>
</message>
@@ -1457,13 +1462,13 @@ to
<translation type="unfinished">Детальный вид</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+384"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+414"/>
<location line="+1"/>
<source>File</source>
<translation type="unfinished">Файл</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-440"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-461"/>
<source>Open</source>
<translation>Открыть</translation>
</message>
@@ -1473,26 +1478,26 @@ to
<translation type="unfinished">Сохранить как</translation>
</message>
<message>
- <location line="+653"/>
+ <location line="+678"/>
<location line="+50"/>
- <location line="+1440"/>
+ <location line="+1471"/>
<location line="+75"/>
<source>&amp;Open</source>
<translation>&amp;Открыть</translation>
</message>
<message>
- <location line="-1565"/>
+ <location line="-1596"/>
<location line="+50"/>
<source>&amp;Save</source>
<translation>&amp;Сохранить</translation>
</message>
<message>
- <location line="+1790"/>
+ <location line="+1822"/>
<source>Recent Places</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-2464"/>
+ <location line="-2521"/>
<source>&amp;Rename</source>
<translation type="unfinished">&amp;Переименовать</translation>
</message>
@@ -1507,33 +1512,33 @@ to
<translation type="unfinished">Показать &amp;скрытые файлы</translation>
</message>
<message>
- <location line="+1908"/>
+ <location line="+1964"/>
<source>New Folder</source>
<translation type="unfinished">Новый каталог</translation>
</message>
<message>
- <location line="-1943"/>
+ <location line="-1999"/>
<source>Find Directory</source>
<translation type="unfinished">Найти каталог</translation>
</message>
<message>
- <location line="+660"/>
+ <location line="+685"/>
<source>Directories</source>
<translation>Каталоги</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation type="unfinished">Все файлы (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-619"/>
- <location line="+623"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-644"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation type="unfinished">Каталог:</translation>
</message>
<message>
- <location line="+807"/>
+ <location line="+828"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation type="unfinished"></translation>
@@ -1564,14 +1569,14 @@ Please verify the correct file name was given.</source>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="-54"/>
- <location line="+851"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-217"/>
+ <location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
@@ -1597,7 +1602,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2062"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2118"/>
<source>Show </source>
<translation type="unfinished"></translation>
</message>
@@ -1613,19 +1618,19 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+631"/>
+ <location line="+656"/>
<location line="+38"/>
<source>&amp;Choose</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-662"/>
- <location line="+627"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation type="unfinished">&amp;Имя файла:</translation>
</message>
@@ -1645,7 +1650,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+707"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
<source>%1 TB</source>
<translation type="unfinished"></translation>
</message>
@@ -1707,7 +1712,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation type="unfinished"></translation>
</message>
@@ -1720,7 +1725,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+60"/>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
<location line="+1176"/>
<source>Normal</source>
<translation type="unfinished"></translation>
@@ -1937,7 +1942,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+742"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation>&amp;Шрифт</translation>
</message>
@@ -1986,7 +1991,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+2273"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+2303"/>
<source>Host %1 found</source>
<translation type="unfinished">Обнаружен узел %1</translation>
</message>
@@ -1996,7 +2001,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished">Узел обнаружен</translation>
</message>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+973"/>
+ <location filename="../src/network/access/qftp.cpp" line="+1003"/>
<location filename="../src/qt3support/network/q3ftp.cpp" line="-1456"/>
<location line="+1451"/>
<source>Connected to host %1</source>
@@ -2132,7 +2137,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation type="unfinished">Неизвестная ошибка</translation>
</message>
@@ -2140,11 +2145,11 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+148"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
<location line="+9"/>
<location line="+64"/>
<location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+150"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
<location line="+9"/>
<location line="+40"/>
<location line="+27"/>
@@ -2170,13 +2175,13 @@ Do you want to delete it anyway?</source>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+1712"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1806"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1836"/>
<source>Connection refused</source>
<translation>Отказано в соединении</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+2597"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+2631"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2189,12 +2194,12 @@ Do you want to delete it anyway?</source>
<translation>Неверная длина данных</translation>
</message>
<message>
- <location line="-2200"/>
+ <location line="-2204"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2282"/>
+ <location line="+2286"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+10"/>
<location line="+19"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+48"/>
@@ -2233,21 +2238,21 @@ Do you want to delete it anyway?</source>
<translation type="unfinished">Соединение разорвано</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-1073"/>
- <location line="+816"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-1077"/>
+ <location line="+820"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-1152"/>
<location line="+567"/>
<source>Unknown error</source>
<translation>Неизвестная ошибка</translation>
</message>
<message>
- <location line="-564"/>
+ <location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation>Запрос отменен</translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation>Не выбран сервер для подключения</translation>
@@ -2265,7 +2270,12 @@ Do you want to delete it anyway?</source>
<translation>Получен некорректный HTTP-заголовок</translation>
</message>
<message>
- <location line="+120"/>
+ <location line="+28"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+97"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
@@ -2288,7 +2298,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-133"/>
+ <location line="-138"/>
<source>Connection refused (or timed out)</source>
<translation type="unfinished"></translation>
</message>
@@ -2369,7 +2379,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1378"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation type="unfinished"></translation>
</message>
@@ -2392,7 +2402,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1077"/>
+ <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation type="unfinished"></translation>
</message>
@@ -2412,7 +2422,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<location line="+189"/>
<source>Could not find array</source>
<translation type="unfinished"></translation>
@@ -2482,7 +2492,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1830"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation type="unfinished"></translation>
</message>
@@ -2502,7 +2512,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation type="unfinished">Неизвестная ошибка</translation>
</message>
@@ -2510,7 +2520,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+212"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation type="unfinished"></translation>
</message>
@@ -2533,7 +2543,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation type="unfinished"></translation>
</message>
@@ -2541,7 +2551,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QLibrary</name>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2572,7 +2582,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="-377"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+250"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation type="unfinished"></translation>
</message>
@@ -2587,8 +2597,8 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+179"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2608,7 +2618,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2649"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2680"/>
<source>&amp;Undo</source>
<translation type="unfinished">&amp;Отменить</translation>
</message>
@@ -2646,8 +2656,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+196"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation type="unfinished"></translation>
</message>
@@ -2663,7 +2673,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+127"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2671,8 +2681,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+102"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation type="unfinished"></translation>
</message>
@@ -2685,7 +2695,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
<location line="+43"/>
<source>%1: Invalid name</source>
<translation type="unfinished"></translation>
@@ -2742,7 +2752,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1200"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation type="unfinished"></translation>
</message>
@@ -2752,7 +2762,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+123"/>
+ <location line="+127"/>
<source>Unable to begin transaction</source>
<translation type="unfinished"></translation>
</message>
@@ -2770,7 +2780,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-917"/>
+ <location line="-922"/>
<source>Unable to fetch data</source>
<translation type="unfinished"></translation>
</message>
@@ -2785,7 +2795,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+189"/>
+ <location line="+190"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
<translation type="unfinished"></translation>
@@ -2830,7 +2840,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation type="unfinished"></translation>
</message>
@@ -2838,7 +2848,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation type="unfinished">%1 - [%2]</translation>
</message>
@@ -2931,7 +2941,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+127"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
<location line="+225"/>
<source>Close</source>
<translation type="unfinished">Закрыть</translation>
@@ -2988,7 +2998,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1958"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1964"/>
<location line="+852"/>
<location filename="../src/gui/dialogs/qmessagebox.h" line="-52"/>
<location line="+8"/>
@@ -2996,22 +3006,17 @@ Do you want to delete it anyway?</source>
<translation>OK</translation>
</message>
<message>
- <location line="+503"/>
+ <location line="+509"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-502"/>
+ <location line="-508"/>
<source>Help</source>
<translation type="unfinished">Справка</translation>
</message>
<message>
- <location line="+487"/>
- <source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-1584"/>
+ <location line="-1097"/>
<source>Show Details...</source>
<translation type="unfinished"></translation>
</message>
@@ -3022,19 +3027,14 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+1570"/>
- <source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+15"/>
- <source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation type="unfinished"></translation>
</message>
@@ -3042,7 +3042,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation type="unfinished"></translation>
</message>
@@ -3055,7 +3055,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+176"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
<source>The remote host closed the connection</source>
<translation type="unfinished"></translation>
</message>
@@ -3188,7 +3188,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3196,7 +3196,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3224,7 +3224,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3234,7 +3234,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation type="unfinished"></translation>
</message>
@@ -3252,7 +3252,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3265,7 +3265,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation type="unfinished"></translation>
</message>
@@ -3273,7 +3273,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+422"/>
+ <location line="+432"/>
<location line="+22"/>
<source>Operation canceled</source>
<translation type="unfinished"></translation>
@@ -3282,7 +3282,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2027"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/>
<source>Unable to logon</source>
<translation type="unfinished"></translation>
</message>
@@ -3311,7 +3311,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIResult</name>
<message>
- <location line="-976"/>
+ <location line="-963"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3338,18 +3338,12 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
- <location line="+37"/>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-20"/>
- <source>Unable to execute select statement</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+32"/>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
@@ -3357,7 +3351,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1657"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation type="unfinished"></translation>
</message>
@@ -3367,7 +3361,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+234"/>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation type="unfinished"></translation>
</message>
@@ -3390,19 +3384,19 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1204"/>
+ <location line="-1218"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-332"/>
- <location line="+625"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-554"/>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation type="unfinished"></translation>
</message>
@@ -3412,19 +3406,19 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+267"/>
+ <location line="+268"/>
<source>Unable to bind variable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-474"/>
- <location line="+577"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-671"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation type="unfinished"></translation>
</message>
@@ -3442,12 +3436,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QObject</name>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation type="unfinished">Home</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3457,7 +3451,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -3482,7 +3476,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+147"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
<location line="+57"/>
<source>No host name given</source>
<translation type="unfinished"></translation>
@@ -3491,7 +3485,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation type="unfinished">Имя</translation>
</message>
@@ -3504,7 +3498,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+732"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation type="unfinished"></translation>
</message>
@@ -3524,7 +3518,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+358"/>
<source>Unable to subscribe</source>
<translation type="unfinished"></translation>
</message>
@@ -3537,12 +3531,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1035"/>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation type="unfinished"></translation>
</message>
@@ -3550,7 +3544,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation type="unfinished"></translation>
</message>
@@ -3666,7 +3660,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+68"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation>локальный</translation>
</message>
@@ -3683,7 +3677,7 @@ Do you want to delete it anyway?</source>
<translation>неизвестно</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation type="unfinished">OK</translation>
</message>
@@ -3700,7 +3694,7 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">Принтер</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+345"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+375"/>
<source>Print all</source>
<translation type="unfinished">Печатать все</translation>
</message>
@@ -3880,7 +3874,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
@@ -4128,13 +4122,13 @@ Please choose a different file name.</source>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+38"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
<location line="+12"/>
<source>Page Setup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation type="unfinished"></translation>
</message>
@@ -4412,8 +4406,8 @@ Please choose a different file name.</source>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+445"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation type="unfinished"></translation>
</message>
@@ -4442,7 +4436,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+503"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4462,6 +4456,11 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation type="unfinished"></translation>
@@ -4470,7 +4469,7 @@ Please choose a different file name.</source>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
@@ -4494,7 +4493,7 @@ Please choose a different file name.</source>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+34"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation>ошибки отсутствуют</translation>
</message>
@@ -4542,7 +4541,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation type="unfinished"></translation>
</message>
@@ -4565,12 +4564,12 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-310"/>
+ <location line="-323"/>
<source>Unable to fetch results</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+139"/>
+ <location line="+147"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
@@ -4578,7 +4577,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+498"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation type="unfinished"></translation>
</message>
@@ -4641,12 +4640,12 @@ Please choose a different file name.</source>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+419"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Left edge</source>
<translation type="unfinished"></translation>
</message>
@@ -4656,7 +4655,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Right edge</source>
<translation type="unfinished"></translation>
</message>
@@ -4666,7 +4665,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Page left</source>
<translation type="unfinished"></translation>
</message>
@@ -4677,7 +4676,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Page right</source>
<translation type="unfinished"></translation>
</message>
@@ -4688,7 +4687,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Scroll left</source>
<translation type="unfinished"></translation>
</message>
@@ -4698,7 +4697,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Scroll right</source>
<translation type="unfinished"></translation>
</message>
@@ -4726,7 +4725,7 @@ Please choose a different file name.</source>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+177"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4737,7 +4736,7 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+118"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4747,8 +4746,8 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+48"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation type="unfinished"></translation>
</message>
@@ -4826,7 +4825,7 @@ Please choose a different file name.</source>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+343"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation type="unfinished">Space</translation>
</message>
@@ -5407,7 +5406,7 @@ Please choose a different file name.</source>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+860"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation>Удалить</translation>
</message>
@@ -5464,7 +5463,7 @@ Please choose a different file name.</source>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+539"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -5523,7 +5522,7 @@ Please choose a different file name.</source>
<name>QSystemSemaphore</name>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation type="unfinished"></translation>
</message>
@@ -5553,7 +5552,7 @@ Please choose a different file name.</source>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation type="unfinished"></translation>
</message>
@@ -5579,7 +5578,7 @@ Please choose a different file name.</source>
<context>
<name>QTcpServer</name>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation type="unfinished"></translation>
</message>
@@ -5587,7 +5586,7 @@ Please choose a different file name.</source>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1942"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation type="unfinished">&amp;Отменить</translation>
</message>
@@ -5645,7 +5644,7 @@ Please choose a different file name.</source>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation type="unfinished"></translation>
</message>
@@ -5653,7 +5652,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+356"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation type="unfinished">Отменить</translation>
</message>
@@ -5666,7 +5665,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -5674,7 +5673,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+804"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation type="unfinished">Отменить</translation>
</message>
@@ -5745,7 +5744,7 @@ Please choose a different file name.</source>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation type="unfinished"></translation>
</message>
@@ -6155,7 +6154,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6231,6 +6230,11 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation type="unfinished"></translation>
</message>
@@ -6299,11 +6303,21 @@ Please choose a different file name.</source>
<source>Delete to the end of the word</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation type="unfinished">Что это?</translation>
</message>
@@ -6311,7 +6325,7 @@ Please choose a different file name.</source>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
@@ -6319,7 +6333,7 @@ Please choose a different file name.</source>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+605"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
<source>&lt; &amp;Back</source>
<translation type="unfinished">&lt; &amp;Назад</translation>
</message>
@@ -6381,7 +6395,7 @@ Please choose a different file name.</source>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1064"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation type="unfinished">&amp;Восстановить</translation>
</message>
@@ -6451,7 +6465,7 @@ Please choose a different file name.</source>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+28"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation>ошибки отсутствуют</translation>
</message>
@@ -6569,8 +6583,8 @@ Please choose a different file name.</source>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+562"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation type="unfinished"></translation>
</message>
@@ -6754,7 +6768,7 @@ Please choose a different file name.</source>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation type="unfinished"></translation>
</message>
@@ -6764,12 +6778,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation type="unfinished"></translation>
</message>
@@ -6779,7 +6793,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6819,7 +6833,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+69"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
<location line="+15"/>
<source>At least one component must be present.</source>
<translation type="unfinished"></translation>
@@ -6830,7 +6844,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6845,17 +6859,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
<source>Integer division (%1) by zero (%2) is undefined.</source>
<translation type="unfinished"></translation>
</message>
@@ -6886,17 +6900,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation type="unfinished"></translation>
</message>
@@ -6906,7 +6920,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation type="unfinished"></translation>
</message>
@@ -6916,7 +6930,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6926,7 +6940,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -6936,7 +6950,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6946,7 +6960,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+104"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+134"/>
<source>No casting is possible with %1 as the target type.</source>
<translation type="unfinished"></translation>
</message>
@@ -6971,7 +6985,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6981,7 +6995,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+137"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/>
<source>No comparisons can be done involving the type %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -6991,12 +7005,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation type="unfinished"></translation>
</message>
@@ -7006,7 +7020,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation type="unfinished"></translation>
</message>
@@ -7016,7 +7030,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+83"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
<source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
<translation type="unfinished"></translation>
</message>
@@ -7026,33 +7040,33 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+126"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+39"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -7066,7 +7080,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation type="unfinished"></translation>
</message>
@@ -7081,27 +7095,27 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+64"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation type="unfinished"></translation>
</message>
@@ -7116,7 +7130,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation type="unfinished"></translation>
</message>
@@ -7151,17 +7165,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation type="unfinished"></translation>
</message>
@@ -7171,12 +7185,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation type="unfinished"></translation>
</message>
@@ -7186,17 +7200,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+319"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
<location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation type="unfinished"></translation>
@@ -7217,7 +7231,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation type="unfinished"></translation>
</message>
@@ -7499,7 +7513,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation type="unfinished"></translation>
</message>
@@ -7524,7 +7538,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+33"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation type="unfinished"></translation>
</message>
@@ -7539,7 +7553,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation type="unfinished"></translation>
</message>
@@ -7549,12 +7563,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation type="unfinished"></translation>
</message>
@@ -7569,13 +7583,13 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+39"/>
- <source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -7594,12 +7608,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation type="unfinished"></translation>
</message>
@@ -7609,12 +7623,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation type="unfinished"></translation>
</message>
@@ -7669,7 +7683,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation type="unfinished"></translation>
</message>
@@ -7744,7 +7758,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+432"/>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/qt_sk.ts b/translations/qt_sk.ts
index f681d1b..1bf53e7 100644
--- a/translations/qt_sk.ts
+++ b/translations/qt_sk.ts
@@ -4,7 +4,7 @@
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -22,7 +22,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation type="unfinished"></translation>
</message>
@@ -89,7 +89,7 @@
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -102,24 +102,24 @@ have libgstreamer-plugins-base installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+653"/>
- <location line="+9"/>
+ <location line="+676"/>
+ <location line="+8"/>
<location line="+15"/>
- <location line="+7"/>
- <location line="+5"/>
- <location line="+20"/>
- <location line="+317"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-381"/>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+355"/>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation type="unfinished"></translation>
</message>
@@ -153,7 +153,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation>%1, %2 nie je definované</translation>
</message>
@@ -166,7 +166,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+253"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation>Pravda</translation>
</message>
@@ -194,7 +194,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+834"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation>Kopírovať alebo presunúť súbor</translation>
</message>
@@ -219,7 +219,7 @@ have libgstreamer-plugins-base installed.</source>
<location line="-157"/>
<location line="+49"/>
<location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+80"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation>Všetky súbory (*)</translation>
</message>
@@ -359,7 +359,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+704"/>
<location line="+2100"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+307"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation>Otvoriť</translation>
</message>
@@ -527,7 +527,7 @@ Overte cestu a meno súboru.</translation>
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+100"/>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
<location line="+10"/>
<source>Could not read directory
%1</source>
@@ -577,7 +577,7 @@ na
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2021"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation>Vyrovnať</translation>
</message>
@@ -590,7 +590,7 @@ na
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation>Operácia zastavená užívateľom</translation>
</message>
@@ -598,7 +598,7 @@ na
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+194"/>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
<translation>Storno</translation>
@@ -607,7 +607,7 @@ na
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+159"/>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
<location line="+814"/>
<source>OK</source>
<translation>OK</translation>
@@ -636,7 +636,7 @@ na
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5399"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation>V&amp;rátiť späť</translation>
</message>
@@ -675,7 +675,7 @@ na
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+216"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation>Systém</translation>
</message>
@@ -743,7 +743,7 @@ na
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation>Viac...</translation>
</message>
@@ -751,7 +751,7 @@ na
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+356"/>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
@@ -803,7 +803,7 @@ na
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+147"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation>S&amp;torno</translation>
</message>
@@ -831,9 +831,9 @@ na
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+838"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+585"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+627"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
<location line="+26"/>
<source>Host not found</source>
<translation>Počítač nenájdený</translation>
@@ -876,7 +876,7 @@ na
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1169"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation>Krok na&amp;hor</translation>
</message>
@@ -894,13 +894,13 @@ na
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation>Program &apos;%1&apos; vyžaduje Qt %2, nájdené Qt %3.</translation>
</message>
@@ -910,7 +910,7 @@ na
<translation>Chyba kompatibility knižnice Qt</translation>
</message>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation>Aktivovať</translation>
</message>
@@ -946,7 +946,7 @@ na
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+84"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation>Odškrtnúť</translation>
</message>
@@ -964,7 +964,7 @@ na
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1219"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation>Od&amp;tieň:</translation>
</message>
@@ -1038,13 +1038,13 @@ na
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1741"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
<location line="+65"/>
<source>Open</source>
<translation>Otvoriť</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation>Nepravda</translation>
</message>
@@ -1062,7 +1062,7 @@ na
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation type="unfinished"></translation>
@@ -1083,12 +1083,12 @@ na
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation>Nedá sa pripojiť</translation>
</message>
<message>
- <location line="+263"/>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation>Transakcia sa nedá potvrdiť</translation>
</message>
@@ -1106,8 +1106,8 @@ na
<context>
<name>QDB2Result</name>
<message>
- <location line="-986"/>
- <location line="+242"/>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation>Príkaz sa nedá vykonať</translation>
</message>
@@ -1122,7 +1122,7 @@ na
<translation>Premenná sa nedá naviazať</translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation>Záznam %1 sa nedá získať</translation>
</message>
@@ -1140,7 +1140,7 @@ na
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation>AM</translation>
</message>
@@ -1163,7 +1163,7 @@ na
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation>QDial</translation>
</message>
@@ -1181,7 +1181,7 @@ na
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>Čo je to?</translation>
</message>
@@ -1194,9 +1194,9 @@ na
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1830"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+531"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -1319,7 +1319,7 @@ na
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+423"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation>Meno</translation>
</message>
@@ -1349,7 +1349,7 @@ na
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation>Zavrieť</translation>
</message>
@@ -1380,7 +1380,7 @@ na
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+361"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+391"/>
<source>&amp;Show this message again</source>
<translation>&amp;Zobraziť túto správu aj nabudúce</translation>
</message>
@@ -1408,13 +1408,18 @@ na
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+678"/>
- <location line="+130"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation type="unfinished"></translation>
</message>
@@ -1437,8 +1442,8 @@ na
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+484"/>
- <location line="+423"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+515"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation>Všetky súbory (*)</translation>
</message>
@@ -1467,26 +1472,26 @@ na
<translation>Detaily</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-440"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-461"/>
<source>Open</source>
<translation>Otvoriť</translation>
</message>
<message>
- <location line="+655"/>
+ <location line="+680"/>
<location line="+50"/>
- <location line="+1440"/>
+ <location line="+1471"/>
<location line="+75"/>
<source>&amp;Open</source>
<translation>&amp;Otvoriť</translation>
</message>
<message>
- <location line="-1565"/>
+ <location line="-1596"/>
<location line="+50"/>
<source>&amp;Save</source>
<translation>&amp;Uložiť</translation>
</message>
<message>
- <location line="-674"/>
+ <location line="-699"/>
<source>&amp;Rename</source>
<translation>P&amp;remenovať</translation>
</message>
@@ -1501,12 +1506,12 @@ na
<translation>Zobraziť &amp;skryté súbory</translation>
</message>
<message>
- <location line="+625"/>
+ <location line="+650"/>
<source>Directories</source>
<translation>Priečinky</translation>
</message>
<message>
- <location line="+811"/>
+ <location line="+832"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 už existuje.
@@ -1522,7 +1527,7 @@ Súbor nenájdený.
Prosím overte správnosť zadaného mena súboru.</translation>
</message>
<message>
- <location line="+1006"/>
+ <location line="+1017"/>
<source>Recent Places</source>
<translation type="unfinished"></translation>
</message>
@@ -1550,8 +1555,8 @@ Prosím overte správnosť zadaného mena súboru.</translation>
<translation>Súbory typu:</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2456"/>
- <location line="+623"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2513"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation>Priečinok:</translation>
</message>
@@ -1564,8 +1569,8 @@ Súbor nenájdený.
Prosím overte správnosť zadaného mena súboru</translation>
</message>
<message>
- <location line="+773"/>
- <location line="+851"/>
+ <location line="+794"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
@@ -1574,7 +1579,7 @@ Priečinok nenájdený.
Prosím overte správnosť zadaného mena priečinku.</translation>
</message>
<message>
- <location line="-217"/>
+ <location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation>&apos;%1&apos; je chránený proti zápisu.
@@ -1591,17 +1596,17 @@ Chcete ho aj tak zmazať?</translation>
<translation>Priečinok sa nedá zmazať.</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation>Všetky súbory (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2087"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2143"/>
<source>Save As</source>
<translation>Uložiť ako</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+381"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+411"/>
<source>Drive</source>
<translation>Oddiel</translation>
</message>
@@ -1632,19 +1637,19 @@ Chcete ho aj tak zmazať?</translation>
<translation>&amp;Nový priečinok</translation>
</message>
<message>
- <location line="+631"/>
+ <location line="+656"/>
<location line="+38"/>
<source>&amp;Choose</source>
<translation>&amp;Zvoliť</translation>
</message>
<message>
- <location line="-662"/>
- <location line="+627"/>
+ <location line="-687"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation>Me&amp;no súboru:</translation>
</message>
<message>
- <location line="+1273"/>
+ <location line="+1304"/>
<source>New Folder</source>
<translation>Nový priečinok</translation>
</message>
@@ -1655,7 +1660,7 @@ Chcete ho aj tak zmazať?</translation>
<translation>Dopredu</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation>Odstrániť</translation>
</message>
@@ -1663,7 +1668,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+707"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
<source>%1 TB</source>
<translation>%1 TB</translation>
</message>
@@ -1725,7 +1730,7 @@ Chcete ho aj tak zmazať?</translation>
<translation>Dátum zmeny</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation>Môj počítač</translation>
</message>
@@ -1738,7 +1743,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+60"/>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
<location line="+1176"/>
<source>Normal</source>
<translation type="unfinished"></translation>
@@ -1955,7 +1960,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+742"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation>&amp;Písmo</translation>
</message>
@@ -2004,7 +2009,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+2273"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+2303"/>
<source>Host %1 found</source>
<translation>Počítač %1 nenájdený</translation>
</message>
@@ -2014,7 +2019,7 @@ Chcete ho aj tak zmazať?</translation>
<translation>Počítač nájdený</translation>
</message>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+973"/>
+ <location filename="../src/network/access/qftp.cpp" line="+1003"/>
<location filename="../src/qt3support/network/q3ftp.cpp" line="-1456"/>
<location line="+1451"/>
<source>Connected to host %1</source>
@@ -2150,7 +2155,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation>Neznáma chyba</translation>
</message>
@@ -2158,11 +2163,11 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+148"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
<location line="+9"/>
<location line="+64"/>
<location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+150"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
<location line="+9"/>
<location line="+40"/>
<location line="+27"/>
@@ -2188,13 +2193,13 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+1712"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1806"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1836"/>
<source>Connection refused</source>
<translation>Spojenie odmietnuté</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+2597"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+2631"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2207,12 +2212,12 @@ Chcete ho aj tak zmazať?</translation>
<translation>Neplatná dĺžka obsahu</translation>
</message>
<message>
- <location line="-2200"/>
+ <location line="-2204"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2282"/>
+ <location line="+2286"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+10"/>
<location line="+19"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+48"/>
@@ -2246,21 +2251,21 @@ Chcete ho aj tak zmazať?</translation>
<translation>Spojenie uzavreté</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-1073"/>
- <location line="+816"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-1077"/>
+ <location line="+820"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-1152"/>
<location line="+567"/>
<source>Unknown error</source>
<translation>Neznáma chyba</translation>
</message>
<message>
- <location line="-564"/>
+ <location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation>Požiadavka prerušená</translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation>Nenastavený server na pripojenie</translation>
@@ -2278,7 +2283,12 @@ Chcete ho aj tak zmazať?</translation>
<translation>Neplatná hlavička odpovede HTTP</translation>
</message>
<message>
- <location line="+120"/>
+ <location line="+28"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+97"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
@@ -2306,7 +2316,7 @@ Chcete ho aj tak zmazať?</translation>
<translation>Vyžaduje sa overenie</translation>
</message>
<message>
- <location line="-133"/>
+ <location line="-138"/>
<source>Connection refused (or timed out)</source>
<translation type="unfinished"></translation>
</message>
@@ -2387,7 +2397,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1378"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation>Chyba pri otváraní databázy</translation>
</message>
@@ -2410,7 +2420,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1077"/>
+ <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation>BLOB sa nedá vytvoriť</translation>
</message>
@@ -2430,7 +2440,7 @@ Chcete ho aj tak zmazať?</translation>
<translation>BLOB sa nedá čítať</translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<location line="+189"/>
<source>Could not find array</source>
<translation>Pole sa nedá nájsť</translation>
@@ -2500,7 +2510,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1830"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation>Prístup zamietnutý</translation>
</message>
@@ -2520,7 +2530,7 @@ Chcete ho aj tak zmazať?</translation>
<translation>Na zariadení nie je voľné miesto</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation>Neznáma chyba</translation>
</message>
@@ -2528,7 +2538,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+212"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation>XIM</translation>
</message>
@@ -2551,7 +2561,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation type="unfinished"></translation>
</message>
@@ -2571,7 +2581,7 @@ Chcete ho aj tak zmazať?</translation>
<translation type="obsolete">QLibrary::resolve_sys: Symbol &quot;%1&quot; nie je definovaný v %2 (%3)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation>Nedá sa mmap &apos;%1&apos;: %2</translation>
</message>
@@ -2602,7 +2612,7 @@ Chcete ho aj tak zmazať?</translation>
</message>
<message>
<location line="-377"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+250"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation>Zdieľaná knižnica nebola nájdená.</translation>
</message>
@@ -2617,8 +2627,8 @@ Chcete ho aj tak zmazať?</translation>
<translation>Modul &apos;%1&apos; používa nekompatibilnú Qt knižnicu. (Nedajú sa miešať debug a release knižnice.)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+179"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2638,7 +2648,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2649"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2680"/>
<source>&amp;Undo</source>
<translation>V&amp;rátiť späť</translation>
</message>
@@ -2676,8 +2686,8 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+196"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation type="unfinished"></translation>
</message>
@@ -2693,7 +2703,7 @@ Chcete ho aj tak zmazať?</translation>
</message>
<message>
<location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+127"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2701,8 +2711,8 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+102"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation type="unfinished"></translation>
</message>
@@ -2715,7 +2725,7 @@ Chcete ho aj tak zmazať?</translation>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
<location line="+43"/>
<source>%1: Invalid name</source>
<translation type="unfinished"></translation>
@@ -2772,7 +2782,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1200"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation>Databáza sa nedá otvoriť &apos;</translation>
</message>
@@ -2782,7 +2792,7 @@ Chcete ho aj tak zmazať?</translation>
<translation>Nedá sa pripojiť</translation>
</message>
<message>
- <location line="+123"/>
+ <location line="+127"/>
<source>Unable to begin transaction</source>
<translation>Transakcia sa nedá spustiť</translation>
</message>
@@ -2800,7 +2810,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-917"/>
+ <location line="-922"/>
<source>Unable to fetch data</source>
<translation>Dáta sa nedajú získať</translation>
</message>
@@ -2815,7 +2825,7 @@ Chcete ho aj tak zmazať?</translation>
<translation>Výsledok sa nedá uložiť</translation>
</message>
<message>
- <location line="+189"/>
+ <location line="+190"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
<translation>Príkaz sa nedá pripraviť</translation>
@@ -2860,7 +2870,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation type="unfinished"></translation>
</message>
@@ -2868,7 +2878,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation>%1 - [%2]</translation>
</message>
@@ -2961,7 +2971,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+127"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
<location line="+225"/>
<source>Close</source>
<translation>Zavrieť</translation>
@@ -3034,7 +3044,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1958"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1964"/>
<location line="+852"/>
<location filename="../src/gui/dialogs/qmessagebox.h" line="-52"/>
<location line="+8"/>
@@ -3042,26 +3052,25 @@ Chcete ho aj tak zmazať?</translation>
<translation>OK</translation>
</message>
<message>
- <location line="+503"/>
+ <location line="+509"/>
<source>About Qt</source>
<translation>Informácie o Qt</translation>
</message>
<message>
- <location line="-502"/>
+ <location line="-508"/>
<source>Help</source>
<translation>Pomocník</translation>
</message>
<message>
- <location line="+487"/>
<source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation>&lt;p&gt;Tento program používa Qt verziu %1.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;Tento program používa Qt verziu %1.&lt;/p&gt;</translation>
</message>
<message>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="obsolete">&lt;h3&gt;Informácie o Qt&lt;h3&gt;%1&lt;p&gt;Qt je C++ nástroj pre vývoj viac-platformových aplikácií.&lt;/p&gt;&lt;p&gt;Qt poskytuje jedno zdrojový prenos medzi MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux a všetkými významnými komerčnými variantmi Unix. Qt je tiež dostupná pre vložené zariadenia ako Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt je produkt spoločnosti Trolltech. Pozrite &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; pre viac informácií.&lt;/p&gt;</translation>
</message>
<message>
- <location line="-1584"/>
+ <location line="-1097"/>
<source>Show Details...</source>
<translation>Zobraziť detaily...</translation>
</message>
@@ -3072,19 +3081,18 @@ Chcete ho aj tak zmazať?</translation>
</message>
<message>
<location line="+1570"/>
- <source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
<source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
- <translation>&lt;p&gt;Tento program používa Qt Open Source Edition verziu %1.&lt;/p&gt;&lt;p&gt;Qt Open Source Edition je určená pre vývoj Open Source aplikácií. Pre vývoj vlastnených (closed source) aplikácií potrebujete komerčnú Qt licenciu.&lt;/p&gt;&lt;p&gt;Prosím pozrite &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt; pre prehľad Qt licencovania.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;Tento program používa Qt Open Source Edition verziu %1.&lt;/p&gt;&lt;p&gt;Qt Open Source Edition je určená pre vývoj Open Source aplikácií. Pre vývoj vlastnených (closed source) aplikácií potrebujete komerčnú Qt licenciu.&lt;/p&gt;&lt;p&gt;Prosím pozrite &lt;a href=&quot;http://qtsoftware.com/company/model.html&quot;&gt;qtsoftware.com/company/model.html&lt;/a&gt; pre prehľad Qt licencovania.&lt;/p&gt;</translation>
</message>
</context>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation>Vybrať IM</translation>
</message>
@@ -3092,7 +3100,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation>Prepínač metódy viacnásobného vstupu</translation>
</message>
@@ -3105,7 +3113,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+176"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
<source>The remote host closed the connection</source>
<translation>Vzdialený počítač uzavrel spojenie</translation>
</message>
@@ -3238,7 +3246,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3246,7 +3254,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3274,7 +3282,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3284,7 +3292,7 @@ Chcete ho aj tak zmazať?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation type="unfinished"></translation>
</message>
@@ -3302,7 +3310,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3315,7 +3323,7 @@ Chcete ho aj tak zmazať?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation type="unfinished"></translation>
</message>
@@ -3323,7 +3331,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+422"/>
+ <location line="+432"/>
<location line="+22"/>
<source>Operation canceled</source>
<translation type="unfinished"></translation>
@@ -3332,7 +3340,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2027"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/>
<source>Unable to logon</source>
<translation>Nedá sa prihlásiť</translation>
</message>
@@ -3361,7 +3369,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QOCIResult</name>
<message>
- <location line="-976"/>
+ <location line="-963"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3388,18 +3396,16 @@ Chcete ho aj tak zmazať?</translation>
<translation>Príkaz sa nedá pripraviť</translation>
</message>
<message>
- <location line="+29"/>
- <location line="+37"/>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation>Hodnota sa nedá previazať</translation>
</message>
<message>
- <location line="-20"/>
<source>Unable to execute select statement</source>
- <translation>Príkaz select sa nedá vykonať</translation>
+ <translation type="obsolete">Príkaz select sa nedá vykonať</translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation>Príkaz sa nedá vykonať</translation>
</message>
@@ -3407,7 +3413,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1657"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation>Nedá sa pripojiť</translation>
</message>
@@ -3417,7 +3423,7 @@ Chcete ho aj tak zmazať?</translation>
<translation>Nedá sa pripojiť - ovládač neposkytuje všetku požadovanú funkcionalitu</translation>
</message>
<message>
- <location line="+234"/>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation>Nedá sa zakázať automatické potvrdzovanie</translation>
</message>
@@ -3440,19 +3446,19 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1204"/>
+ <location line="-1218"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: Pre príkaz sa nedá nastaviť atribút &apos;SQL_CURSOR_STATIC&apos;. Prosím skontrolujte konfiguráciu ovládača ODBC</translation>
</message>
<message>
<location line="-332"/>
- <location line="+625"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation>Príkaz sa nedá vykonať</translation>
</message>
<message>
- <location line="-554"/>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation>Nedá sa získať ďaľší záznam</translation>
</message>
@@ -3462,19 +3468,19 @@ Chcete ho aj tak zmazať?</translation>
<translation>Príkaz sa nedá pripraviť</translation>
</message>
<message>
- <location line="+267"/>
+ <location line="+268"/>
<source>Unable to bind variable</source>
<translation>Premenná sa nedá previazať</translation>
</message>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-474"/>
- <location line="+577"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-671"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation type="unfinished"></translation>
</message>
@@ -3492,12 +3498,12 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QObject</name>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation>Domov</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3507,7 +3513,7 @@ Chcete ho aj tak zmazať?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -3532,7 +3538,7 @@ Chcete ho aj tak zmazať?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+147"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
<location line="+57"/>
<source>No host name given</source>
<translation type="unfinished"></translation>
@@ -3541,7 +3547,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation type="unfinished">Meno</translation>
</message>
@@ -3554,7 +3560,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+732"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation>Nedá sa pripojiť</translation>
</message>
@@ -3574,7 +3580,7 @@ Chcete ho aj tak zmazať?</translation>
<translation>Transakcia sa nedá vrátiť späť</translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+358"/>
<source>Unable to subscribe</source>
<translation type="unfinished"></translation>
</message>
@@ -3587,12 +3593,12 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1035"/>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation>Nedá sa vytvoriť hľadanie</translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation type="unfinished"></translation>
</message>
@@ -3600,7 +3606,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation type="unfinished"></translation>
</message>
@@ -3716,7 +3722,7 @@ Chcete ho aj tak zmazať?</translation>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+68"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation>lokálne pripojená</translation>
</message>
@@ -3733,7 +3739,7 @@ Chcete ho aj tak zmazať?</translation>
<translation>neznáme</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -3746,7 +3752,7 @@ Chcete ho aj tak zmazať?</translation>
<translation type="obsolete">Tlačiť farebne ak je to dostupné</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+345"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+375"/>
<source>Print all</source>
<translation>Tlačiť všetko</translation>
</message>
@@ -3943,7 +3949,7 @@ Chcete ho aj tak zmazať?</translation>
<translation type="obsolete">Zdroj papiera:</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
@@ -4245,13 +4251,13 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+38"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
<location line="+12"/>
<source>Page Setup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation type="unfinished"></translation>
</message>
@@ -4533,8 +4539,8 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+445"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation type="unfinished"></translation>
</message>
@@ -4563,7 +4569,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+503"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4583,6 +4589,11 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation type="unfinished"></translation>
@@ -4591,7 +4602,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>Storno</translation>
</message>
@@ -4615,7 +4626,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+34"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation>nevyskytli sa žiadne chyby</translation>
</message>
@@ -4663,7 +4674,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation>Chyba pri otváraní databázy</translation>
</message>
@@ -4686,12 +4697,12 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-310"/>
+ <location line="-323"/>
<source>Unable to fetch results</source>
<translation>Výsledky sa nedajú získať</translation>
</message>
<message>
- <location line="+139"/>
+ <location line="+147"/>
<source>Unable to execute statement</source>
<translation>Príkaz sa nedá vykonať</translation>
</message>
@@ -4699,7 +4710,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+498"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation>Chyba pri otváraní databázy</translation>
</message>
@@ -4766,12 +4777,12 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+419"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation>Posunúť sem</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Left edge</source>
<translation>Ľavá hrana</translation>
</message>
@@ -4781,7 +4792,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation>Vrch</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Right edge</source>
<translation>Pravá hrana</translation>
</message>
@@ -4791,7 +4802,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation>Spodok</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Page left</source>
<translation>Strana naľavo</translation>
</message>
@@ -4802,7 +4813,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation>Strana nahor</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Page right</source>
<translation>Strana napravo</translation>
</message>
@@ -4813,7 +4824,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation>Strana nadol</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Scroll left</source>
<translation>Posunúť naľavo</translation>
</message>
@@ -4823,7 +4834,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation>Posunúť nahor</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Scroll right</source>
<translation>Posunúť napravo</translation>
</message>
@@ -4851,7 +4862,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+177"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4862,7 +4873,7 @@ Prosím zvoľte iné meno súboru.</translation>
</message>
<message>
<location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+118"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4872,8 +4883,8 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+48"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation type="unfinished"></translation>
</message>
@@ -4951,7 +4962,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+343"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation>Medzera</translation>
</message>
@@ -5536,7 +5547,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+860"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation>Odstrániť</translation>
</message>
@@ -5593,7 +5604,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+230"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+260"/>
<source>Error creating SSL context (%1)</source>
<translation>Chyba pri vytváraní SSL kontextu (%1)</translation>
</message>
@@ -5656,7 +5667,7 @@ Prosím zvoľte iné meno súboru.</translation>
<name>QSystemSemaphore</name>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation type="unfinished"></translation>
</message>
@@ -5686,7 +5697,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation>Nedá sa otvoriť spojenie</translation>
</message>
@@ -5716,7 +5727,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="obsolete">Nepodporovaná operácia so soketom</translation>
</message>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation type="unfinished"></translation>
</message>
@@ -5724,7 +5735,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1942"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation>V&amp;rátiť späť</translation>
</message>
@@ -5782,7 +5793,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation>Táto platforma nepodporuje IPv6</translation>
</message>
@@ -5790,7 +5801,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+356"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation>Vrátiť späť</translation>
</message>
@@ -5803,7 +5814,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation>&lt;prázdne&gt;</translation>
</message>
@@ -5811,7 +5822,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+804"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation>Vrátiť späť</translation>
</message>
@@ -5882,7 +5893,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation type="unfinished"></translation>
</message>
@@ -6292,7 +6303,7 @@ Prosím zvoľte iné meno súboru.</translation>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6368,6 +6379,11 @@ Prosím zvoľte iné meno súboru.</translation>
</message>
<message>
<location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation type="unfinished"></translation>
</message>
@@ -6436,11 +6452,21 @@ Prosím zvoľte iné meno súboru.</translation>
<source>Delete to the end of the word</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation>Čo je to?</translation>
</message>
@@ -6448,7 +6474,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -6456,7 +6482,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+605"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
<source>Go Back</source>
<translation>Vrátiť sa späť</translation>
</message>
@@ -6518,7 +6544,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1064"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation>&amp;Obnoviť</translation>
</message>
@@ -6588,7 +6614,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+28"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation>nevyskytla sa žiadna chyba</translation>
</message>
@@ -6706,8 +6732,8 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+562"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation>Obsah naviac na konci dokumentu.</translation>
</message>
@@ -6895,7 +6921,7 @@ Prosím zvoľte iné meno súboru.</translation>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation type="unfinished"></translation>
</message>
@@ -6905,12 +6931,12 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation type="unfinished"></translation>
</message>
@@ -6920,7 +6946,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6960,7 +6986,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+69"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
<location line="+15"/>
<source>At least one component must be present.</source>
<translation type="unfinished"></translation>
@@ -6971,7 +6997,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6986,17 +7012,17 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
<source>Integer division (%1) by zero (%2) is undefined.</source>
<translation type="unfinished"></translation>
</message>
@@ -7027,17 +7053,17 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation type="unfinished"></translation>
</message>
@@ -7047,7 +7073,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation type="unfinished"></translation>
</message>
@@ -7057,7 +7083,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -7067,7 +7093,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -7077,7 +7103,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -7087,7 +7113,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+104"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+134"/>
<source>No casting is possible with %1 as the target type.</source>
<translation type="unfinished"></translation>
</message>
@@ -7112,7 +7138,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation type="unfinished"></translation>
</message>
@@ -7122,7 +7148,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+137"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/>
<source>No comparisons can be done involving the type %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -7132,12 +7158,12 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation type="unfinished"></translation>
</message>
@@ -7147,7 +7173,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation type="unfinished"></translation>
</message>
@@ -7157,7 +7183,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+83"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
<source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
<translation type="unfinished"></translation>
</message>
@@ -7167,33 +7193,33 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+126"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+39"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -7207,7 +7233,7 @@ Prosím zvoľte iné meno súboru.</translation>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation type="unfinished"></translation>
</message>
@@ -7222,27 +7248,27 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+64"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation type="unfinished"></translation>
</message>
@@ -7257,7 +7283,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation type="unfinished"></translation>
</message>
@@ -7292,17 +7318,17 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation type="unfinished"></translation>
</message>
@@ -7312,12 +7338,12 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation type="unfinished"></translation>
</message>
@@ -7327,17 +7353,17 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+319"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
<location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation type="unfinished"></translation>
@@ -7358,7 +7384,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation type="unfinished"></translation>
</message>
@@ -7640,7 +7666,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation type="unfinished"></translation>
</message>
@@ -7665,7 +7691,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+33"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation type="unfinished"></translation>
</message>
@@ -7680,7 +7706,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation type="unfinished"></translation>
</message>
@@ -7690,12 +7716,12 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation type="unfinished"></translation>
</message>
@@ -7710,13 +7736,13 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+39"/>
- <source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -7735,12 +7761,12 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation type="unfinished"></translation>
</message>
@@ -7750,12 +7776,12 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation type="unfinished"></translation>
</message>
@@ -7810,7 +7836,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation type="unfinished"></translation>
</message>
@@ -7885,7 +7911,7 @@ Prosím zvoľte iné meno súboru.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+432"/>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/qt_sv.ts b/translations/qt_sv.ts
index f27480d..d6affce 100644
--- a/translations/qt_sv.ts
+++ b/translations/qt_sv.ts
@@ -4,7 +4,7 @@
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -22,7 +22,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation type="unfinished"></translation>
</message>
@@ -89,7 +89,7 @@
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -102,24 +102,24 @@ have libgstreamer-plugins-base installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+653"/>
- <location line="+9"/>
+ <location line="+676"/>
+ <location line="+8"/>
<location line="+15"/>
- <location line="+7"/>
- <location line="+5"/>
- <location line="+20"/>
- <location line="+317"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-381"/>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+355"/>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation type="unfinished"></translation>
</message>
@@ -153,7 +153,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation>%1, %2 är inte definierad</translation>
</message>
@@ -166,7 +166,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+253"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation>Sant</translation>
</message>
@@ -194,7 +194,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+834"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation>Kopiera eller ta bort en fil</translation>
</message>
@@ -219,7 +219,7 @@ have libgstreamer-plugins-base installed.</source>
<location line="-157"/>
<location line="+49"/>
<location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+80"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation>Alla filer (*)</translation>
</message>
@@ -359,7 +359,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+704"/>
<location line="+2100"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+307"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation>Öppna</translation>
</message>
@@ -527,7 +527,7 @@ Kontrollera sökväg och filnamn.</translation>
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+100"/>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
<location line="+10"/>
<source>Could not read directory
%1</source>
@@ -577,7 +577,7 @@ till
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2021"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation>Rada upp</translation>
</message>
@@ -590,7 +590,7 @@ till
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation>Åtgärden stoppades av användaren</translation>
</message>
@@ -598,7 +598,7 @@ till
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+194"/>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
<translation>Avbryt</translation>
@@ -607,7 +607,7 @@ till
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+159"/>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
<location line="+814"/>
<source>OK</source>
<translation>OK</translation>
@@ -636,7 +636,7 @@ till
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5399"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation>&amp;Ångra</translation>
</message>
@@ -675,7 +675,7 @@ till
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+216"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation>System</translation>
</message>
@@ -743,7 +743,7 @@ till
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation>Mer...</translation>
</message>
@@ -751,7 +751,7 @@ till
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+356"/>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
@@ -803,7 +803,7 @@ till
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+147"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation>&amp;Avbryt</translation>
</message>
@@ -831,9 +831,9 @@ till
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+838"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+585"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+627"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
<location line="+26"/>
<source>Host not found</source>
<translation>Värden hittades inte</translation>
@@ -876,7 +876,7 @@ till
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1169"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation>&amp;Stega uppåt</translation>
</message>
@@ -894,12 +894,12 @@ till
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation>Aktivera</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation>Binären \&quot;%1\&quot; kräver Qt %2, hittade Qt %3.</translation>
</message>
@@ -909,7 +909,7 @@ till
<translation>Inkompatibelt Qt-biblioteksfel</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
@@ -946,7 +946,7 @@ till
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+84"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation>Avkryssa</translation>
</message>
@@ -964,7 +964,7 @@ till
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1219"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation>Nya&amp;ns:</translation>
</message>
@@ -1038,13 +1038,13 @@ till
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1741"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
<location line="+65"/>
<source>Open</source>
<translation>Öppna</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation type="unfinished">Falskt</translation>
</message>
@@ -1062,7 +1062,7 @@ till
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation type="unfinished"></translation>
@@ -1083,12 +1083,12 @@ till
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation>Kunde inte ansluta</translation>
</message>
<message>
- <location line="+263"/>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation>Kunde inte verkställa transaktion</translation>
</message>
@@ -1106,8 +1106,8 @@ till
<context>
<name>QDB2Result</name>
<message>
- <location line="-986"/>
- <location line="+242"/>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation>Kunde inte köra frågesats</translation>
</message>
@@ -1122,7 +1122,7 @@ till
<translation>Kunde inte binda variabel</translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation>Kunde inte hämta posten %1</translation>
</message>
@@ -1140,7 +1140,7 @@ till
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation>AM</translation>
</message>
@@ -1163,7 +1163,7 @@ till
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation type="unfinished"></translation>
</message>
@@ -1181,7 +1181,7 @@ till
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>Vad är det här?</translation>
</message>
@@ -1194,9 +1194,9 @@ till
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1830"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+531"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -1319,7 +1319,7 @@ till
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+423"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation>Namn</translation>
</message>
@@ -1349,7 +1349,7 @@ till
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation type="unfinished">Stäng</translation>
</message>
@@ -1380,7 +1380,7 @@ till
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+162"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+192"/>
<source>Debug Message:</source>
<translation>Felsökningsmeddelande:</translation>
</message>
@@ -1408,13 +1408,18 @@ till
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+678"/>
- <location line="+130"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation type="unfinished"></translation>
</message>
@@ -1437,37 +1442,37 @@ till
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+484"/>
- <location line="+423"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+515"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation>Alla filer (*)</translation>
</message>
<message>
- <location line="+218"/>
+ <location line="+222"/>
<source>Directories</source>
<translation>Kataloger</translation>
</message>
<message>
<location line="-3"/>
<location line="+50"/>
- <location line="+1440"/>
+ <location line="+1471"/>
<location line="+75"/>
<source>&amp;Open</source>
<translation>&amp;Öppna</translation>
</message>
<message>
- <location line="-1565"/>
+ <location line="-1596"/>
<location line="+50"/>
<source>&amp;Save</source>
<translation>&amp;Spara</translation>
</message>
<message>
- <location line="-705"/>
+ <location line="-730"/>
<source>Open</source>
<translation>Öppna</translation>
</message>
<message>
- <location line="+1469"/>
+ <location line="+1515"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 finns redan.
@@ -1488,7 +1493,7 @@ Kontrollera att det korrekta filnamnet angavs.</translation>
<translation>Min dator</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1458"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1504"/>
<source>&amp;Rename</source>
<translation>&amp;Byt namn</translation>
</message>
@@ -1534,7 +1539,7 @@ Kontrollera att det korrekta filnamnet angavs.</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="+6"/>
- <location line="+623"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation>Katalog:</translation>
</message>
@@ -1547,8 +1552,8 @@ Filen hittades inte.
Kontrollera att det korrekta filnamnet angavs</translation>
</message>
<message>
- <location line="+773"/>
- <location line="+851"/>
+ <location line="+794"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
@@ -1557,7 +1562,7 @@ Katalogen hittades inte.
Kontrollera att det korrekta katalognamnet angavs.</translation>
</message>
<message>
- <location line="-217"/>
+ <location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation>\&quot;%1\&quot; är skrivskyddad.
@@ -1574,22 +1579,22 @@ Vill du ta bort den ändå?</translation>
<translation>Kunde inte ta bort katalogen.</translation>
</message>
<message>
- <location line="+406"/>
+ <location line="+407"/>
<source>Recent Places</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation>Alla filer (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2493"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2550"/>
<source>Save As</source>
<translation>Spara som</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+381"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+411"/>
<source>Drive</source>
<translation>Enhet</translation>
</message>
@@ -1621,29 +1626,29 @@ Vill du ta bort den ändå?</translation>
<translation type="unfinished">Framåt</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1914"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1970"/>
<source>New Folder</source>
<translation type="unfinished">Ny mapp</translation>
</message>
<message>
- <location line="-1907"/>
+ <location line="-1963"/>
<source>&amp;New Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+631"/>
+ <location line="+656"/>
<location line="+38"/>
<source>&amp;Choose</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-662"/>
- <location line="+627"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation type="unfinished">Fil&amp;namn:</translation>
</message>
@@ -1663,7 +1668,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+707"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
<source>%1 TB</source>
<translation type="unfinished"></translation>
</message>
@@ -1725,7 +1730,7 @@ Vill du ta bort den ändå?</translation>
<translation type="unfinished">Ändringsdatum</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation type="unfinished">Min dator</translation>
</message>
@@ -1738,7 +1743,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+60"/>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
<location line="+1176"/>
<source>Normal</source>
<translation type="unfinished"></translation>
@@ -1955,7 +1960,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+742"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation>&amp;Typsnitt</translation>
</message>
@@ -2004,8 +2009,8 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+796"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+653"/>
+ <location filename="../src/network/access/qftp.cpp" line="+826"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+683"/>
<source>Not connected</source>
<translation>Inte ansluten</translation>
</message>
@@ -2150,7 +2155,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation>Okänt fel</translation>
</message>
@@ -2158,11 +2163,11 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+148"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
<location line="+9"/>
<location line="+64"/>
<location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+150"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
<location line="+9"/>
<location line="+40"/>
<location line="+27"/>
@@ -2188,26 +2193,26 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+335"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+365"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1209"/>
- <location line="+816"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1130"/>
+ <location line="+820"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1160"/>
<location line="+567"/>
<source>Unknown error</source>
<translation>Okänt fel</translation>
</message>
<message>
- <location line="-564"/>
+ <location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation>Begäran avbröts</translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation>Ingen server inställd att ansluta till</translation>
@@ -2225,18 +2230,23 @@ Vill du ta bort den ändå?</translation>
<translation>Servern stängde oväntat anslutningen</translation>
</message>
<message>
- <location line="+357"/>
+ <location line="+179"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+183"/>
<source>Error writing response to device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+1712"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+38"/>
<source>Connection refused</source>
<translation>Anslutningen nekades</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-299"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-304"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2257,7 +2267,7 @@ Vill du ta bort den ändå?</translation>
<translation>Ogiltig HTTP-svarshuvud</translation>
</message>
<message>
- <location line="+120"/>
+ <location line="+125"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
@@ -2306,7 +2316,7 @@ Vill du ta bort den ändå?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-133"/>
+ <location line="-138"/>
<source>Connection refused (or timed out)</source>
<translation type="unfinished"></translation>
</message>
@@ -2387,7 +2397,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1378"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation>Fel vid öppning av databas</translation>
</message>
@@ -2410,7 +2420,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1077"/>
+ <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation>Kunde inte skapa BLOB</translation>
</message>
@@ -2430,7 +2440,7 @@ Vill du ta bort den ändå?</translation>
<translation>Kunde inte läsa BLOB</translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<location line="+189"/>
<source>Could not find array</source>
<translation>Kunde inte hitta kedja</translation>
@@ -2500,7 +2510,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1830"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation>Åtkomst nekad</translation>
</message>
@@ -2520,7 +2530,7 @@ Vill du ta bort den ändå?</translation>
<translation>Inget ledigt utrymme på enheten</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation>Okänt fel</translation>
</message>
@@ -2528,7 +2538,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+212"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation>XIM</translation>
</message>
@@ -2551,7 +2561,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation type="unfinished"></translation>
</message>
@@ -2571,7 +2581,7 @@ Vill du ta bort den ändå?</translation>
<translation type="obsolete">QLibrary::resolve_sys: Symbolen &quot;%1&quot; är inte definierad i %2 (%3)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2587,7 +2597,7 @@ Vill du ta bort den ändå?</translation>
</message>
<message>
<location line="+285"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+250"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation type="unfinished"></translation>
</message>
@@ -2617,8 +2627,8 @@ Vill du ta bort den ändå?</translation>
<translation type="unfinished">Okänt fel</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+179"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2638,7 +2648,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2649"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2680"/>
<source>&amp;Undo</source>
<translation>&amp;Ångra</translation>
</message>
@@ -2676,8 +2686,8 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+196"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation type="unfinished"></translation>
</message>
@@ -2693,7 +2703,7 @@ Vill du ta bort den ändå?</translation>
</message>
<message>
<location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+127"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2701,8 +2711,8 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+102"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation type="unfinished"></translation>
</message>
@@ -2715,7 +2725,7 @@ Vill du ta bort den ändå?</translation>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
<location line="+43"/>
<source>%1: Invalid name</source>
<translation type="unfinished"></translation>
@@ -2772,7 +2782,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1200"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation>Kunde inte öppna databasen \&quot;</translation>
</message>
@@ -2782,7 +2792,7 @@ Vill du ta bort den ändå?</translation>
<translation>Kunde inte ansluta</translation>
</message>
<message>
- <location line="+123"/>
+ <location line="+127"/>
<source>Unable to begin transaction</source>
<translation>Kunde inte påbörja transaktion</translation>
</message>
@@ -2800,7 +2810,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-917"/>
+ <location line="-922"/>
<source>Unable to fetch data</source>
<translation>Kunde inte hämta data</translation>
</message>
@@ -2815,7 +2825,7 @@ Vill du ta bort den ändå?</translation>
<translation>Kunde inte lagra resultat</translation>
</message>
<message>
- <location line="+189"/>
+ <location line="+190"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
<translation>Kunde inte förbereda frågesats</translation>
@@ -2860,7 +2870,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation type="unfinished"></translation>
</message>
@@ -2868,7 +2878,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation type="unfinished">%1 - [%2]</translation>
</message>
@@ -2961,7 +2971,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+127"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
<location line="+225"/>
<source>Close</source>
<translation>Stäng</translation>
@@ -2990,7 +3000,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1105"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1111"/>
<source>Help</source>
<translation>Hjälp</translation>
</message>
@@ -3003,21 +3013,20 @@ Vill du ta bort den ändå?</translation>
<translation>OK</translation>
</message>
<message>
- <location line="+503"/>
+ <location line="+509"/>
<source>About Qt</source>
<translation>Om Qt</translation>
</message>
<message>
- <location line="-15"/>
<source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation>&lt;p&gt;Detta program använder Qt version %1.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;Detta program använder Qt version %1.&lt;/p&gt;</translation>
</message>
<message>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="obsolete">&lt;h3&gt;Om Qt&lt;/h3&gt;%1&lt;p&gt;Qt är ett C++-verktygssamling för utveckling av krossplattformsprogram.&lt;/p&gt;&lt;p&gt;Qt tillhandahåller portabilitet för samma källkod mellan MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, och alla andra stora kommersiella Unix-varianter. Qt finns också tillgängligt för inbäddade enheter som Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt är en produkt från Trolltech. Se &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; för mer information.&lt;/p&gt;</translation>
</message>
<message>
- <location line="-1584"/>
+ <location line="-1605"/>
<source>Show Details...</source>
<translation>Visa detaljer...</translation>
</message>
@@ -3028,19 +3037,14 @@ Vill du ta bort den ändå?</translation>
</message>
<message>
<location line="+1570"/>
- <source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+15"/>
- <source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation>Välj inmatningsmetod</translation>
</message>
@@ -3048,7 +3052,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation>Växlare för flera inmatningsmetoder</translation>
</message>
@@ -3061,7 +3065,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+176"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
<source>The remote host closed the connection</source>
<translation>Fjärrvärden stängde anslutningen</translation>
</message>
@@ -3194,7 +3198,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3202,7 +3206,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3230,7 +3234,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3240,7 +3244,7 @@ Vill du ta bort den ändå?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation type="unfinished"></translation>
</message>
@@ -3258,7 +3262,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3271,7 +3275,7 @@ Vill du ta bort den ändå?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation type="unfinished"></translation>
</message>
@@ -3279,7 +3283,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+422"/>
+ <location line="+432"/>
<location line="+22"/>
<source>Operation canceled</source>
<translation type="unfinished"></translation>
@@ -3288,7 +3292,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2027"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/>
<source>Unable to logon</source>
<translation>Kunde inte logga in</translation>
</message>
@@ -3317,7 +3321,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QOCIResult</name>
<message>
- <location line="-976"/>
+ <location line="-963"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3344,18 +3348,16 @@ Vill du ta bort den ändå?</translation>
<translation>Kunde inte förbereda frågesats</translation>
</message>
<message>
- <location line="+29"/>
- <location line="+37"/>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation>Kunde inte binda värde</translation>
</message>
<message>
- <location line="-20"/>
<source>Unable to execute select statement</source>
- <translation>Kunde inte köra \&quot;select\&quot;-frågesats</translation>
+ <translation type="obsolete">Kunde inte köra \&quot;select\&quot;-frågesats</translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation>Kunde inte köra frågesats</translation>
</message>
@@ -3363,7 +3365,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1657"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation>Kunde inte ansluta</translation>
</message>
@@ -3373,7 +3375,7 @@ Vill du ta bort den ändå?</translation>
<translation>Kunde inte ansluta - Drivrutinen har inte stöd för all nödvändig funktionalitet</translation>
</message>
<message>
- <location line="+234"/>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation>Kunde inte inaktivera automatisk verkställning</translation>
</message>
@@ -3396,19 +3398,19 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1204"/>
+ <location line="-1218"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: Kunde inte ställa in \&quot;SQL_CURSOR_STATIC\&quot; som frågesatsattribut. Kontrollera konfigurationen för din ODBC-drivrutin</translation>
</message>
<message>
<location line="-332"/>
- <location line="+625"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation>Kunde inte köra frågesats</translation>
</message>
<message>
- <location line="-554"/>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation>Kunde inte hämta nästa</translation>
</message>
@@ -3418,19 +3420,19 @@ Vill du ta bort den ändå?</translation>
<translation>Kunde inte förbereda frågesats</translation>
</message>
<message>
- <location line="+267"/>
+ <location line="+268"/>
<source>Unable to bind variable</source>
<translation>Kunde inte binda variabel</translation>
</message>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-474"/>
- <location line="+577"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-671"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation type="unfinished"></translation>
</message>
@@ -3448,12 +3450,12 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QObject</name>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation type="unfinished">Home</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3463,7 +3465,7 @@ Vill du ta bort den ändå?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -3488,7 +3490,7 @@ Vill du ta bort den ändå?</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+147"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
<location line="+57"/>
<source>No host name given</source>
<translation type="unfinished"></translation>
@@ -3497,7 +3499,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation type="unfinished">Namn</translation>
</message>
@@ -3510,7 +3512,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+732"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation>Kunde inte ansluta</translation>
</message>
@@ -3530,7 +3532,7 @@ Vill du ta bort den ändå?</translation>
<translation>Kunde inte rulla tillbaka transaktion</translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+358"/>
<source>Unable to subscribe</source>
<translation type="unfinished"></translation>
</message>
@@ -3543,12 +3545,12 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1035"/>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation>Kunde inte skapa fråga</translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation type="unfinished">Kunde inte förbereda frågesats</translation>
</message>
@@ -3556,7 +3558,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation type="unfinished"></translation>
</message>
@@ -3672,7 +3674,7 @@ Vill du ta bort den ändå?</translation>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+68"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation>lokalt ansluten</translation>
</message>
@@ -3697,7 +3699,7 @@ Vill du ta bort den ändå?</translation>
<translation type="obsolete">Liggande</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+299"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+329"/>
<source>A0 (841 x 1189 mm)</source>
<translation>A0 (841 x 1189 mm)</translation>
</message>
@@ -3847,7 +3849,7 @@ Vill du ta bort den ändå?</translation>
<translation>US Common #10 Envelope (105 x 241 mm)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -3868,7 +3870,7 @@ Vill du ta bort den ändå?</translation>
<translation type="obsolete">Papperskälla:</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
@@ -4200,13 +4202,13 @@ Please choose a different file name.</source>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+38"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
<location line="+12"/>
<source>Page Setup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation type="unfinished"></translation>
</message>
@@ -4488,8 +4490,8 @@ Please choose a different file name.</source>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+445"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation type="unfinished"></translation>
</message>
@@ -4518,7 +4520,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+503"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4538,6 +4540,11 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation type="unfinished"></translation>
@@ -4546,7 +4553,7 @@ Please choose a different file name.</source>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>Avbryt</translation>
</message>
@@ -4570,7 +4577,7 @@ Please choose a different file name.</source>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+34"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation>inga fel inträffade</translation>
</message>
@@ -4618,7 +4625,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation>Fel vid öppning av databas</translation>
</message>
@@ -4641,12 +4648,12 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-310"/>
+ <location line="-323"/>
<source>Unable to fetch results</source>
<translation>Kunde inte hämta resultat</translation>
</message>
<message>
- <location line="+139"/>
+ <location line="+147"/>
<source>Unable to execute statement</source>
<translation>Kunde inte köra frågesats</translation>
</message>
@@ -4654,7 +4661,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+498"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation>Fel vid öppning av databas</translation>
</message>
@@ -4721,12 +4728,12 @@ Please choose a different file name.</source>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+419"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation>Rulla här</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Left edge</source>
<translation>Vänsterkant</translation>
</message>
@@ -4736,7 +4743,7 @@ Please choose a different file name.</source>
<translation>Överkant</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Right edge</source>
<translation>Högerkant</translation>
</message>
@@ -4746,7 +4753,7 @@ Please choose a different file name.</source>
<translation>Nederkant</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Page left</source>
<translation>Sida vänster</translation>
</message>
@@ -4757,7 +4764,7 @@ Please choose a different file name.</source>
<translation>Sida uppåt</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Page right</source>
<translation>Sida höger</translation>
</message>
@@ -4768,7 +4775,7 @@ Please choose a different file name.</source>
<translation>Sida nedåt</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Scroll left</source>
<translation>Rulla vänster</translation>
</message>
@@ -4778,7 +4785,7 @@ Please choose a different file name.</source>
<translation>Rulla uppåt</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Scroll right</source>
<translation>Rulla höger</translation>
</message>
@@ -4806,7 +4813,7 @@ Please choose a different file name.</source>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+177"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4817,7 +4824,7 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+118"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4827,8 +4834,8 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+48"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation type="unfinished"></translation>
</message>
@@ -4906,7 +4913,7 @@ Please choose a different file name.</source>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+343"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation>Mellanslag</translation>
</message>
@@ -5491,7 +5498,7 @@ Please choose a different file name.</source>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+860"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation>Ta bort</translation>
</message>
@@ -5548,7 +5555,7 @@ Please choose a different file name.</source>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+539"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -5607,7 +5614,7 @@ Please choose a different file name.</source>
<name>QSystemSemaphore</name>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation type="unfinished"></translation>
</message>
@@ -5637,7 +5644,7 @@ Please choose a different file name.</source>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation>Kunde inte öppna anslutning</translation>
</message>
@@ -5667,7 +5674,7 @@ Please choose a different file name.</source>
<translation type="obsolete">Uttagsåtgärd stöds inte</translation>
</message>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation type="unfinished"></translation>
</message>
@@ -5675,7 +5682,7 @@ Please choose a different file name.</source>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1942"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation>&amp;Ångra</translation>
</message>
@@ -5733,7 +5740,7 @@ Please choose a different file name.</source>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation>Denna plattform saknar stöd för IPv6</translation>
</message>
@@ -5741,7 +5748,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+356"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation>Ångra</translation>
</message>
@@ -5754,7 +5761,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation>&lt;tom&gt;</translation>
</message>
@@ -5762,7 +5769,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+804"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation>Ångra</translation>
</message>
@@ -5833,7 +5840,7 @@ Please choose a different file name.</source>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation type="unfinished"></translation>
</message>
@@ -6243,7 +6250,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6319,6 +6326,11 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation type="unfinished"></translation>
</message>
@@ -6387,11 +6399,21 @@ Please choose a different file name.</source>
<source>Delete to the end of the word</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation>Vad är det här?</translation>
</message>
@@ -6399,7 +6421,7 @@ Please choose a different file name.</source>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -6407,7 +6429,7 @@ Please choose a different file name.</source>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+605"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
<source>Go Back</source>
<translation type="unfinished"></translation>
</message>
@@ -6465,7 +6487,7 @@ Please choose a different file name.</source>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1064"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation>Åte&amp;rställ</translation>
</message>
@@ -6535,7 +6557,7 @@ Please choose a different file name.</source>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+28"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation>inga fel inträffade</translation>
</message>
@@ -6653,8 +6675,8 @@ Please choose a different file name.</source>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+562"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation type="unfinished"></translation>
</message>
@@ -6838,7 +6860,7 @@ Please choose a different file name.</source>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation type="unfinished"></translation>
</message>
@@ -6848,12 +6870,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation type="unfinished"></translation>
</message>
@@ -6863,7 +6885,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6903,7 +6925,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+69"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
<location line="+15"/>
<source>At least one component must be present.</source>
<translation type="unfinished"></translation>
@@ -6914,7 +6936,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6929,17 +6951,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
<source>Integer division (%1) by zero (%2) is undefined.</source>
<translation type="unfinished"></translation>
</message>
@@ -6970,17 +6992,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation type="unfinished"></translation>
</message>
@@ -6990,7 +7012,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation type="unfinished"></translation>
</message>
@@ -7000,7 +7022,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -7010,7 +7032,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -7020,7 +7042,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -7030,7 +7052,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+104"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+134"/>
<source>No casting is possible with %1 as the target type.</source>
<translation type="unfinished"></translation>
</message>
@@ -7055,7 +7077,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation type="unfinished"></translation>
</message>
@@ -7065,7 +7087,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+137"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/>
<source>No comparisons can be done involving the type %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -7075,12 +7097,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation type="unfinished"></translation>
</message>
@@ -7090,7 +7112,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation type="unfinished"></translation>
</message>
@@ -7100,7 +7122,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+83"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
<source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
<translation type="unfinished"></translation>
</message>
@@ -7110,33 +7132,33 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+126"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+39"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -7150,7 +7172,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation type="unfinished"></translation>
</message>
@@ -7165,27 +7187,27 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+64"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation type="unfinished"></translation>
</message>
@@ -7200,7 +7222,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation type="unfinished"></translation>
</message>
@@ -7235,17 +7257,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation type="unfinished"></translation>
</message>
@@ -7255,12 +7277,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation type="unfinished"></translation>
</message>
@@ -7270,17 +7292,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+319"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
<location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation type="unfinished"></translation>
@@ -7301,7 +7323,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation type="unfinished"></translation>
</message>
@@ -7583,7 +7605,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation type="unfinished"></translation>
</message>
@@ -7608,7 +7630,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+33"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation type="unfinished"></translation>
</message>
@@ -7623,7 +7645,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation type="unfinished"></translation>
</message>
@@ -7633,12 +7655,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation type="unfinished"></translation>
</message>
@@ -7653,13 +7675,13 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+39"/>
- <source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -7678,12 +7700,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation type="unfinished"></translation>
</message>
@@ -7693,12 +7715,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation type="unfinished"></translation>
</message>
@@ -7753,7 +7775,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation type="unfinished"></translation>
</message>
@@ -7828,7 +7850,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+432"/>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/qt_uk.ts b/translations/qt_uk.ts
index c16a645..9c1b1f4 100644
--- a/translations/qt_uk.ts
+++ b/translations/qt_uk.ts
@@ -4,7 +4,7 @@
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -22,7 +22,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation type="unfinished"></translation>
</message>
@@ -96,7 +96,7 @@
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -109,24 +109,24 @@ have libgstreamer-plugins-base installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+653"/>
- <location line="+9"/>
+ <location line="+676"/>
+ <location line="+8"/>
<location line="+15"/>
- <location line="+7"/>
- <location line="+5"/>
- <location line="+20"/>
- <location line="+317"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-381"/>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+355"/>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation type="unfinished"></translation>
</message>
@@ -160,7 +160,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation>%1, %2 не визначено</translation>
</message>
@@ -173,7 +173,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+253"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation>Так</translation>
</message>
@@ -201,7 +201,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+834"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation>Копіювати або пересунути файл</translation>
</message>
@@ -226,7 +226,7 @@ have libgstreamer-plugins-base installed.</source>
<location line="-157"/>
<location line="+49"/>
<location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+80"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation>Всі файли (*)</translation>
</message>
@@ -366,7 +366,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+704"/>
<location line="+2100"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+307"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation>Відкрити</translation>
</message>
@@ -534,7 +534,7 @@ Check path and filename.</source>
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+100"/>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
<location line="+10"/>
<source>Could not read directory
%1</source>
@@ -583,7 +583,7 @@ to
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2021"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation>Вирівняти</translation>
</message>
@@ -596,7 +596,7 @@ to
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation>Дію зупинено користувачем</translation>
</message>
@@ -604,7 +604,7 @@ to
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+194"/>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
<translation>Скасувати</translation>
@@ -613,7 +613,7 @@ to
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+159"/>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
<location line="+814"/>
<source>OK</source>
<translation>Гаразд</translation>
@@ -642,7 +642,7 @@ to
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5399"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation>&amp;Повернути</translation>
</message>
@@ -681,7 +681,7 @@ to
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+216"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation>Система</translation>
</message>
@@ -749,7 +749,7 @@ to
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation>Додатково...</translation>
</message>
@@ -757,7 +757,7 @@ to
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+356"/>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
@@ -809,7 +809,7 @@ to
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+147"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation>&amp;Скасувати</translation>
</message>
@@ -837,9 +837,9 @@ to
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+838"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+585"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+627"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
<location line="+26"/>
<source>Host not found</source>
<translation>Вузол не знайдено</translation>
@@ -882,7 +882,7 @@ to
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1169"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation>&amp;Крок вгору</translation>
</message>
@@ -900,12 +900,12 @@ to
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation>Активувати</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation>Програма &quot;%1&quot; потребує Qt %2, але знайдено Qt %3.</translation>
</message>
@@ -915,7 +915,7 @@ to
<translation>Помилка несумісності бібліотеки Qt</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
@@ -952,7 +952,7 @@ to
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+84"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation>Зняти позначку</translation>
</message>
@@ -970,7 +970,7 @@ to
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1219"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation>Від&amp;тінок:</translation>
</message>
@@ -1044,13 +1044,13 @@ to
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1741"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
<location line="+65"/>
<source>Open</source>
<translation>Відкрити</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation>Ні</translation>
</message>
@@ -1068,7 +1068,7 @@ to
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation type="unfinished"></translation>
@@ -1089,12 +1089,12 @@ to
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation>Неможливо з&apos;єднатися</translation>
</message>
<message>
- <location line="+263"/>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation>Неможливо завершити транзакцію</translation>
</message>
@@ -1112,8 +1112,8 @@ to
<context>
<name>QDB2Result</name>
<message>
- <location line="-986"/>
- <location line="+242"/>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation>Неможливо виконати оператор</translation>
</message>
@@ -1128,7 +1128,7 @@ to
<translation>Неможливо прив&apos;язати змінну</translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation>Неможливо вибрати запис %1</translation>
</message>
@@ -1146,7 +1146,7 @@ to
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation>AM</translation>
</message>
@@ -1169,7 +1169,7 @@ to
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation>QDial</translation>
</message>
@@ -1187,7 +1187,7 @@ to
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>Що це?</translation>
</message>
@@ -1200,9 +1200,9 @@ to
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1830"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+531"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation>Гаразд</translation>
</message>
@@ -1325,7 +1325,7 @@ to
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+423"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation>Ім&apos;я</translation>
</message>
@@ -1355,7 +1355,7 @@ to
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation>Закрити</translation>
</message>
@@ -1386,7 +1386,7 @@ to
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+162"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+192"/>
<source>Debug Message:</source>
<translation>Повідомлення зневадження:</translation>
</message>
@@ -1414,13 +1414,18 @@ to
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+678"/>
- <location line="+130"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation type="unfinished"></translation>
</message>
@@ -1443,37 +1448,37 @@ to
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+484"/>
- <location line="+423"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+515"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation>Всі файли (*)</translation>
</message>
<message>
- <location line="+218"/>
+ <location line="+222"/>
<source>Directories</source>
<translation>Каталоги</translation>
</message>
<message>
<location line="-3"/>
<location line="+50"/>
- <location line="+1440"/>
+ <location line="+1471"/>
<location line="+75"/>
<source>&amp;Open</source>
<translation>&amp;Відкрити</translation>
</message>
<message>
- <location line="-1565"/>
+ <location line="-1596"/>
<location line="+50"/>
<source>&amp;Save</source>
<translation>&amp;Зберегти</translation>
</message>
<message>
- <location line="-705"/>
+ <location line="-730"/>
<source>Open</source>
<translation>Відкрити</translation>
</message>
<message>
- <location line="+1469"/>
+ <location line="+1515"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 вже існує.
@@ -1494,7 +1499,7 @@ Please verify the correct file name was given.</source>
<translation>Мій комп&apos;ютер</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1458"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1504"/>
<source>&amp;Rename</source>
<translation>&amp;Перейменувати</translation>
</message>
@@ -1540,7 +1545,7 @@ Please verify the correct file name was given.</source>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="+6"/>
- <location line="+623"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation>Каталог:</translation>
</message>
@@ -1553,8 +1558,8 @@ Please verify the correct file name was given</source>
Переконайтеся, що введено правильне ім&apos;я файлу</translation>
</message>
<message>
- <location line="+773"/>
- <location line="+851"/>
+ <location line="+794"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
@@ -1563,7 +1568,7 @@ Please verify the correct directory name was given.</source>
Переконайтеся, що введено правильне ім&apos;я каталогу.</translation>
</message>
<message>
- <location line="-217"/>
+ <location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation>&quot;%1&quot; захищено від запису.
@@ -1580,22 +1585,22 @@ Do you want to delete it anyway?</source>
<translation>Неможливо вилучити каталог.</translation>
</message>
<message>
- <location line="+406"/>
+ <location line="+407"/>
<source>Recent Places</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation>Всі файли (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2493"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2550"/>
<source>Save As</source>
<translation>Зберегти, як</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+381"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+411"/>
<source>Drive</source>
<translation>Диск</translation>
</message>
@@ -1631,17 +1636,17 @@ Do you want to delete it anyway?</source>
<translation>Вперед</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1914"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1970"/>
<source>New Folder</source>
<translation>Нова тека</translation>
</message>
<message>
- <location line="-1907"/>
+ <location line="-1963"/>
<source>&amp;New Folder</source>
<translation>&amp;Нова тека</translation>
</message>
<message>
- <location line="+631"/>
+ <location line="+656"/>
<location line="+38"/>
<source>&amp;Choose</source>
<translation>&amp;Вибрати</translation>
@@ -1651,13 +1656,13 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">Зберегти, &amp;як:</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation>Вилучити</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-662"/>
- <location line="+627"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation>&amp;Ім&apos;я файлу:</translation>
</message>
@@ -1677,7 +1682,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+791"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+828"/>
<source>Invalid filename</source>
<translation>Неправильне ім&apos;я файлу</translation>
</message>
@@ -1714,7 +1719,7 @@ Do you want to delete it anyway?</source>
<translation>Дата зміни</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation>Мій комп&apos;ютер</translation>
</message>
@@ -1752,7 +1757,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+60"/>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
<location line="+1176"/>
<source>Normal</source>
<translation type="unfinished"></translation>
@@ -1969,7 +1974,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+742"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation>&amp;Шрифт</translation>
</message>
@@ -2018,8 +2023,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+796"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+653"/>
+ <location filename="../src/network/access/qftp.cpp" line="+826"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+683"/>
<source>Not connected</source>
<translation>Не з&apos;єднано</translation>
</message>
@@ -2161,7 +2166,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation>Невідома помилка</translation>
</message>
@@ -2169,11 +2174,11 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+148"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
<location line="+9"/>
<location line="+64"/>
<location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+150"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
<location line="+9"/>
<location line="+40"/>
<location line="+27"/>
@@ -2199,26 +2204,26 @@ Do you want to delete it anyway?</source>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+335"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+365"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+1209"/>
- <location line="+816"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1130"/>
+ <location line="+820"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1160"/>
<location line="+567"/>
<source>Unknown error</source>
<translation>Невідома помилка</translation>
</message>
<message>
- <location line="-564"/>
+ <location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation>Запит перервано</translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation>Не вказано сервер для з&apos;єднання</translation>
@@ -2236,18 +2241,23 @@ Do you want to delete it anyway?</source>
<translation>Сервер несподівано закрив з&apos;єднання</translation>
</message>
<message>
- <location line="+357"/>
+ <location line="+179"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+183"/>
<source>Error writing response to device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+1712"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+38"/>
<source>Connection refused</source>
<translation>Відмовлено у зв&apos;язку</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-299"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-304"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2268,7 +2278,7 @@ Do you want to delete it anyway?</source>
<translation>Неправильний заголовок відповіді HTTP</translation>
</message>
<message>
- <location line="+120"/>
+ <location line="+125"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
@@ -2317,7 +2327,7 @@ Do you want to delete it anyway?</source>
<translation>Автентифікація обов&apos;язкова</translation>
</message>
<message>
- <location line="-133"/>
+ <location line="-138"/>
<source>Connection refused (or timed out)</source>
<translation type="unfinished"></translation>
</message>
@@ -2398,7 +2408,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1378"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation>Неможливо відкрити базу даних</translation>
</message>
@@ -2421,7 +2431,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1077"/>
+ <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation>Неможливо створити BLOB</translation>
</message>
@@ -2441,7 +2451,7 @@ Do you want to delete it anyway?</source>
<translation>Неможливо прочитати BLOB</translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<location line="+189"/>
<source>Could not find array</source>
<translation>Неможливо знайти масив</translation>
@@ -2511,7 +2521,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1830"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation>Відмовлено у доступі</translation>
</message>
@@ -2531,7 +2541,7 @@ Do you want to delete it anyway?</source>
<translation>На пристрої не лишилось місця</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation>Невідома помилка</translation>
</message>
@@ -2539,7 +2549,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+212"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation>XIM</translation>
</message>
@@ -2562,7 +2572,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation type="unfinished"></translation>
</message>
@@ -2582,7 +2592,7 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">QLibrary::resolve_sys: символ &quot;%1&quot; не є визначеним в %2 (%3)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation>Помилка виконання mmap &quot;%1&quot;: %2</translation>
</message>
@@ -2613,7 +2623,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="-377"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+250"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation>Спільну бібліотеку не знайдено.</translation>
</message>
@@ -2628,8 +2638,8 @@ Do you want to delete it anyway?</source>
<translation>Додаток &quot;%1&quot; використовує несумісну бібліотеку Qt. (Не дозволяється змішувати версію бібліотеки для зневадження і версію випуску.)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+179"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2649,7 +2659,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2649"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2680"/>
<source>&amp;Undo</source>
<translation>&amp;Повернути</translation>
</message>
@@ -2687,8 +2697,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+196"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation type="unfinished"></translation>
</message>
@@ -2704,7 +2714,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+127"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2712,8 +2722,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+102"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation type="unfinished"></translation>
</message>
@@ -2726,7 +2736,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
<location line="+43"/>
<source>%1: Invalid name</source>
<translation type="unfinished"></translation>
@@ -2783,7 +2793,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1200"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation>Неможливо відкрити базу даних</translation>
</message>
@@ -2793,7 +2803,7 @@ Do you want to delete it anyway?</source>
<translation>Неможливо з&apos;єднатися</translation>
</message>
<message>
- <location line="+123"/>
+ <location line="+127"/>
<source>Unable to begin transaction</source>
<translation>Неможливо почати транзакцію</translation>
</message>
@@ -2811,7 +2821,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-917"/>
+ <location line="-922"/>
<source>Unable to fetch data</source>
<translation>Неможливо вибрати дані</translation>
</message>
@@ -2826,7 +2836,7 @@ Do you want to delete it anyway?</source>
<translation>Неможливо записати результат</translation>
</message>
<message>
- <location line="+189"/>
+ <location line="+190"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
<translation>Неможливо підготувати оператор</translation>
@@ -2871,7 +2881,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation type="unfinished"></translation>
</message>
@@ -2879,7 +2889,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation>%1 - [%2]</translation>
</message>
@@ -2972,7 +2982,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+127"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
<location line="+225"/>
<source>Close</source>
<translation>Закрити</translation>
@@ -3045,7 +3055,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1105"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1111"/>
<source>Help</source>
<translation>Довідка</translation>
</message>
@@ -3058,21 +3068,20 @@ Do you want to delete it anyway?</source>
<translation>Гаразд</translation>
</message>
<message>
- <location line="+503"/>
+ <location line="+509"/>
<source>About Qt</source>
<translation>Про Qt</translation>
</message>
<message>
- <location line="-15"/>
<source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation>&lt;p&gt;Ця програма використовує Qt версії %1.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;Ця програма використовує Qt версії %1.&lt;/p&gt;</translation>
</message>
<message>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="obsolete">&lt;h3&gt;Про Qt&lt;/h3&gt;%1&lt;p&gt;Qt - це інструментарій C++ для міжплатформової розробки.&lt;/p&gt;&lt;p&gt;Qt забезпечує мобільність єдиних джерельних текстів між MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux та всіма основними комерційними версіями Unix. Qt існує також для вбудованих пристроїв, таких, як Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt - це продукт компанії Trolltech. Більше інформації можна знайти на &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt;.&lt;/p&gt;</translation>
</message>
<message>
- <location line="-1584"/>
+ <location line="-1605"/>
<source>Show Details...</source>
<translation>Показати подробиці...</translation>
</message>
@@ -3083,19 +3092,18 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+1570"/>
- <source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
<source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
- <translation>&lt;p&gt;Ця програма використовує Qt Open Source Edition версії %1.&lt;/p&gt;&lt;p&gt;Qt Open Source Edition призначено для розробки відкритих програмних засобів. Для розробки власницьких (закритих) програм вам потрібна комерційна ліцензія для Qt.&lt;/p&gt;&lt;p&gt;Перегляньте &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; щодо огляду ліцензій Qt.&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;Ця програма використовує Qt Open Source Edition версії %1.&lt;/p&gt;&lt;p&gt;Qt Open Source Edition призначено для розробки відкритих програмних засобів. Для розробки власницьких (закритих) програм вам потрібна комерційна ліцензія для Qt.&lt;/p&gt;&lt;p&gt;Перегляньте &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; щодо огляду ліцензій Qt.&lt;/p&gt;</translation>
</message>
</context>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation>Вибрати метод вводу</translation>
</message>
@@ -3103,7 +3111,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation>Перемикач методів вводу</translation>
</message>
@@ -3116,7 +3124,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+176"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
<source>The remote host closed the connection</source>
<translation>Віддалений вузол закрив з&apos;єднання</translation>
</message>
@@ -3249,7 +3257,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3257,7 +3265,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3285,7 +3293,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3295,7 +3303,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation type="unfinished"></translation>
</message>
@@ -3313,7 +3321,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3326,7 +3334,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation type="unfinished"></translation>
</message>
@@ -3334,7 +3342,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+422"/>
+ <location line="+432"/>
<location line="+22"/>
<source>Operation canceled</source>
<translation type="unfinished"></translation>
@@ -3343,7 +3351,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2027"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/>
<source>Unable to logon</source>
<translation>Неможливо зайти</translation>
</message>
@@ -3372,7 +3380,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIResult</name>
<message>
- <location line="-976"/>
+ <location line="-963"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3399,18 +3407,16 @@ Do you want to delete it anyway?</source>
<translation>Неможливо підготувати оператор</translation>
</message>
<message>
- <location line="+29"/>
- <location line="+37"/>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation>Неможливо прив&apos;язати значення</translation>
</message>
<message>
- <location line="-20"/>
<source>Unable to execute select statement</source>
- <translation>Неможливо виконати оператор вибирання</translation>
+ <translation type="obsolete">Неможливо виконати оператор вибирання</translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation>Неможливо виконати оператор</translation>
</message>
@@ -3418,7 +3424,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1657"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation>Неможливо з&apos;єднатися</translation>
</message>
@@ -3428,7 +3434,7 @@ Do you want to delete it anyway?</source>
<translation>Неможливо з&apos;єднатися - драйвер не підтримує всіх потрібних функцій</translation>
</message>
<message>
- <location line="+234"/>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation>Неможливо вимкнути автозавершення транзакцій</translation>
</message>
@@ -3451,19 +3457,19 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1204"/>
+ <location line="-1218"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: неможливо встановити &apos;SQL_CURSOR_STATIC&apos;, як атрибут оператора. Будь ласка, перевірте налаштування драйвера ODBC</translation>
</message>
<message>
<location line="-332"/>
- <location line="+625"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation>Неможливо виконати оператор</translation>
</message>
<message>
- <location line="-554"/>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation>Неможливо вибрати наступний</translation>
</message>
@@ -3473,19 +3479,19 @@ Do you want to delete it anyway?</source>
<translation>Неможливо підготувати оператор</translation>
</message>
<message>
- <location line="+267"/>
+ <location line="+268"/>
<source>Unable to bind variable</source>
<translation>Неможливо прив&apos;язати змінну</translation>
</message>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-474"/>
- <location line="+577"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-671"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation type="unfinished"></translation>
</message>
@@ -3503,12 +3509,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QObject</name>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation>Home</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3518,7 +3524,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -3543,7 +3549,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+147"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
<location line="+57"/>
<source>No host name given</source>
<translation type="unfinished"></translation>
@@ -3552,7 +3558,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation type="unfinished">Ім&apos;я</translation>
</message>
@@ -3565,7 +3571,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+732"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation>Неможливо з&apos;єднатися</translation>
</message>
@@ -3585,7 +3591,7 @@ Do you want to delete it anyway?</source>
<translation>Неможливо відкотити транзакцію</translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+358"/>
<source>Unable to subscribe</source>
<translation type="unfinished"></translation>
</message>
@@ -3598,12 +3604,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1035"/>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation>Неможливо створити запит</translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation type="unfinished">Неможливо підготувати оператор</translation>
</message>
@@ -3611,7 +3617,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation type="unfinished"></translation>
</message>
@@ -3727,7 +3733,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+68"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation>локальне з&apos;єднання</translation>
</message>
@@ -3752,7 +3758,7 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">Альбомне</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+299"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+329"/>
<source>A0 (841 x 1189 mm)</source>
<translation>A0 (841 x 1189 мм)</translation>
</message>
@@ -3902,7 +3908,7 @@ Do you want to delete it anyway?</source>
<translation>US Common #10 Envelope (105 x 241 мм)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation>Гаразд</translation>
</message>
@@ -3923,7 +3929,7 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">Джерело паперу:</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
@@ -4255,13 +4261,13 @@ Please choose a different file name.</source>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+38"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
<location line="+12"/>
<source>Page Setup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation type="unfinished"></translation>
</message>
@@ -4543,8 +4549,8 @@ Please choose a different file name.</source>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+445"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation type="unfinished"></translation>
</message>
@@ -4573,7 +4579,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+503"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4593,6 +4599,11 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation type="unfinished"></translation>
@@ -4601,7 +4612,7 @@ Please choose a different file name.</source>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>Скасувати</translation>
</message>
@@ -4625,7 +4636,7 @@ Please choose a different file name.</source>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+34"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation>без помилок</translation>
</message>
@@ -4673,7 +4684,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation>Помилка відкривання бази даних</translation>
</message>
@@ -4696,12 +4707,12 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-310"/>
+ <location line="-323"/>
<source>Unable to fetch results</source>
<translation>Неможливо витягнути результат</translation>
</message>
<message>
- <location line="+139"/>
+ <location line="+147"/>
<source>Unable to execute statement</source>
<translation>Неможливо виконати оператор</translation>
</message>
@@ -4709,7 +4720,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+498"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation>Неможливо відкрити базу даних</translation>
</message>
@@ -4776,12 +4787,12 @@ Please choose a different file name.</source>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+419"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation>Прокрутити сюди</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Left edge</source>
<translation>Лівий край</translation>
</message>
@@ -4791,7 +4802,7 @@ Please choose a different file name.</source>
<translation>Верх</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Right edge</source>
<translation>Правий край</translation>
</message>
@@ -4801,7 +4812,7 @@ Please choose a different file name.</source>
<translation>Низ</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Page left</source>
<translation>Сторінка ліворуч</translation>
</message>
@@ -4812,7 +4823,7 @@ Please choose a different file name.</source>
<translation>Сторінка вгору</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Page right</source>
<translation>Сторінка праворуч</translation>
</message>
@@ -4823,7 +4834,7 @@ Please choose a different file name.</source>
<translation>Сторінка додолу</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Scroll left</source>
<translation>Прокрутити ліворуч</translation>
</message>
@@ -4833,7 +4844,7 @@ Please choose a different file name.</source>
<translation>Прокрутити вгору</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Scroll right</source>
<translation>Прокрутити праворуч</translation>
</message>
@@ -4861,7 +4872,7 @@ Please choose a different file name.</source>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+177"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4872,7 +4883,7 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+118"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4882,8 +4893,8 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+48"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation type="unfinished"></translation>
</message>
@@ -4961,7 +4972,7 @@ Please choose a different file name.</source>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+343"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation>Прогалина</translation>
</message>
@@ -5546,7 +5557,7 @@ Please choose a different file name.</source>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+860"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation>Вилучити</translation>
</message>
@@ -5603,7 +5614,7 @@ Please choose a different file name.</source>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+539"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
<translation>Неможливо записати дані: %1</translation>
</message>
@@ -5666,7 +5677,7 @@ Please choose a different file name.</source>
<name>QSystemSemaphore</name>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation type="unfinished"></translation>
</message>
@@ -5696,7 +5707,7 @@ Please choose a different file name.</source>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation>Неможливо відкрити з&apos;єднання</translation>
</message>
@@ -5726,7 +5737,7 @@ Please choose a different file name.</source>
<translation type="obsolete">Дії з сокетами не підтримуються</translation>
</message>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation type="unfinished"></translation>
</message>
@@ -5734,7 +5745,7 @@ Please choose a different file name.</source>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1942"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation>&amp;Повернути</translation>
</message>
@@ -5792,7 +5803,7 @@ Please choose a different file name.</source>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation>Ця платформа не підтримує IPv6</translation>
</message>
@@ -5800,7 +5811,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+356"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation>Повернути</translation>
</message>
@@ -5813,7 +5824,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation>&lt;порожньо&gt;</translation>
</message>
@@ -5821,7 +5832,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+804"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation>Повернути</translation>
</message>
@@ -5892,7 +5903,7 @@ Please choose a different file name.</source>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation type="unfinished"></translation>
</message>
@@ -6304,7 +6315,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6380,6 +6391,11 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation type="unfinished"></translation>
</message>
@@ -6448,11 +6464,21 @@ Please choose a different file name.</source>
<source>Delete to the end of the word</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation>Що це?</translation>
</message>
@@ -6460,7 +6486,7 @@ Please choose a different file name.</source>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -6468,7 +6494,7 @@ Please choose a different file name.</source>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+605"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
<source>Go Back</source>
<translation>Піти назад</translation>
</message>
@@ -6530,7 +6556,7 @@ Please choose a different file name.</source>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1064"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation>&amp;Відновити</translation>
</message>
@@ -6600,7 +6626,7 @@ Please choose a different file name.</source>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+28"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation>без помилок</translation>
</message>
@@ -6718,8 +6744,8 @@ Please choose a different file name.</source>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+562"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation>Надлишковий вміст в кінці документу.</translation>
</message>
@@ -6911,7 +6937,7 @@ Please choose a different file name.</source>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation type="unfinished"></translation>
</message>
@@ -6921,12 +6947,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation type="unfinished"></translation>
</message>
@@ -6936,7 +6962,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6976,7 +7002,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+69"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
<location line="+15"/>
<source>At least one component must be present.</source>
<translation type="unfinished"></translation>
@@ -6987,7 +7013,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -7002,17 +7028,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
<source>Integer division (%1) by zero (%2) is undefined.</source>
<translation type="unfinished"></translation>
</message>
@@ -7043,17 +7069,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation type="unfinished"></translation>
</message>
@@ -7063,7 +7089,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation type="unfinished"></translation>
</message>
@@ -7073,7 +7099,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -7083,7 +7109,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -7093,7 +7119,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -7103,7 +7129,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+104"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+134"/>
<source>No casting is possible with %1 as the target type.</source>
<translation type="unfinished"></translation>
</message>
@@ -7128,7 +7154,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation type="unfinished"></translation>
</message>
@@ -7138,7 +7164,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+137"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/>
<source>No comparisons can be done involving the type %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -7148,12 +7174,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation type="unfinished"></translation>
</message>
@@ -7163,7 +7189,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation type="unfinished"></translation>
</message>
@@ -7173,7 +7199,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+83"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
<source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
<translation type="unfinished"></translation>
</message>
@@ -7183,33 +7209,33 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+126"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+39"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -7227,7 +7253,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation type="unfinished"></translation>
</message>
@@ -7242,27 +7268,27 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+64"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation type="unfinished"></translation>
</message>
@@ -7277,7 +7303,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation type="unfinished"></translation>
</message>
@@ -7312,17 +7338,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation type="unfinished"></translation>
</message>
@@ -7332,12 +7358,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation type="unfinished"></translation>
</message>
@@ -7347,17 +7373,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+319"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
<location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation type="unfinished"></translation>
@@ -7378,7 +7404,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation type="unfinished"></translation>
</message>
@@ -7660,7 +7686,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation type="unfinished"></translation>
</message>
@@ -7685,7 +7711,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+33"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation type="unfinished"></translation>
</message>
@@ -7700,7 +7726,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation type="unfinished"></translation>
</message>
@@ -7710,12 +7736,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation type="unfinished"></translation>
</message>
@@ -7730,13 +7756,13 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+39"/>
- <source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -7755,12 +7781,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation type="unfinished"></translation>
</message>
@@ -7770,12 +7796,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation type="unfinished"></translation>
</message>
@@ -7830,7 +7856,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation type="unfinished"></translation>
</message>
@@ -7905,7 +7931,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+432"/>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/qt_untranslated.ts b/translations/qt_untranslated.ts
index cbedeba..35a2802 100644
--- a/translations/qt_untranslated.ts
+++ b/translations/qt_untranslated.ts
@@ -4,7 +4,7 @@
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -22,7 +22,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation type="unfinished"></translation>
</message>
@@ -78,7 +78,7 @@
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -91,24 +91,24 @@ have libgstreamer-plugins-base installed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+653"/>
- <location line="+9"/>
+ <location line="+676"/>
+ <location line="+8"/>
<location line="+15"/>
- <location line="+7"/>
- <location line="+5"/>
- <location line="+20"/>
- <location line="+317"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-381"/>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+355"/>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation type="unfinished"></translation>
</message>
@@ -142,7 +142,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation type="unfinished"></translation>
</message>
@@ -155,7 +155,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+253"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation type="unfinished"></translation>
</message>
@@ -183,7 +183,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+834"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation type="unfinished"></translation>
</message>
@@ -208,7 +208,7 @@ have libgstreamer-plugins-base installed.</source>
<location line="-157"/>
<location line="+49"/>
<location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+80"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation type="unfinished"></translation>
</message>
@@ -348,7 +348,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+704"/>
<location line="+2100"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+307"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation type="unfinished"></translation>
</message>
@@ -514,7 +514,7 @@ Check path and filename.</source>
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+100"/>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
<location line="+10"/>
<source>Could not read directory
%1</source>
@@ -556,7 +556,7 @@ to
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2021"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation type="unfinished"></translation>
</message>
@@ -569,7 +569,7 @@ to
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation type="unfinished"></translation>
</message>
@@ -577,7 +577,7 @@ to
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+194"/>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
@@ -586,7 +586,7 @@ to
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+159"/>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
<location line="+814"/>
<source>OK</source>
<translation type="unfinished"></translation>
@@ -615,7 +615,7 @@ to
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5399"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation type="unfinished"></translation>
</message>
@@ -654,7 +654,7 @@ to
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+216"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation type="unfinished"></translation>
</message>
@@ -722,7 +722,7 @@ to
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation type="unfinished"></translation>
</message>
@@ -730,7 +730,7 @@ to
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+356"/>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
@@ -782,7 +782,7 @@ to
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+147"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -810,9 +810,9 @@ to
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+838"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+585"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+627"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
<location line="+26"/>
<source>Host not found</source>
<translation type="unfinished"></translation>
@@ -855,7 +855,7 @@ to
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1169"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation type="unfinished"></translation>
</message>
@@ -873,12 +873,12 @@ to
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation type="unfinished"></translation>
</message>
@@ -888,7 +888,7 @@ to
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation type="unfinished"></translation>
@@ -925,7 +925,7 @@ to
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+84"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation type="unfinished"></translation>
</message>
@@ -943,7 +943,7 @@ to
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1219"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation type="unfinished"></translation>
</message>
@@ -1001,13 +1001,13 @@ to
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1741"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
<location line="+65"/>
<source>Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation type="unfinished"></translation>
</message>
@@ -1025,7 +1025,7 @@ to
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation type="unfinished"></translation>
@@ -1046,12 +1046,12 @@ to
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+263"/>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation type="unfinished"></translation>
</message>
@@ -1069,8 +1069,8 @@ to
<context>
<name>QDB2Result</name>
<message>
- <location line="-986"/>
- <location line="+242"/>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
@@ -1085,7 +1085,7 @@ to
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation type="unfinished"></translation>
</message>
@@ -1103,7 +1103,7 @@ to
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation type="unfinished"></translation>
</message>
@@ -1126,7 +1126,7 @@ to
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation type="unfinished"></translation>
</message>
@@ -1144,7 +1144,7 @@ to
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation type="unfinished"></translation>
</message>
@@ -1157,9 +1157,9 @@ to
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1830"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+531"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
@@ -1282,7 +1282,7 @@ to
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+423"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
@@ -1312,7 +1312,7 @@ to
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
@@ -1343,7 +1343,7 @@ to
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+162"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+192"/>
<source>Debug Message:</source>
<translation type="unfinished"></translation>
</message>
@@ -1371,13 +1371,18 @@ to
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+678"/>
- <location line="+130"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation type="unfinished"></translation>
</message>
@@ -1400,37 +1405,37 @@ to
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+484"/>
- <location line="+423"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+515"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+218"/>
+ <location line="+222"/>
<source>Directories</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-3"/>
<location line="+50"/>
- <location line="+1440"/>
+ <location line="+1471"/>
<location line="+75"/>
<source>&amp;Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1565"/>
+ <location line="-1596"/>
<location line="+50"/>
<source>&amp;Save</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-705"/>
+ <location line="-730"/>
<source>Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1469"/>
+ <location line="+1515"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation type="unfinished"></translation>
@@ -1448,7 +1453,7 @@ Please verify the correct file name was given.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1458"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1504"/>
<source>&amp;Rename</source>
<translation type="unfinished"></translation>
</message>
@@ -1494,20 +1499,20 @@ Please verify the correct file name was given.</source>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="+6"/>
- <location line="+623"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+773"/>
- <location line="+851"/>
+ <location line="+794"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-217"/>
+ <location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
@@ -1523,22 +1528,22 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+406"/>
+ <location line="+407"/>
<source>Recent Places</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2493"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2550"/>
<source>Save As</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+381"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+411"/>
<source>Drive</source>
<translation type="unfinished"></translation>
</message>
@@ -1570,29 +1575,29 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1914"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1970"/>
<source>New Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-1907"/>
+ <location line="-1963"/>
<source>&amp;New Folder</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+631"/>
+ <location line="+656"/>
<location line="+38"/>
<source>&amp;Choose</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-662"/>
- <location line="+627"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation type="unfinished"></translation>
</message>
@@ -1612,7 +1617,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+791"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+828"/>
<source>Invalid filename</source>
<translation type="unfinished"></translation>
</message>
@@ -1649,7 +1654,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation type="unfinished"></translation>
</message>
@@ -1687,7 +1692,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+60"/>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
<location line="+1176"/>
<source>Normal</source>
<translation type="unfinished"></translation>
@@ -1904,7 +1909,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+742"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation type="unfinished"></translation>
</message>
@@ -1953,8 +1958,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+796"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+653"/>
+ <location filename="../src/network/access/qftp.cpp" line="+826"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+683"/>
<source>Not connected</source>
<translation type="unfinished"></translation>
</message>
@@ -2090,7 +2095,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation type="unfinished"></translation>
</message>
@@ -2098,11 +2103,11 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+148"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
<location line="+9"/>
<location line="+64"/>
<location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+150"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
<location line="+9"/>
<location line="+40"/>
<location line="+27"/>
@@ -2128,21 +2133,21 @@ Do you want to delete it anyway?</source>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+1544"/>
- <location line="+816"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1130"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+1574"/>
+ <location line="+820"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1160"/>
<location line="+567"/>
<source>Unknown error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-564"/>
+ <location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation type="unfinished"></translation>
@@ -2160,18 +2165,23 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+357"/>
+ <location line="+179"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+183"/>
<source>Error writing response to device</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+1712"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+38"/>
<source>Connection refused</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-299"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-304"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2192,7 +2202,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+120"/>
+ <location line="+125"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
@@ -2241,7 +2251,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-133"/>
+ <location line="-138"/>
<source>Connection refused (or timed out)</source>
<translation type="unfinished"></translation>
</message>
@@ -2271,7 +2281,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-2259"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-2263"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation type="unfinished"></translation>
</message>
@@ -2327,7 +2337,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1378"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation type="unfinished"></translation>
</message>
@@ -2350,7 +2360,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1077"/>
+ <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation type="unfinished"></translation>
</message>
@@ -2370,7 +2380,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<location line="+189"/>
<source>Could not find array</source>
<translation type="unfinished"></translation>
@@ -2440,7 +2450,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1830"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation type="unfinished"></translation>
</message>
@@ -2460,7 +2470,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation type="unfinished"></translation>
</message>
@@ -2468,7 +2478,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+212"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation type="unfinished"></translation>
</message>
@@ -2491,7 +2501,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation type="unfinished"></translation>
</message>
@@ -2499,7 +2509,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QLibrary</name>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2530,7 +2540,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="-377"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+250"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation type="unfinished"></translation>
</message>
@@ -2545,8 +2555,8 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+179"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2566,7 +2576,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2649"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2680"/>
<source>&amp;Undo</source>
<translation type="unfinished"></translation>
</message>
@@ -2604,8 +2614,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+196"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation type="unfinished"></translation>
</message>
@@ -2621,7 +2631,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+127"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation type="unfinished"></translation>
</message>
@@ -2629,8 +2639,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+102"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation type="unfinished"></translation>
</message>
@@ -2643,7 +2653,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
<location line="+43"/>
<source>%1: Invalid name</source>
<translation type="unfinished"></translation>
@@ -2700,7 +2710,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1200"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation type="unfinished"></translation>
</message>
@@ -2710,7 +2720,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+123"/>
+ <location line="+127"/>
<source>Unable to begin transaction</source>
<translation type="unfinished"></translation>
</message>
@@ -2728,7 +2738,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-917"/>
+ <location line="-922"/>
<source>Unable to fetch data</source>
<translation type="unfinished"></translation>
</message>
@@ -2743,7 +2753,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+189"/>
+ <location line="+190"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
<translation type="unfinished"></translation>
@@ -2788,7 +2798,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation type="unfinished"></translation>
</message>
@@ -2796,7 +2806,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation type="unfinished"></translation>
</message>
@@ -2889,7 +2899,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+127"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
<location line="+225"/>
<source>Close</source>
<translation type="unfinished"></translation>
@@ -2911,7 +2921,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1105"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1111"/>
<source>Help</source>
<translation type="unfinished"></translation>
</message>
@@ -2924,17 +2934,12 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+503"/>
+ <location line="+509"/>
<source>About Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-15"/>
- <source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="-1584"/>
+ <location line="-1605"/>
<source>Show Details...</source>
<translation type="unfinished"></translation>
</message>
@@ -2945,19 +2950,14 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+1570"/>
- <source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+15"/>
- <source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation type="unfinished"></translation>
</message>
@@ -2965,7 +2965,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation type="unfinished"></translation>
</message>
@@ -2978,7 +2978,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+176"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
<source>The remote host closed the connection</source>
<translation type="unfinished"></translation>
</message>
@@ -3111,7 +3111,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3119,7 +3119,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3147,7 +3147,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3157,7 +3157,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation type="unfinished"></translation>
</message>
@@ -3175,7 +3175,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation type="unfinished"></translation>
</message>
@@ -3188,7 +3188,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation type="unfinished"></translation>
</message>
@@ -3196,7 +3196,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+422"/>
+ <location line="+432"/>
<location line="+22"/>
<source>Operation canceled</source>
<translation type="unfinished"></translation>
@@ -3205,7 +3205,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2027"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/>
<source>Unable to logon</source>
<translation type="unfinished"></translation>
</message>
@@ -3234,7 +3234,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIResult</name>
<message>
- <location line="-976"/>
+ <location line="-963"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3261,18 +3261,12 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
- <location line="+37"/>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-20"/>
- <source>Unable to execute select statement</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location line="+32"/>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
@@ -3280,7 +3274,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1657"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation type="unfinished"></translation>
</message>
@@ -3290,7 +3284,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+234"/>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation type="unfinished"></translation>
</message>
@@ -3313,19 +3307,19 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1204"/>
+ <location line="-1218"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="-332"/>
- <location line="+625"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-554"/>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation type="unfinished"></translation>
</message>
@@ -3335,19 +3329,19 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+267"/>
+ <location line="+268"/>
<source>Unable to bind variable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-474"/>
- <location line="+577"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-671"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation type="unfinished"></translation>
</message>
@@ -3365,12 +3359,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QObject</name>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation type="unfinished"></translation>
</message>
@@ -3380,7 +3374,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation type="unfinished"></translation>
</message>
@@ -3405,7 +3399,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+147"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
<location line="+57"/>
<source>No host name given</source>
<translation type="unfinished"></translation>
@@ -3414,7 +3408,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
@@ -3427,7 +3421,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+732"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation type="unfinished"></translation>
</message>
@@ -3447,7 +3441,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+358"/>
<source>Unable to subscribe</source>
<translation type="unfinished"></translation>
</message>
@@ -3460,12 +3454,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1035"/>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation type="unfinished"></translation>
</message>
@@ -3473,7 +3467,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation type="unfinished"></translation>
</message>
@@ -3589,7 +3583,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+68"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation type="unfinished"></translation>
</message>
@@ -3606,7 +3600,7 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+299"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+329"/>
<source>A0 (841 x 1189 mm)</source>
<translation type="unfinished"></translation>
</message>
@@ -3756,12 +3750,12 @@ Do you want to delete it anyway?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
@@ -4015,13 +4009,13 @@ Please choose a different file name.</source>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+38"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
<location line="+12"/>
<source>Page Setup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation type="unfinished"></translation>
</message>
@@ -4288,8 +4282,8 @@ Please choose a different file name.</source>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+445"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation type="unfinished"></translation>
</message>
@@ -4318,7 +4312,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+503"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4338,6 +4332,11 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation type="unfinished"></translation>
@@ -4346,7 +4345,7 @@ Please choose a different file name.</source>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
@@ -4370,7 +4369,7 @@ Please choose a different file name.</source>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+34"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation type="unfinished"></translation>
</message>
@@ -4418,7 +4417,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation type="unfinished"></translation>
</message>
@@ -4441,12 +4440,12 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-310"/>
+ <location line="-323"/>
<source>Unable to fetch results</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+139"/>
+ <location line="+147"/>
<source>Unable to execute statement</source>
<translation type="unfinished"></translation>
</message>
@@ -4454,7 +4453,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+498"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation type="unfinished"></translation>
</message>
@@ -4517,12 +4516,12 @@ Please choose a different file name.</source>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+419"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Left edge</source>
<translation type="unfinished"></translation>
</message>
@@ -4532,7 +4531,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Right edge</source>
<translation type="unfinished"></translation>
</message>
@@ -4542,7 +4541,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Page left</source>
<translation type="unfinished"></translation>
</message>
@@ -4553,7 +4552,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Page right</source>
<translation type="unfinished"></translation>
</message>
@@ -4564,7 +4563,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Scroll left</source>
<translation type="unfinished"></translation>
</message>
@@ -4574,7 +4573,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Scroll right</source>
<translation type="unfinished"></translation>
</message>
@@ -4602,7 +4601,7 @@ Please choose a different file name.</source>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+177"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4613,7 +4612,7 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+118"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation type="unfinished"></translation>
</message>
@@ -4623,8 +4622,8 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+48"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation type="unfinished"></translation>
</message>
@@ -4702,7 +4701,7 @@ Please choose a different file name.</source>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+343"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation type="unfinished"></translation>
</message>
@@ -5283,7 +5282,7 @@ Please choose a different file name.</source>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+860"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
@@ -5340,7 +5339,7 @@ Please choose a different file name.</source>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+539"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
<translation type="unfinished"></translation>
</message>
@@ -5399,7 +5398,7 @@ Please choose a different file name.</source>
<name>QSystemSemaphore</name>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation type="unfinished"></translation>
</message>
@@ -5429,7 +5428,7 @@ Please choose a different file name.</source>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation type="unfinished"></translation>
</message>
@@ -5455,7 +5454,7 @@ Please choose a different file name.</source>
<context>
<name>QTcpServer</name>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation type="unfinished"></translation>
</message>
@@ -5463,7 +5462,7 @@ Please choose a different file name.</source>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1942"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation type="unfinished"></translation>
</message>
@@ -5521,7 +5520,7 @@ Please choose a different file name.</source>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation type="unfinished"></translation>
</message>
@@ -5529,7 +5528,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+356"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation type="unfinished"></translation>
</message>
@@ -5542,7 +5541,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation type="unfinished"></translation>
</message>
@@ -5550,7 +5549,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+804"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation type="unfinished"></translation>
</message>
@@ -5621,7 +5620,7 @@ Please choose a different file name.</source>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation type="unfinished"></translation>
</message>
@@ -6031,7 +6030,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6107,6 +6106,11 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation type="unfinished"></translation>
</message>
@@ -6175,11 +6179,21 @@ Please choose a different file name.</source>
<source>Delete to the end of the word</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation type="unfinished"></translation>
</message>
@@ -6187,7 +6201,7 @@ Please choose a different file name.</source>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation type="unfinished"></translation>
</message>
@@ -6195,7 +6209,7 @@ Please choose a different file name.</source>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+605"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
<source>Go Back</source>
<translation type="unfinished"></translation>
</message>
@@ -6253,7 +6267,7 @@ Please choose a different file name.</source>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1064"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation type="unfinished"></translation>
</message>
@@ -6323,7 +6337,7 @@ Please choose a different file name.</source>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+28"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation type="unfinished"></translation>
</message>
@@ -6441,8 +6455,8 @@ Please choose a different file name.</source>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+562"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation type="unfinished"></translation>
</message>
@@ -6626,7 +6640,7 @@ Please choose a different file name.</source>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation type="unfinished"></translation>
</message>
@@ -6636,17 +6650,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6686,7 +6700,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+69"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
<location line="+15"/>
<source>At least one component must be present.</source>
<translation type="unfinished"></translation>
@@ -6697,7 +6711,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6712,17 +6726,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
<source>Integer division (%1) by zero (%2) is undefined.</source>
<translation type="unfinished"></translation>
</message>
@@ -6753,17 +6767,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation type="unfinished"></translation>
</message>
@@ -6773,7 +6787,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation type="unfinished"></translation>
</message>
@@ -6783,7 +6797,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6793,7 +6807,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -6803,7 +6817,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation type="unfinished"></translation>
</message>
@@ -6813,7 +6827,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+104"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+134"/>
<source>No casting is possible with %1 as the target type.</source>
<translation type="unfinished"></translation>
</message>
@@ -6838,7 +6852,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation type="unfinished"></translation>
</message>
@@ -6848,7 +6862,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+137"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/>
<source>No comparisons can be done involving the type %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -6858,12 +6872,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation type="unfinished"></translation>
</message>
@@ -6873,7 +6887,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation type="unfinished"></translation>
</message>
@@ -6883,7 +6897,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+83"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
<source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
<translation type="unfinished"></translation>
</message>
@@ -6893,33 +6907,33 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+126"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+39"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -6933,7 +6947,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation type="unfinished"></translation>
</message>
@@ -6948,27 +6962,27 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+64"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation type="unfinished"></translation>
</message>
@@ -6983,7 +6997,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation type="unfinished"></translation>
</message>
@@ -7018,17 +7032,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation type="unfinished"></translation>
</message>
@@ -7038,12 +7052,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation type="unfinished"></translation>
</message>
@@ -7053,17 +7067,17 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+319"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
<location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation type="unfinished"></translation>
@@ -7084,7 +7098,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation type="unfinished"></translation>
</message>
@@ -7366,7 +7380,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation type="unfinished"></translation>
</message>
@@ -7391,7 +7405,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+33"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation type="unfinished"></translation>
</message>
@@ -7406,7 +7420,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation type="unfinished"></translation>
</message>
@@ -7416,7 +7430,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation type="unfinished"></translation>
</message>
@@ -7426,7 +7440,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation type="unfinished"></translation>
</message>
@@ -7441,13 +7455,13 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+39"/>
- <source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
<translation type="unfinished"></translation>
</message>
<message>
@@ -7466,12 +7480,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation type="unfinished"></translation>
</message>
@@ -7481,12 +7495,12 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation type="unfinished"></translation>
</message>
@@ -7541,7 +7555,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation type="unfinished"></translation>
</message>
@@ -7616,7 +7630,7 @@ Please choose a different file name.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+432"/>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/qt_zh_CN.ts b/translations/qt_zh_CN.ts
index 14ec1cd..b0a7947 100644
--- a/translations/qt_zh_CN.ts
+++ b/translations/qt_zh_CN.ts
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="zh">
-<defaultcodec></defaultcodec>
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation>&lt;html&gt;音频回放设备 &lt;b&gt;%1&lt;/b&gt; 没有工作。&lt;br/&gt;回滚到 &lt;b&gt;%2&lt;/b&gt;。&lt;/html&gt;</translation>
</message>
@@ -23,7 +22,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation>关闭标签页</translation>
</message>
@@ -81,7 +80,7 @@
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -97,24 +96,24 @@ have libgstreamer-plugins-base installed.</source>
<translation>缺少一个需要的解码器。您需要安装如下解码器来播放这个内容:%0</translation>
</message>
<message>
- <location line="+653"/>
- <location line="+9"/>
+ <location line="+676"/>
+ <location line="+8"/>
<location line="+15"/>
- <location line="+7"/>
- <location line="+5"/>
- <location line="+20"/>
- <location line="+317"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
<location line="+24"/>
<source>Could not open media source.</source>
<translation>不能打开媒体源。</translation>
</message>
<message>
- <location line="-381"/>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation>无效的源类型。</translation>
</message>
<message>
- <location line="+355"/>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation>不能定位媒体源。</translation>
</message>
@@ -148,7 +147,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="+451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation>%1,%2未定义</translation>
</message>
@@ -161,7 +160,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="+253"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation>真</translation>
</message>
@@ -189,7 +188,7 @@ have libgstreamer-plugins-base installed.</source>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+834"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation>复制或者移动一个文件</translation>
</message>
@@ -214,7 +213,7 @@ have libgstreamer-plugins-base installed.</source>
<location line="-157"/>
<location line="+49"/>
<location line="+2153"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+80"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation>所有文件 (*)</translation>
</message>
@@ -354,7 +353,7 @@ have libgstreamer-plugins-base installed.</source>
<message>
<location line="+704"/>
<location line="+2100"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+307"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation>打开</translation>
</message>
@@ -523,7 +522,7 @@ Check path and filename.</source>
<context>
<name>Q3LocalFs</name>
<message>
- <location filename="../src/qt3support/network/q3localfs.cpp" line="+100"/>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
<location line="+10"/>
<source>Could not read directory
%1</source>
@@ -573,7 +572,7 @@ to
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2021"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation>排列</translation>
</message>
@@ -586,7 +585,7 @@ to
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation>操作被用户停止</translation>
</message>
@@ -594,7 +593,7 @@ to
<context>
<name>Q3ProgressDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+194"/>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
<translation>取消</translation>
@@ -603,7 +602,7 @@ to
<context>
<name>Q3TabDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+159"/>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
<location line="+814"/>
<source>OK</source>
<translation>确认</translation>
@@ -632,7 +631,7 @@ to
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="+5399"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation>撤消(&amp;U)</translation>
</message>
@@ -671,7 +670,7 @@ to
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+216"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation>系统</translation>
</message>
@@ -739,7 +738,7 @@ to
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation>更多...</translation>
</message>
@@ -747,7 +746,7 @@ to
<context>
<name>Q3UrlOperator</name>
<message>
- <location filename="../src/qt3support/network/q3urloperator.cpp" line="+356"/>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
@@ -799,7 +798,7 @@ to
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+147"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation>取消(&amp;C)</translation>
</message>
@@ -827,9 +826,9 @@ to
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+838"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+585"/>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+627"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
<location line="+26"/>
<source>Host not found</source>
<translation>主机未找到</translation>
@@ -872,7 +871,7 @@ to
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1169"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation>增加(&amp;S)</translation>
</message>
@@ -890,12 +889,12 @@ to
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation>激活</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="+322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation>执行“%1”需要Qt %2,只找到了Qt %3。</translation>
</message>
@@ -905,7 +904,7 @@ to
<translation>不兼容的Qt错误</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
@@ -942,7 +941,7 @@ to
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+84"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation>取消选中</translation>
</message>
@@ -960,7 +959,7 @@ to
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1219"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation>色调(&amp;E):</translation>
</message>
@@ -1022,13 +1021,13 @@ to
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1741"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
<location line="+65"/>
<source>Open</source>
<translation>打开</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation>假</translation>
</message>
@@ -1071,7 +1070,7 @@ to
<translation type="obsolete">%1:未知错误 %2</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation>%1:键是空的</translation>
@@ -1092,12 +1091,12 @@ to
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation>不能连接</translation>
</message>
<message>
- <location line="+263"/>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation>不能提交事务</translation>
</message>
@@ -1115,8 +1114,8 @@ to
<context>
<name>QDB2Result</name>
<message>
- <location line="-986"/>
- <location line="+242"/>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation>不能执行语句</translation>
</message>
@@ -1131,7 +1130,7 @@ to
<translation>不能帮定变量</translation>
</message>
<message>
- <location line="+91"/>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation>不能获取记录%1</translation>
</message>
@@ -1149,7 +1148,7 @@ to
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation>AM</translation>
</message>
@@ -1172,7 +1171,7 @@ to
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation>QDial</translation>
</message>
@@ -1190,7 +1189,7 @@ to
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>这是什么?</translation>
</message>
@@ -1203,9 +1202,9 @@ to
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1830"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+531"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation>确定</translation>
</message>
@@ -1328,7 +1327,7 @@ to
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+423"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation>名称</translation>
</message>
@@ -1358,7 +1357,7 @@ to
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation>关闭</translation>
</message>
@@ -1389,7 +1388,7 @@ to
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+162"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+192"/>
<source>Debug Message:</source>
<translation>调试消息:</translation>
</message>
@@ -1417,13 +1416,18 @@ to
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+678"/>
- <location line="+130"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation>目标文件已存在</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation>无法输入 %1 </translation>
</message>
@@ -1446,37 +1450,37 @@ to
<context>
<name>QFileDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+484"/>
- <location line="+423"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+515"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation>所有文件 (*)</translation>
</message>
<message>
- <location line="+218"/>
+ <location line="+222"/>
<source>Directories</source>
<translation>目录</translation>
</message>
<message>
<location line="-3"/>
<location line="+50"/>
- <location line="+1440"/>
+ <location line="+1471"/>
<location line="+75"/>
<source>&amp;Open</source>
<translation>打开(&amp;O)</translation>
</message>
<message>
- <location line="-1565"/>
+ <location line="-1596"/>
<location line="+50"/>
<source>&amp;Save</source>
<translation>保存(&amp;S)</translation>
</message>
<message>
- <location line="-705"/>
+ <location line="-730"/>
<source>Open</source>
<translation>打开</translation>
</message>
<message>
- <location line="+1469"/>
+ <location line="+1515"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1已经存在。
@@ -1497,7 +1501,7 @@ Please verify the correct file name was given.</source>
<translation>我的计算机</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1458"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1504"/>
<source>&amp;Rename</source>
<translation>重命名(&amp;R)</translation>
</message>
@@ -1543,13 +1547,13 @@ Please verify the correct file name was given.</source>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="+6"/>
- <location line="+623"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation>目录:</translation>
</message>
<message>
- <location line="+773"/>
- <location line="+851"/>
+ <location line="+794"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
@@ -1558,7 +1562,7 @@ Please verify the correct directory name was given.</source>
请核实已给定正确目录名。</translation>
</message>
<message>
- <location line="-217"/>
+ <location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation>“%1“是写保护的。
@@ -1575,17 +1579,17 @@ Do you want to delete it anyway?</source>
<translation>不能删除目录。</translation>
</message>
<message>
- <location line="+406"/>
+ <location line="+407"/>
<source>Recent Places</source>
<translation>最近的地方</translation>
</message>
<message>
- <location line="-2493"/>
+ <location line="-2550"/>
<source>Save As</source>
<translation>另存为</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+381"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+411"/>
<source>Drive</source>
<translation>驱动器</translation>
</message>
@@ -1617,29 +1621,29 @@ Do you want to delete it anyway?</source>
<translation>前进</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1914"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1970"/>
<source>New Folder</source>
<translation>新建文件夹</translation>
</message>
<message>
- <location line="-1907"/>
+ <location line="-1963"/>
<source>&amp;New Folder</source>
<translation>新建文件夹(&amp;N)</translation>
</message>
<message>
- <location line="+631"/>
+ <location line="+656"/>
<location line="+38"/>
<source>&amp;Choose</source>
<translation>选择(&amp;C)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="+388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation>移除</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-662"/>
- <location line="+627"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation>文件名称(&amp;N):</translation>
</message>
@@ -1656,7 +1660,7 @@ Do you want to delete it anyway?</source>
<translation>创建新文件夹</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation>所有文件 (*.*)</translation>
</message>
@@ -1664,7 +1668,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+707"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
<source>%1 TB</source>
<translation>%1 TB</translation>
</message>
@@ -1726,7 +1730,7 @@ Do you want to delete it anyway?</source>
<translation>日期被修改</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation>我的计算机</translation>
</message>
@@ -1739,7 +1743,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDatabase</name>
<message>
- <location filename="../src/gui/text/qfontdatabase.cpp" line="+60"/>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
<location line="+1176"/>
<source>Normal</source>
<translation>普通</translation>
@@ -1956,7 +1960,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+742"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation>字体(&amp;F)</translation>
</message>
@@ -2005,8 +2009,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/network/access/qftp.cpp" line="+796"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+653"/>
+ <location filename="../src/network/access/qftp.cpp" line="+826"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+683"/>
<source>Not connected</source>
<translation>没有连接</translation>
</message>
@@ -2151,7 +2155,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation>未知的错误</translation>
</message>
@@ -2159,11 +2163,11 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+148"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
<location line="+9"/>
<location line="+64"/>
<location line="+31"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+150"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
<location line="+9"/>
<location line="+40"/>
<location line="+27"/>
@@ -2189,21 +2193,21 @@ Do you want to delete it anyway?</source>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="+1544"/>
- <location line="+816"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1130"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+1574"/>
+ <location line="+820"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1160"/>
<location line="+567"/>
<source>Unknown error</source>
<translation>未知的错误</translation>
</message>
<message>
- <location line="-564"/>
+ <location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation>请求被放弃了</translation>
</message>
<message>
- <location line="+575"/>
+ <location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation>没有设置要连接的服务器</translation>
@@ -2221,18 +2225,23 @@ Do you want to delete it anyway?</source>
<translation>服务器异常地关闭了连接</translation>
</message>
<message>
- <location line="+357"/>
+ <location line="+179"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+183"/>
<source>Error writing response to device</source>
<translation>向设备中进行写回复时发生错误</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+1712"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+38"/>
<source>Connection refused</source>
<translation>连接被拒绝</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-299"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-304"/>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
@@ -2253,7 +2262,7 @@ Do you want to delete it anyway?</source>
<translation>无效的HTTP响应头</translation>
</message>
<message>
- <location line="+120"/>
+ <location line="+125"/>
<location line="+48"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
@@ -2302,7 +2311,7 @@ Do you want to delete it anyway?</source>
<translation>需要认证</translation>
</message>
<message>
- <location line="-133"/>
+ <location line="-138"/>
<source>Connection refused (or timed out)</source>
<translation>连接被拒绝(或者超时)</translation>
</message>
@@ -2332,7 +2341,7 @@ Do you want to delete it anyway?</source>
<translation>SSL 握手失败</translation>
</message>
<message>
- <location filename="../src/network/access/qhttp.cpp" line="-2259"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-2263"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation>HTTPS 连接需要 SSL,但它没有被编译进来</translation>
</message>
@@ -2388,7 +2397,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1378"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation>打开数据库错误</translation>
</message>
@@ -2411,7 +2420,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseResult</name>
<message>
- <location line="-1077"/>
+ <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation>不能创建BLOB</translation>
</message>
@@ -2431,7 +2440,7 @@ Do you want to delete it anyway?</source>
<translation>不能读取BLOB</translation>
</message>
<message>
- <location line="+124"/>
+ <location line="+125"/>
<location line="+189"/>
<source>Could not find array</source>
<translation>不能找到数组</translation>
@@ -2501,7 +2510,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+1830"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation>权限被拒绝</translation>
</message>
@@ -2521,7 +2530,7 @@ Do you want to delete it anyway?</source>
<translation>设备上没有空间了</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation>未知的错误</translation>
</message>
@@ -2529,7 +2538,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+212"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation>XIM</translation>
</message>
@@ -2552,7 +2561,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation>输入一个值:</translation>
</message>
@@ -2572,7 +2581,7 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">QLibrary::resolve_sys: 符号“%1”在%2(%3)没有被定义</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="+348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation>不能映射”%1“:%2</translation>
</message>
@@ -2603,7 +2612,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="-377"/>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+250"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation>共享库没有被找到。</translation>
</message>
@@ -2618,8 +2627,8 @@ Do you want to delete it anyway?</source>
<translation>插件“%1“使用了不兼容的Qt库。(不能混合使用库的调试版本和发布版本。)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+179"/>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation>无法加载库%1:%2</translation>
</message>
@@ -2639,7 +2648,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2649"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2680"/>
<source>&amp;Undo</source>
<translation>撤消(&amp;U)</translation>
</message>
@@ -2677,8 +2686,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver.cpp" line="+196"/>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation>%1: 名称错误</translation>
</message>
@@ -2694,7 +2703,7 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+5"/>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="+127"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation>%1:未知错误 %2</translation>
</message>
@@ -2702,8 +2711,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+102"/>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation>%1:连接被拒绝</translation>
</message>
@@ -2716,7 +2725,7 @@ Do you want to delete it anyway?</source>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
<location line="+43"/>
<source>%1: Invalid name</source>
<translation>%1:无效名称</translation>
@@ -2773,7 +2782,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1200"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation>不能打开数据库</translation>
</message>
@@ -2783,7 +2792,7 @@ Do you want to delete it anyway?</source>
<translation>不能连接</translation>
</message>
<message>
- <location line="+123"/>
+ <location line="+127"/>
<source>Unable to begin transaction</source>
<translation>不能开始事务</translation>
</message>
@@ -2801,7 +2810,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-917"/>
+ <location line="-922"/>
<source>Unable to fetch data</source>
<translation>不能获取数据</translation>
</message>
@@ -2816,7 +2825,7 @@ Do you want to delete it anyway?</source>
<translation>不能存储结果</translation>
</message>
<message>
- <location line="+189"/>
+ <location line="+190"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
<translation>不能准备语句</translation>
@@ -2861,7 +2870,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="+260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation>(未命名的)</translation>
</message>
@@ -2869,7 +2878,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation>%1 - [%2]</translation>
</message>
@@ -2962,7 +2971,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMenu</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+127"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
<location line="+225"/>
<source>Close</source>
<translation>关闭</translation>
@@ -3035,7 +3044,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1105"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1111"/>
<source>Help</source>
<translation>帮助</translation>
</message>
@@ -3048,17 +3057,16 @@ Do you want to delete it anyway?</source>
<translation>确定</translation>
</message>
<message>
- <location line="+503"/>
+ <location line="+509"/>
<source>About Qt</source>
<translation>关于Qt</translation>
</message>
<message>
- <location line="-15"/>
<source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation>&lt;p&gt;这个程序使用的是Qt %1版。&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;这个程序使用的是Qt %1版。&lt;/p&gt;</translation>
</message>
<message>
- <location line="-1584"/>
+ <location line="-1605"/>
<source>Show Details...</source>
<translation>显示细节……</translation>
</message>
@@ -3069,13 +3077,16 @@ Do you want to delete it anyway?</source>
</message>
<message>
<location line="+1570"/>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation>&lt;h3&gt;关于Qt&lt;/h3&gt;%1&lt;p&gt;Qt是一个用于跨平台应用程序开发的C++工具包。&lt;/p&gt;&lt;p&gt;对于MS&amp;nbsp;Windows、Mac&amp;nbsp;OS&amp;nbsp;X、Linux和所有主流商业Unix,Qt提供了单一源程序的可移植性。Qt也有用于嵌入式Linux和Windows CE的版本。&lt;/p&gt;&lt;p&gt;Qt是Nokia的产品。有关更多信息,请参考&lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt;。&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;h3&gt;关于Qt&lt;/h3&gt;%1&lt;p&gt;Qt是一个用于跨平台应用程序开发的C++工具包。&lt;/p&gt;&lt;p&gt;对于MS&amp;nbsp;Windows、Mac&amp;nbsp;OS&amp;nbsp;X、Linux和所有主流商业Unix,Qt提供了单一源程序的可移植性。Qt也有用于嵌入式Linux和Windows CE的版本。&lt;/p&gt;&lt;p&gt;Qt是Nokia的产品。有关更多信息,请参考&lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt;。&lt;/p&gt;</translation>
</message>
<message>
- <location line="+15"/>
<source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
- <translation>&lt;p&gt;这个程序使用了Qt %1开源版本。&lt;/p&gt;&lt;p&gt;Qt开源版本只用于开源应用程序的开发。如果要开发私有(闭源)软件,你需要一个商业的Qt协议。&lt;/p&gt;&lt;p&gt;有关Qt协议的概览,请参考&lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt;。&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;这个程序使用了Qt %1开源版本。&lt;/p&gt;&lt;p&gt;Qt开源版本只用于开源应用程序的开发。如果要开发私有(闭源)软件,你需要一个商业的Qt协议。&lt;/p&gt;&lt;p&gt;有关Qt协议的概览,请参考&lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt;。&lt;/p&gt;</translation>
</message>
<message>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt Embedded.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
@@ -3085,7 +3096,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation>选择输入法</translation>
</message>
@@ -3093,7 +3104,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation>多输入法切换器</translation>
</message>
@@ -3106,7 +3117,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+176"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
<source>The remote host closed the connection</source>
<translation>远端主机关闭了这个连接</translation>
</message>
@@ -3239,7 +3250,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation>打开%1发生错误</translation>
</message>
@@ -3247,7 +3258,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation>正在打开非本地文件 %1 的请求</translation>
</message>
@@ -3275,7 +3286,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation>未找到合适的代理</translation>
</message>
@@ -3285,7 +3296,7 @@ Do you want to delete it anyway?</source>
<translation>无法读取 %1:是一个目录</translation>
</message>
<message>
- <location line="+131"/>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation>登入 %1 失败:需要验证</translation>
</message>
@@ -3303,7 +3314,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation>未找到合适的代理</translation>
</message>
@@ -3316,7 +3327,7 @@ Do you want to delete it anyway?</source>
<translation>下载 %1 错误 - 服务器回复:%2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation>协议“%1”是未知的</translation>
</message>
@@ -3324,7 +3335,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+422"/>
+ <location line="+432"/>
<location line="+22"/>
<source>Operation canceled</source>
<translation>操作被取消</translation>
@@ -3333,7 +3344,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2027"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/>
<source>Unable to logon</source>
<translation>不能登录</translation>
</message>
@@ -3362,7 +3373,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIResult</name>
<message>
- <location line="-976"/>
+ <location line="-963"/>
<location line="+161"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
@@ -3389,18 +3400,16 @@ Do you want to delete it anyway?</source>
<translation>不能准备语句</translation>
</message>
<message>
- <location line="+29"/>
- <location line="+37"/>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation>不能绑定值</translation>
</message>
<message>
- <location line="-20"/>
<source>Unable to execute select statement</source>
- <translation>不能执行选择语句</translation>
+ <translation type="obsolete">不能执行选择语句</translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation>不能执行语句</translation>
</message>
@@ -3408,7 +3417,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1657"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation>不能连接</translation>
</message>
@@ -3418,7 +3427,7 @@ Do you want to delete it anyway?</source>
<translation>不能连接—驱动程序不支持所有功能</translation>
</message>
<message>
- <location line="+234"/>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation>不能禁止自动提交</translation>
</message>
@@ -3441,19 +3450,19 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCResult</name>
<message>
- <location line="-1204"/>
+ <location line="-1218"/>
<location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: 不能把“SQL_CURSOR_STATIC”设置为语句属性。请检查你的ODBC驱动程序设置。</translation>
</message>
<message>
<location line="-332"/>
- <location line="+625"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation>不能执行语句</translation>
</message>
<message>
- <location line="-554"/>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation>不能获取下一个</translation>
</message>
@@ -3463,19 +3472,19 @@ Do you want to delete it anyway?</source>
<translation>不能准备语句</translation>
</message>
<message>
- <location line="+267"/>
+ <location line="+268"/>
<source>Unable to bind variable</source>
<translation>不能帮定变量</translation>
</message>
<message>
<location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-474"/>
- <location line="+577"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation>不能获取最后一个</translation>
</message>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-671"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation>不能获取</translation>
</message>
@@ -3493,12 +3502,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QObject</name>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation>家</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation>在 %1 上不被支持的操作</translation>
</message>
@@ -3508,7 +3517,7 @@ Do you want to delete it anyway?</source>
<translation>无效的 URI:%1</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation>写入 %1 错误:%2</translation>
</message>
@@ -3533,7 +3542,7 @@ Do you want to delete it anyway?</source>
<translation>协议错误:收到了大小为 0 的包</translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+147"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
<location line="+57"/>
<source>No host name given</source>
<translation>未指定主机名</translation>
@@ -3542,7 +3551,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation>名称</translation>
</message>
@@ -3555,7 +3564,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+732"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation>不能连接</translation>
</message>
@@ -3575,7 +3584,7 @@ Do you want to delete it anyway?</source>
<translation>不能回滚事务</translation>
</message>
<message>
- <location line="+336"/>
+ <location line="+358"/>
<source>Unable to subscribe</source>
<translation>不能订阅</translation>
</message>
@@ -3588,12 +3597,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLResult</name>
<message>
- <location line="-1035"/>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation>不能创建查询</translation>
</message>
<message>
- <location line="+373"/>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation>不能准备语句</translation>
</message>
@@ -3601,7 +3610,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation>厘米 (cm)</translation>
</message>
@@ -3717,7 +3726,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+68"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation>本地已经连接的</translation>
</message>
@@ -3734,7 +3743,7 @@ Do you want to delete it anyway?</source>
<translation>未知的</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+345"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+375"/>
<source>Print all</source>
<translation>打印全部</translation>
</message>
@@ -3899,12 +3908,12 @@ Do you want to delete it anyway?</source>
<translation>美国普通10号信封 (105 x 241 毫米)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation>确定</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+80"/>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
@@ -4146,13 +4155,13 @@ Please choose a different file name.</source>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+38"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
<location line="+12"/>
<source>Page Setup</source>
<translation>页面设置</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation>%1%</translation>
</message>
@@ -4419,8 +4428,8 @@ Please choose a different file name.</source>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_unix.cpp" line="+445"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation>无法打开用于读取的输入重定向</translation>
</message>
@@ -4449,7 +4458,7 @@ Please choose a different file name.</source>
<translation>进程处理超时</translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+503"/>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
<location line="+52"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
<location line="+50"/>
@@ -4469,6 +4478,11 @@ Please choose a different file name.</source>
<translation>进程已崩溃</translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation>启动进程失败</translation>
@@ -4477,7 +4491,7 @@ Please choose a different file name.</source>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>撤消</translation>
</message>
@@ -4501,7 +4515,7 @@ Please choose a different file name.</source>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="+34"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation>没有错误发生</translation>
</message>
@@ -4549,7 +4563,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation>打开数据库错误</translation>
</message>
@@ -4572,12 +4586,12 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-310"/>
+ <location line="-323"/>
<source>Unable to fetch results</source>
<translation>不能获取结果</translation>
</message>
<message>
- <location line="+139"/>
+ <location line="+147"/>
<source>Unable to execute statement</source>
<translation>不能执行语句</translation>
</message>
@@ -4585,7 +4599,7 @@ Please choose a different file name.</source>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+498"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation>打开数据库错误</translation>
</message>
@@ -4648,12 +4662,12 @@ Please choose a different file name.</source>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="+419"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation>滚动到这里</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Left edge</source>
<translation>左边缘</translation>
</message>
@@ -4663,7 +4677,7 @@ Please choose a different file name.</source>
<translation>顶部</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Right edge</source>
<translation>右边缘</translation>
</message>
@@ -4673,7 +4687,7 @@ Please choose a different file name.</source>
<translation>底部</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Page left</source>
<translation>左一页</translation>
</message>
@@ -4684,7 +4698,7 @@ Please choose a different file name.</source>
<translation>上一页</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Page right</source>
<translation>右一页</translation>
</message>
@@ -4695,7 +4709,7 @@ Please choose a different file name.</source>
<translation>下一页</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Scroll left</source>
<translation>向左滚动</translation>
</message>
@@ -4705,7 +4719,7 @@ Please choose a different file name.</source>
<translation>向上滚动</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
<source>Scroll right</source>
<translation>向右滚动</translation>
</message>
@@ -4733,7 +4747,7 @@ Please choose a different file name.</source>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+177"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
<translation>%1:无法设置锁定的键</translation>
</message>
@@ -4744,7 +4758,7 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+168"/>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+118"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation>%1:无法锁定</translation>
</message>
@@ -4754,8 +4768,8 @@ Please choose a different file name.</source>
<translation>%1:无法取消锁定</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+48"/>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation>%1:权限被拒绝</translation>
</message>
@@ -4833,7 +4847,7 @@ Please choose a different file name.</source>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+343"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation>空格</translation>
</message>
@@ -5418,7 +5432,7 @@ Please choose a different file name.</source>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+860"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation>删除</translation>
</message>
@@ -5475,7 +5489,7 @@ Please choose a different file name.</source>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+539"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
<translation>不能写入数据:%1</translation>
</message>
@@ -5534,7 +5548,7 @@ Please choose a different file name.</source>
<name>QSystemSemaphore</name>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation>%1:资源耗尽了</translation>
</message>
@@ -5564,7 +5578,7 @@ Please choose a different file name.</source>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation>不能打开连接</translation>
</message>
@@ -5590,7 +5604,7 @@ Please choose a different file name.</source>
<context>
<name>QTcpServer</name>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation>socket操作不被支持</translation>
</message>
@@ -5598,7 +5612,7 @@ Please choose a different file name.</source>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+1942"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation>撤消(&amp;U)</translation>
</message>
@@ -5656,7 +5670,7 @@ Please choose a different file name.</source>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation>这个平台不支持IPv6</translation>
</message>
@@ -5664,7 +5678,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="+356"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation>撤销</translation>
</message>
@@ -5677,7 +5691,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="+71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation>&lt;空白&gt;</translation>
</message>
@@ -5685,7 +5699,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="+804"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation>撤销</translation>
</message>
@@ -5756,7 +5770,7 @@ Please choose a different file name.</source>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation>请求被取消了</translation>
</message>
@@ -6166,7 +6180,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation>JavaScript警告 - %1</translation>
</message>
@@ -6242,6 +6256,11 @@ Please choose a different file name.</source>
</message>
<message>
<location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation>选中到下一个字符</translation>
</message>
@@ -6310,11 +6329,21 @@ Please choose a different file name.</source>
<source>Delete to the end of the word</source>
<translation>删除到单词尾</translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation>这是什么?</translation>
</message>
@@ -6322,7 +6351,7 @@ Please choose a different file name.</source>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -6330,7 +6359,7 @@ Please choose a different file name.</source>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+605"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
<source>Go Back</source>
<translation>返回</translation>
</message>
@@ -6392,7 +6421,7 @@ Please choose a different file name.</source>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="+1064"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation>恢复(&amp;R)</translation>
</message>
@@ -6462,7 +6491,7 @@ Please choose a different file name.</source>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="+28"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation>没有错误发生</translation>
</message>
@@ -6580,8 +6609,8 @@ Please choose a different file name.</source>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream.cpp" line="+562"/>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation>文档末尾有额外内容。</translation>
</message>
@@ -6765,7 +6794,7 @@ Please choose a different file name.</source>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation>带有值 %2 的 %1 属性已经声明过了。</translation>
</message>
@@ -6775,12 +6804,12 @@ Please choose a different file name.</source>
<translation>一个 %1 属性必须带有一个有效的 %2 作为值,但 %3 却不是。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation>网络超时。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation>元素 %1 不能被串行化,因为它出现在文档元素之外。</translation>
</message>
@@ -6789,7 +6818,7 @@ Please choose a different file name.</source>
<translation type="obsolete">属性元素 %1 不能被串行化,因为它出现在最顶层。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation>%1 年是无效的,因为应该从 %2 开始。</translation>
</message>
@@ -6829,7 +6858,7 @@ Please choose a different file name.</source>
<translation>溢出:数据无法被呈现。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+69"/>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
<location line="+15"/>
<source>At least one component must be present.</source>
<translation>至少有一个组件被呈现。</translation>
@@ -6840,7 +6869,7 @@ Please choose a different file name.</source>
<translation>至少一个时间组件必须出现在这个 %1 界限之后。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation>在整数除法中没有操作数,%1,可以是 %2。</translation>
</message>
@@ -6855,17 +6884,17 @@ Please choose a different file name.</source>
<translation>除法中的第二个操作数,%1,不能是零(%2)。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation>%1 不是类型为 %2 的有效值。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation>当从 %2 抛出到 %1 时,源值不能是 %3。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
<source>Integer division (%1) by zero (%2) is undefined.</source>
<translation>整数除法(%1)除零(%2)是未定义的。</translation>
</message>
@@ -6896,17 +6925,17 @@ Please choose a different file name.</source>
<translation>一个类型为 %1 的值乘以 %2 或者 %3(正负无穷)是不允许的。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation>一个类型为 %1 的值不能是一个有效的布尔值(Effective Boolean Value)。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation>有效的布尔值(Effective Boolean Value)不能被用于计算一个包含两个或者更多原子值的序列。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation>类型为 %2 的值 %1 超过了最大值(%3)。</translation>
</message>
@@ -6916,7 +6945,7 @@ Please choose a different file name.</source>
<translation>类型为 %2 的值 %1 超过了最小值(%3)。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation>类型为 %1 的值必须包含偶数个数字。值 %2 不是这样的。</translation>
</message>
@@ -6926,7 +6955,7 @@ Please choose a different file name.</source>
<translation>%1 不是类型为 %2 的有效值。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation>操作符 %1 不能被用于类型 %2。</translation>
</message>
@@ -6936,7 +6965,7 @@ Please choose a different file name.</source>
<translation>操作符 %1 不能被用于类型为 %2 和 %3 的原子值。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation>一个被计算的属性的名称中的命名空间 URI 不能是 %1。</translation>
</message>
@@ -6946,7 +6975,7 @@ Please choose a different file name.</source>
<translation>一个被计算的属性的名称不能使用带有本地名称 %2 的命名空间 URI %1。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation>抛出类型错误,期望的是 %1,收到的是 %2。</translation>
</message>
@@ -6956,7 +6985,7 @@ Please choose a different file name.</source>
<translation>当抛出到 %1 或者它的派生类时,源类型必须是同一类型,或者它必须是一个字符串类型。类型 %2 是不被允许的。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+104"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+134"/>
<source>No casting is possible with %1 as the target type.</source>
<translation>无法以 %1 为目标类型进行抛出。</translation>
</message>
@@ -6981,7 +7010,7 @@ Please choose a different file name.</source>
<translation>从 %2 抛出到 %1 失败:%3</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation>注释不能包含 %1</translation>
</message>
@@ -6991,7 +7020,7 @@ Please choose a different file name.</source>
<translation>注释不能以 %1 结尾。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+137"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/>
<source>No comparisons can be done involving the type %1.</source>
<translation>对于类型 %1 不能进行比较。</translation>
</message>
@@ -7001,12 +7030,12 @@ Please choose a different file name.</source>
<translation>在类型 %2 和 %3 的原子值之间,操作符 %1 是不可用的。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation>一个属性节点不能是一个文档节点的子节点。因此,这个属性 %1 所在位置是不合适的。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation>一个库模块不能被直接评估。它必须从一个主模块中导入。</translation>
</message>
@@ -7016,7 +7045,7 @@ Please choose a different file name.</source>
<translation>没有名为 %1 的模板存在。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation>类型为 %1 的值不能被判断。一个判断必须是数值类型或者一个有效的布尔值(Effective Boolean Value)类型。</translation>
</message>
@@ -7026,7 +7055,7 @@ Please choose a different file name.</source>
<translation>一个定位判断必须评估一个单一数值。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+83"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
<source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
<translation>一个处理指令中的目标名称不能是任何大小写混合的 %1。因此,%2 是无效的。</translation>
</message>
@@ -7036,33 +7065,33 @@ Please choose a different file name.</source>
<translation>%1 不是处理指令的有效目标名称。它必须是值 %2,例如 %3。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation>一个路径中的最后一步必须包含节点或者原子值。它不能是两者的一个组合。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation>处理指令的数据不能包含字符串 %1</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation>对于前缀 %1,没有存在绑定的命名空间。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+126"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation>对于 %2 中的前缀 %1,没有存在绑定的命名空间。</translation>
</message>
<message>
<location line="+12"/>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+39"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation>%1 是一个无效的 %2。</translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation>
<numerusform>%1 最多可以有 %n 个参数。因此 %2 是无效的。</numerusform>
@@ -7076,7 +7105,7 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation>%1 的第一个参数不能是类型 %2 的。它必须是数字类型的,xs:yearMonthDuration 或者 xs:dayTimeDuration。</translation>
</message>
@@ -7091,27 +7120,27 @@ Please choose a different file name.</source>
<translation>%1 的第二个参数不能是类型 %2 的。它必须是类型 %3、%4 或者 %5 的。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation>%1 不是一个有效的 XML 1.0 字符。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation>%1 的第一个参数不能是类型 %2 的。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation>如果两个值都有区偏移(zone offset),它们必须拥有相同的区偏移。%1 和 %2 的区偏移是不同的。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation>%1 被调用了。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+64"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation>%1 必须被 %2 或者 %3 跟随,不能在替换字符串的末尾。</translation>
</message>
@@ -7126,7 +7155,7 @@ Please choose a different file name.</source>
<translation>在这个替换字符串中,%1 只能被用于转义它本身或者 %2,而不是 %3</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation>%1 匹配了换行符</translation>
</message>
@@ -7161,17 +7190,17 @@ Please choose a different file name.</source>
<translation>如果第一个参数是空序列或者零长度字符串(无命名空间),那么就不能指定前缀。前缀 %1 被指定了。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation>将不能获取 %1。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation>函数 %1 的第二个参数的根节点必须是一个文档节点。%2 不是一个文档节点。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation>默认收集(collection)是未定义的</translation>
</message>
@@ -7181,12 +7210,12 @@ Please choose a different file name.</source>
<translation>无法获取 %1</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation>不支持正规化(normalization)表单 %1。被支持的表单是 %2、%3、%4 和 %5,以及无,例如空字符串(无正规化)。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation>区偏移(zone offset)必须在 %1...%2 范围之内。%3 是在范围之外的。</translation>
</message>
@@ -7196,17 +7225,17 @@ Please choose a different file name.</source>
<translation>%1 不是分钟的整数。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation>所需要的表间关系是 %1;得到的表间关系却是 %2。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation>项 %1 和所需的类型 %2 不匹配。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+319"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
<location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation>%1 是一个未知的方案类型。</translation>
@@ -7227,7 +7256,7 @@ Please choose a different file name.</source>
<translation>没有名称为 %1 的变量存在。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation>变量 %1 没有被使用</translation>
</message>
@@ -7525,7 +7554,7 @@ Please choose a different file name.</source>
<translation>一个扩展表达式的名称必须在一个命名空间中。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation>空白</translation>
</message>
@@ -7550,7 +7579,7 @@ Please choose a different file name.</source>
<translation>零或者更多</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+33"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation>需要的类型是 %1,但是找到的是 %2。</translation>
</message>
@@ -7565,7 +7594,7 @@ Please choose a different file name.</source>
<translation>焦点未定义。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+56"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation>不能在任何其它类型节点后添加属性。</translation>
</message>
@@ -7575,7 +7604,7 @@ Please choose a different file name.</source>
<translation>一个名称为 %1 的属性已经被创建。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation>只支持 Unicode 代码点校验(Unicode Codepoint Collation)(%1)。%2 是不被支持的。</translation>
</message>
@@ -7585,7 +7614,7 @@ Please choose a different file name.</source>
<translation>属性 %1 不能被串行化,因为它出现在最顶层。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation> %1 是不被支持的编码。</translation>
</message>
@@ -7600,14 +7629,18 @@ Please choose a different file name.</source>
<translation>在使用编码%3的%2中出现的代码点%1不是一个有效的XML字符。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation>含糊规则匹配。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+39"/>
<source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
- <translation>在一个命名空间构造中,命名空间的值不能为空字符串。</translation>
+ <translation type="obsolete">在一个命名空间构造中,命名空间的值不能为空字符串。</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
@@ -7625,12 +7658,12 @@ Please choose a different file name.</source>
<translation>只有前缀%1可以绑定到%2,反之也一样</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation>检测到环</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation>需要参数%1,但是没有提供对应的%2。</translation>
</message>
@@ -7640,12 +7673,12 @@ Please choose a different file name.</source>
<translation>参数%1已传递,但没有相应的%2存在。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation>URI不能有片段</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation>元素%1不能在这个位置。</translation>
</message>
@@ -7700,7 +7733,7 @@ Please choose a different file name.</source>
<translation>在元素%2的%1属性中至少要指定一个模式。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation>属性%1不能出现在元素%2上。只有标准属性可以出现。</translation>
</message>
@@ -7775,7 +7808,7 @@ Please choose a different file name.</source>
<translation>元素%1不能有子元素。</translation>
</message>
<message>
- <location line="+432"/>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation>元素%1不能有顺序构造。</translation>
</message>
diff --git a/translations/qt_zh_TW.ts b/translations/qt_zh_TW.ts
index 5fccebf..bcb6f8d 100644
--- a/translations/qt_zh_TW.ts
+++ b/translations/qt_zh_TW.ts
@@ -1,18 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="zh_TW">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_TW">
<context>
<name>AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="374"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+375"/>
<source>&lt;html&gt;The audio playback device &lt;b&gt;%1&lt;/b&gt; does not work.&lt;br/&gt;Falling back to &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</source>
<translation>&lt;html&gt;音效播放裝置 &lt;b&gt;%1&lt;/b&gt; 未能運作。&lt;br/&gt;改用預設裝置 &lt;b&gt;%2&lt;/b&gt;。&lt;/html&gt;</translation>
</message>
<message>
+ <location line="+13"/>
<source>&lt;html&gt;Switching to the audio playback device &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;which just became available and has higher preference.&lt;/html&gt;</source>
<translation>&lt;html&gt;音效播放裝置 &lt;b&gt;%1&lt;/b&gt; 已可使用,因為有較高優先權,因此將切換到該裝置。&lt;/html&gt;</translation>
</message>
<message>
+ <location line="+3"/>
<source>Revert back to device &apos;%1&apos;</source>
<translation>回復到裝置 %1</translation>
</message>
@@ -20,7 +22,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="2217"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2251"/>
<source>Close Tab</source>
<translation>關閉分頁</translation>
</message>
@@ -39,27 +41,32 @@
<context>
<name>Phonon::</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/phononnamespace.cpp" line="55"/>
+ <location filename="../src/3rdparty/phonon/phonon/phononnamespace.cpp" line="+55"/>
<source>Notifications</source>
<translation>通知</translation>
</message>
<message>
+ <location line="+2"/>
<source>Music</source>
<translation>音樂</translation>
</message>
<message>
+ <location line="+2"/>
<source>Video</source>
<translation>影像</translation>
</message>
<message>
+ <location line="+2"/>
<source>Communication</source>
<translation>通訊</translation>
</message>
<message>
+ <location line="+2"/>
<source>Games</source>
<translation>遊戲</translation>
</message>
<message>
+ <location line="+2"/>
<source>Accessibility</source>
<translation>輔助裝置</translation>
</message>
@@ -67,13 +74,14 @@
<context>
<name>Phonon::Gstreamer::Backend</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/backend.cpp" line="171"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/backend.cpp" line="+171"/>
<source>Warning: You do not seem to have the package gstreamer0.10-plugins-good installed.
Some video features have been disabled.</source>
<translation>警告:您可能沒有安裝 gstreamer0.10-plugins-good。
有些影像的功能將被關閉。</translation>
</message>
<message>
+ <location line="+5"/>
<source>Warning: You do not seem to have the base GStreamer plugins installed.
All audio and video support has been disabled</source>
<translation>警告:您可能沒有安裝 GStreamer 外掛程式。 所有音效與影像支援將被關閉。</translation>
@@ -82,7 +90,7 @@
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="88"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
<source>Cannot start playback.
Check your Gstreamer installation and make sure you
@@ -93,26 +101,39 @@ have libgstreamer-plugins-base installed.</source>
libgstreamer-plugins-base 套件。</translation>
</message>
<message>
+ <location line="+113"/>
<source>A required codec is missing. You need to install the following codec(s) to play this content: %0</source>
<translation>找不到需要的編解碼器。您需要安裝以下的套件來播放此內容:%0</translation>
</message>
<message>
+ <location line="+676"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+9"/>
+ <location line="+6"/>
+ <location line="+19"/>
+ <location line="+335"/>
+ <location line="+24"/>
<source>Could not open media source.</source>
<translation>無法開啟媒體來源。</translation>
</message>
<message>
+ <location line="-403"/>
<source>Invalid source type.</source>
<translation>不合法的來源型態。</translation>
</message>
<message>
+ <location line="+377"/>
<source>Could not locate media source.</source>
<translation>無法定位媒體來源。</translation>
</message>
<message>
+ <location line="+10"/>
<source>Could not open audio device. The device is already in use.</source>
<translation>無法開啟音效裝置。裝置已在使用中。</translation>
</message>
<message>
+ <location line="+13"/>
<source>Could not decode media source.</source>
<translation>無法解碼媒體來源。</translation>
</message>
@@ -120,10 +141,15 @@ libgstreamer-plugins-base 套件。</translation>
<context>
<name>Phonon::VolumeSlider</name>
<message>
+ <location filename="../src/3rdparty/phonon/phonon/volumeslider.cpp" line="+42"/>
+ <location line="+18"/>
<source>Volume: %1%</source>
<translation>音量:%1%</translation>
</message>
<message>
+ <location line="-15"/>
+ <location line="+18"/>
+ <location line="+54"/>
<source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
<translation>使用此滑動器來調整音量。最左邊的位置為 0%,最右邊的為 %1%。</translation>
</message>
@@ -131,11 +157,12 @@ libgstreamer-plugins-base 套件。</translation>
<context>
<name>Q3Accel</name>
<message>
- <location filename="../src/qt3support/other/q3accel.cpp" line="451"/>
+ <location filename="../src/qt3support/other/q3accel.cpp" line="+481"/>
<source>%1, %2 not defined</source>
<translation>%1,%2 未定義</translation>
</message>
<message>
+ <location line="+36"/>
<source>Ambiguous %1 not handled</source>
<translation>不明確的 %1 尚未處理</translation>
</message>
@@ -143,23 +170,27 @@ libgstreamer-plugins-base 套件。</translation>
<context>
<name>Q3DataTable</name>
<message>
- <location filename="../src/qt3support/sql/q3datatable.cpp" line="253"/>
+ <location filename="../src/qt3support/sql/q3datatable.cpp" line="+285"/>
<source>True</source>
<translation>真</translation>
</message>
<message>
+ <location line="+1"/>
<source>False</source>
<translation>假</translation>
</message>
<message>
+ <location line="+505"/>
<source>Insert</source>
<translation>插入</translation>
</message>
<message>
+ <location line="+1"/>
<source>Update</source>
<translation>更新</translation>
</message>
<message>
+ <location line="+1"/>
<source>Delete</source>
<translation>刪除</translation>
</message>
@@ -167,242 +198,313 @@ libgstreamer-plugins-base 套件。</translation>
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="834"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+864"/>
<source>Copy or Move a File</source>
<translation>複製或移動檔案</translation>
</message>
<message>
+ <location line="+8"/>
<source>Read: %1</source>
<translation>讀取:%1</translation>
</message>
<message>
+ <location line="+6"/>
+ <location line="+30"/>
<source>Write: %1</source>
<translation>寫入:%1</translation>
</message>
<message>
+ <location line="-22"/>
+ <location line="+1575"/>
<source>Cancel</source>
<translation>取消</translation>
</message>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="80"/>
+ <location line="-157"/>
+ <location line="+49"/>
+ <location line="+2153"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+110"/>
<source>All Files (*)</source>
<translation>所有檔案 (*)</translation>
</message>
<message>
+ <location line="-2089"/>
<source>Name</source>
<translation>名稱</translation>
</message>
<message>
+ <location line="+1"/>
<source>Size</source>
<translation>大小</translation>
</message>
<message>
+ <location line="+2"/>
<source>Type</source>
<translation>型態</translation>
</message>
<message>
+ <location line="+1"/>
<source>Date</source>
<translation>日期</translation>
</message>
<message>
+ <location line="+1"/>
<source>Attributes</source>
<translation>屬性</translation>
</message>
<message>
+ <location line="+35"/>
+ <location line="+2031"/>
<source>&amp;OK</source>
<translation>確定(&amp;O)</translation>
</message>
<message>
+ <location line="-1991"/>
<source>Look &amp;in:</source>
<translation>尋找於(&amp;I):</translation>
</message>
<message>
+ <location line="+1"/>
+ <location line="+1981"/>
+ <location line="+16"/>
<source>File &amp;name:</source>
<translation>檔名(&amp;N):</translation>
</message>
<message>
+ <location line="-1996"/>
<source>File &amp;type:</source>
<translation>檔案型態(&amp;T):</translation>
</message>
<message>
+ <location line="+7"/>
<source>Back</source>
<translation>返回</translation>
</message>
<message>
+ <location line="+7"/>
<source>One directory up</source>
<translation>往上一層目錄</translation>
</message>
<message>
+ <location line="+9"/>
<source>Create New Folder</source>
<translation>建立新資料夾</translation>
</message>
<message>
+ <location line="+18"/>
<source>List View</source>
<translation>列表檢視</translation>
</message>
<message>
+ <location line="+8"/>
<source>Detail View</source>
<translation>詳細檢視</translation>
</message>
<message>
+ <location line="+9"/>
<source>Preview File Info</source>
<translation>預覽檔案資訊</translation>
</message>
<message>
+ <location line="+23"/>
<source>Preview File Contents</source>
<translation>預覽檔案內容</translation>
</message>
<message>
+ <location line="+88"/>
<source>Read-write</source>
<translation>可讀寫</translation>
</message>
<message>
+ <location line="+1"/>
<source>Read-only</source>
<translation>唯讀</translation>
</message>
<message>
+ <location line="+1"/>
<source>Write-only</source>
<translation>唯寫</translation>
</message>
<message>
+ <location line="+1"/>
<source>Inaccessible</source>
<translation>無法存取</translation>
</message>
<message>
+ <location line="+2"/>
<source>Symlink to File</source>
<translation>到檔案的符號連結</translation>
</message>
<message>
+ <location line="+1"/>
<source>Symlink to Directory</source>
<translation>到目錄的符號連結</translation>
</message>
<message>
+ <location line="+1"/>
<source>Symlink to Special</source>
<translation>到特殊節點的符號連結</translation>
</message>
<message>
+ <location line="+1"/>
<source>File</source>
<translation>檔案</translation>
</message>
<message>
+ <location line="+1"/>
<source>Dir</source>
<translation>目錄</translation>
</message>
<message>
+ <location line="+1"/>
<source>Special</source>
<translation>特殊節點</translation>
</message>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="307"/>
+ <location line="+704"/>
+ <location line="+2100"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+337"/>
<source>Open</source>
<translation>開啟</translation>
</message>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="84"/>
+ <location line="-1990"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="+84"/>
<source>Save As</source>
<translation>另存新檔</translation>
</message>
<message>
+ <location line="+642"/>
+ <location line="+5"/>
+ <location line="+355"/>
<source>&amp;Open</source>
<translation>開啟(&amp;O)</translation>
</message>
<message>
+ <location line="-357"/>
+ <location line="+341"/>
<source>&amp;Save</source>
<translation>儲存(&amp;S)</translation>
</message>
<message>
+ <location line="-334"/>
<source>&amp;Rename</source>
<translation>重新命名(&amp;R)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Delete</source>
<translation>刪除(&amp;D)</translation>
</message>
<message>
+ <location line="+20"/>
<source>R&amp;eload</source>
<translation>重新載入(&amp;E)</translation>
</message>
<message>
+ <location line="+4"/>
<source>Sort by &amp;Name</source>
<translation>依名稱排序(&amp;N)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Sort by &amp;Size</source>
<translation>依大小排序(&amp;S)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Sort by &amp;Date</source>
<translation>依日期排序(&amp;D)</translation>
</message>
<message>
+ <location line="+2"/>
<source>&amp;Unsorted</source>
<translation>未排序(&amp;U)</translation>
</message>
<message>
+ <location line="+15"/>
<source>Sort</source>
<translation>排序</translation>
</message>
<message>
+ <location line="+4"/>
<source>Show &amp;hidden files</source>
<translation>顯示隱藏檔(&amp;H)</translation>
</message>
<message>
+ <location line="+31"/>
<source>the file</source>
<translation>此檔案</translation>
</message>
<message>
+ <location line="+2"/>
<source>the directory</source>
<translation>此目錄</translation>
</message>
<message>
+ <location line="+2"/>
<source>the symlink</source>
<translation>此符號連結</translation>
</message>
<message>
+ <location line="+3"/>
<source>Delete %1</source>
<translation>刪除 %1</translation>
</message>
<message>
+ <location line="+1"/>
<source>&lt;qt&gt;Are you sure you wish to delete %1 &quot;%2&quot;?&lt;/qt&gt;</source>
<translation>&lt;qt&gt;您確定要刪除 %1 &quot;%2&quot; 嗎?&lt;/qt&gt;</translation>
</message>
<message>
+ <location line="+2"/>
<source>&amp;Yes</source>
<translation>是(&amp;Y)</translation>
</message>
<message>
+ <location line="+0"/>
<source>&amp;No</source>
<translation>否(&amp;N)</translation>
</message>
<message>
+ <location line="+36"/>
<source>New Folder 1</source>
<translation>新資料夾 1</translation>
</message>
<message>
+ <location line="+5"/>
<source>New Folder</source>
<translation>新資料夾</translation>
</message>
<message>
+ <location line="+5"/>
<source>New Folder %1</source>
<translation>新資料夾 %1</translation>
</message>
<message>
+ <location line="+98"/>
<source>Find Directory</source>
<translation>尋找目錄</translation>
</message>
<message>
+ <location line="+5"/>
+ <location line="+108"/>
<source>Directories</source>
<translation>目錄</translation>
</message>
<message>
+ <location line="-2"/>
<source>Directory:</source>
<translation>目錄:</translation>
</message>
<message>
+ <location line="+40"/>
+ <location line="+1110"/>
<source>Error</source>
<translation>錯誤</translation>
</message>
<message>
+ <location line="-1109"/>
<source>%1
File not found.
Check path and filename.</source>
@@ -411,14 +513,17 @@ Check path and filename.</source>
請檢查路徑與檔名。</translation>
</message>
<message>
+ <location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="-289"/>
<source>All Files (*.*)</source>
<translation>所有檔案 (*.*)</translation>
</message>
<message>
+ <location line="+375"/>
<source>Open </source>
<translation>開啟 </translation>
</message>
<message>
+ <location line="+155"/>
<source>Select a Directory</source>
<translation>請選擇一個目錄</translation>
</message>
@@ -426,24 +531,29 @@ Check path and filename.</source>
<context>
<name>Q3LocalFs</name>
<message>
+ <location filename="../src/qt3support/network/q3localfs.cpp" line="+130"/>
+ <location line="+10"/>
<source>Could not read directory
%1</source>
<translation>無法讀取目錄
%1</translation>
</message>
<message>
+ <location line="+45"/>
<source>Could not create directory
%1</source>
<translation>無法建立目錄
%1</translation>
</message>
<message>
+ <location line="+34"/>
<source>Could not remove file or directory
%1</source>
<translation>無法移除目錄
%1</translation>
</message>
<message>
+ <location line="+27"/>
<source>Could not rename
%1
to
@@ -454,12 +564,14 @@ to
%2</translation>
</message>
<message>
+ <location line="+25"/>
<source>Could not open
%1</source>
<translation>無法開啟
%1</translation>
</message>
<message>
+ <location line="+68"/>
<source>Could not write
%1</source>
<translation>無法寫入
@@ -469,11 +581,12 @@ to
<context>
<name>Q3MainWindow</name>
<message>
- <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="2021"/>
+ <location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
<translation>排列</translation>
</message>
<message>
+ <location line="+2"/>
<source>Customize...</source>
<translation>自訂...</translation>
</message>
@@ -481,7 +594,7 @@ to
<context>
<name>Q3NetworkProtocol</name>
<message>
- <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="824"/>
+ <location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
<translation>使用者已中止操作</translation>
</message>
@@ -489,6 +602,8 @@ to
<context>
<name>Q3ProgressDialog</name>
<message>
+ <location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
+ <location line="+61"/>
<source>Cancel</source>
<translation>取消</translation>
</message>
@@ -496,22 +611,28 @@ to
<context>
<name>Q3TabDialog</name>
<message>
+ <location filename="../src/qt3support/dialogs/q3tabdialog.cpp" line="+189"/>
+ <location line="+814"/>
<source>OK</source>
<translation>確定</translation>
</message>
<message>
+ <location line="-356"/>
<source>Apply</source>
<translation>套用</translation>
</message>
<message>
+ <location line="+43"/>
<source>Help</source>
<translation>說明</translation>
</message>
<message>
+ <location line="+45"/>
<source>Defaults</source>
<translation>預設</translation>
</message>
<message>
+ <location line="+50"/>
<source>Cancel</source>
<translation>取消</translation>
</message>
@@ -519,31 +640,38 @@ to
<context>
<name>Q3TextEdit</name>
<message>
- <location filename="../src/qt3support/text/q3textedit.cpp" line="5399"/>
+ <location filename="../src/qt3support/text/q3textedit.cpp" line="+5429"/>
<source>&amp;Undo</source>
<translation>復原(&amp;U)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Redo</source>
<translation>重做(&amp;R)</translation>
</message>
<message>
+ <location line="+5"/>
<source>Cu&amp;t</source>
<translation>剪下(&amp;T)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Copy</source>
<translation>複製(&amp;C)</translation>
</message>
<message>
+ <location line="+2"/>
<source>&amp;Paste</source>
<translation>貼上(&amp;P)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Clear</source>
<translation>清除</translation>
</message>
<message>
+ <location line="+4"/>
+ <location line="+2"/>
<source>Select All</source>
<translation>全部選擇</translation>
</message>
@@ -551,55 +679,67 @@ to
<context>
<name>Q3TitleBar</name>
<message>
- <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="216"/>
+ <location filename="../src/plugins/accessible/compat/q3complexwidgets.cpp" line="+246"/>
<source>System</source>
<translation>系統</translation>
</message>
<message>
+ <location line="+3"/>
<source>Restore up</source>
<translation>向上恢復</translation>
</message>
<message>
+ <location line="+1"/>
<source>Minimize</source>
<translation>最小化</translation>
</message>
<message>
+ <location line="+3"/>
<source>Restore down</source>
<translation>向下恢復</translation>
</message>
<message>
+ <location line="+1"/>
<source>Maximize</source>
<translation>最大化</translation>
</message>
<message>
+ <location line="+2"/>
<source>Close</source>
<translation>關閉</translation>
</message>
<message>
+ <location line="+18"/>
<source>Contains commands to manipulate the window</source>
<translation>包含要操作此視窗的指令</translation>
</message>
<message>
+ <location line="+3"/>
<source>Puts a minimized back to normal</source>
<translation>將最小化視窗放回原大小</translation>
</message>
<message>
+ <location line="+1"/>
<source>Moves the window out of the way</source>
<translation>把視窗移開</translation>
</message>
<message>
+ <location line="+3"/>
<source>Puts a maximized window back to normal</source>
<translation>將最大化視窗放回原大小</translation>
</message>
<message>
+ <location line="+1"/>
<source>Makes the window full screen</source>
<translation>將視窗放大到全畫面</translation>
</message>
<message>
+ <location line="+2"/>
<source>Closes the window</source>
<translation>關閉視窗</translation>
</message>
<message>
+ <location line="+2"/>
<source>Displays the name of the window and contains controls to manipulate it</source>
<translation>顯示視窗名稱,並包含操作它的控制元件</translation>
</message>
@@ -607,7 +747,7 @@ to
<context>
<name>Q3ToolBar</name>
<message>
- <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="662"/>
+ <location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
<translation>更多...</translation>
</message>
@@ -615,38 +755,51 @@ to
<context>
<name>Q3UrlOperator</name>
<message>
+ <location filename="../src/qt3support/network/q3urloperator.cpp" line="+386"/>
+ <location line="+260"/>
+ <location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
<translation>協定 %1 未支援</translation>
</message>
<message>
+ <location line="-260"/>
<source>The protocol `%1&apos; does not support listing directories</source>
<translation>協定 %1 未支援列出目錄</translation>
</message>
<message>
+ <location line="+3"/>
<source>The protocol `%1&apos; does not support creating new directories</source>
<translation>協定 %1 未支援建立新目錄</translation>
</message>
<message>
+ <location line="+3"/>
<source>The protocol `%1&apos; does not support removing files or directories</source>
<translation>協定 %1 未支援移除檔案或目錄</translation>
</message>
<message>
+ <location line="+3"/>
<source>The protocol `%1&apos; does not support renaming files or directories</source>
<translation>協定 %1 未支援重新命名檔案或目錄</translation>
</message>
<message>
+ <location line="+3"/>
<source>The protocol `%1&apos; does not support getting files</source>
<translation>協定 %1 未支援取得檔案</translation>
</message>
<message>
+ <location line="+3"/>
<source>The protocol `%1&apos; does not support putting files</source>
<translation>協定 %1 未支援寫入檔案</translation>
</message>
<message>
+ <location line="+243"/>
+ <location line="+4"/>
<source>The protocol `%1&apos; does not support copying or moving files or directories</source>
<translation>協定 %1 未支援複製或移動檔案或目錄</translation>
</message>
<message>
+ <location line="+237"/>
+ <location line="+1"/>
<source>(unknown)</source>
<translation>(未知)</translation>
</message>
@@ -654,23 +807,27 @@ to
<context>
<name>Q3Wizard</name>
<message>
- <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="147"/>
+ <location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
<translation>取消(&amp;C)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&lt; &amp;Back</source>
<translation><返回(&amp;B)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Next &gt;</source>
<translation>下一個(&amp;N)></translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Finish</source>
<translation>完成(&amp;F)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Help</source>
<translation>說明(&amp;H)</translation>
</message>
@@ -678,31 +835,44 @@ to
<context>
<name>QAbstractSocket</name>
<message>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+868"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+615"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+657"/>
+ <location line="+26"/>
<source>Host not found</source>
<translation>找不到主機</translation>
</message>
<message>
- <location filename="../src/network/socket/qsocks5socketengine.cpp" line="4"/>
+ <location line="+50"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+3"/>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+4"/>
<source>Connection refused</source>
<translation>連線被拒</translation>
</message>
<message>
+ <location line="+141"/>
<source>Connection timed out</source>
<translation>連線逾時</translation>
</message>
<message>
+ <location line="-547"/>
+ <location line="+787"/>
+ <location line="+208"/>
<source>Operation on socket is not supported</source>
<translation>Socket 的操作未被支援</translation>
</message>
<message>
+ <location line="+137"/>
<source>Socket operation timed out</source>
<translation>Socket 操作逾時</translation>
</message>
<message>
+ <location line="+380"/>
<source>Socket is not connected</source>
<translation>Socket 未連線</translation>
</message>
<message>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="-8"/>
<source>Network unreachable</source>
<translation>無法使用網路</translation>
</message>
@@ -710,15 +880,17 @@ to
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="1169"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1199"/>
<source>&amp;Step up</source>
<translation>單步向上(&amp;S)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Step &amp;down</source>
<translation>單步向下(&amp;D)</translation>
</message>
<message>
+ <location line="-8"/>
<source>&amp;Select All</source>
<translation>全部選擇(&amp;S)</translation>
</message>
@@ -726,27 +898,28 @@ to
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="346"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
<source>Activate</source>
<translation>啟動</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.h" line="322"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="+352"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
<translation>執行檔 %1 需要 Qt %2,但只找到 Qt %3。</translation>
</message>
<message>
+ <location line="+2"/>
<source>Incompatible Qt Library Error</source>
<translation>Qt 函式庫不相容的錯誤</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="2212"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2248"/>
<source>QT_LAYOUT_DIRECTION</source>
<comment>Translate this string to the string &apos;LTR&apos; in left-to-right languages or to &apos;RTL&apos; in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
<translation>LTR</translation>
</message>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="2"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+2"/>
<source>Activates the program&apos;s main window</source>
<translation>啟動程式的主視窗</translation>
</message>
@@ -754,18 +927,22 @@ to
<context>
<name>QAxSelect</name>
<message>
+ <location filename="../src/activeqt/container/qaxselect.ui"/>
<source>Select ActiveX Control</source>
<translation>選擇 ActiveX 控制</translation>
</message>
<message>
+ <location/>
<source>OK</source>
<translation>確定</translation>
</message>
<message>
+ <location/>
<source>&amp;Cancel</source>
<translation>取消(&amp;C)</translation>
</message>
<message>
+ <location/>
<source>COM &amp;Object:</source>
<translation>COM 物件(&amp;O)</translation>
</message>
@@ -773,15 +950,17 @@ to
<context>
<name>QCheckBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="84"/>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+114"/>
<source>Uncheck</source>
<translation>取消勾選</translation>
</message>
<message>
+ <location line="+3"/>
<source>Check</source>
<translation>勾選</translation>
</message>
<message>
+ <location line="+1"/>
<source>Toggle</source>
<translation>切換</translation>
</message>
@@ -789,43 +968,52 @@ to
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="1219"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1253"/>
<source>Hu&amp;e:</source>
<translation>色調(&amp;E):</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Sat:</source>
<translation>飽和度(&amp;S):</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Val:</source>
<translation>亮度(&amp;V):</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Red:</source>
<translation>紅(&amp;R):</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Green:</source>
<translation>綠(&amp;G):</translation>
</message>
<message>
+ <location line="+1"/>
<source>Bl&amp;ue:</source>
<translation>藍(&amp;U):</translation>
</message>
<message>
+ <location line="+1"/>
<source>A&amp;lpha channel:</source>
<translation>Alpha 色頻(&amp;L):</translation>
</message>
<message>
+ <location line="+101"/>
<source>Select Color</source>
<translation>選擇顏色</translation>
</message>
<message>
+ <location line="+137"/>
<source>&amp;Basic colors</source>
<translation>基本顏色(&amp;B)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Custom colors</source>
<translation>自訂顏色(&amp;C)</translation>
</message>
@@ -842,6 +1030,7 @@ to
<translation type="obsolete">取消</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Add to Custom Colors</source>
<translation>新增到自訂顏色(&amp;A)</translation>
</message>
@@ -853,20 +1042,23 @@ to
<context>
<name>QComboBox</name>
<message>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
+ <location line="+65"/>
<source>Open</source>
<translation>開啟</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="514"/>
+ <location filename="../src/gui/itemviews/qitemeditorfactory.cpp" line="+544"/>
<source>False</source>
<translation>假</translation>
</message>
<message>
+ <location line="+1"/>
<source>True</source>
<translation>真</translation>
</message>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="0"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+0"/>
<source>Close</source>
<translation>關閉</translation>
</message>
@@ -899,17 +1091,19 @@ to
<translation type="obsolete">%1:未知的錯誤 %2</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="89"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
<source>%1: key is empty</source>
<comment>QSystemSemaphore</comment>
<translation>%1:鍵值是空的</translation>
</message>
<message>
+ <location line="+12"/>
<source>%1: unable to make key</source>
<comment>QSystemSemaphore</comment>
<translation>%1:無法產生鍵值</translation>
</message>
<message>
+ <location line="+9"/>
<source>%1: ftok failed</source>
<comment>QSystemSemaphore</comment>
<translation>%1:ftok 失敗</translation>
@@ -918,19 +1112,22 @@ to
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="1217"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1276"/>
<source>Unable to connect</source>
<translation>無法連接</translation>
</message>
<message>
+ <location line="+303"/>
<source>Unable to commit transaction</source>
<translation>無法提交事務</translation>
</message>
<message>
+ <location line="+17"/>
<source>Unable to rollback transaction</source>
<translation>無法反轉事務</translation>
</message>
<message>
+ <location line="+15"/>
<source>Unable to set autocommit</source>
<translation>無法設定自動提交</translation>
</message>
@@ -938,26 +1135,33 @@ to
<context>
<name>QDB2Result</name>
<message>
+ <location line="-1043"/>
+ <location line="+243"/>
<source>Unable to execute statement</source>
<translation>無法執行敘述</translation>
</message>
<message>
+ <location line="-206"/>
<source>Unable to prepare statement</source>
<translation>無法準備敘述</translation>
</message>
<message>
+ <location line="+196"/>
<source>Unable to bind variable</source>
<translation>無法結合變數</translation>
</message>
<message>
+ <location line="+92"/>
<source>Unable to fetch record %1</source>
<translation>無法抓取紀錄 %1</translation>
</message>
<message>
+ <location line="+17"/>
<source>Unable to fetch next</source>
<translation>無法抓取下一筆</translation>
</message>
<message>
+ <location line="+20"/>
<source>Unable to fetch first</source>
<translation>無法抓取第一筆</translation>
</message>
@@ -965,19 +1169,22 @@ to
<context>
<name>QDateTimeEdit</name>
<message>
- <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="2265"/>
+ <location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2295"/>
<source>AM</source>
<translation>AM</translation>
</message>
<message>
+ <location line="+0"/>
<source>am</source>
<translation>am</translation>
</message>
<message>
+ <location line="+2"/>
<source>PM</source>
<translation>PM</translation>
</message>
<message>
+ <location line="+0"/>
<source>pm</source>
<translation>pm</translation>
</message>
@@ -985,15 +1192,17 @@ to
<context>
<name>QDial</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="921"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
<translation>QDial</translation>
</message>
<message>
+ <location line="+2"/>
<source>SpeedoMeter</source>
<translation>SpeedoMeter</translation>
</message>
<message>
+ <location line="+2"/>
<source>SliderHandle</source>
<translation>SliderHandle</translation>
</message>
@@ -1001,11 +1210,12 @@ to
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="567"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+597"/>
<source>What&apos;s This?</source>
<translation>這是什麼?</translation>
</message>
<message>
+ <location line="-115"/>
<source>Done</source>
<translation>完成</translation>
</message>
@@ -1013,100 +1223,124 @@ to
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="531"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1866"/>
+ <location line="+464"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+561"/>
<source>OK</source>
<translation>確定</translation>
</message>
<message>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="3"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+3"/>
<source>Save</source>
<translation>儲存</translation>
</message>
<message>
+ <location line="+0"/>
<source>&amp;Save</source>
<translation>儲存(&amp;S)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Open</source>
<translation>開啟</translation>
</message>
<message>
+ <location line="+3"/>
<source>Cancel</source>
<translation>取消</translation>
</message>
<message>
+ <location line="+0"/>
<source>&amp;Cancel</source>
<translation>取消(&amp;C)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Close</source>
<translation>關閉</translation>
</message>
<message>
+ <location line="+0"/>
<source>&amp;Close</source>
<translation>關閉(&amp;C)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Apply</source>
<translation>套用</translation>
</message>
<message>
+ <location line="+3"/>
<source>Reset</source>
<translation>重置</translation>
</message>
<message>
+ <location line="+3"/>
<source>Help</source>
<translation>說明</translation>
</message>
<message>
+ <location line="+4"/>
<source>Don&apos;t Save</source>
<translation>不要儲存</translation>
</message>
<message>
+ <location line="+4"/>
<source>Discard</source>
<translation>丟棄</translation>
</message>
<message>
+ <location line="+3"/>
<source>&amp;Yes</source>
<translation>是(&amp;Y)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Yes to &amp;All</source>
<translation>全部回答是(&amp;A)</translation>
</message>
<message>
+ <location line="+3"/>
<source>&amp;No</source>
<translation>否(&amp;N)</translation>
</message>
<message>
+ <location line="+3"/>
<source>N&amp;o to All</source>
<translation>全部回答否(&amp;O)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Save All</source>
<translation>全部儲存</translation>
</message>
<message>
+ <location line="+3"/>
<source>Abort</source>
<translation>中止</translation>
</message>
<message>
+ <location line="+3"/>
<source>Retry</source>
<translation>重試</translation>
</message>
<message>
+ <location line="+3"/>
<source>Ignore</source>
<translation>忽略</translation>
</message>
<message>
+ <location line="+3"/>
<source>Restore Defaults</source>
<translation>回復預設值</translation>
</message>
<message>
+ <location line="-29"/>
<source>Close without Saving</source>
<translation>關閉而不儲存</translation>
</message>
<message>
+ <location line="-27"/>
<source>&amp;OK</source>
<translation>確定(&amp;O)</translation>
</message>
@@ -1114,25 +1348,29 @@ to
<context>
<name>QDirModel</name>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="423"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+453"/>
<source>Name</source>
<translation>名稱</translation>
</message>
<message>
+ <location line="+1"/>
<source>Size</source>
<translation>大小</translation>
</message>
<message>
+ <location line="+3"/>
<source>Kind</source>
<comment>Match OS X Finder</comment>
<translation>種類</translation>
</message>
<message>
+ <location line="+2"/>
<source>Type</source>
<comment>All other platforms</comment>
<translation>型態</translation>
</message>
<message>
+ <location line="+6"/>
<source>Date Modified</source>
<translation>變更日期</translation>
</message>
@@ -1140,15 +1378,17 @@ to
<context>
<name>QDockWidget</name>
<message>
- <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="1209"/>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblewidgets.cpp" line="+1239"/>
<source>Close</source>
<translation>關閉</translation>
</message>
<message>
+ <location line="+2"/>
<source>Dock</source>
<translation>嵌入</translation>
</message>
<message>
+ <location line="+1"/>
<source>Float</source>
<translation>飄浮</translation>
</message>
@@ -1156,10 +1396,12 @@ to
<context>
<name>QDoubleSpinBox</name>
<message>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="-537"/>
<source>More</source>
<translation>更多</translation>
</message>
<message>
+ <location line="+2"/>
<source>Less</source>
<translation>較少</translation>
</message>
@@ -1167,23 +1409,27 @@ to
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="162"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+192"/>
<source>Debug Message:</source>
<translation>除錯訊息:</translation>
</message>
<message>
+ <location line="+3"/>
<source>Warning:</source>
<translation>警告:</translation>
</message>
<message>
+ <location line="+3"/>
<source>Fatal Error:</source>
<translation>嚴重錯誤:</translation>
</message>
<message>
+ <location line="+193"/>
<source>&amp;Show this message again</source>
<translation>再度顯示此訊息(&amp;S)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;OK</source>
<translation>確定(&amp;O)</translation>
</message>
@@ -1191,22 +1437,33 @@ to
<context>
<name>QFile</name>
<message>
+ <location filename="../src/corelib/io/qfile.cpp" line="+708"/>
+ <location line="+141"/>
<source>Destination file exists</source>
<translation>目標檔已存在</translation>
</message>
<message>
+ <location line="-108"/>
+ <source>Cannot remove source file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+120"/>
<source>Cannot open %1 for input</source>
<translation>無法開啟 %1 以輸入</translation>
</message>
<message>
+ <location line="+17"/>
<source>Cannot open for output</source>
<translation>無法開啟 %1 以輸出</translation>
</message>
<message>
+ <location line="+10"/>
<source>Failure to write block</source>
<translation>寫入區塊時失敗</translation>
</message>
<message>
+ <location line="+13"/>
<source>Cannot create %1 for output</source>
<translation>無法建立 %1 以輸出</translation>
</message>
@@ -1214,32 +1471,44 @@ to
<context>
<name>QFileDialog</name>
<message>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+515"/>
+ <location line="+444"/>
<source>All Files (*)</source>
<translation>所有檔案 (*)</translation>
</message>
<message>
+ <location line="+222"/>
<source>Directories</source>
<translation>目錄</translation>
</message>
<message>
+ <location line="-3"/>
+ <location line="+50"/>
+ <location line="+1471"/>
+ <location line="+75"/>
<source>&amp;Open</source>
<translation>開啟(&amp;O)</translation>
</message>
<message>
+ <location line="-1596"/>
+ <location line="+50"/>
<source>&amp;Save</source>
<translation>儲存(&amp;S)</translation>
</message>
<message>
+ <location line="-730"/>
<source>Open</source>
<translation>開啟</translation>
</message>
<message>
+ <location line="+1515"/>
<source>%1 already exists.
Do you want to replace it?</source>
<translation>%1 已存在
您要取代它嗎?</translation>
</message>
<message>
+ <location line="+20"/>
<source>%1
File not found.
Please verify the correct file name was given.</source>
@@ -1248,43 +1517,58 @@ Please verify the correct file name was given.</source>
請檢查檔名是否正確。</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="402"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+402"/>
<source>My Computer</source>
<translation>我的電腦</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1504"/>
<source>&amp;Rename</source>
<translation>重新命名(&amp;R)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Delete</source>
<translation>刪除(&amp;D)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Show &amp;hidden files</source>
<translation>顯示隱藏檔(&amp;H)</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qfiledialog.ui"/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Back</source>
<translation>返回</translation>
</message>
<message>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Parent Directory</source>
<translation>父目錄</translation>
</message>
<message>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>List View</source>
<translation>列表檢視</translation>
</message>
<message>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Detail View</source>
<translation>詳細檢視</translation>
</message>
<message>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Files of type:</source>
<translation>檔案型態:</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+6"/>
+ <location line="+648"/>
<source>Directory:</source>
<translation>目錄:</translation>
</message>
@@ -1297,6 +1581,8 @@ Please verify the correct file name was given</source>
請檢查檔名是否正確。</translation>
</message>
<message>
+ <location line="+794"/>
+ <location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
@@ -1305,84 +1591,105 @@ Please verify the correct directory name was given.</source>
請檢查目錄名稱是否正確。</translation>
</message>
<message>
+ <location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
<translation>%1 有寫入保護。
您確定要刪除它嗎?</translation>
</message>
<message>
+ <location line="+5"/>
<source>Are sure you want to delete &apos;%1&apos;?</source>
<translation>您確定要刪除 %1 嗎?</translation>
</message>
<message>
+ <location line="+15"/>
<source>Could not delete directory.</source>
<translation>無法刪除目錄。</translation>
</message>
<message>
+ <location line="+407"/>
<source>Recent Places</source>
<translation>最近的地方</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="130"/>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+160"/>
<source>All Files (*.*)</source>
<translation>所有檔案 (*.*)</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2550"/>
<source>Save As</source>
<translation>另存新檔</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="381"/>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+411"/>
<source>Drive</source>
<translation>磁碟</translation>
</message>
<message>
+ <location line="+3"/>
+ <location line="+1"/>
<source>File</source>
<translation>檔案</translation>
</message>
<message>
+ <location line="+29"/>
<source>Unknown</source>
<translation>未知</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-4"/>
<source>Find Directory</source>
<translation>尋找目錄</translation>
</message>
<message>
+ <location line="+29"/>
<source>Show </source>
<translation>顯示 </translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qfiledialog.ui"/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Forward</source>
<translation>往前</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="1914"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1970"/>
<source>New Folder</source>
<translation>新資料夾</translation>
</message>
<message>
+ <location line="-1963"/>
<source>&amp;New Folder</source>
<translation>新增資料夾(&amp;N)</translation>
</message>
<message>
+ <location line="+656"/>
+ <location line="+38"/>
<source>&amp;Choose</source>
<translation>選擇(&amp;C)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qsidebar.cpp" line="388"/>
+ <location filename="../src/gui/dialogs/qsidebar.cpp" line="+418"/>
<source>Remove</source>
<translation>移除</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-687"/>
+ <location line="+652"/>
<source>File &amp;name:</source>
<translation>檔名(&amp;N):</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qfiledialog.ui"/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Look in:</source>
<translation>尋找於:</translation>
</message>
<message>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_wince.ui"/>
<source>Create New Folder</source>
<translation>建立新資料夾</translation>
</message>
@@ -1390,62 +1697,74 @@ Do you want to delete it anyway?</source>
<context>
<name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="791"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+828"/>
<source>Invalid filename</source>
<translation>不合法的檔名</translation>
</message>
<message>
+ <location line="+1"/>
<source>&lt;b&gt;The name &quot;%1&quot; can not be used.&lt;/b&gt;&lt;p&gt;Try using another name, with fewer characters or no punctuations marks.</source>
<translation>&lt;b&gt;無法使用名稱 &quot;%1&quot;。&lt;/b&gt;&lt;p&gt;請使用其它名稱,字元數少一點,或是不要有標點符號。</translation>
</message>
<message>
+ <location line="+63"/>
<source>Name</source>
<translation>名稱</translation>
</message>
<message>
+ <location line="+2"/>
<source>Size</source>
<translation>大小</translation>
</message>
<message>
+ <location line="+4"/>
<source>Kind</source>
<comment>Match OS X Finder</comment>
<translation>種類</translation>
</message>
<message>
+ <location line="+2"/>
<source>Type</source>
<comment>All other platforms</comment>
<translation>型態</translation>
</message>
<message>
+ <location line="+7"/>
<source>Date Modified</source>
<translation>變更日期</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="204"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+234"/>
<source>My Computer</source>
<translation>我的電腦</translation>
</message>
<message>
+ <location line="+2"/>
<source>Computer</source>
<translation>電腦</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="-163"/>
<source>%1 TB</source>
<translation>%1 TB</translation>
</message>
<message>
+ <location line="+2"/>
<source>%1 GB</source>
<translation>%1 GB</translation>
</message>
<message>
+ <location line="+2"/>
<source>%1 MB</source>
<translation>%1 MB</translation>
</message>
<message>
+ <location line="+2"/>
<source>%1 KB</source>
<translation>%1 KB</translation>
</message>
<message>
+ <location line="+1"/>
<source>%1 bytes</source>
<translation>%1 位元組</translation>
</message>
@@ -1453,166 +1772,216 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDatabase</name>
<message>
+ <location filename="../src/gui/text/qfontdatabase.cpp" line="+90"/>
+ <location line="+1176"/>
<source>Normal</source>
<translation>正常</translation>
</message>
<message>
+ <location line="-1173"/>
+ <location line="+12"/>
+ <location line="+1149"/>
<source>Bold</source>
<translation>粗體</translation>
</message>
<message>
+ <location line="-1158"/>
+ <location line="+1160"/>
<source>Demi Bold</source>
<translation>半粗體</translation>
</message>
<message>
+ <location line="-1157"/>
+ <location line="+18"/>
+ <location line="+1135"/>
<source>Black</source>
<translation>黑體</translation>
</message>
<message>
+ <location line="-1145"/>
<source>Demi</source>
<translation>半體</translation>
</message>
<message>
+ <location line="+6"/>
+ <location line="+1145"/>
<source>Light</source>
<translation>輕體</translation>
</message>
<message>
+ <location line="-1004"/>
+ <location line="+1007"/>
<source>Italic</source>
<translation>斜體</translation>
</message>
<message>
+ <location line="-1004"/>
+ <location line="+1006"/>
<source>Oblique</source>
<translation>傾斜體</translation>
</message>
<message>
+ <location line="+705"/>
<source>Any</source>
<translation>任何</translation>
</message>
<message>
+ <location line="+3"/>
<source>Latin</source>
<translation>拉丁</translation>
</message>
<message>
+ <location line="+3"/>
<source>Greek</source>
<translation>希臘</translation>
</message>
<message>
+ <location line="+3"/>
<source>Cyrillic</source>
<translation>斯拉夫</translation>
</message>
<message>
+ <location line="+3"/>
<source>Armenian</source>
<translation>亞美尼亞</translation>
</message>
<message>
+ <location line="+3"/>
<source>Hebrew</source>
<translation>希伯來</translation>
</message>
<message>
+ <location line="+3"/>
<source>Arabic</source>
<translation>阿拉伯</translation>
</message>
<message>
+ <location line="+3"/>
<source>Syriac</source>
<translation>敘利亞</translation>
</message>
<message>
+ <location line="+3"/>
<source>Thaana</source>
<translation>Thaana</translation>
</message>
<message>
+ <location line="+3"/>
<source>Devanagari</source>
<translation>Devanagari</translation>
</message>
<message>
+ <location line="+3"/>
<source>Bengali</source>
<translation>孟加拉</translation>
</message>
<message>
+ <location line="+3"/>
<source>Gurmukhi</source>
<translation>Gurmukhi</translation>
</message>
<message>
+ <location line="+3"/>
<source>Gujarati</source>
<translation>Gujarati</translation>
</message>
<message>
+ <location line="+3"/>
<source>Oriya</source>
<translation>Oriya</translation>
</message>
<message>
+ <location line="+3"/>
<source>Tamil</source>
<translation>坦米爾</translation>
</message>
<message>
+ <location line="+3"/>
<source>Telugu</source>
<translation>Telugu</translation>
</message>
<message>
+ <location line="+3"/>
<source>Kannada</source>
<translation>坎達那</translation>
</message>
<message>
+ <location line="+3"/>
<source>Malayalam</source>
<translation>馬來語</translation>
</message>
<message>
+ <location line="+3"/>
<source>Sinhala</source>
<translation>錫蘭</translation>
</message>
<message>
+ <location line="+3"/>
<source>Thai</source>
<translation>泰語</translation>
</message>
<message>
+ <location line="+3"/>
<source>Lao</source>
<translation>寮國</translation>
</message>
<message>
+ <location line="+3"/>
<source>Tibetan</source>
<translation>西藏</translation>
</message>
<message>
+ <location line="+3"/>
<source>Myanmar</source>
<translation>緬甸</translation>
</message>
<message>
+ <location line="+3"/>
<source>Georgian</source>
<translation>喬治亞</translation>
</message>
<message>
+ <location line="+3"/>
<source>Khmer</source>
<translation>高棉</translation>
</message>
<message>
+ <location line="+3"/>
<source>Simplified Chinese</source>
<translation>簡體中文</translation>
</message>
<message>
+ <location line="+3"/>
<source>Traditional Chinese</source>
<translation>繁體中文</translation>
</message>
<message>
+ <location line="+3"/>
<source>Japanese</source>
<translation>日語</translation>
</message>
<message>
+ <location line="+3"/>
<source>Korean</source>
<translation>韓語</translation>
</message>
<message>
+ <location line="+3"/>
<source>Vietnamese</source>
<translation>越南</translation>
</message>
<message>
+ <location line="+3"/>
<source>Symbol</source>
<translation>符號</translation>
</message>
<message>
+ <location line="+3"/>
<source>Ogham</source>
<translation>歐甘</translation>
</message>
<message>
+ <location line="+3"/>
<source>Runic</source>
<translation>盧恩</translation>
</message>
@@ -1620,39 +1989,48 @@ Do you want to delete it anyway?</source>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="742"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+772"/>
<source>&amp;Font</source>
<translation>字型(&amp;F)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Font st&amp;yle</source>
<translation>字型樣式(&amp;Y)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Size</source>
<translation>大小(&amp;S)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Effects</source>
<translation>效果</translation>
</message>
<message>
+ <location line="+1"/>
<source>Stri&amp;keout</source>
<translation>刪除線(&amp;K)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Underline</source>
<translation>底線(&amp;U)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Sample</source>
<translation>範例</translation>
</message>
<message>
+ <location line="+1"/>
<source>Wr&amp;iting System</source>
<translation>寫入系統(&amp;I)</translation>
</message>
<message>
+ <location line="-604"/>
+ <location line="+247"/>
<source>Select Font</source>
<translation>選擇字型</translation>
</message>
@@ -1660,116 +2038,145 @@ Do you want to delete it anyway?</source>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="653"/>
+ <location filename="../src/network/access/qftp.cpp" line="+826"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+683"/>
<source>Not connected</source>
<translation>未連線</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="65"/>
+ <location line="+65"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+65"/>
<source>Host %1 not found</source>
<translation>找不到主機 %1</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="4"/>
+ <location line="+4"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+4"/>
<source>Connection refused to host %1</source>
<translation>連線到主機 %1 被拒</translation>
</message>
<message>
+ <location line="+4"/>
<source>Connection timed out to host %1</source>
<translation>連線到主機 %1 逾時</translation>
</message>
<message>
+ <location line="+104"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+102"/>
+ <location line="+1451"/>
<source>Connected to host %1</source>
<translation>已連接到主機 %1</translation>
</message>
<message>
+ <location line="+219"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="-1290"/>
<source>Connection refused for data connection</source>
<translation>資料連線被拒</translation>
</message>
<message>
+ <location line="+178"/>
+ <location line="+29"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+195"/>
+ <location line="+728"/>
<source>Unknown error</source>
<translation>未知的錯誤</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="77"/>
+ <location line="+889"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+77"/>
<source>Connecting to host failed:
%1</source>
<translation>連線到主機失敗:
%1</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="3"/>
+ <location line="+4"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Login failed:
%1</source>
<translation>登入失敗:
%1</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="3"/>
+ <location line="+4"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Listing directory failed:
%1</source>
<translation>列出目錄時失敗:
%1</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="3"/>
+ <location line="+4"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Changing directory failed:
%1</source>
<translation>變更目錄時失敗:
%1</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="3"/>
+ <location line="+4"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Downloading file failed:
%1</source>
<translation>下載檔案時失敗:
%1</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="3"/>
+ <location line="+4"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Uploading file failed:
%1</source>
<translation>上傳檔案時失敗:
%1</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="3"/>
+ <location line="+4"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Removing file failed:
%1</source>
<translation>移除檔案時失敗:
%1</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="3"/>
+ <location line="+4"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Creating directory failed:
%1</source>
<translation>建立目錄時失敗:
%1</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="3"/>
+ <location line="+4"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Removing directory failed:
%1</source>
<translation>移除目錄時失敗:
%1</translation>
</message>
<message>
+ <location line="+28"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+25"/>
+ <location line="+250"/>
<source>Connection closed</source>
<translation>連線已關閉</translation>
</message>
<message>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="-11"/>
<source>Host %1 found</source>
<translation>找到主機 %1</translation>
</message>
<message>
+ <location line="+4"/>
<source>Connection to %1 closed</source>
<translation>到 %1 的連線已關閉</translation>
</message>
<message>
+ <location line="+3"/>
<source>Host found</source>
<translation>找到主機</translation>
</message>
<message>
+ <location line="+2"/>
<source>Connected to host</source>
<translation>已連線到主機</translation>
</message>
@@ -1777,7 +2184,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="153"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/>
<source>Unknown error</source>
<translation>未知的錯誤</translation>
</message>
@@ -1785,14 +2192,29 @@ Do you want to delete it anyway?</source>
<context>
<name>QHostInfoAgent</name>
<message>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+178"/>
+ <location line="+9"/>
+ <location line="+64"/>
+ <location line="+31"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+180"/>
+ <location line="+9"/>
+ <location line="+40"/>
+ <location line="+27"/>
<source>Host not found</source>
<translation>找不到主機</translation>
</message>
<message>
+ <location line="-44"/>
+ <location line="+39"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-34"/>
+ <location line="+29"/>
<source>Unknown address type</source>
<translation>未知的位址型態</translation>
</message>
<message>
+ <location line="+8"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-19"/>
+ <location line="+27"/>
<source>Unknown error</source>
<translation>未知的錯誤</translation>
</message>
@@ -1800,116 +2222,155 @@ Do you want to delete it anyway?</source>
<context>
<name>QHttp</name>
<message>
+ <location filename="../src/network/access/qhttp.cpp" line="+1574"/>
+ <location line="+820"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1160"/>
+ <location line="+567"/>
<source>Unknown error</source>
<translation>未知的錯誤</translation>
</message>
<message>
+ <location line="-568"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
<translation>要求中止</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3http.cpp" line="381"/>
+ <location line="+579"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
<translation>沒有設定要連線到哪個伺服器</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3http.cpp" line="56"/>
+ <location line="+164"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+56"/>
<source>Wrong content length</source>
<translation>錯誤的內容長度</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3http.cpp" line="4"/>
+ <location line="+4"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+4"/>
<source>Server closed connection unexpectedly</source>
<translation>伺服器無預警關閉連線</translation>
</message>
<message>
+ <location line="+179"/>
+ <source>Unknown authentication method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+183"/>
<source>Error writing response to device</source>
<translation>寫入回應到裝置時發生錯誤</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3http.cpp" line="38"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+876"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+38"/>
<source>Connection refused</source>
<translation>連線被拒</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3http.cpp" line="3"/>
+ <location filename="../src/network/access/qhttp.cpp" line="-304"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-4"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Host %1 not found</source>
<translation>找不到主機 %1</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3http.cpp" line="3"/>
+ <location line="+20"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+10"/>
+ <location line="+19"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>HTTP request failed</source>
<translation>HTTP 要求失敗</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3http.cpp" line="69"/>
+ <location line="+73"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+69"/>
<source>Invalid HTTP response header</source>
<translation>不合法的 HTTP 回覆標頭</translation>
</message>
<message>
+ <location line="+125"/>
+ <location line="+48"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
+ <location line="+47"/>
<source>Invalid HTTP chunked body</source>
<translation>不合法的 HTTP 區塊主體</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3http.cpp" line="294"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+294"/>
<source>Host %1 found</source>
<translation>找到主機 %1</translation>
</message>
<message>
+ <location line="+3"/>
<source>Connected to host %1</source>
<translation>已連接到主機 %1</translation>
</message>
<message>
+ <location line="+3"/>
<source>Connection to %1 closed</source>
<translation>到 %1 的連線已關閉</translation>
</message>
<message>
+ <location line="+8"/>
<source>Host found</source>
<translation>找到主機</translation>
</message>
<message>
+ <location line="+3"/>
<source>Connected to host</source>
<translation>已連線到主機</translation>
</message>
<message>
- <location filename="../src/qt3support/network/q3http.cpp" line="3"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-22"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
<source>Connection closed</source>
<translation>連線已關閉</translation>
</message>
<message>
+ <location filename="../src/network/access/qhttp.cpp" line="-135"/>
<source>Proxy authentication required</source>
<translation>代理伺服器需要認證</translation>
</message>
<message>
+ <location line="+4"/>
<source>Authentication required</source>
<translation>需要認證</translation>
</message>
<message>
+ <location line="-138"/>
<source>Connection refused (or timed out)</source>
<translation>連線被拒(或連線逾時)</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="6"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+6"/>
<source>Proxy requires authentication</source>
<translation>代理伺服器需要認證</translation>
</message>
<message>
+ <location line="+3"/>
<source>Host requires authentication</source>
<translation>主機需要認證</translation>
</message>
<message>
+ <location line="+3"/>
<source>Data corrupted</source>
<translation>資料已損毀</translation>
</message>
<message>
+ <location line="+3"/>
<source>Unknown protocol specified</source>
<translation>指定了未知的協定</translation>
</message>
<message>
+ <location line="+3"/>
<source>SSL handshake failed</source>
<translation>SSL 溝通失敗</translation>
</message>
<message>
+ <location filename="../src/network/access/qhttp.cpp" line="-2263"/>
<source>HTTPS connection requested but SSL support not compiled in</source>
<translation>HTTPS 連線需要的 SSL 支援並未編譯進來</translation>
</message>
@@ -1917,38 +2378,47 @@ Do you want to delete it anyway?</source>
<context>
<name>QHttpSocketEngine</name>
<message>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="-89"/>
<source>Did not receive HTTP response from proxy</source>
<translation>未從代理伺服器接收到 HTTP 回應</translation>
</message>
<message>
+ <location line="+25"/>
<source>Error parsing authentication request from proxy</source>
<translation>剖析從代理伺服器傳來的認證要求時發生錯誤</translation>
</message>
<message>
+ <location line="+31"/>
<source>Authentication required</source>
<translation>需要認證</translation>
</message>
<message>
+ <location line="+27"/>
<source>Proxy denied connection</source>
<translation>代理伺服器拒絕連線</translation>
</message>
<message>
+ <location line="+10"/>
<source>Error communicating with HTTP proxy</source>
<translation>與 HTTP 代理伺服器聯繫時發生錯誤</translation>
</message>
<message>
+ <location line="+23"/>
<source>Proxy server not found</source>
<translation>找不到代理伺服器</translation>
</message>
<message>
+ <location line="+2"/>
<source>Proxy connection refused</source>
<translation>代理伺服器連線被拒</translation>
</message>
<message>
+ <location line="+2"/>
<source>Proxy server connection timed out</source>
<translation>代理伺服器連線逾時</translation>
</message>
<message>
+ <location line="+2"/>
<source>Proxy connection closed prematurely</source>
<translation>代理伺服器連線已不正常關閉</translation>
</message>
@@ -1956,19 +2426,22 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseDriver</name>
<message>
- <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="1378"/>
+ <location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1428"/>
<source>Error opening database</source>
<translation>開啟資料庫發生錯誤</translation>
</message>
<message>
+ <location line="+54"/>
<source>Could not start transaction</source>
<translation>無法開始事務</translation>
</message>
<message>
+ <location line="+13"/>
<source>Unable to commit transaction</source>
<translation>無法提交事務</translation>
</message>
<message>
+ <location line="+13"/>
<source>Unable to rollback transaction</source>
<translation>無法反轉事務</translation>
</message>
@@ -1976,70 +2449,89 @@ Do you want to delete it anyway?</source>
<context>
<name>QIBaseResult</name>
<message>
+ <location line="-1097"/>
<source>Unable to create BLOB</source>
<translation>無法建立 BLOB</translation>
</message>
<message>
+ <location line="+6"/>
<source>Unable to write BLOB</source>
<translation>無法寫入 BLOB</translation>
</message>
<message>
+ <location line="+14"/>
<source>Unable to open BLOB</source>
<translation>無法開啟 BLOB</translation>
</message>
<message>
+ <location line="+16"/>
<source>Unable to read BLOB</source>
<translation>無法讀取 BLOB</translation>
</message>
<message>
+ <location line="+125"/>
+ <location line="+189"/>
<source>Could not find array</source>
<translation>找不到陣列</translation>
</message>
<message>
+ <location line="-157"/>
<source>Could not get array data</source>
<translation>無法取得陣列資料</translation>
</message>
<message>
+ <location line="+212"/>
<source>Could not get query info</source>
<translation>無法取得查詢資訊</translation>
</message>
<message>
+ <location line="+20"/>
<source>Could not start transaction</source>
<translation>無法開始事務</translation>
</message>
<message>
+ <location line="+19"/>
<source>Unable to commit transaction</source>
<translation>無法提交事務</translation>
</message>
<message>
+ <location line="+33"/>
<source>Could not allocate statement</source>
<translation>無法配置敘述</translation>
</message>
<message>
+ <location line="+5"/>
<source>Could not prepare statement</source>
<translation>無法準備敘述</translation>
</message>
<message>
+ <location line="+5"/>
+ <location line="+7"/>
<source>Could not describe input statement</source>
<translation>無法描述輸入敘述</translation>
</message>
<message>
+ <location line="+10"/>
<source>Could not describe statement</source>
<translation>無法描述敘述</translation>
</message>
<message>
+ <location line="+115"/>
<source>Unable to close statement</source>
<translation>無法關閉敘述</translation>
</message>
<message>
+ <location line="+8"/>
<source>Unable to execute query</source>
<translation>無法執行查詢</translation>
</message>
<message>
+ <location line="+46"/>
<source>Could not fetch next item</source>
<translation>無法抓取下一個項目</translation>
</message>
<message>
+ <location line="+160"/>
<source>Could not get statement info</source>
<translation>無法取得敘述資訊</translation>
</message>
@@ -2047,24 +2539,27 @@ Do you want to delete it anyway?</source>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="1830"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+1869"/>
<source>Permission denied</source>
<translation>權限不足</translation>
</message>
<message>
+ <location line="+3"/>
<source>Too many open files</source>
<translation>開啟過多檔案</translation>
</message>
<message>
+ <location line="+3"/>
<source>No such file or directory</source>
<translation>找不到該檔案或目錄</translation>
</message>
<message>
+ <location line="+3"/>
<source>No space left on device</source>
<translation>裝置上已無空間</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="1506"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1536"/>
<source>Unknown error</source>
<translation>未知的錯誤</translation>
</message>
@@ -2072,19 +2567,22 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="212"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+242"/>
<source>XIM</source>
<translation>XIM</translation>
</message>
<message>
+ <location line="+23"/>
<source>XIM input method</source>
<translation>XIM 輸入法</translation>
</message>
<message>
+ <location line="+4"/>
<source>Windows input method</source>
<translation>Windows 輸入法</translation>
</message>
<message>
+ <location line="+4"/>
<source>Mac OS X input method</source>
<translation>Mac OS X 輸入法</translation>
</message>
@@ -2092,7 +2590,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QInputDialog</name>
<message>
- <location filename="../src/gui/dialogs/qinputdialog.cpp" line="193"/>
+ <location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
<translation>請輸入值:</translation>
</message>
@@ -2112,55 +2610,66 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">QLibrary::resolve_sys: 符號 &quot;%1&quot; 未定義於 %2 (%3)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary.cpp" line="348"/>
+ <location filename="../src/corelib/plugin/qlibrary.cpp" line="+378"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
<translation>無法 mmap &apos;%1&apos;:%2</translation>
</message>
<message>
+ <location line="+22"/>
<source>Plugin verification data mismatch in &apos;%1&apos;</source>
<translation>在 %1 中的外掛程式確認資料不符合</translation>
</message>
<message>
+ <location line="+6"/>
<source>Could not unmap &apos;%1&apos;: %2</source>
<translation>無法 unmap &apos;%1&apos;:%2</translation>
</message>
<message>
+ <location line="+302"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. (%2.%3.%4) [%5]</source>
<translation>外掛程式 %1 使用不相容的 Qt 函式庫(%2.%3.%4)【%5】</translation>
</message>
<message>
+ <location line="+20"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. Expected build key &quot;%2&quot;, got &quot;%3&quot;</source>
<translation>外掛程式 %1 使用不相容的 Qt 函式庫。預期建構鑰 %2,卻得到 %3</translation>
</message>
<message>
+ <location line="+340"/>
<source>Unknown error</source>
<translation>未知的錯誤</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="250"/>
+ <location line="-377"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+280"/>
<source>The shared library was not found.</source>
<translation>找不到分享函式庫</translation>
</message>
<message>
+ <location line="+2"/>
<source>The file &apos;%1&apos; is not a valid Qt plugin.</source>
<translation>檔案 %1 不是合法的 Qt 外掛程式。</translation>
</message>
<message>
+ <location line="+43"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. (Cannot mix debug and release libraries.)</source>
<translation>外掛程式 %1 使用不相容的 Qt 函式庫。(不能將除錯與釋出版的函式庫混在一起。)</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="69"/>
+ <location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+209"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+99"/>
<source>Cannot load library %1: %2</source>
<translation>無法載入函式庫 %1:%2</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="26"/>
+ <location line="+16"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+26"/>
<source>Cannot unload library %1: %2</source>
<translation>無法卸載函式庫 %1:%2</translation>
</message>
<message>
- <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="15"/>
+ <location line="+31"/>
+ <location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+15"/>
<source>Cannot resolve symbol &quot;%1&quot; in %2: %3</source>
<translation>無法反解 %2 內的符號 %1:%3</translation>
</message>
@@ -2168,31 +2677,37 @@ Do you want to delete it anyway?</source>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="2649"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2680"/>
<source>&amp;Undo</source>
<translation>復原(&amp;U)</translation>
</message>
<message>
+ <location line="+4"/>
<source>&amp;Redo</source>
<translation>重做(&amp;R)</translation>
</message>
<message>
+ <location line="+7"/>
<source>Cu&amp;t</source>
<translation>剪下(&amp;T)</translation>
</message>
<message>
+ <location line="+4"/>
<source>&amp;Copy</source>
<translation>複製(&amp;C)</translation>
</message>
<message>
+ <location line="+4"/>
<source>&amp;Paste</source>
<translation>貼上(&amp;P)</translation>
</message>
<message>
+ <location line="+5"/>
<source>Delete</source>
<translation>刪除</translation>
</message>
<message>
+ <location line="+6"/>
<source>Select All</source>
<translation>全部選擇</translation>
</message>
@@ -2200,20 +2715,24 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalServer</name>
<message>
- <location filename="../src/network/socket/qlocalserver_unix.cpp" line="201"/>
+ <location filename="../src/network/socket/qlocalserver.cpp" line="+226"/>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+231"/>
<source>%1: Name error</source>
<translation>%1:名稱錯誤</translation>
</message>
<message>
+ <location filename="../src/network/socket/qlocalserver_unix.cpp" line="-8"/>
<source>%1: Permission denied</source>
<translation>%1:存取被拒</translation>
</message>
<message>
+ <location line="+12"/>
<source>%1: Address in use</source>
<translation>%1:位址使用中</translation>
</message>
<message>
- <location filename="../src/network/socket/qlocalserver_win.cpp" line="127"/>
+ <location line="+5"/>
+ <location filename="../src/network/socket/qlocalserver_win.cpp" line="+158"/>
<source>%1: Unknown error %2</source>
<translation>%1:未知的錯誤 %2</translation>
</message>
@@ -2221,54 +2740,70 @@ Do you want to delete it anyway?</source>
<context>
<name>QLocalSocket</name>
<message>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="104"/>
+ <location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+134"/>
<source>%1: Connection refused</source>
<translation>%1:連線被拒</translation>
</message>
<message>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="3"/>
+ <location line="+3"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Remote closed</source>
<translation>%1:遠端已關閉</translation>
</message>
<message>
+ <location line="+3"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+80"/>
+ <location line="+43"/>
<source>%1: Invalid name</source>
<translation>%1:不合法的名稱</translation>
</message>
<message>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="3"/>
+ <location line="+3"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Socket access error</source>
<translation>%1:Socket 位址錯誤</translation>
</message>
<message>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="3"/>
+ <location line="+3"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Socket resource error</source>
<translation>%1:Socket 資源錯誤</translation>
</message>
<message>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="3"/>
+ <location line="+3"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Socket operation timed out</source>
<translation>%1:Socket 操作逾時</translation>
</message>
<message>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="3"/>
+ <location line="+3"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Datagram too large</source>
<translation>%1:資料包過大</translation>
</message>
<message>
+ <location line="+3"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="-48"/>
<source>%1: Connection error</source>
<translation>%1:連線錯誤</translation>
</message>
<message>
- <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="3"/>
+ <location line="+3"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: The socket operation is not supported</source>
<translation>%1:socket 操作未支援</translation>
</message>
<message>
+ <location line="+4"/>
<source>%1: Unknown error</source>
<translation>%1:未知的錯誤</translation>
</message>
<message>
- <location filename="../src/network/socket/qlocalsocket_win.cpp" line="10"/>
+ <location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+4"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+10"/>
<source>%1: Unknown error %2</source>
<translation>%1:未知的錯誤 %2</translation>
</message>
@@ -2276,23 +2811,27 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="1200"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1231"/>
<source>Unable to open database &apos;</source>
<translation>無法開啟資料庫</translation>
</message>
<message>
+ <location line="+7"/>
<source>Unable to connect</source>
<translation>無法連線</translation>
</message>
<message>
+ <location line="+127"/>
<source>Unable to begin transaction</source>
<translation>無法開始事務</translation>
</message>
<message>
+ <location line="+17"/>
<source>Unable to commit transaction</source>
<translation>無法提交事務</translation>
</message>
<message>
+ <location line="+17"/>
<source>Unable to rollback transaction</source>
<translation>無法反轉事務</translation>
</message>
@@ -2300,46 +2839,59 @@ Do you want to delete it anyway?</source>
<context>
<name>QMYSQLResult</name>
<message>
+ <location line="-922"/>
<source>Unable to fetch data</source>
<translation>無法抓取資料</translation>
</message>
<message>
+ <location line="+176"/>
<source>Unable to execute query</source>
<translation>無法執行查詢</translation>
</message>
<message>
+ <location line="+6"/>
<source>Unable to store result</source>
<translation>無法儲存結果</translation>
</message>
<message>
+ <location line="+190"/>
+ <location line="+8"/>
<source>Unable to prepare statement</source>
<translation>無法準備敘述</translation>
</message>
<message>
+ <location line="+34"/>
<source>Unable to reset statement</source>
<translation>無法重置敘述</translation>
</message>
<message>
+ <location line="+87"/>
<source>Unable to bind value</source>
<translation>無法結合數值</translation>
</message>
<message>
+ <location line="+11"/>
<source>Unable to execute statement</source>
<translation>無法執行敘述</translation>
</message>
<message>
+ <location line="+14"/>
+ <location line="+21"/>
<source>Unable to bind outvalues</source>
<translation>無法結合輸出值</translation>
</message>
<message>
+ <location line="-12"/>
<source>Unable to store statement results</source>
<translation>無法儲存敘述結果</translation>
</message>
<message>
+ <location line="-253"/>
<source>Unable to execute next query</source>
<translation>無法執行下一個查詢</translation>
</message>
<message>
+ <location line="+10"/>
<source>Unable to store next result</source>
<translation>無法儲存下一個結果</translation>
</message>
@@ -2347,7 +2899,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiArea</name>
<message>
- <location filename="../src/gui/widgets/qmdiarea.cpp" line="260"/>
+ <location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
<translation>(未命名)</translation>
</message>
@@ -2355,75 +2907,92 @@ Do you want to delete it anyway?</source>
<context>
<name>QMdiSubWindow</name>
<message>
- <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="250"/>
+ <location filename="../src/gui/widgets/qmdisubwindow.cpp" line="+280"/>
<source>%1 - [%2]</source>
<translation>%1 - [%2]</translation>
</message>
<message>
+ <location line="+72"/>
<source>Close</source>
<translation>關閉</translation>
</message>
<message>
+ <location line="-18"/>
<source>Minimize</source>
<translation>最小化</translation>
</message>
<message>
+ <location line="+13"/>
<source>Restore Down</source>
<translation>向下恢復</translation>
</message>
<message>
+ <location line="+707"/>
<source>&amp;Restore</source>
<translation>回復(&amp;R)</translation>
</message>
<message>
+ <location line="+3"/>
<source>&amp;Move</source>
<translation>移動(&amp;M)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Size</source>
<translation>大小(&amp;S)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Mi&amp;nimize</source>
<translation>最小化(&amp;N)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Ma&amp;ximize</source>
<translation>最大化(&amp;X)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Stay on &amp;Top</source>
<translation>留在頂端(&amp;T)</translation>
</message>
<message>
+ <location line="+3"/>
<source>&amp;Close</source>
<translation>關閉(&amp;C)</translation>
</message>
<message>
+ <location line="-787"/>
<source>- [%1]</source>
<translation>- [%1]</translation>
</message>
<message>
+ <location line="+58"/>
<source>Maximize</source>
<translation>最大化</translation>
</message>
<message>
+ <location line="+3"/>
<source>Unshade</source>
<translation>取消遮蔽</translation>
</message>
<message>
+ <location line="+3"/>
<source>Shade</source>
<translation>遮蔽</translation>
</message>
<message>
+ <location line="+6"/>
<source>Restore</source>
<translation>回復</translation>
</message>
<message>
+ <location line="+6"/>
<source>Help</source>
<translation>說明</translation>
</message>
<message>
+ <location line="+3"/>
<source>Menu</source>
<translation>選單</translation>
</message>
@@ -2431,14 +3000,21 @@ Do you want to delete it anyway?</source>
<context>
<name>QMenu</name>
<message>
+ <location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
+ <location line="+225"/>
<source>Close</source>
<translation>關閉</translation>
</message>
<message>
+ <location line="-224"/>
+ <location line="+225"/>
<source>Open</source>
<translation>開啟</translation>
</message>
<message>
+ <location line="-223"/>
+ <location line="+225"/>
+ <location line="+51"/>
<source>Execute</source>
<translation>執行</translation>
</message>
@@ -2497,40 +3073,53 @@ Do you want to delete it anyway?</source>
<context>
<name>QMessageBox</name>
<message>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1111"/>
<source>Help</source>
<translation>說明</translation>
</message>
<message>
+ <location line="-853"/>
+ <location line="+852"/>
+ <location filename="../src/gui/dialogs/qmessagebox.h" line="-52"/>
+ <location line="+8"/>
<source>OK</source>
<translation>確定</translation>
</message>
<message>
+ <location line="+509"/>
<source>About Qt</source>
<translation>關於 Qt</translation>
</message>
<message>
<source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation>&lt;p&gt; 這個程式使用 Qt 版本 %1&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt; 這個程式使用 Qt 版本 %1&lt;/p&gt;</translation>
</message>
<message>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
<translation type="obsolete">&lt;h3&gt;關於 Qt&lt;/h3&gt;%1&lt;p&gt;Qt 為一個跨平台的 C++ 開發工具。&lt;/p&gt;&lt;p&gt;Qt 提供各平台相容機制,只要寫一份程式碼,就可以在 MS&amp;nbsp;Windows、Mac&amp;nbsp;OS&amp;nbsp;X、Linux 與各主要的商業 Unix 平台上編譯。Qt 也可以用 Qtopia Core 用於嵌入式系統。&lt;/p&gt;&lt;p&gt;Qt 為 Trolltech 的產品。詳情請參考 &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt;。&lt;/p&gt;</translation>
</message>
<message>
+ <location line="-1605"/>
<source>Show Details...</source>
<translation>顯示詳情...</translation>
</message>
<message>
+ <location line="+1"/>
<source>Hide Details...</source>
<translation>隱藏詳情...</translation>
</message>
<message>
+ <location line="+1570"/>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is available under three different licensing options designed to accommodate the needs of our various users.&lt;/p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;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.&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation>&lt;h3&gt;關於 Qt&lt;/h3&gt;%1&lt;p&gt;Qt 為一個跨平台的 C++ 開發工具。&lt;/p&gt;&lt;p&gt;Qt 提供各平台相容機制,只要寫一份程式碼,就可以在 MS&amp;nbsp;Windows、Mac&amp;nbsp;OS&amp;nbsp;X、Linux 與各主要的商業 Unix 平台上編譯。Qt 也有用於嵌入式 Linux 與 Windows CE 的版本。&lt;/p&gt;&lt;p&gt;Qt 為 Nokia 的產品。詳情請參考 &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt;。&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;h3&gt;關於 Qt&lt;/h3&gt;%1&lt;p&gt;Qt 為一個跨平台的 C++ 開發工具。&lt;/p&gt;&lt;p&gt;Qt 提供各平台相容機制,只要寫一份程式碼,就可以在 MS&amp;nbsp;Windows、Mac&amp;nbsp;OS&amp;nbsp;X、Linux 與各主要的商業 Unix 平台上編譯。Qt 也有用於嵌入式 Linux 與 Windows CE 的版本。&lt;/p&gt;&lt;p&gt;Qt 為 Nokia 的產品。詳情請參考 &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt;。&lt;/p&gt;</translation>
</message>
<message>
<source>&lt;p&gt;This program uses Qt Open Source Edition version %1.&lt;/p&gt;&lt;p&gt;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.&lt;/p&gt;&lt;p&gt;Please see &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
- <translation>&lt;p&gt;這個程式使用了 Qt 開放源碼版本 %1。&lt;/p&gt;&lt;p&gt;Qt 開放源碼版本是專門為了開發開放源碼應用程式使用的版本。若是您要開發專利私有(封閉)軟體,您需要 Qt 的商業授權。&lt;/p&gt;&lt;p&gt;Qt 的授權概要請參考 &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt;。&lt;/p&gt;</translation>
+ <translation type="obsolete">&lt;p&gt;這個程式使用了 Qt 開放源碼版本 %1。&lt;/p&gt;&lt;p&gt;Qt 開放源碼版本是專門為了開發開放源碼應用程式使用的版本。若是您要開發專利私有(封閉)軟體,您需要 Qt 的商業授權。&lt;/p&gt;&lt;p&gt;Qt 的授權概要請參考 &lt;a href=&quot;http://qtsoftware.com/company/model/&quot;&gt;qtsoftware.com/company/model/&lt;/a&gt;。&lt;/p&gt;</translation>
</message>
<message>
<source>&lt;h3&gt;About Qt&lt;/h3&gt;%1&lt;p&gt;Qt is a C++ toolkit for cross-platform application development.&lt;/p&gt;&lt;p&gt;Qt provides single-source portability across MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt Embedded.&lt;/p&gt;&lt;p&gt;Qt is a Trolltech product. See &lt;a href=&quot;http://qtsoftware.com/qt/&quot;&gt;qtsoftware.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
@@ -2540,7 +3129,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QMultiInputContext</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="58"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
<translation>選擇輸入法</translation>
</message>
@@ -2548,11 +3137,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QMultiInputContextPlugin</name>
<message>
- <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="65"/>
+ <location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
<translation>多重輸入法切換器</translation>
</message>
<message>
+ <location line="+7"/>
<source>Multiple input method switcher that uses the context menu of the text widgets</source>
<translation>使用文字元件中的內文選單的多重輸入法切換器</translation>
</message>
@@ -2560,107 +3150,132 @@ Do you want to delete it anyway?</source>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="176"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
<source>The remote host closed the connection</source>
<translation>遠端主機關閉了連線</translation>
</message>
<message>
+ <location line="+3"/>
<source>Network operation timed out</source>
<translation>網路操作逾時</translation>
</message>
<message>
+ <location line="+3"/>
<source>Out of resources</source>
<translation>資源不足</translation>
</message>
<message>
+ <location line="+3"/>
<source>Unsupported socket operation</source>
<translation>未支援的 socket 操作</translation>
</message>
<message>
+ <location line="+3"/>
<source>Protocol type not supported</source>
<translation>協定型態未支援</translation>
</message>
<message>
+ <location line="+3"/>
<source>Invalid socket descriptor</source>
<translation>不合法的 socket 描述子</translation>
</message>
<message>
+ <location line="+6"/>
<source>Network unreachable</source>
<translation>無法使用網路</translation>
</message>
<message>
+ <location line="+3"/>
<source>Permission denied</source>
<translation>權限不足</translation>
</message>
<message>
+ <location line="+3"/>
<source>Connection timed out</source>
<translation>連線逾時</translation>
</message>
<message>
+ <location line="+3"/>
<source>Connection refused</source>
<translation>連線被拒</translation>
</message>
<message>
+ <location line="+3"/>
<source>The bound address is already in use</source>
<translation>結合的位址已經在使用中</translation>
</message>
<message>
+ <location line="+3"/>
<source>The address is not available</source>
<translation>無法取得位址</translation>
</message>
<message>
+ <location line="+3"/>
<source>The address is protected</source>
<translation>此位址已被保護</translation>
</message>
<message>
+ <location line="+6"/>
<source>Unable to send a message</source>
<translation>無法送出訊息</translation>
</message>
<message>
+ <location line="+3"/>
<source>Unable to receive a message</source>
<translation>無法接收訊息</translation>
</message>
<message>
+ <location line="+3"/>
<source>Unable to write</source>
<translation>無法寫入</translation>
</message>
<message>
+ <location line="+3"/>
<source>Network error</source>
<translation>網路錯誤</translation>
</message>
<message>
+ <location line="+3"/>
<source>Another socket is already listening on the same port</source>
<translation>另一個 socket 已經在監聽同一個連接埠</translation>
</message>
<message>
+ <location line="-66"/>
<source>Unable to initialize non-blocking socket</source>
<translation>無法初始化非阻擋性 socket</translation>
</message>
<message>
+ <location line="+3"/>
<source>Unable to initialize broadcast socket</source>
<translation>無法初始化廣播 socket</translation>
</message>
<message>
+ <location line="+3"/>
<source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
<translation>試圖在沒有 IPv6 支援的平台上使用 IPv6 socket</translation>
</message>
<message>
+ <location line="+21"/>
<source>Host unreachable</source>
<translation>無法連線到主機</translation>
</message>
<message>
+ <location line="+24"/>
<source>Datagram was too large to send</source>
<translation>資料過大無法送出</translation>
</message>
<message>
+ <location line="+18"/>
<source>Operation on non-socket</source>
<translation>對非 socket 操作</translation>
</message>
<message>
+ <location line="+6"/>
<source>Unknown error</source>
<translation>未知的錯誤</translation>
</message>
<message>
+ <location line="-3"/>
<source>The proxy type is invalid for this operation</source>
<translation>代理伺服器型態無法支援此操作</translation>
</message>
@@ -2668,7 +3283,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessCacheBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="35"/>
+ <location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+65"/>
<source>Error opening %1</source>
<translation>開啟 %1 發生錯誤</translation>
</message>
@@ -2676,23 +3291,27 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="69"/>
+ <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+99"/>
<source>Request for opening non-local file %1</source>
<translation>要求開啟非本地端檔案 %1</translation>
</message>
<message>
+ <location line="+42"/>
<source>Error opening %1: %2</source>
<translation>開啟 %1 發生錯誤:%2</translation>
</message>
<message>
+ <location line="+56"/>
<source>Write error writing to %1: %2</source>
<translation>寫入 %1 時發生錯誤:%2</translation>
</message>
<message>
+ <location line="+33"/>
<source>Cannot open %1: Path is a directory</source>
<translation>無法開啟 %1:此路徑是一個目錄</translation>
</message>
<message>
+ <location line="+21"/>
<source>Read error reading from %1: %2</source>
<translation>從 %1 讀取錯誤:%2</translation>
</message>
@@ -2700,23 +3319,27 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessFtpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="135"/>
+ <location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+165"/>
<source>No suitable proxy found</source>
<translation>找不到合適的代理伺服器</translation>
</message>
<message>
+ <location line="+14"/>
<source>Cannot open %1: is a directory</source>
<translation>無法開啟 %1:是一個目錄</translation>
</message>
<message>
+ <location line="+130"/>
<source>Logging in to %1 failed: authentication required</source>
<translation>登入 %1 失敗:需要認證</translation>
</message>
<message>
+ <location line="+39"/>
<source>Error while downloading %1: %2</source>
<translation>下載 %1 時發生錯誤:%2</translation>
</message>
<message>
+ <location line="+2"/>
<source>Error while uploading %1: %2</source>
<translation>上傳 %1 時發生錯誤:%2</translation>
</message>
@@ -2724,7 +3347,7 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="565"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+597"/>
<source>No suitable proxy found</source>
<translation>找不到合適的代理伺服器</translation>
</message>
@@ -2732,11 +3355,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkReply</name>
<message>
+ <location line="+128"/>
<source>Error downloading %1 - server replied: %2</source>
<translation>下載 %1 時發生錯誤─伺服器回應:%2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="37"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+68"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation>未知的協定 %1</translation>
</message>
@@ -2744,6 +3368,8 @@ Do you want to delete it anyway?</source>
<context>
<name>QNetworkReplyImpl</name>
<message>
+ <location line="+432"/>
+ <location line="+22"/>
<source>Operation canceled</source>
<translation>取消操作</translation>
</message>
@@ -2751,24 +3377,28 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIDriver</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="2027"/>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2069"/>
<source>Unable to logon</source>
<translation>無法登入</translation>
</message>
<message>
+ <location line="-144"/>
<source>Unable to initialize</source>
<comment>QOCIDriver</comment>
<translation>無法初始化</translation>
</message>
<message>
+ <location line="+215"/>
<source>Unable to begin transaction</source>
<translation>無法開始事務</translation>
</message>
<message>
+ <location line="+19"/>
<source>Unable to commit transaction</source>
<translation>無法提交事務</translation>
</message>
<message>
+ <location line="+19"/>
<source>Unable to rollback transaction</source>
<translation>無法反轉事務</translation>
</message>
@@ -2776,34 +3406,43 @@ Do you want to delete it anyway?</source>
<context>
<name>QOCIResult</name>
<message>
+ <location line="-963"/>
+ <location line="+161"/>
+ <location line="+15"/>
<source>Unable to bind column for batch execute</source>
<translation>無法結合欄位以做批次執行</translation>
</message>
<message>
+ <location line="+15"/>
<source>Unable to execute batch statement</source>
<translation>無法執行批次敘述</translation>
</message>
<message>
+ <location line="+302"/>
<source>Unable to goto next</source>
<translation>無法跳到下一個</translation>
</message>
<message>
+ <location line="+59"/>
<source>Unable to alloc statement</source>
<translation>無法配置敘述</translation>
</message>
<message>
+ <location line="+15"/>
<source>Unable to prepare statement</source>
<translation>無法準備敘述</translation>
</message>
<message>
+ <location line="+36"/>
<source>Unable to bind value</source>
<translation>無法結合數值</translation>
</message>
<message>
<source>Unable to execute select statement</source>
- <translation>無法執行選取的敘述</translation>
+ <translation type="obsolete">無法執行選取的敘述</translation>
</message>
<message>
+ <location line="+19"/>
<source>Unable to execute statement</source>
<translation>無法執行敘述</translation>
</message>
@@ -2811,27 +3450,32 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="1657"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1785"/>
<source>Unable to connect</source>
<translation>無法連接</translation>
</message>
<message>
+ <location line="+6"/>
<source>Unable to connect - Driver doesn&apos;t support all needed functionality</source>
<translation>無法連接─驅動程式無法支援所有需要的功能</translation>
</message>
<message>
+ <location line="+242"/>
<source>Unable to disable autocommit</source>
<translation>無法關閉自動提交功能</translation>
</message>
<message>
+ <location line="+17"/>
<source>Unable to commit transaction</source>
<translation>無法提交事務</translation>
</message>
<message>
+ <location line="+17"/>
<source>Unable to rollback transaction</source>
<translation>無法反轉事務</translation>
</message>
<message>
+ <location line="+15"/>
<source>Unable to enable autocommit</source>
<translation>無法開啟自動提交功能</translation>
</message>
@@ -2839,38 +3483,51 @@ Do you want to delete it anyway?</source>
<context>
<name>QODBCResult</name>
<message>
+ <location line="-1218"/>
+ <location line="+349"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
<translation>QODBCResult::reset: 無法設定 SQL_CURSOR_STATIC 做為敘述屬性。請檢查您的 ODBC 驅動程式的設定</translation>
</message>
<message>
+ <location line="-332"/>
+ <location line="+626"/>
<source>Unable to execute statement</source>
<translation>無法執行敘述</translation>
</message>
<message>
+ <location line="-555"/>
<source>Unable to fetch next</source>
<translation>無法抓取下一筆</translation>
</message>
<message>
+ <location line="+279"/>
<source>Unable to prepare statement</source>
<translation>無法準備敘述</translation>
</message>
<message>
+ <location line="+268"/>
<source>Unable to bind variable</source>
<translation>無法結合變數</translation>
</message>
<message>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+194"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-475"/>
+ <location line="+578"/>
<source>Unable to fetch last</source>
<translation>無法抓取最後一筆</translation>
</message>
<message>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-672"/>
<source>Unable to fetch</source>
<translation>無法抓取</translation>
</message>
<message>
+ <location line="+44"/>
<source>Unable to fetch first</source>
<translation>無法抓取第一筆</translation>
</message>
<message>
+ <location line="+19"/>
<source>Unable to fetch previous</source>
<translation>無法抓取前一筆</translation>
</message>
@@ -2878,41 +3535,48 @@ Do you want to delete it anyway?</source>
<context>
<name>QObject</name>
<message>
- <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="134"/>
+ <location filename="../src/gui/util/qdesktopservices_mac.cpp" line="+165"/>
<source>Home</source>
<translation>首頁</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="44"/>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
<translation>在 %1 上不支援此操作</translation>
</message>
<message>
+ <location line="+53"/>
<source>Invalid URI: %1</source>
<translation>不合法的網址:%1</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="145"/>
+ <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+175"/>
<source>Write error writing to %1: %2</source>
<translation>寫入 %1 時發生錯誤:%2</translation>
</message>
<message>
+ <location line="+57"/>
<source>Read error reading from %1: %2</source>
<translation>從 %1 讀取錯誤:%2</translation>
</message>
<message>
+ <location line="+31"/>
<source>Socket error on %1: %2</source>
<translation>%1 上發生 socket 錯誤:%2</translation>
</message>
<message>
+ <location line="+15"/>
<source>Remote host closed the connection prematurely on %1</source>
<translation>於 %1 上遠端主機關閉了不正常的連線</translation>
</message>
<message>
+ <location line="+53"/>
<source>Protocol error: packet of size 0 received</source>
<translation>協定錯誤:接收到大小為 0 的封包</translation>
</message>
<message>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+177"/>
+ <location line="+57"/>
<source>No host name given</source>
<translation>未指定主機</translation>
</message>
@@ -2920,11 +3584,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="1165"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1195"/>
<source>Name</source>
<translation>名稱</translation>
</message>
<message>
+ <location line="+2"/>
<source>Value</source>
<translation>值</translation>
</message>
@@ -2932,27 +3597,32 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="732"/>
+ <location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+763"/>
<source>Unable to connect</source>
<translation>無法連線</translation>
</message>
<message>
+ <location line="+49"/>
<source>Could not begin transaction</source>
<translation>無法開始事務</translation>
</message>
<message>
+ <location line="+17"/>
<source>Could not commit transaction</source>
<translation>無法提交事務</translation>
</message>
<message>
+ <location line="+16"/>
<source>Could not rollback transaction</source>
<translation>無法反轉事務</translation>
</message>
<message>
+ <location line="+358"/>
<source>Unable to subscribe</source>
<translation>無法訂閱</translation>
</message>
<message>
+ <location line="+32"/>
<source>Unable to unsubscribe</source>
<translation>無法取消訂閱</translation>
</message>
@@ -2960,10 +3630,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QPSQLResult</name>
<message>
+ <location line="-1058"/>
<source>Unable to create query</source>
<translation>無法建立查詢</translation>
</message>
<message>
+ <location line="+374"/>
<source>Unable to prepare statement</source>
<translation>無法準備敘述</translation>
</message>
@@ -2971,83 +3643,102 @@ Do you want to delete it anyway?</source>
<context>
<name>QPageSetupWidget</name>
<message>
- <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="274"/>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="+304"/>
<source>Centimeters (cm)</source>
<translation>公分</translation>
</message>
<message>
+ <location line="+0"/>
<source>Millimeters (mm)</source>
<translation>公厘</translation>
</message>
<message>
+ <location line="+0"/>
<source>Inches (in)</source>
<translation>英吋</translation>
</message>
<message>
+ <location line="+0"/>
<source>Points (pt)</source>
<translation>點</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qpagesetupwidget.ui"/>
<source>Form</source>
<translation>表單</translation>
</message>
<message>
+ <location/>
<source>Paper</source>
<translation>紙張</translation>
</message>
<message>
+ <location/>
<source>Page size:</source>
<translation>紙張大小:</translation>
</message>
<message>
+ <location/>
<source>Width:</source>
<translation>寬度:</translation>
</message>
<message>
+ <location/>
<source>Height:</source>
<translation>高度:</translation>
</message>
<message>
+ <location/>
<source>Paper source:</source>
<translation>紙張來源:</translation>
</message>
<message>
+ <location/>
<source>Orientation</source>
<translation>方向</translation>
</message>
<message>
+ <location/>
<source>Portrait</source>
<translation>縱向</translation>
</message>
<message>
+ <location/>
<source>Landscape</source>
<translation>橫向</translation>
</message>
<message>
+ <location/>
<source>Reverse landscape</source>
<translation>反序橫向</translation>
</message>
<message>
+ <location/>
<source>Reverse portrait</source>
<translation>反序縱向</translation>
</message>
<message>
+ <location/>
<source>Margins</source>
<translation>邊緣</translation>
</message>
<message>
+ <location/>
<source>top margin</source>
<translation>上緣</translation>
</message>
<message>
+ <location/>
<source>left margin</source>
<translation>左緣</translation>
</message>
<message>
+ <location/>
<source>right margin</source>
<translation>右緣</translation>
</message>
<message>
+ <location/>
<source>bottom margin</source>
<translation>下緣</translation>
</message>
@@ -3055,11 +3746,12 @@ Do you want to delete it anyway?</source>
<context>
<name>QPluginLoader</name>
<message>
- <location filename="../src/corelib/plugin/qpluginloader.cpp" line="24"/>
+ <location filename="../src/corelib/plugin/qpluginloader.cpp" line="+24"/>
<source>Unknown error</source>
<translation>未知的錯誤</translation>
</message>
<message>
+ <location line="-68"/>
<source>The plugin was not loaded.</source>
<translation>外掛程式未載入。</translation>
</message>
@@ -3067,15 +3759,19 @@ Do you want to delete it anyway?</source>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="68"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+98"/>
<source>locally connected</source>
<translation>本地連接</translation>
</message>
<message>
+ <location line="+23"/>
+ <location line="+225"/>
<source>Aliases: %1</source>
<translation>別名:%1</translation>
</message>
<message>
+ <location line="+223"/>
+ <location line="+199"/>
<source>unknown</source>
<translation>未知</translation>
</message>
@@ -3088,128 +3784,157 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">橫向</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="299"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+329"/>
<source>A0 (841 x 1189 mm)</source>
<translation>A0 (841 x 1189 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>A1 (594 x 841 mm)</source>
<translation>A1 (594 x 841 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>A2 (420 x 594 mm)</source>
<translation>A2 (420 x 594 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>A3 (297 x 420 mm)</source>
<translation>A3 (297 x 420 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
<translation>A4 (210 x 297 mm, 8.26 x 11.7 英吋)</translation>
</message>
<message>
+ <location line="+1"/>
<source>A5 (148 x 210 mm)</source>
<translation>A5 (148 x 210 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>A6 (105 x 148 mm)</source>
<translation>A6 (105 x 148 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>A7 (74 x 105 mm)</source>
<translation>A7 (74 x 105 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>A8 (52 x 74 mm)</source>
<translation>A8 (52 x 74 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>A9 (37 x 52 mm)</source>
<translation>A9 (37 x 52 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>B0 (1000 x 1414 mm)</source>
<translation>B0 (1000 x 1414 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>B1 (707 x 1000 mm)</source>
<translation>B1 (707 x 1000 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>B2 (500 x 707 mm)</source>
<translation>B2 (500 x 707 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>B3 (353 x 500 mm)</source>
<translation>B3 (353 x 500 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>B4 (250 x 353 mm)</source>
<translation>B4 (250 x 353 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
<translation>B5 (176 x 250 mm, 6.93 x 9.84 英吋)</translation>
</message>
<message>
+ <location line="+1"/>
<source>B6 (125 x 176 mm)</source>
<translation>B6 (125 x 176 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>B7 (88 x 125 mm)</source>
<translation>B7 (88 x 125 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>B8 (62 x 88 mm)</source>
<translation>B8 (62 x 88 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>B9 (44 x 62 mm)</source>
<translation>B9 (44 x 62 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>B10 (31 x 44 mm)</source>
<translation>B10 (31 x 44 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>C5E (163 x 229 mm)</source>
<translation>C5E (163 x 229 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>DLE (110 x 220 mm)</source>
<translation>DLE (110 x 220 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
<translation>Executive (7.5 x 10 英吋, 191 x 254 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Folio (210 x 330 mm)</source>
<translation>對開 (210 x 330 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Ledger (432 x 279 mm)</source>
<translation>Ledger (432 x 279 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
<translation>Legal (8.5 x 14 英吋, 216 x 356 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
<translation>Letter (8.5 x 11 英吋, 216 x 279 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Tabloid (279 x 432 mm)</source>
<translation>Tabloid (279 x 432 mm)</translation>
</message>
<message>
+ <location line="+1"/>
<source>US Common #10 Envelope (105 x 241 mm)</source>
<translation>US 常用 10 號信封 (105x241 mm)</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="238"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+268"/>
<source>OK</source>
<translation>確定</translation>
</message>
@@ -3230,6 +3955,9 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">紙張來源:</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+110"/>
+ <location line="+13"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
<translation>列印</translation>
</message>
@@ -3242,6 +3970,7 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">印表機</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-357"/>
<source>Print To File ...</source>
<translation>列印到檔案...</translation>
</message>
@@ -3274,11 +4003,12 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">列印到檔案</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="19"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+19"/>
<source>Print range</source>
<translation>列印範圍</translation>
</message>
<message>
+ <location line="-2"/>
<source>Print all</source>
<translation>全部列印</translation>
</message>
@@ -3323,190 +4053,234 @@ Do you want to delete it anyway?</source>
<translation type="obsolete">雙面列印</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="80"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+80"/>
<source>File %1 is not writable.
Please choose a different file name.</source>
<translation>檔案 %1 無法寫入。
請選擇其它檔名。</translation>
</message>
<message>
+ <location line="+4"/>
<source>%1 already exists.
Do you want to overwrite it?</source>
<translation>%1 已存在。
您要覆寫它嗎?</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="-227"/>
<source>File exists</source>
<translation>檔案已存在</translation>
</message>
<message>
+ <location line="+1"/>
<source>&lt;qt&gt;Do you want to overwrite it?&lt;/qt&gt;</source>
<translation>&lt;qt&gt;您要覆寫它嗎?&lt;/qt&gt;</translation>
</message>
<message>
+ <location line="+227"/>
<source>Print selection</source>
<translation>列印選擇區</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-8"/>
<source>%1 is a directory.
Please choose a different file name.</source>
<translation>%1 是一個目錄。
請選擇其他檔名。</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="-232"/>
<source>A0</source>
<translation>A0</translation>
</message>
<message>
+ <location line="+1"/>
<source>A1</source>
<translation>A1</translation>
</message>
<message>
+ <location line="+1"/>
<source>A2</source>
<translation>A2</translation>
</message>
<message>
+ <location line="+1"/>
<source>A3</source>
<translation>A3</translation>
</message>
<message>
+ <location line="+1"/>
<source>A4</source>
<translation>A4</translation>
</message>
<message>
+ <location line="+1"/>
<source>A5</source>
<translation>A5</translation>
</message>
<message>
+ <location line="+1"/>
<source>A6</source>
<translation>A6</translation>
</message>
<message>
+ <location line="+1"/>
<source>A7</source>
<translation>A7</translation>
</message>
<message>
+ <location line="+1"/>
<source>A8</source>
<translation>A8</translation>
</message>
<message>
+ <location line="+1"/>
<source>A9</source>
<translation>A9</translation>
</message>
<message>
+ <location line="+1"/>
<source>B0</source>
<translation>B0</translation>
</message>
<message>
+ <location line="+1"/>
<source>B1</source>
<translation>B1</translation>
</message>
<message>
+ <location line="+1"/>
<source>B2</source>
<translation>B2</translation>
</message>
<message>
+ <location line="+1"/>
<source>B3</source>
<translation>B3</translation>
</message>
<message>
+ <location line="+1"/>
<source>B4</source>
<translation>B4</translation>
</message>
<message>
+ <location line="+1"/>
<source>B5</source>
<translation>B5</translation>
</message>
<message>
+ <location line="+1"/>
<source>B6</source>
<translation>B6</translation>
</message>
<message>
+ <location line="+1"/>
<source>B7</source>
<translation>B7</translation>
</message>
<message>
+ <location line="+1"/>
<source>B8</source>
<translation>B8</translation>
</message>
<message>
+ <location line="+1"/>
<source>B9</source>
<translation>B9</translation>
</message>
<message>
+ <location line="+1"/>
<source>B10</source>
<translation>B10</translation>
</message>
<message>
+ <location line="+1"/>
<source>C5E</source>
<translation>C5E</translation>
</message>
<message>
+ <location line="+1"/>
<source>DLE</source>
<translation>DLE</translation>
</message>
<message>
+ <location line="+1"/>
<source>Executive</source>
<translation>Executive</translation>
</message>
<message>
+ <location line="+1"/>
<source>Folio</source>
<translation>Folio</translation>
</message>
<message>
+ <location line="+1"/>
<source>Ledger</source>
<translation>Ledger</translation>
</message>
<message>
+ <location line="+1"/>
<source>Legal</source>
<translation>Legal</translation>
</message>
<message>
+ <location line="+1"/>
<source>Letter</source>
<translation>Letter</translation>
</message>
<message>
+ <location line="+1"/>
<source>Tabloid</source>
<translation>Tabloid</translation>
</message>
<message>
+ <location line="+1"/>
<source>US Common #10 Envelope</source>
<translation>US Common #10 Envelope</translation>
</message>
<message>
+ <location line="+1"/>
<source>Custom</source>
<translation>自訂</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-522"/>
+ <location line="+68"/>
<source>&amp;Options &gt;&gt;</source>
<translation>操作 (&amp;O) &gt;&gt;</translation>
</message>
<message>
+ <location line="-63"/>
<source>&amp;Print</source>
<translation>列印(&amp;P)</translation>
</message>
<message>
+ <location line="+67"/>
<source>&amp;Options &lt;&lt;</source>
<translation>操作 (&amp;O) &lt;&lt;</translation>
</message>
<message>
+ <location line="+253"/>
<source>Print to File (PDF)</source>
<translation>列印到檔案(PDF)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Print to File (Postscript)</source>
<translation>列印到檔案(Postscript)</translation>
</message>
<message>
+ <location line="+45"/>
<source>Local file</source>
<translation>本地端檔案</translation>
</message>
<message>
+ <location line="+1"/>
<source>Write %1 file</source>
<translation>寫入 %1 檔案</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="1"/>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+1"/>
<source>The &apos;From&apos; value cannot be greater than the &apos;To&apos; value.</source>
<translation>起始數值不能大於結束數值</translation>
</message>
@@ -3514,87 +4288,108 @@ Please choose a different file name.</source>
<context>
<name>QPrintPreviewDialog</name>
<message>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
+ <location line="+12"/>
<source>Page Setup</source>
<translation>頁面設定</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="222"/>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+252"/>
<source>%1%</source>
<translation>%1%</translation>
</message>
<message>
+ <location line="+79"/>
<source>Print Preview</source>
<translation>列印預覽</translation>
</message>
<message>
+ <location line="+29"/>
<source>Next page</source>
<translation>下一頁</translation>
</message>
<message>
+ <location line="+1"/>
<source>Previous page</source>
<translation>前一頁</translation>
</message>
<message>
+ <location line="+1"/>
<source>First page</source>
<translation>第一頁</translation>
</message>
<message>
+ <location line="+1"/>
<source>Last page</source>
<translation>最後一頁</translation>
</message>
<message>
+ <location line="+9"/>
<source>Fit width</source>
<translation>符合寬度</translation>
</message>
<message>
+ <location line="+1"/>
<source>Fit page</source>
<translation>符合頁面</translation>
</message>
<message>
+ <location line="+11"/>
<source>Zoom in</source>
<translation>放大</translation>
</message>
<message>
+ <location line="+1"/>
<source>Zoom out</source>
<translation>縮小</translation>
</message>
<message>
+ <location line="+6"/>
<source>Portrait</source>
<translation>縱向</translation>
</message>
<message>
+ <location line="+1"/>
<source>Landscape</source>
<translation>橫向</translation>
</message>
<message>
+ <location line="+10"/>
<source>Show single page</source>
<translation>顯示單一頁面</translation>
</message>
<message>
+ <location line="+1"/>
<source>Show facing pages</source>
<translation>顯示封面</translation>
</message>
<message>
+ <location line="+1"/>
<source>Show overview of all pages</source>
<translation>顯示所有頁面預覽</translation>
</message>
<message>
+ <location line="+15"/>
<source>Print</source>
<translation>列印</translation>
</message>
<message>
+ <location line="+1"/>
<source>Page setup</source>
<translation>列印設定</translation>
</message>
<message>
+ <location line="+1"/>
<source>Close</source>
<translation>關閉</translation>
</message>
<message>
+ <location line="+151"/>
<source>Export to PDF</source>
<translation>匯出到 PDF 檔</translation>
</message>
<message>
+ <location line="+3"/>
<source>Export to PostScript</source>
<translation>匯出到 PostScript 檔</translation>
</message>
@@ -3617,14 +4412,17 @@ Please choose a different file name.</source>
<context>
<name>QPrintPropertiesWidget</name>
<message>
+ <location filename="../src/gui/dialogs/qprintpropertieswidget.ui"/>
<source>Form</source>
<translation>表單</translation>
</message>
<message>
+ <location/>
<source>Page</source>
<translation>頁面</translation>
</message>
<message>
+ <location/>
<source>Advanced</source>
<translation>進階</translation>
</message>
@@ -3632,78 +4430,97 @@ Please choose a different file name.</source>
<context>
<name>QPrintSettingsOutput</name>
<message>
+ <location filename="../src/gui/dialogs/qprintsettingsoutput.ui"/>
<source>Form</source>
<translation>表單</translation>
</message>
<message>
+ <location/>
<source>Copies</source>
<translation>份數</translation>
</message>
<message>
+ <location/>
<source>Print range</source>
<translation>列印範圍</translation>
</message>
<message>
+ <location/>
<source>Print all</source>
<translation>全部列印</translation>
</message>
<message>
+ <location/>
<source>Pages from</source>
<translation>指定頁面:從</translation>
</message>
<message>
+ <location/>
<source>to</source>
<translation>到</translation>
</message>
<message>
+ <location/>
<source>Selection</source>
<translation>選擇區</translation>
</message>
<message>
+ <location/>
<source>Output Settings</source>
<translation>輸出設定</translation>
</message>
<message>
+ <location/>
<source>Copies:</source>
<translation>份數:</translation>
</message>
<message>
+ <location/>
<source>Collate</source>
<translation>校對</translation>
</message>
<message>
+ <location/>
<source>Reverse</source>
<translation>反向</translation>
</message>
<message>
+ <location/>
<source>Options</source>
<translation>選項</translation>
</message>
<message>
+ <location/>
<source>Color Mode</source>
<translation>顏色模式</translation>
</message>
<message>
+ <location/>
<source>Color</source>
<translation>顏色</translation>
</message>
<message>
+ <location/>
<source>Grayscale</source>
<translation>灰階</translation>
</message>
<message>
+ <location/>
<source>Duplex Printing</source>
<translation>雙工列印</translation>
</message>
<message>
+ <location/>
<source>None</source>
<translation>無</translation>
</message>
<message>
+ <location/>
<source>Long side</source>
<translation>長邊</translation>
</message>
<message>
+ <location/>
<source>Short side</source>
<translation>短邊</translation>
</message>
@@ -3711,38 +4528,47 @@ Please choose a different file name.</source>
<context>
<name>QPrintWidget</name>
<message>
+ <location filename="../src/gui/dialogs/qprintwidget.ui"/>
<source>Form</source>
<translation>表單</translation>
</message>
<message>
+ <location/>
<source>Printer</source>
<translation>印表機</translation>
</message>
<message>
+ <location/>
<source>&amp;Name:</source>
<translation>名稱(&amp;N):</translation>
</message>
<message>
+ <location/>
<source>P&amp;roperties</source>
<translation>屬性(&amp;R)</translation>
</message>
<message>
+ <location/>
<source>Location:</source>
<translation>位置:</translation>
</message>
<message>
+ <location/>
<source>Preview</source>
<translation>預覽</translation>
</message>
<message>
+ <location/>
<source>Type:</source>
<translation>型態:</translation>
</message>
<message>
+ <location/>
<source>Output &amp;file:</source>
<translation>輸出檔案(&amp;F):</translation>
</message>
<message>
+ <location/>
<source>...</source>
<translation>...</translation>
</message>
@@ -3750,37 +4576,62 @@ Please choose a different file name.</source>
<context>
<name>QProcess</name>
<message>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="117"/>
+ <location filename="../src/corelib/io/qprocess_unix.cpp" line="+475"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+147"/>
<source>Could not open input redirection for reading</source>
<translation>無法開啟輸入導向以讀取</translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="36"/>
+ <location line="+12"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+36"/>
<source>Could not open output redirection for writing</source>
<translation>無法開啟輸出導向以寫入</translation>
</message>
<message>
+ <location line="+235"/>
<source>Resource error (fork failure): %1</source>
<translation>資源錯誤(fork 失敗):%1</translation>
</message>
<message>
+ <location line="+259"/>
+ <location line="+53"/>
+ <location line="+74"/>
+ <location line="+67"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+422"/>
+ <location line="+50"/>
+ <location line="+75"/>
+ <location line="+42"/>
+ <location line="+54"/>
<source>Process operation timed out</source>
<translation>行程操作逾時</translation>
</message>
<message>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+533"/>
+ <location line="+52"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
+ <location line="+50"/>
<source>Error reading from process</source>
<translation>從行程讀取時發生錯誤</translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="140"/>
+ <location line="+47"/>
+ <location line="+779"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+140"/>
<source>Error writing to process</source>
<translation>寫入行程時發生錯誤</translation>
</message>
<message>
+ <location line="-709"/>
<source>Process crashed</source>
<translation>行程已崩潰</translation>
</message>
<message>
+ <location line="+912"/>
+ <source>No program defined</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="-341"/>
<source>Process failed to start</source>
<translation>啟動行程失敗</translation>
</message>
@@ -3788,7 +4639,7 @@ Please choose a different file name.</source>
<context>
<name>QProgressDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="152"/>
+ <location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+182"/>
<source>Cancel</source>
<translation>取消</translation>
</message>
@@ -3796,6 +4647,7 @@ Please choose a different file name.</source>
<context>
<name>QPushButton</name>
<message>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="-8"/>
<source>Open</source>
<translation>開啟</translation>
</message>
@@ -3803,6 +4655,7 @@ Please choose a different file name.</source>
<context>
<name>QRadioButton</name>
<message>
+ <location line="+12"/>
<source>Check</source>
<translation>勾選</translation>
</message>
@@ -3810,39 +4663,47 @@ Please choose a different file name.</source>
<context>
<name>QRegExp</name>
<message>
- <location filename="../src/corelib/tools/qregexp.cpp" line="34"/>
+ <location filename="../src/corelib/tools/qregexp.cpp" line="+64"/>
<source>no error occurred</source>
<translation>沒有發生錯誤</translation>
</message>
<message>
+ <location line="+1"/>
<source>disabled feature used</source>
<translation>使用已關閉的功能</translation>
</message>
<message>
+ <location line="+1"/>
<source>bad char class syntax</source>
<translation>錯誤的字元類別語法</translation>
</message>
<message>
+ <location line="+1"/>
<source>bad lookahead syntax</source>
<translation>錯誤的 lookahead 語法</translation>
</message>
<message>
+ <location line="+1"/>
<source>bad repetition syntax</source>
<translation>錯誤的重覆語法</translation>
</message>
<message>
+ <location line="+1"/>
<source>invalid octal value</source>
<translation>不合法的八進位值</translation>
</message>
<message>
+ <location line="+1"/>
<source>missing left delim</source>
<translation>少了左方的區隔符</translation>
</message>
<message>
+ <location line="+1"/>
<source>unexpected end</source>
<translation>未預期遇到結尾</translation>
</message>
<message>
+ <location line="+1"/>
<source>met internal limit</source>
<translation>遇到內部限制</translation>
</message>
@@ -3850,19 +4711,22 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="353"/>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+396"/>
<source>Error to open database</source>
<translation>開啟資料庫時發生錯誤</translation>
</message>
<message>
+ <location line="+41"/>
<source>Unable to begin transaction</source>
<translation>無法開始事務</translation>
</message>
<message>
+ <location line="+17"/>
<source>Unable to commit transaction</source>
<translation>無法提交事務</translation>
</message>
<message>
+ <location line="+17"/>
<source>Unable to rollback Transaction</source>
<translation>無法反轉事務</translation>
</message>
@@ -3870,10 +4734,12 @@ Please choose a different file name.</source>
<context>
<name>QSQLite2Result</name>
<message>
+ <location line="-323"/>
<source>Unable to fetch results</source>
<translation>無法抓取結果</translation>
</message>
<message>
+ <location line="+147"/>
<source>Unable to execute statement</source>
<translation>無法執行敘述</translation>
</message>
@@ -3881,19 +4747,22 @@ Please choose a different file name.</source>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="498"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+528"/>
<source>Error opening database</source>
<translation>開啟資料庫發生錯誤</translation>
</message>
<message>
+ <location line="+11"/>
<source>Error closing database</source>
<translation>關閉資料庫發生錯誤</translation>
</message>
<message>
+ <location line="+20"/>
<source>Unable to begin transaction</source>
<translation>無法開始事務</translation>
</message>
<message>
+ <location line="+15"/>
<source>Unable to commit transaction</source>
<translation>無法提交事務</translation>
</message>
@@ -3902,6 +4771,7 @@ Please choose a different file name.</source>
<translation type="obsolete">無法反轉事務</translation>
</message>
<message>
+ <location line="+15"/>
<source>Unable to rollback transaction</source>
<translation>無法反轉事務</translation>
</message>
@@ -3909,26 +4779,34 @@ Please choose a different file name.</source>
<context>
<name>QSQLiteResult</name>
<message>
+ <location line="-400"/>
+ <location line="+66"/>
+ <location line="+8"/>
<source>Unable to fetch row</source>
<translation>無法抓取列</translation>
</message>
<message>
+ <location line="+63"/>
<source>Unable to execute statement</source>
<translation>無法執行敘述</translation>
</message>
<message>
+ <location line="+20"/>
<source>Unable to reset statement</source>
<translation>無法重置敘述</translation>
</message>
<message>
+ <location line="+45"/>
<source>Unable to bind parameters</source>
<translation>無法結合參數</translation>
</message>
<message>
+ <location line="+7"/>
<source>Parameter count mismatch</source>
<translation>參數數量不符合</translation>
</message>
<message>
+ <location line="-208"/>
<source>No query</source>
<translation>沒有查詢</translation>
</message>
@@ -3936,69 +4814,84 @@ Please choose a different file name.</source>
<context>
<name>QScrollBar</name>
<message>
- <location filename="../src/gui/widgets/qscrollbar.cpp" line="419"/>
+ <location filename="../src/gui/widgets/qscrollbar.cpp" line="+448"/>
<source>Scroll here</source>
<translation>在此捲軸</translation>
</message>
<message>
+ <location line="+2"/>
<source>Left edge</source>
<translation>左邊緣</translation>
</message>
<message>
+ <location line="+0"/>
<source>Top</source>
<translation>頂端</translation>
</message>
<message>
+ <location line="+1"/>
<source>Right edge</source>
<translation>右邊緣</translation>
</message>
<message>
+ <location line="+0"/>
<source>Bottom</source>
<translation>底端</translation>
</message>
<message>
+ <location line="+2"/>
<source>Page left</source>
<translation>頁面左方</translation>
</message>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="143"/>
+ <location line="+0"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+143"/>
<source>Page up</source>
<translation>頁面上方</translation>
</message>
<message>
+ <location line="+1"/>
<source>Page right</source>
<translation>頁面右方</translation>
</message>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="4"/>
+ <location line="+0"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+4"/>
<source>Page down</source>
<translation>頁面下方</translation>
</message>
<message>
+ <location line="+2"/>
<source>Scroll left</source>
<translation>往左捲軸</translation>
</message>
<message>
+ <location line="+0"/>
<source>Scroll up</source>
<translation>往上捲軸</translation>
</message>
<message>
+ <location line="+1"/>
<source>Scroll right</source>
<translation>往右捲軸</translation>
</message>
<message>
+ <location line="+0"/>
<source>Scroll down</source>
<translation>往下捲軸</translation>
</message>
<message>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="-6"/>
<source>Line up</source>
<translation>對上排列</translation>
</message>
<message>
+ <location line="+4"/>
<source>Position</source>
<translation>位置</translation>
</message>
<message>
+ <location line="+4"/>
<source>Line down</source>
<translation>對下排列</translation>
</message>
@@ -4006,81 +4899,99 @@ Please choose a different file name.</source>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="177"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+207"/>
<source>%1: unable to set key on lock</source>
<translation>%1:無法設定鍵值</translation>
</message>
<message>
+ <location line="+81"/>
<source>%1: create size is less then 0</source>
<translation>%1:建立大小小於 0</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="118"/>
+ <location line="+168"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+148"/>
<source>%1: unable to lock</source>
<translation>%1:無法鎖定</translation>
</message>
<message>
+ <location line="+22"/>
<source>%1: unable to unlock</source>
<translation>%1:無法解除鎖定</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="57"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+78"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
<translation>%1:存取被拒</translation>
</message>
<message>
+ <location line="+4"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="-22"/>
<source>%1: already exists</source>
<translation>%1:已存在</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="9"/>
+ <location line="+4"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+9"/>
<source>%1: doesn&apos;t exists</source>
<translation>%1:不存在</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="9"/>
+ <location line="+6"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+9"/>
<source>%1: out of resources</source>
<translation>%1:資源不足</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="7"/>
+ <location line="+4"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+7"/>
<source>%1: unknown error %2</source>
<translation>%1:未知的錯誤 %2</translation>
</message>
<message>
+ <location line="+21"/>
<source>%1: key is empty</source>
<translation>%1:鍵值是空的</translation>
</message>
<message>
+ <location line="+8"/>
<source>%1: unix key file doesn&apos;t exists</source>
<translation>%1:unix 鍵值檔不存在</translation>
</message>
<message>
+ <location line="+7"/>
<source>%1: ftok failed</source>
<translation>%1:ftok 失敗</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="15"/>
+ <location line="+51"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+15"/>
<source>%1: unable to make key</source>
<translation>%1:無法產生鍵值</translation>
</message>
<message>
+ <location line="+20"/>
<source>%1: system-imposed size restrictions</source>
<translation>%1:系統大小限制</translation>
</message>
<message>
+ <location line="+53"/>
<source>%1: not attached</source>
<translation>%1:未附加</translation>
</message>
<message>
+ <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="-27"/>
<source>%1: invalid size</source>
<translation>%1:不合法的大小</translation>
</message>
<message>
+ <location line="+68"/>
<source>%1: key error</source>
<translation>%1:鍵值錯誤</translation>
</message>
<message>
+ <location line="+38"/>
<source>%1: size query failed</source>
<translation>%1:大小查詢失敗</translation>
</message>
@@ -4088,371 +4999,466 @@ Please choose a different file name.</source>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="343"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+373"/>
<source>Space</source>
<translation>空白鍵</translation>
</message>
<message>
+ <location line="+1"/>
<source>Esc</source>
<translation>Esc</translation>
</message>
<message>
+ <location line="+1"/>
<source>Tab</source>
<translation>Tab</translation>
</message>
<message>
+ <location line="+1"/>
<source>Backtab</source>
<translation>Backtab</translation>
</message>
<message>
+ <location line="+1"/>
<source>Backspace</source>
<translation>Backspace</translation>
</message>
<message>
+ <location line="+1"/>
<source>Return</source>
<translation>Return</translation>
</message>
<message>
+ <location line="+1"/>
<source>Enter</source>
<translation>Enter</translation>
</message>
<message>
+ <location line="+1"/>
<source>Ins</source>
<translation>Ins</translation>
</message>
<message>
+ <location line="+1"/>
<source>Del</source>
<translation>Del</translation>
</message>
<message>
+ <location line="+1"/>
<source>Pause</source>
<translation>Pause</translation>
</message>
<message>
+ <location line="+1"/>
<source>Print</source>
<translation>Print</translation>
</message>
<message>
+ <location line="+1"/>
<source>SysReq</source>
<translation>SysReq</translation>
</message>
<message>
+ <location line="+1"/>
<source>Home</source>
<translation>Home</translation>
</message>
<message>
+ <location line="+1"/>
<source>End</source>
<translation>End</translation>
</message>
<message>
+ <location line="+1"/>
<source>Left</source>
<translation>左鍵</translation>
</message>
<message>
+ <location line="+1"/>
<source>Up</source>
<translation>上鍵</translation>
</message>
<message>
+ <location line="+1"/>
<source>Right</source>
<translation>右鍵</translation>
</message>
<message>
+ <location line="+1"/>
<source>Down</source>
<translation>下鍵</translation>
</message>
<message>
+ <location line="+1"/>
<source>PgUp</source>
<translation>PgUp</translation>
</message>
<message>
+ <location line="+1"/>
<source>PgDown</source>
<translation>PgDown</translation>
</message>
<message>
+ <location line="+1"/>
<source>CapsLock</source>
<translation>大寫鎖定</translation>
</message>
<message>
+ <location line="+1"/>
<source>NumLock</source>
<translation>數字鎖定</translation>
</message>
<message>
+ <location line="+1"/>
<source>ScrollLock</source>
<translation>捲軸鎖定</translation>
</message>
<message>
+ <location line="+1"/>
<source>Menu</source>
<translation>選單</translation>
</message>
<message>
+ <location line="+1"/>
<source>Help</source>
<translation>說明</translation>
</message>
<message>
+ <location line="+3"/>
<source>Back</source>
<translation>返回</translation>
</message>
<message>
+ <location line="+1"/>
<source>Forward</source>
<translation>往前</translation>
</message>
<message>
+ <location line="+1"/>
<source>Stop</source>
<translation>停止</translation>
</message>
<message>
+ <location line="+1"/>
<source>Refresh</source>
<translation>刷新</translation>
</message>
<message>
+ <location line="+1"/>
<source>Volume Down</source>
<translation>音量降低</translation>
</message>
<message>
+ <location line="+1"/>
<source>Volume Mute</source>
<translation>靜音</translation>
</message>
<message>
+ <location line="+1"/>
<source>Volume Up</source>
<translation>音量提高</translation>
</message>
<message>
+ <location line="+1"/>
<source>Bass Boost</source>
<translation>重低音</translation>
</message>
<message>
+ <location line="+1"/>
<source>Bass Up</source>
<translation>Bass Up</translation>
</message>
<message>
+ <location line="+1"/>
<source>Bass Down</source>
<translation>Bass Down</translation>
</message>
<message>
+ <location line="+1"/>
<source>Treble Up</source>
<translation>Treble Up</translation>
</message>
<message>
+ <location line="+1"/>
<source>Treble Down</source>
<translation>Treble Down</translation>
</message>
<message>
+ <location line="+1"/>
<source>Media Play</source>
<translation>媒體播放</translation>
</message>
<message>
+ <location line="+1"/>
<source>Media Stop</source>
<translation>媒體停止</translation>
</message>
<message>
+ <location line="+1"/>
<source>Media Previous</source>
<translation>媒體前一首</translation>
</message>
<message>
+ <location line="+1"/>
<source>Media Next</source>
<translation>媒體下一首</translation>
</message>
<message>
+ <location line="+1"/>
<source>Media Record</source>
<translation>媒體錄音</translation>
</message>
<message>
+ <location line="+2"/>
<source>Favorites</source>
<translation>我的最愛</translation>
</message>
<message>
+ <location line="+1"/>
<source>Search</source>
<translation>搜尋</translation>
</message>
<message>
+ <location line="+1"/>
<source>Standby</source>
<translation>待命</translation>
</message>
<message>
+ <location line="+1"/>
<source>Open URL</source>
<translation>開啟網址</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch Mail</source>
<translation>啟動郵件程式</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch Media</source>
<translation>啟動媒體程式</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (0)</source>
<translation>啟動(0)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (1)</source>
<translation>啟動(1)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (2)</source>
<translation>啟動(2)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (3)</source>
<translation>啟動(3)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (4)</source>
<translation>啟動(4)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (5)</source>
<translation>啟動(5)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (6)</source>
<translation>啟動(6)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (7)</source>
<translation>啟動(7)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (8)</source>
<translation>啟動(8)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (9)</source>
<translation>啟動(9)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (A)</source>
<translation>啟動(A)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (B)</source>
<translation>啟動(B)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (C)</source>
<translation>啟動(C)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (D)</source>
<translation>啟動(D)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (E)</source>
<translation>啟動(E)</translation>
</message>
<message>
+ <location line="+1"/>
<source>Launch (F)</source>
<translation>啟動(F)</translation>
</message>
<message>
+ <location line="+4"/>
<source>Print Screen</source>
<translation>列印螢幕</translation>
</message>
<message>
+ <location line="+1"/>
<source>Page Up</source>
<translation>往上一頁</translation>
</message>
<message>
+ <location line="+1"/>
<source>Page Down</source>
<translation>往下一頁</translation>
</message>
<message>
+ <location line="+1"/>
<source>Caps Lock</source>
<translation>大寫鎖定</translation>
</message>
<message>
+ <location line="+1"/>
<source>Num Lock</source>
<translation>數字鎖定</translation>
</message>
<message>
+ <location line="+1"/>
<source>Number Lock</source>
<translation>數字鎖定</translation>
</message>
<message>
+ <location line="+1"/>
<source>Scroll Lock</source>
<translation>捲軸鎖定</translation>
</message>
<message>
+ <location line="+1"/>
<source>Insert</source>
<translation>插入</translation>
</message>
<message>
+ <location line="+1"/>
<source>Delete</source>
<translation>刪除</translation>
</message>
<message>
+ <location line="+1"/>
<source>Escape</source>
<translation>Escape</translation>
</message>
<message>
+ <location line="+1"/>
<source>System Request</source>
<translation>系統要求 SysRq</translation>
</message>
<message>
+ <location line="+4"/>
<source>Select</source>
<translation>選擇</translation>
</message>
<message>
+ <location line="+1"/>
<source>Yes</source>
<translation>是</translation>
</message>
<message>
+ <location line="+1"/>
<source>No</source>
<translation>否</translation>
</message>
<message>
+ <location line="+4"/>
<source>Context1</source>
<translation>內文1</translation>
</message>
<message>
+ <location line="+1"/>
<source>Context2</source>
<translation>內文2</translation>
</message>
<message>
+ <location line="+1"/>
<source>Context3</source>
<translation>內文3</translation>
</message>
<message>
+ <location line="+1"/>
<source>Context4</source>
<translation>內文4</translation>
</message>
<message>
+ <location line="+1"/>
<source>Call</source>
<translation>呼叫</translation>
</message>
<message>
+ <location line="+1"/>
<source>Hangup</source>
<translation>掛斷</translation>
</message>
<message>
+ <location line="+1"/>
<source>Flip</source>
<translation>反轉</translation>
</message>
<message>
+ <location line="+527"/>
+ <location line="+122"/>
<source>Ctrl</source>
<translation>Ctrl</translation>
</message>
<message>
+ <location line="-121"/>
+ <location line="+125"/>
<source>Shift</source>
<translation>Shift</translation>
</message>
<message>
+ <location line="-124"/>
+ <location line="+122"/>
<source>Alt</source>
<translation>Alt</translation>
</message>
<message>
+ <location line="-121"/>
+ <location line="+117"/>
<source>Meta</source>
<translation>Meta</translation>
</message>
<message>
+ <location line="-25"/>
<source>+</source>
<translation>+</translation>
</message>
<message>
+ <location line="+46"/>
<source>F%1</source>
<translation>F%1</translation>
</message>
<message>
+ <location line="-720"/>
<source>Home Page</source>
<translation>首頁</translation>
</message>
@@ -4460,23 +5466,27 @@ Please choose a different file name.</source>
<context>
<name>QSlider</name>
<message>
- <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="151"/>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+151"/>
<source>Page left</source>
<translation>頁面左方</translation>
</message>
<message>
+ <location line="+0"/>
<source>Page up</source>
<translation>頁面上方</translation>
</message>
<message>
+ <location line="+2"/>
<source>Position</source>
<translation>位置</translation>
</message>
<message>
+ <location line="+3"/>
<source>Page right</source>
<translation>頁面右方</translation>
</message>
<message>
+ <location line="+0"/>
<source>Page down</source>
<translation>頁面下方</translation>
</message>
@@ -4484,54 +5494,67 @@ Please choose a different file name.</source>
<context>
<name>QSocks5SocketEngine</name>
<message>
+ <location filename="../src/network/socket/qsocks5socketengine.cpp" line="-67"/>
<source>Connection to proxy refused</source>
<translation>代理伺服器連線被拒</translation>
</message>
<message>
+ <location line="+4"/>
<source>Connection to proxy closed prematurely</source>
<translation>代理伺服器連線已不正常關閉</translation>
</message>
<message>
+ <location line="+4"/>
<source>Proxy host not found</source>
<translation>找不到代理伺服器</translation>
</message>
<message>
+ <location line="+5"/>
<source>Connection to proxy timed out</source>
<translation>代理伺服器連線逾時</translation>
</message>
<message>
+ <location line="+17"/>
<source>Proxy authentication failed</source>
<translation>代理伺服器認證失敗</translation>
</message>
<message>
+ <location line="+1"/>
<source>Proxy authentication failed: %1</source>
<translation>代理伺服器認證失敗:%1</translation>
</message>
<message>
+ <location line="+9"/>
<source>SOCKS version 5 protocol error</source>
<translation>SOCKS 5 的協定錯誤</translation>
</message>
<message>
+ <location line="+19"/>
<source>General SOCKSv5 server failure</source>
<translation>一般的 SOCKSv5 伺服器錯誤</translation>
</message>
<message>
+ <location line="+4"/>
<source>Connection not allowed by SOCKSv5 server</source>
<translation>連線未被 SOCKSv5 伺服器允許</translation>
</message>
<message>
+ <location line="+16"/>
<source>TTL expired</source>
<translation>TTL 逾時</translation>
</message>
<message>
+ <location line="+4"/>
<source>SOCKSv5 command not supported</source>
<translation>SOCKSv5 指令未被支援</translation>
</message>
<message>
+ <location line="+4"/>
<source>Address type not supported</source>
<translation>位址型態未被支援</translation>
</message>
<message>
+ <location line="+5"/>
<source>Unknown SOCKSv5 proxy error code 0x%1</source>
<translation>未知的 SOCKSv5 代理伺服器錯誤代碼 0x%1</translation>
</message>
@@ -4540,6 +5563,7 @@ Please choose a different file name.</source>
<translation type="obsolete">連接到 socks 伺服器時發生 socks5 逾時錯誤</translation>
</message>
<message>
+ <location line="+685"/>
<source>Network operation timed out</source>
<translation>網路操作逾時</translation>
</message>
@@ -4547,10 +5571,12 @@ Please choose a different file name.</source>
<context>
<name>QSpinBox</name>
<message>
+ <location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="-574"/>
<source>More</source>
<translation>更多</translation>
</message>
<message>
+ <location line="+2"/>
<source>Less</source>
<translation>較少</translation>
</message>
@@ -4558,43 +5584,56 @@ Please choose a different file name.</source>
<context>
<name>QSql</name>
<message>
- <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="860"/>
+ <location filename="../src/qt3support/sql/q3sqlmanager_p.cpp" line="+890"/>
<source>Delete</source>
<translation>刪除</translation>
</message>
<message>
+ <location line="+1"/>
<source>Delete this record?</source>
<translation>要刪除這筆紀錄嗎?</translation>
</message>
<message>
+ <location line="+1"/>
+ <location line="+16"/>
+ <location line="+36"/>
<source>Yes</source>
<translation>是</translation>
</message>
<message>
+ <location line="-51"/>
+ <location line="+16"/>
+ <location line="+36"/>
<source>No</source>
<translation>否</translation>
</message>
<message>
+ <location line="-44"/>
<source>Insert</source>
<translation>插入</translation>
</message>
<message>
+ <location line="+2"/>
<source>Update</source>
<translation>更新</translation>
</message>
<message>
+ <location line="+4"/>
<source>Save edits?</source>
<translation>要儲存編輯過的內容嗎?</translation>
</message>
<message>
+ <location line="+3"/>
<source>Cancel</source>
<translation>取消</translation>
</message>
<message>
+ <location line="+32"/>
<source>Confirm</source>
<translation>確認</translation>
</message>
<message>
+ <location line="+1"/>
<source>Cancel your edits?</source>
<translation>要取消編輯嗎?</translation>
</message>
@@ -4602,43 +5641,52 @@ Please choose a different file name.</source>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="539"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+569"/>
<source>Unable to write data: %1</source>
<translation>無法寫入資料:%1</translation>
</message>
<message>
+ <location line="+119"/>
<source>Error while reading: %1</source>
<translation>讀取時發生錯誤:%1</translation>
</message>
<message>
+ <location line="+96"/>
<source>Error during SSL handshake: %1</source>
<translation>SSL 同步時發生錯誤:%1</translation>
</message>
<message>
+ <location line="-524"/>
<source>Error creating SSL context (%1)</source>
<translation>建立 SSL 內文時發生錯誤(%1)</translation>
</message>
<message>
+ <location line="+25"/>
<source>Invalid or empty cipher list (%1)</source>
<translation>不合法或空白的加密清單(%1)</translation>
</message>
<message>
+ <location line="+62"/>
<source>Error creating SSL session, %1</source>
<translation>建立 SSL 工作階段時發生錯誤:%1</translation>
</message>
<message>
+ <location line="+15"/>
<source>Error creating SSL session: %1</source>
<translation>建立 SSL 工作階段時發生錯誤:%1</translation>
</message>
<message>
+ <location line="-61"/>
<source>Cannot provide a certificate with no key, %1</source>
<translation>沒有金鑰無法提供憑證:%1</translation>
</message>
<message>
+ <location line="+7"/>
<source>Error loading local certificate, %1</source>
<translation>載入本地憑證時發生錯誤:%1</translation>
</message>
<message>
+ <location line="+12"/>
<source>Error loading private key, %1</source>
<translation>載入私鑰時發生錯誤:%1</translation>
</message>
@@ -4647,6 +5695,7 @@ Please choose a different file name.</source>
<translation type="obsolete">私鑰與公鑰不符:%1</translation>
</message>
<message>
+ <location line="+7"/>
<source>Private key does not certificate public key, %1</source>
<translation>私密金鑰無法認證公開金鑰,%1</translation>
</message>
@@ -4654,25 +5703,30 @@ Please choose a different file name.</source>
<context>
<name>QSystemSemaphore</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="36"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-41"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
<source>%1: out of resources</source>
<translation>%1:資源不足</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="4"/>
+ <location line="-13"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+4"/>
<source>%1: permission denied</source>
<translation>%1:存取被拒</translation>
</message>
<message>
+ <location line="+4"/>
<source>%1: already exists</source>
<translation>%1:已存在</translation>
</message>
<message>
+ <location line="+4"/>
<source>%1: does not exist</source>
<translation>%1:不存在</translation>
</message>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="3"/>
+ <location line="+9"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+3"/>
<source>%1: unknown error %2</source>
<translation>%1:未知的錯誤 %2</translation>
</message>
@@ -4680,11 +5734,12 @@ Please choose a different file name.</source>
<context>
<name>QTDSDriver</name>
<message>
- <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="552"/>
+ <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/>
<source>Unable to open connection</source>
<translation>無法開啟連線</translation>
</message>
<message>
+ <location line="+5"/>
<source>Unable to use database</source>
<translation>無法使用資料庫</translation>
</message>
@@ -4692,10 +5747,12 @@ Please choose a different file name.</source>
<context>
<name>QTabBar</name>
<message>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="-326"/>
<source>Scroll Left</source>
<translation>往左捲軸</translation>
</message>
<message>
+ <location line="+0"/>
<source>Scroll Right</source>
<translation>往右捲軸</translation>
</message>
@@ -4707,7 +5764,7 @@ Please choose a different file name.</source>
<translation type="obsolete">未支援的 socket 操作</translation>
</message>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="252"/>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
<source>Operation on socket is not supported</source>
<translation>Socket 的操作未被支援</translation>
</message>
@@ -4715,35 +5772,42 @@ Please choose a different file name.</source>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="1942"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+1973"/>
<source>&amp;Undo</source>
<translation>復原(&amp;U)</translation>
</message>
<message>
+ <location line="+2"/>
<source>&amp;Redo</source>
<translation>重做(&amp;R)</translation>
</message>
<message>
+ <location line="+4"/>
<source>Cu&amp;t</source>
<translation>剪下(&amp;T)</translation>
</message>
<message>
+ <location line="+5"/>
<source>&amp;Copy</source>
<translation>複製(&amp;C)</translation>
</message>
<message>
+ <location line="+7"/>
<source>Copy &amp;Link Location</source>
<translation>複製連結位址(&amp;L)</translation>
</message>
<message>
+ <location line="+6"/>
<source>&amp;Paste</source>
<translation>貼上(&amp;P)</translation>
</message>
<message>
+ <location line="+3"/>
<source>Delete</source>
<translation>刪除</translation>
</message>
<message>
+ <location line="+7"/>
<source>Select All</source>
<translation>全部選擇</translation>
</message>
@@ -4751,10 +5815,14 @@ Please choose a different file name.</source>
<context>
<name>QToolButton</name>
<message>
+ <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+254"/>
+ <location line="+6"/>
<source>Press</source>
<translation>按下</translation>
</message>
<message>
+ <location line="-4"/>
+ <location line="+8"/>
<source>Open</source>
<translation>開啟</translation>
</message>
@@ -4762,7 +5830,7 @@ Please choose a different file name.</source>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="139"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+169"/>
<source>This platform does not support IPv6</source>
<translation>此平台不支援 IPv6</translation>
</message>
@@ -4770,11 +5838,12 @@ Please choose a different file name.</source>
<context>
<name>QUndoGroup</name>
<message>
- <location filename="../src/gui/util/qundogroup.cpp" line="356"/>
+ <location filename="../src/gui/util/qundogroup.cpp" line="+386"/>
<source>Undo</source>
<translation>復原</translation>
</message>
<message>
+ <location line="+28"/>
<source>Redo</source>
<translation>重做</translation>
</message>
@@ -4782,7 +5851,7 @@ Please choose a different file name.</source>
<context>
<name>QUndoModel</name>
<message>
- <location filename="../src/gui/util/qundoview.cpp" line="71"/>
+ <location filename="../src/gui/util/qundoview.cpp" line="+101"/>
<source>&lt;empty&gt;</source>
<translation><空白></translation>
</message>
@@ -4790,11 +5859,12 @@ Please choose a different file name.</source>
<context>
<name>QUndoStack</name>
<message>
- <location filename="../src/gui/util/qundostack.cpp" line="804"/>
+ <location filename="../src/gui/util/qundostack.cpp" line="+834"/>
<source>Undo</source>
<translation>復原</translation>
</message>
<message>
+ <location line="+27"/>
<source>Redo</source>
<translation>重做</translation>
</message>
@@ -4802,47 +5872,57 @@ Please choose a different file name.</source>
<context>
<name>QUnicodeControlCharacterMenu</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="884"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+884"/>
<source>LRM Left-to-right mark</source>
<translation>LRM 左到右標記</translation>
</message>
<message>
+ <location line="+1"/>
<source>RLM Right-to-left mark</source>
<translation>RLM 右到左標記</translation>
</message>
<message>
+ <location line="+1"/>
<source>ZWJ Zero width joiner</source>
<translation>ZWJ 零寬度連接器</translation>
</message>
<message>
+ <location line="+1"/>
<source>ZWNJ Zero width non-joiner</source>
<translation>ZWNJ 零寬度非連接器</translation>
</message>
<message>
+ <location line="+1"/>
<source>ZWSP Zero width space</source>
<translation>ZWSP 零寬度空白</translation>
</message>
<message>
+ <location line="+1"/>
<source>LRE Start of left-to-right embedding</source>
<translation>LRE 左到右嵌入起點</translation>
</message>
<message>
+ <location line="+1"/>
<source>RLE Start of right-to-left embedding</source>
<translation>RLE 右到左嵌入起點</translation>
</message>
<message>
+ <location line="+1"/>
<source>LRO Start of left-to-right override</source>
<translation>LRO 左到右覆寫起點</translation>
</message>
<message>
+ <location line="+1"/>
<source>RLO Start of right-to-left override</source>
<translation>RLO 右到左覆寫起點</translation>
</message>
<message>
+ <location line="+1"/>
<source>PDF Pop directional formatting</source>
<translation>PDF 彈出方向格式</translation>
</message>
<message>
+ <location line="+6"/>
<source>Insert Unicode control character</source>
<translation>插入萬國碼控制字元</translation>
</message>
@@ -4850,27 +5930,32 @@ Please choose a different file name.</source>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="686"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+692"/>
<source>Request cancelled</source>
<translation>請求已取消</translation>
</message>
<message>
+ <location line="+17"/>
<source>Request blocked</source>
<translation>請求已被阻擋</translation>
</message>
<message>
+ <location line="+7"/>
<source>Cannot show URL</source>
<translation>無法顯示網址</translation>
</message>
<message>
+ <location line="+6"/>
<source>Frame load interruped by policy change</source>
<translation>影像載入因政策變更而中斷</translation>
</message>
<message>
+ <location line="+6"/>
<source>Cannot show mimetype</source>
<translation>無法顯示 MIME 型態</translation>
</message>
<message>
+ <location line="+6"/>
<source>File does not exist</source>
<translation>檔案不存在</translation>
</message>
@@ -4878,316 +5963,376 @@ Please choose a different file name.</source>
<context>
<name>QWebPage</name>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="382"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+382"/>
<source>Bad HTTP request</source>
<translation>不良的 HTTP 請求</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="42"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+42"/>
<source>Submit</source>
<comment>default label for Submit buttons in forms on web pages</comment>
<translation>提交</translation>
</message>
<message>
+ <location line="+5"/>
<source>Submit</source>
<comment>Submit (input element) alt text for &lt;input&gt; elements with no alt, title, or value</comment>
<translation>提交</translation>
</message>
<message>
+ <location line="+5"/>
<source>Reset</source>
<comment>default label for Reset buttons in forms on web pages</comment>
<translation>重置</translation>
</message>
<message>
+ <location line="+10"/>
<source>This is a searchable index. Enter search keywords: </source>
<comment>text that appears at the start of nearly-obsolete web pages in the form of a &apos;searchable index&apos;</comment>
<translation>這是可搜尋的索引。請輸入關鍵字: </translation>
</message>
<message>
+ <location line="+5"/>
<source>Choose File</source>
<comment>title for file button used in HTML forms</comment>
<translation>選擇檔案</translation>
</message>
<message>
+ <location line="+5"/>
<source>No file selected</source>
<comment>text to display in file button used in HTML forms when no file is selected</comment>
<translation>未選取任何檔案</translation>
</message>
<message>
+ <location line="+5"/>
<source>Open in New Window</source>
<comment>Open in New Window context menu item</comment>
<translation>在新視窗開啟</translation>
</message>
<message>
+ <location line="+5"/>
<source>Save Link...</source>
<comment>Download Linked File context menu item</comment>
<translation>儲存連結...</translation>
</message>
<message>
+ <location line="+5"/>
<source>Copy Link</source>
<comment>Copy Link context menu item</comment>
<translation>複製連結</translation>
</message>
<message>
+ <location line="+5"/>
<source>Open Image</source>
<comment>Open Image in New Window context menu item</comment>
<translation>開啟影像</translation>
</message>
<message>
+ <location line="+5"/>
<source>Save Image</source>
<comment>Download Image context menu item</comment>
<translation>儲存影像</translation>
</message>
<message>
+ <location line="+5"/>
<source>Copy Image</source>
<comment>Copy Link context menu item</comment>
<translation>複製影像</translation>
</message>
<message>
+ <location line="+5"/>
<source>Open Frame</source>
<comment>Open Frame in New Window context menu item</comment>
<translation>開啟框架</translation>
</message>
<message>
+ <location line="+5"/>
<source>Copy</source>
<comment>Copy context menu item</comment>
<translation>複製</translation>
</message>
<message>
+ <location line="+5"/>
<source>Go Back</source>
<comment>Back context menu item</comment>
<translation>往回</translation>
</message>
<message>
+ <location line="+5"/>
<source>Go Forward</source>
<comment>Forward context menu item</comment>
<translation>往前</translation>
</message>
<message>
+ <location line="+5"/>
<source>Stop</source>
<comment>Stop context menu item</comment>
<translation>停止</translation>
</message>
<message>
+ <location line="+5"/>
<source>Reload</source>
<comment>Reload context menu item</comment>
<translation>重新載入</translation>
</message>
<message>
+ <location line="+5"/>
<source>Cut</source>
<comment>Cut context menu item</comment>
<translation>剪下</translation>
</message>
<message>
+ <location line="+5"/>
<source>Paste</source>
<comment>Paste context menu item</comment>
<translation>貼上</translation>
</message>
<message>
+ <location line="+5"/>
<source>No Guesses Found</source>
<comment>No Guesses Found context menu item</comment>
<translation>找不到可能的內容</translation>
</message>
<message>
+ <location line="+5"/>
<source>Ignore</source>
<comment>Ignore Spelling context menu item</comment>
<translation>忽略</translation>
</message>
<message>
+ <location line="+5"/>
<source>Add To Dictionary</source>
<comment>Learn Spelling context menu item</comment>
<translation>新增到字典</translation>
</message>
<message>
+ <location line="+5"/>
<source>Search The Web</source>
<comment>Search The Web context menu item</comment>
<translation>搜尋站台</translation>
</message>
<message>
+ <location line="+5"/>
<source>Look Up In Dictionary</source>
<comment>Look Up in Dictionary context menu item</comment>
<translation>在字典裡搜尋</translation>
</message>
<message>
+ <location line="+5"/>
<source>Open Link</source>
<comment>Open Link context menu item</comment>
<translation>開啟連結</translation>
</message>
<message>
+ <location line="+5"/>
<source>Ignore</source>
<comment>Ignore Grammar context menu item</comment>
<translation>忽略</translation>
</message>
<message>
+ <location line="+5"/>
<source>Spelling</source>
<comment>Spelling and Grammar context sub-menu item</comment>
<translation>拼字</translation>
</message>
<message>
+ <location line="+5"/>
<source>Show Spelling and Grammar</source>
<comment>menu item title</comment>
<translation>顯示拼字與文法</translation>
</message>
<message>
+ <location line="+1"/>
<source>Hide Spelling and Grammar</source>
<comment>menu item title</comment>
<translation>隱藏拼字與文法</translation>
</message>
<message>
+ <location line="+5"/>
<source>Check Spelling</source>
<comment>Check spelling context menu item</comment>
<translation>檢查拼字</translation>
</message>
<message>
+ <location line="+5"/>
<source>Check Spelling While Typing</source>
<comment>Check spelling while typing context menu item</comment>
<translation>打字時立即檢查拼字</translation>
</message>
<message>
+ <location line="+5"/>
<source>Check Grammar With Spelling</source>
<comment>Check grammar with spelling context menu item</comment>
<translation>檢查拼字與文法</translation>
</message>
<message>
+ <location line="+5"/>
<source>Fonts</source>
<comment>Font context sub-menu item</comment>
<translation>字型</translation>
</message>
<message>
+ <location line="+5"/>
<source>Bold</source>
<comment>Bold context menu item</comment>
<translation>粗體</translation>
</message>
<message>
+ <location line="+5"/>
<source>Italic</source>
<comment>Italic context menu item</comment>
<translation>斜體</translation>
</message>
<message>
+ <location line="+5"/>
<source>Underline</source>
<comment>Underline context menu item</comment>
<translation>底線</translation>
</message>
<message>
+ <location line="+5"/>
<source>Outline</source>
<comment>Outline context menu item</comment>
<translation>外框線</translation>
</message>
<message>
+ <location line="+5"/>
<source>Direction</source>
<comment>Writing direction context sub-menu item</comment>
<translation>方向</translation>
</message>
<message>
+ <location line="+5"/>
<source>Text Direction</source>
<comment>Text direction context sub-menu item</comment>
<translation>文字方向</translation>
</message>
<message>
+ <location line="+5"/>
<source>Default</source>
<comment>Default writing direction context menu item</comment>
<translation>預設</translation>
</message>
<message>
+ <location line="+5"/>
<source>LTR</source>
<comment>Left to Right context menu item</comment>
<translation>左到右</translation>
</message>
<message>
+ <location line="+5"/>
<source>RTL</source>
<comment>Right to Left context menu item</comment>
<translation>右到左</translation>
</message>
<message>
+ <location line="+5"/>
<source>Inspect</source>
<comment>Inspect Element context menu item</comment>
<translation>查驗</translation>
</message>
<message>
+ <location line="+5"/>
<source>No recent searches</source>
<comment>Label for only item in menu that appears when clicking on the search field image, when no searches have been performed</comment>
<translation>沒有最近的搜尋</translation>
</message>
<message>
+ <location line="+5"/>
<source>Recent searches</source>
<comment>label for first item in the menu that appears when clicking on the search field image, used as embedded menu title</comment>
<translation>最近的搜尋</translation>
</message>
<message>
+ <location line="+5"/>
<source>Clear recent searches</source>
<comment>menu item in Recent Searches menu that empties menu&apos;s contents</comment>
<translation>清除最近的搜尋</translation>
</message>
<message>
+ <location line="+75"/>
<source>Unknown</source>
<comment>Unknown filesize FTP directory listing item</comment>
<translation>未知</translation>
</message>
<message>
+ <location line="+5"/>
<source>%1 (%2x%3 pixels)</source>
<comment>Title string for images</comment>
<translation>%1(%2x%3 像素)</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="185"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+185"/>
<source>Web Inspector - %2</source>
<translation>網站查驗器─%2</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp" line="58"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp" line="+58"/>
<source>Scroll here</source>
<translation>在此捲軸</translation>
</message>
<message>
+ <location line="+3"/>
<source>Left edge</source>
<translation>左邊緣</translation>
</message>
<message>
+ <location line="+0"/>
<source>Top</source>
<translation>頂端</translation>
</message>
<message>
+ <location line="+1"/>
<source>Right edge</source>
<translation>右邊緣</translation>
</message>
<message>
+ <location line="+0"/>
<source>Bottom</source>
<translation>底端</translation>
</message>
<message>
+ <location line="+3"/>
<source>Page left</source>
<translation>頁面左方</translation>
</message>
<message>
+ <location line="+0"/>
<source>Page up</source>
<translation>頁面上方</translation>
</message>
<message>
+ <location line="+1"/>
<source>Page right</source>
<translation>頁面右方</translation>
</message>
<message>
+ <location line="+0"/>
<source>Page down</source>
<translation>頁面下方</translation>
</message>
<message>
+ <location line="+3"/>
<source>Scroll left</source>
<translation>往左捲軸</translation>
</message>
<message>
+ <location line="+0"/>
<source>Scroll up</source>
<translation>往上捲軸</translation>
</message>
<message>
+ <location line="+1"/>
<source>Scroll right</source>
<translation>往右捲軸</translation>
</message>
<message>
+ <location line="+0"/>
<source>Scroll down</source>
<translation>往下捲軸</translation>
</message>
<message numerus="yes">
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/FileChooserQt.cpp" line="45"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/qt/FileChooserQt.cpp" line="+45"/>
<source>%n file(s)</source>
<comment>number of chosen file</comment>
<translation>
@@ -5195,127 +6340,170 @@ Please choose a different file name.</source>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="1342"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1322"/>
<source>JavaScript Alert - %1</source>
<translation>JavaScript 警告 ─ %1</translation>
</message>
<message>
+ <location line="+15"/>
<source>JavaScript Confirm - %1</source>
<translation>JavaScript 確認 ─ %1</translation>
</message>
<message>
+ <location line="+17"/>
<source>JavaScript Prompt - %1</source>
<translation>JavaScript 提示 ─ %1</translation>
</message>
<message>
+ <location line="+333"/>
<source>Move the cursor to the next character</source>
<translation>移動游標到下一個字元</translation>
</message>
<message>
+ <location line="+3"/>
<source>Move the cursor to the previous character</source>
<translation>移動游標到前一個字元</translation>
</message>
<message>
+ <location line="+3"/>
<source>Move the cursor to the next word</source>
<translation>移動游標到下一個單字</translation>
</message>
<message>
+ <location line="+3"/>
<source>Move the cursor to the previous word</source>
<translation>移動游標到前一個單字</translation>
</message>
<message>
+ <location line="+3"/>
<source>Move the cursor to the next line</source>
<translation>移動游標到下一行</translation>
</message>
<message>
+ <location line="+3"/>
<source>Move the cursor to the previous line</source>
<translation>移動游標到前一行</translation>
</message>
<message>
+ <location line="+3"/>
<source>Move the cursor to the start of the line</source>
<translation>移動游標到這一行的起頭</translation>
</message>
<message>
+ <location line="+3"/>
<source>Move the cursor to the end of the line</source>
<translation>移動游標到這一行的結尾</translation>
</message>
<message>
+ <location line="+3"/>
<source>Move the cursor to the start of the block</source>
<translation>移動游標到這一個區塊的起頭</translation>
</message>
<message>
+ <location line="+3"/>
<source>Move the cursor to the end of the block</source>
<translation>移動游標到這一個區塊的結尾</translation>
</message>
<message>
+ <location line="+3"/>
<source>Move the cursor to the start of the document</source>
<translation>移動游標到這一個文件的起頭</translation>
</message>
<message>
+ <location line="+3"/>
<source>Move the cursor to the end of the document</source>
<translation>移動游標到這一個文件的結尾</translation>
</message>
<message>
+ <location line="+3"/>
+ <source>Select all</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Select to the next character</source>
<translation>選擇到下一個字元</translation>
</message>
<message>
+ <location line="+3"/>
<source>Select to the previous character</source>
<translation>選擇到前一個字元</translation>
</message>
<message>
+ <location line="+3"/>
<source>Select to the next word</source>
<translation>選擇到下一個單字</translation>
</message>
<message>
+ <location line="+3"/>
<source>Select to the previous word</source>
<translation>選擇到前一個單字</translation>
</message>
<message>
+ <location line="+3"/>
<source>Select to the next line</source>
<translation>選擇到下一行</translation>
</message>
<message>
+ <location line="+3"/>
<source>Select to the previous line</source>
<translation>選擇到前一行</translation>
</message>
<message>
+ <location line="+3"/>
<source>Select to the start of the line</source>
<translation>選擇到這一行的起頭</translation>
</message>
<message>
+ <location line="+3"/>
<source>Select to the end of the line</source>
<translation>選擇到這一行的結尾</translation>
</message>
<message>
+ <location line="+3"/>
<source>Select to the start of the block</source>
<translation>選擇到這一個區塊的起頭</translation>
</message>
<message>
+ <location line="+3"/>
<source>Select to the end of the block</source>
<translation>選擇到這一個區塊的結尾</translation>
</message>
<message>
+ <location line="+3"/>
<source>Select to the start of the document</source>
<translation>選擇到這一個文件的起頭</translation>
</message>
<message>
+ <location line="+3"/>
<source>Select to the end of the document</source>
<translation>選擇到這一個文件的結尾</translation>
</message>
<message>
+ <location line="+3"/>
<source>Delete to the start of the word</source>
<translation>刪除到此單字的起頭</translation>
</message>
<message>
+ <location line="+3"/>
<source>Delete to the end of the word</source>
<translation>刪除到此單字的結尾</translation>
</message>
+ <message>
+ <location line="+33"/>
+ <source>Insert a new paragraph</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Insert a new line</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QWhatsThisAction</name>
<message>
- <location filename="../src/gui/kernel/qwhatsthis.cpp" line="492"/>
+ <location filename="../src/gui/kernel/qwhatsthis.cpp" line="+522"/>
<source>What&apos;s This?</source>
<translation>這是什麼?</translation>
</message>
@@ -5323,7 +6511,7 @@ Please choose a different file name.</source>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="5290"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5326"/>
<source>*</source>
<translation>+</translation>
</message>
@@ -5331,19 +6519,22 @@ Please choose a different file name.</source>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="605"/>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+637"/>
<source>Go Back</source>
<translation>往回</translation>
</message>
<message>
+ <location line="+3"/>
<source>Continue</source>
<translation>繼續</translation>
</message>
<message>
+ <location line="+5"/>
<source>Commit</source>
<translation>提交</translation>
</message>
<message>
+ <location line="+2"/>
<source>Done</source>
<translation>完成</translation>
</message>
@@ -5352,30 +6543,37 @@ Please choose a different file name.</source>
<translation type="obsolete">離開</translation>
</message>
<message>
+ <location line="+4"/>
<source>Help</source>
<translation>說明</translation>
</message>
<message>
+ <location line="-14"/>
<source>&lt; &amp;Back</source>
<translation><返回(&amp;B)</translation>
</message>
<message>
+ <location line="+10"/>
<source>&amp;Finish</source>
<translation>完成(&amp;F)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Cancel</source>
<translation>取消</translation>
</message>
<message>
+ <location line="+2"/>
<source>&amp;Help</source>
<translation>說明(&amp;H)</translation>
</message>
<message>
+ <location line="-8"/>
<source>&amp;Next</source>
<translation>下一個(&amp;N)</translation>
</message>
<message>
+ <location line="+0"/>
<source>&amp;Next &gt;</source>
<translation>下一個(&amp;N)></translation>
</message>
@@ -5383,55 +6581,69 @@ Please choose a different file name.</source>
<context>
<name>QWorkspace</name>
<message>
- <location filename="../src/gui/widgets/qworkspace.cpp" line="1064"/>
+ <location filename="../src/gui/widgets/qworkspace.cpp" line="+1094"/>
<source>&amp;Restore</source>
<translation>回復(&amp;R)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Move</source>
<translation>移動(&amp;M)</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Size</source>
<translation>大小(&amp;S)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Mi&amp;nimize</source>
<translation>最小化(&amp;N)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Ma&amp;ximize</source>
<translation>最大化(&amp;X)</translation>
</message>
<message>
+ <location line="+2"/>
<source>&amp;Close</source>
<translation>關閉(&amp;C)</translation>
</message>
<message>
+ <location line="+6"/>
<source>Stay on &amp;Top</source>
<translation>留在頂端(&amp;T)</translation>
</message>
<message>
+ <location line="+3"/>
+ <location line="+1059"/>
<source>Sh&amp;ade</source>
<translation>遮蔽(&amp;A)</translation>
</message>
<message>
+ <location line="-278"/>
+ <location line="+60"/>
<source>%1 - [%2]</source>
<translation>%1 - [%2]</translation>
</message>
<message>
+ <location line="-1837"/>
<source>Minimize</source>
<translation>最小化</translation>
</message>
<message>
+ <location line="+2"/>
<source>Restore Down</source>
<translation>向下恢復</translation>
</message>
<message>
+ <location line="-4"/>
<source>Close</source>
<translation>關閉</translation>
</message>
<message>
+ <location line="+2053"/>
<source>&amp;Unshade</source>
<translation>取消遮蔽(&amp;U)</translation>
</message>
@@ -5439,95 +6651,117 @@ Please choose a different file name.</source>
<context>
<name>QXml</name>
<message>
- <location filename="../src/xml/sax/qxml.cpp" line="28"/>
+ <location filename="../src/xml/sax/qxml.cpp" line="+58"/>
<source>no error occurred</source>
<translation>沒有發生錯誤</translation>
</message>
<message>
+ <location line="+1"/>
<source>error triggered by consumer</source>
<translation>用戶觸發的錯誤</translation>
</message>
<message>
+ <location line="+1"/>
<source>unexpected end of file</source>
<translation>未預期遇到檔案結尾</translation>
</message>
<message>
+ <location line="+1"/>
<source>more than one document type definition</source>
<translation>定義了一個以上的文件型態</translation>
</message>
<message>
+ <location line="+1"/>
<source>error occurred while parsing element</source>
<translation>剖析元素時發生錯誤</translation>
</message>
<message>
+ <location line="+1"/>
<source>tag mismatch</source>
<translation>標籤不對稱</translation>
</message>
<message>
+ <location line="+1"/>
<source>error occurred while parsing content</source>
<translation>剖析內容時發生錯誤</translation>
</message>
<message>
+ <location line="+1"/>
<source>unexpected character</source>
<translation>非預期的字元</translation>
</message>
<message>
+ <location line="+1"/>
<source>invalid name for processing instruction</source>
<translation>處理指令時的不合法名稱</translation>
</message>
<message>
+ <location line="+1"/>
<source>version expected while reading the XML declaration</source>
<translation>讀取 XML 宣告時應有版本號</translation>
</message>
<message>
+ <location line="+1"/>
<source>wrong value for standalone declaration</source>
<translation>獨立宣告時的值錯誤</translation>
</message>
<message>
+ <location line="+1"/>
<source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
<translation>讀取 XML 宣告時應有編碼宣告或獨立宣告</translation>
</message>
<message>
+ <location line="+1"/>
<source>standalone declaration expected while reading the XML declaration</source>
<translation>讀取 XML 宣告時應有讀立宣告</translation>
</message>
<message>
+ <location line="+1"/>
<source>error occurred while parsing document type definition</source>
<translation>剖析文件型態定義時發生錯誤</translation>
</message>
<message>
+ <location line="+1"/>
<source>letter is expected</source>
<translation>預期應為字母</translation>
</message>
<message>
+ <location line="+1"/>
<source>error occurred while parsing comment</source>
<translation>剖析註解時發生錯誤</translation>
</message>
<message>
+ <location line="+1"/>
<source>error occurred while parsing reference</source>
<translation>剖析參考時發生錯誤</translation>
</message>
<message>
+ <location line="+1"/>
<source>internal general entity reference not allowed in DTD</source>
<translation>在 DTD 中不允許內部產生的實體參考</translation>
</message>
<message>
+ <location line="+1"/>
<source>external parsed general entity reference not allowed in attribute value</source>
<translation>在屬性值中不允許使用外部剖析的實體參考</translation>
</message>
<message>
+ <location line="+1"/>
<source>external parsed general entity reference not allowed in DTD</source>
<translation>在 DTD 中不允許使用外部剖析的實體參考</translation>
</message>
<message>
+ <location line="+1"/>
<source>unparsed entity reference in wrong context</source>
<translation>在錯誤的內文中有未剖析的實體參考</translation>
</message>
<message>
+ <location line="+1"/>
<source>recursive entities</source>
<translation>遞迴的實體</translation>
</message>
<message>
+ <location line="+1"/>
<source>error in the text declaration of an external entity</source>
<translation>在外部實體中的文字宣告有錯誤</translation>
</message>
@@ -5535,47 +6769,58 @@ Please choose a different file name.</source>
<context>
<name>QXmlStream</name>
<message>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="1739"/>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="+592"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+1769"/>
<source>Extra content at end of document.</source>
<translation>文件尾端有多餘的內容。</translation>
</message>
<message>
+ <location line="+222"/>
<source>Invalid entity value.</source>
<translation>不合法的實體值</translation>
</message>
<message>
+ <location line="+107"/>
<source>Invalid XML character.</source>
<translation>不合法的 XML 字元。</translation>
</message>
<message>
+ <location line="+259"/>
<source>Sequence &apos;]]&gt;&apos; not allowed in content.</source>
<translation>在內文中不允許有序列 &quot;]]&gt;&quot;。</translation>
</message>
<message>
+ <location line="+309"/>
<source>Namespace prefix &apos;%1&apos; not declared</source>
<translation>命名空間的前置字串 %1 未宣告</translation>
</message>
<message>
+ <location line="+78"/>
<source>Attribute redefined.</source>
<translation>屬性重定義。</translation>
</message>
<message>
+ <location line="+115"/>
<source>Unexpected character &apos;%1&apos; in public id literal.</source>
<translation>在公開代碼字元中遇到非預期的字元 %1。</translation>
</message>
<message>
+ <location line="+28"/>
<source>Invalid XML version string.</source>
<translation>不合法的 XML 版本字串。</translation>
</message>
<message>
+ <location line="+2"/>
<source>Unsupported XML version.</source>
<translation>未支援的 XML 版本。</translation>
</message>
<message>
+ <location line="+23"/>
<source>%1 is an invalid encoding name.</source>
<translation>%1 為不合法的編碼名稱。</translation>
</message>
<message>
+ <location line="+7"/>
<source>Encoding %1 is unsupported</source>
<translation>編碼 %1 不支援。</translation>
</message>
@@ -5584,100 +6829,128 @@ Please choose a different file name.</source>
<translation type="obsolete">不合法的 XML 編碼名稱。</translation>
</message>
<message>
+ <location line="+16"/>
<source>Standalone accepts only yes or no.</source>
<translation>獨立實體只接受 yes 或 no。</translation>
</message>
<message>
+ <location line="+2"/>
<source>Invalid attribute in XML declaration.</source>
<translation>XML 宣告中有不合法的屬性。</translation>
</message>
<message>
+ <location line="+16"/>
<source>Premature end of document.</source>
<translation>文件結尾不正確。</translation>
</message>
<message>
+ <location line="+2"/>
<source>Invalid document.</source>
<translation>不合法的文件。</translation>
</message>
<message>
+ <location line="+40"/>
<source>Expected </source>
<translation>預期應為 </translation>
</message>
<message>
+ <location line="+11"/>
<source>, but got &apos;</source>
<translation>,但是看到的是 </translation>
</message>
<message>
+ <location line="+4"/>
<source>Unexpected &apos;</source>
<translation>非預期</translation>
</message>
<message>
+ <location line="+210"/>
<source>Expected character data.</source>
<translation>預期的字元資料。</translation>
</message>
<message>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="-995"/>
<source>Recursive entity detected.</source>
<translation>偵測到遞迴實體。</translation>
</message>
<message>
+ <location line="+516"/>
<source>Start tag expected.</source>
<translation>預期應有開始標籤。</translation>
</message>
<message>
+ <location line="+222"/>
<source>XML declaration not at start of document.</source>
<translation>XML 宣告沒有在文件開始處。</translation>
</message>
<message>
+ <location line="-31"/>
<source>NDATA in parameter entity declaration.</source>
<translation>在參數實體宣告有 NDATA。</translation>
</message>
<message>
+ <location line="+34"/>
<source>%1 is an invalid processing instruction name.</source>
<translation>%1 是不合法的處理指令名稱。</translation>
</message>
<message>
+ <location line="+11"/>
<source>Invalid processing instruction name.</source>
<translation>不合法的處理指令名稱。</translation>
</message>
<message>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="-521"/>
+ <location line="+12"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+164"/>
+ <location line="+53"/>
<source>Illegal namespace declaration.</source>
<translation>不合法的命名空間宣告。</translation>
</message>
<message>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="15"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+15"/>
<source>Invalid XML name.</source>
<translation>不合法的 XML 名稱。</translation>
</message>
<message>
+ <location line="+23"/>
<source>Opening and ending tag mismatch.</source>
<translation>開啟與結束的標籤不對稱。</translation>
</message>
<message>
+ <location line="+18"/>
<source>Reference to unparsed entity &apos;%1&apos;.</source>
<translation>參考到未剖析的實體 %1。</translation>
</message>
<message>
+ <location line="-13"/>
+ <location line="+61"/>
+ <location line="+40"/>
<source>Entity &apos;%1&apos; not declared.</source>
<translation>實體 %1 未宣告。</translation>
</message>
<message>
+ <location line="-26"/>
<source>Reference to external entity &apos;%1&apos; in attribute value.</source>
<translation>在屬性值中參考到外部實體 %1。</translation>
</message>
<message>
+ <location line="+40"/>
<source>Invalid character reference.</source>
<translation>不合法的字元參考。</translation>
</message>
<message>
+ <location filename="../src/corelib/xml/qxmlstream.cpp" line="-75"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="-823"/>
<source>Encountered incorrectly encoded content.</source>
<translation>遇到不正確的編碼內容。</translation>
</message>
<message>
+ <location line="+274"/>
<source>The standalone pseudo attribute must appear after the encoding.</source>
<translation>獨立的虛擬屬性必須在編碼之後出現。</translation>
</message>
<message>
- <location filename="../src/corelib/xml/qxmlstream_p.h" line="562"/>
+ <location filename="../src/corelib/xml/qxmlstream_p.h" line="+562"/>
<source>%1 is an invalid PUBLIC identifier.</source>
<translation>%1 為不合法的 PUBLIC 識別子。</translation>
</message>
@@ -5685,21 +6958,22 @@ Please choose a different file name.</source>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="175"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreebuilder.cpp" line="+205"/>
<source>An %1-attribute with value %2 has already been declared.</source>
<translation>已宣告屬性 %1 的值為 %2。</translation>
</message>
<message>
+ <location line="+13"/>
<source>An %1-attribute must have a valid %2 as value, which %3 isn&apos;t.</source>
<translation>屬性 %1 必須以合法的 %2 為值,而 %3 是不合法的。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="54"/>
+ <location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
<source>Network timeout.</source>
<translation>網路逾時。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="290"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+320"/>
<source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
<translation>元素 %1 無法序列化,因為似乎是在文件元素之外。</translation>
</message>
@@ -5708,425 +6982,482 @@ Please choose a different file name.</source>
<translation type="obsolete">屬性元素 %1 無法序列化,因為似乎是在頂層。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="50"/>
+ <location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
<source>Year %1 is invalid because it begins with %2.</source>
<translation>年份 %1 不合法,因為是從 %2 開始的。</translation>
</message>
<message>
+ <location line="+19"/>
<source>Day %1 is outside the range %2..%3.</source>
<translation>日期 %1 已超出 %2 到 %3 的範圍。</translation>
</message>
<message>
+ <location line="+7"/>
<source>Month %1 is outside the range %2..%3.</source>
<translation>月份 %1 已超出 %2 到 %3 的範圍。</translation>
</message>
<message>
+ <location line="+10"/>
<source>Overflow: Can&apos;t represent date %1.</source>
<translation>溢位:無法表示日期 %1。</translation>
</message>
<message>
+ <location line="+9"/>
<source>Day %1 is invalid for month %2.</source>
<translation>月份 %2 中沒有日期 %1。</translation>
</message>
<message>
+ <location line="+49"/>
<source>Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; </source>
<translation>時間 24:%1:%2.%3 不合法。小時為 24 則分、秒與毫秒都必須是 0。
</translation>
</message>
<message>
+ <location line="+13"/>
<source>Time %1:%2:%3.%4 is invalid.</source>
<translation>時間 %1:%2:%3.%4 不合法。</translation>
</message>
<message>
+ <location line="+115"/>
<source>Overflow: Date can&apos;t be represented.</source>
<translation>溢位:無法表示日期。</translation>
</message>
<message>
+ <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
+ <location line="+15"/>
<source>At least one component must be present.</source>
<translation>必須表達至少一個組件。</translation>
</message>
<message>
+ <location line="-7"/>
<source>At least one time component must appear after the %1-delimiter.</source>
<translation>在分隔符 %1 後必須至少有一個時間組件。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="34"/>
+ <location filename="../src/xmlpatterns/data/qabstractfloatmathematician.cpp" line="+64"/>
<source>No operand in an integer division, %1, can be %2.</source>
<translation>整數除法沒有運作對象,%1,可以是 %2</translation>
</message>
<message>
+ <location line="+7"/>
<source>The first operand in an integer division, %1, cannot be infinity (%2).</source>
<translation>整數除法的第一個運算對象 %1 不能是無限大(%2)。</translation>
</message>
<message>
+ <location line="+6"/>
<source>The second operand in a division, %1, cannot be zero (%2).</source>
<translation>整數除法的第二個運算對象 %1 不能是零(%2)。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="102"/>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
<source>%1 is not a valid value of type %2.</source>
<translation>%1 不是合法的 %2 型態的值。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="193"/>
+ <location filename="../src/xmlpatterns/data/qatomiccasters_p.h" line="+223"/>
<source>When casting to %1 from %2, the source value cannot be %3.</source>
<translation>從 %2 轉換型態為 %1 的時候,來源數值不能是 %3。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="35"/>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
<source>Integer division (%1) by zero (%2) is undefined.</source>
<translation>整數除法 %1 除以零(%2)的行為未定義。</translation>
</message>
<message>
+ <location line="+7"/>
<source>Division (%1) by zero (%2) is undefined.</source>
<translation>除法 %1 除以零(%2)的行為未定義。</translation>
</message>
<message>
+ <location line="+7"/>
<source>Modulus division (%1) by zero (%2) is undefined.</source>
<translation>餘數除法 %1 除以零(%2)的行為未定義。</translation>
</message>
<message>
+ <location line="+122"/>
+ <location line="+32"/>
<source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source>
<translation>將型態 %1 除以 %2(非數值)是不允許的。</translation>
</message>
<message>
+ <location line="-20"/>
<source>Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed.</source>
<translation>將型態 %1 除以 %2 或 %3(正或負零)是不允許的。</translation>
</message>
<message>
+ <location line="+32"/>
<source>Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed.</source>
<translation>將型態 %1 乘以 %2 或 %3(正或負無限大)是不允許的。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="49"/>
+ <location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
<translation>型態 %1 不能有實際布林值。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qboolean.cpp" line="48"/>
+ <location filename="../src/xmlpatterns/data/qboolean.cpp" line="+78"/>
<source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
<translation>實際布林值(Effective Boolean)無法用在兩個或兩個以上的原數值(atomic value)的計算。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="372"/>
+ <location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
<translation>型態 %2 的數值 %1 已超過最大值(%3)。</translation>
</message>
<message>
+ <location line="+9"/>
<source>Value %1 of type %2 is below minimum (%3).</source>
<translation>型態 %2 的數值 %1 已低過最小值(%3)。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="61"/>
+ <location filename="../src/xmlpatterns/data/qhexbinary.cpp" line="+91"/>
<source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
<translation>型態 %1 的值必須包含偶數個數字。數值 %2 未符合此條件。</translation>
</message>
<message>
+ <location line="+19"/>
<source>%1 is not valid as a value of type %2.</source>
<translation>%1 不是合法的 %2 型態的值。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="177"/>
+ <location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
<translation>操作元 %1 不能用於型態 %2。</translation>
</message>
<message>
+ <location line="+17"/>
<source>Operator %1 cannot be used on atomic values of type %2 and %3.</source>
<translation>操作元 %1 不能用於型態 %2 與 %3 的原數值。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="36"/>
+ <location filename="../src/xmlpatterns/expr/qattributenamevalidator.cpp" line="+66"/>
<source>The namespace URI in the name for a computed attribute cannot be %1.</source>
<translation>在已計算屬性的名稱的命名空間網址不能是 %1。</translation>
</message>
<message>
+ <location line="+9"/>
<source>The name for a computed attribute cannot have the namespace URI %1 with the local name %2.</source>
<translation>在已計算屬性的名稱不能同時有命名空間網址 %1 與本地端名稱 %2。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="58"/>
+ <location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
<translation>轉換型態錯誤,應為 %1 但接收到 %2。</translation>
</message>
<message>
+ <location line="+29"/>
<source>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.</source>
<translation>轉換為型態 %1 或其衍生型態時,來源數值必須是相同型態,或者是字串。型態 %2 是不被允許的。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="104"/>
+ <location filename="../src/xmlpatterns/expr/qcastingplatform.cpp" line="+134"/>
<source>No casting is possible with %1 as the target type.</source>
<translation>不能轉換到 %1 型態。</translation>
</message>
<message>
+ <location line="+15"/>
<source>It is not possible to cast from %1 to %2.</source>
<translation>不能從 %1 轉換到 %2。</translation>
</message>
<message>
+ <location line="+27"/>
<source>Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated.</source>
<translation>無法轉換到 %1 因為它是一個抽象型態,不能被實體化。</translation>
</message>
<message>
+ <location line="+23"/>
<source>It&apos;s not possible to cast the value %1 of type %2 to %3</source>
<translation>無法轉換型態 %2 的數值 %1 到 %3</translation>
</message>
<message>
+ <location line="+8"/>
<source>Failure when casting from %1 to %2: %3</source>
<translation>從 %1 轉換到 %2 時失敗:%3</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="37"/>
+ <location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
<translation>註解不能包含 %1</translation>
</message>
<message>
+ <location line="+6"/>
<source>A comment cannot end with a %1.</source>
<translation>註解不能以 %1 做結尾</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="137"/>
+ <location filename="../src/xmlpatterns/expr/qcomparisonplatform.cpp" line="+167"/>
<source>No comparisons can be done involving the type %1.</source>
<translation>包含型態 %1 時不能做比較。</translation>
</message>
<message>
+ <location line="+14"/>
<source>Operator %1 is not available between atomic values of type %2 and %3.</source>
<translation>操作元 %1 不能用於型態 %2 與 %3 的原數值。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="56"/>
+ <location filename="../src/xmlpatterns/expr/qdocumentcontentvalidator.cpp" line="+86"/>
<source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
<translation>屬性點不能做為文件點的子節點。因此,屬性 %1 的位置不合適。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="139"/>
+ <location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+169"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
<translation>不能直接計算函式模組。必須要從主模組匯入。</translation>
</message>
<message>
+ <location line="+40"/>
<source>No template by name %1 exists.</source>
<translation>沒有名為 %1 的樣本存在。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="76"/>
+ <location filename="../src/xmlpatterns/expr/qgenericpredicate.cpp" line="+106"/>
<source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
<translation>型態 %1 的值不能是謂詞(predicate)。謂詞必須是數值型態,或是實際布林值。</translation>
</message>
<message>
+ <location line="+32"/>
<source>A positional predicate must evaluate to a single numeric value.</source>
<translation>位置謂詞必須能計算出單一的數值。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="83"/>
+ <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/>
<source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
<translation>處理指令的目標名稱不能是任何大小寫組合的 %1。因此,%2 是不合法的值。</translation>
</message>
<message>
+ <location line="+24"/>
<source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source>
<translation>%1 不是一個合法的處理指令的目標名稱。必須是 %2 的值,例如 %3。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qpath.cpp" line="79"/>
+ <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/>
<source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
<translation>路徑的最後一步必須是節點或原值,而不能在兩者之間。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="54"/>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
<source>The data of a processing instruction cannot contain the string %1</source>
<translation>處理指令的資料不能包含字串 %1</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="52"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
<translation>前置字串 %1 沒有結合命名空間</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="126"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
<translation>在 %2 的前置字串 %1 沒有結合命名空間</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="39"/>
+ <location line="+12"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
<source>%1 is an invalid %2</source>
<translation>%1 是不合法的 %2</translation>
</message>
<message numerus="yes">
- <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="47"/>
+ <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/>
<source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
<translation>
<numerusform>%1 最多只能有 %n 個參數,因此 %2 是不合法的。</numerusform>
</translation>
</message>
<message numerus="yes">
+ <location line="+11"/>
<source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
<translation>
<numerusform>%1 至少需要 %n 個參數,因此 %2 是不合法的。</numerusform>
</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="90"/>
+ <location filename="../src/xmlpatterns/functions/qaggregatefns.cpp" line="+120"/>
<source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
<translation>呼叫 %1 的第一個參數不能是 %2 型態。必須是數值型態,xs.yearMonthDuration 或 xs.dayTimeDuration。</translation>
</message>
<message>
+ <location line="+74"/>
<source>The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
<translation>呼叫 %1 的第一個參數不能是 %2 型態。必須是 %3、%4 或 %5 型態。</translation>
</message>
<message>
+ <location line="+91"/>
<source>The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
<translation>呼叫 %1 的第二個參數不能是 %2 型態。必須是 %3、%4 或 %5 型態。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="58"/>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
<source>%1 is not a valid XML 1.0 character.</source>
<translation>%1 不是合法的 XML 1.0 字元。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="167"/>
+ <location filename="../src/xmlpatterns/functions/qcomparingaggregator.cpp" line="+197"/>
<source>The first argument to %1 cannot be of type %2.</source>
<translation>呼叫 %1 的第一個參數不能是 %2 型態。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="56"/>
+ <location filename="../src/xmlpatterns/functions/qdatetimefn.cpp" line="+86"/>
<source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
<translation>如果兩個值都有區域位移,則必須是相同的區域位移。%1 與 %2 並不相同。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="31"/>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
<source>%1 was called.</source>
<translation>%1 已被呼叫。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="64"/>
+ <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/>
<source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
<translation>%1 後面必須跟著 %2 或 %3,而非取代字串的結尾。</translation>
</message>
<message>
+ <location line="+39"/>
<source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
<translation>在取代字串中,在未脫逸的情形下 %1 必須至少跟著一位數字。</translation>
</message>
<message>
+ <location line="+26"/>
<source>In the replacement string, %1 can only be used to escape itself or %2, not %3</source>
<translation>在取代字串中,%1 只能用於自身或 %2 的脫逸,而非 %3。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="62"/>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
<source>%1 matches newline characters</source>
<translation>%1 符合了換行字元</translation>
</message>
<message>
+ <location line="+4"/>
<source>%1 and %2 match the start and end of a line.</source>
<translation>%1 與 %2 符合了一行的開始與結尾。</translation>
</message>
<message>
+ <location line="+6"/>
<source>Matches are case insensitive</source>
<translation>比對為區分大小寫</translation>
</message>
<message>
+ <location line="+4"/>
<source>Whitespace characters are removed, except when they appear in character classes</source>
<translation>空白字元已移除,除非它們出現在字元類別</translation>
</message>
<message>
+ <location line="+99"/>
<source>%1 is an invalid regular expression pattern: %2</source>
<translation>%1 是不合法的正規表示式樣式:%2</translation>
</message>
<message>
+ <location line="+30"/>
<source>%1 is an invalid flag for regular expressions. Valid flags are:</source>
<translation>%1 是正規表示式中不合法的旗標。合法的旗標有:</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="17"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+17"/>
<source>If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified.</source>
<translation>如果第一個參數是空序列,或是長度為 0 的字串(沒有命名空間),則無法指定前置字串。但是您指定了 %1。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="317"/>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+347"/>
<source>It will not be possible to retrieve %1.</source>
<translation>無法取得 %1。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="24"/>
+ <location filename="../src/xmlpatterns/functions/qcontextnodechecker.cpp" line="+54"/>
<source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
<translation>函式 %1 的第二個參數的根節點必須是文件節點。%2 不是文件節點。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="249"/>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+279"/>
<source>The default collection is undefined</source>
<translation>預設的收藏未定義</translation>
</message>
<message>
+ <location line="+13"/>
<source>%1 cannot be retrieved</source>
<translation>%1 無法取得</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="222"/>
+ <location filename="../src/xmlpatterns/functions/qstringvaluefns.cpp" line="+252"/>
<source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
<translation>未支援常態化表單 %1。支援的表單有 %2、%3、%4、%5,以及無(也就是空字串,未常態化)。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="57"/>
+ <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+87"/>
<source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
<translation>區域位移必須是在 %1 到 %2 範圍之內。%3 已超出範圍。</translation>
</message>
<message>
+ <location line="+12"/>
<source>%1 is not a whole number of minutes.</source>
<translation>%1 不是分鐘的數值。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="28"/>
+ <location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
<translation>需要的基數為 %1;得到的是 %2。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="37"/>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
<source>The item %1 did not match the required type %2.</source>
<translation>項目 %1 未符合需要的型態 %2。</translation>
</message>
<message>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+379"/>
+ <location line="+7253"/>
<source>%1 is an unknown schema type.</source>
<translation>%1 是未知的機制型態。</translation>
</message>
<message>
+ <location line="-6971"/>
<source>Only one %1 declaration can occur in the query prolog.</source>
<translation>只有一個 %1 宣告可以在查詢中。</translation>
</message>
<message>
+ <location line="+188"/>
<source>The initialization of variable %1 depends on itself</source>
<translation>變數 %1 的初始化與自身相依。</translation>
</message>
<message>
+ <location line="+63"/>
<source>No variable by name %1 exists</source>
<translation>沒有名為 %1 的變數存在</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="63"/>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
<source>The variable %1 is unused</source>
<translation>變數 %1 未使用</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="2841"/>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+2841"/>
<source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
<translation>版本 %1 未支援。支援的 XQuery 版本為 1.0。</translation>
</message>
<message>
+ <location line="+16"/>
<source>The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2.</source>
<translation>編碼 %1 不合法。必須只能包含拉丁字元,不含空白,並且要符合正規表示式 %2。</translation>
</message>
<message>
+ <location line="+55"/>
<source>No function with signature %1 is available</source>
<translation>沒有簽章為 %1 的函式可使用</translation>
</message>
<message>
+ <location line="+72"/>
+ <location line="+10"/>
<source>A default namespace declaration must occur before function, variable, and option declarations.</source>
<translation>預設的命名空間宣告必須在函式、變數與選項宣告之前。</translation>
</message>
<message>
+ <location line="+10"/>
<source>Namespace declarations must occur before function, variable, and option declarations.</source>
<translation>命名空間宣告必須在函式、變數與選項宣告之前。</translation>
</message>
<message>
+ <location line="+11"/>
<source>Module imports must occur before function, variable, and option declarations.</source>
<translation>模組匯入必須在函式、變數與選項宣告之前。</translation>
</message>
<message>
+ <location line="+200"/>
<source>It is not possible to redeclare prefix %1.</source>
<translation>無法重宣告前置字串 %1。</translation>
</message>
@@ -6135,22 +7466,27 @@ Please choose a different file name.</source>
<translation type="obsolete">只有前置字串 %1 可以被宣告與命名空間 %2 結合。它預設已經與前置字串 %1 結合。</translation>
</message>
<message>
+ <location line="+18"/>
<source>Prefix %1 is already declared in the prolog.</source>
<translation>前置字串 %1 已在 prolog 中宣告。</translation>
</message>
<message>
+ <location line="+95"/>
<source>The name of an option must have a prefix. There is no default namespace for options.</source>
<translation>選項名稱必須有前置字串。沒有選項的預設命名空間。</translation>
</message>
<message>
+ <location line="+171"/>
<source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
<translation>機制匯入功能未支援,因此有 %1 個宣告無法達成。</translation>
</message>
<message>
+ <location line="+13"/>
<source>The target namespace of a %1 cannot be empty.</source>
<translation>%1 的目標命名空間不能是空的。</translation>
</message>
<message>
+ <location line="+8"/>
<source>The module import feature is not supported</source>
<translation>模組匯入功能未支援。</translation>
</message>
@@ -6159,6 +7495,7 @@ Please choose a different file name.</source>
<translation type="obsolete">名稱為 %1 的變數已經在 prolog 中宣告。</translation>
</message>
<message>
+ <location line="+52"/>
<source>No value is available for the external variable by name %1.</source>
<translation>名為 %1 的外部變數沒有可用的值。</translation>
</message>
@@ -6167,162 +7504,202 @@ Please choose a different file name.</source>
<translation type="obsolete">使用者定義的函式的命名空間不能是空的(請試試使用預定義前置字串 %1)</translation>
</message>
<message>
+ <location line="-4154"/>
<source>A construct was encountered which only is allowed in XQuery.</source>
<translation>遇到了建構,實際上只能允許在 XQuery 內。</translation>
</message>
<message>
+ <location line="+118"/>
<source>A template by name %1 has already been declared.</source>
<translation>名為 %1 的屬性已被宣告。</translation>
</message>
<message>
+ <location line="+3581"/>
<source>The keyword %1 cannot occur with any other mode name.</source>
<translation>關鍵字 %1 不能與任何其它模式名稱一起存在。</translation>
</message>
<message>
+ <location line="+29"/>
<source>The value of attribute %1 must of type %2, which %3 isn&apos;t.</source>
<translation>屬性 %1 的值必須為型態 %2,但 %3 不是。</translation>
</message>
<message>
+ <location line="+75"/>
<source>The prefix %1 can not be bound. By default, it is already bound to the namespace %2.</source>
<translation>前置字串 %1 不能被結合。預設它已與命名空間 %2 結合。</translation>
</message>
<message>
+ <location line="+312"/>
<source>A variable by name %1 has already been declared.</source>
<translation>名為 %1 的變數已被宣告。</translation>
</message>
<message>
+ <location line="+135"/>
<source>A stylesheet function must have a prefixed name.</source>
<translation>樣式表函式必須有前置名稱。</translation>
</message>
<message>
+ <location line="+9"/>
<source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
<translation>使用者定義函式的命名空間不能為空白(請試著用預先定義的前置字串 %1)</translation>
</message>
<message>
+ <location line="+9"/>
<source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
<translation>命名空間 %1 已被保留,因此使用者定義函式不能使用它。請試試預定義前置字串 %2。</translation>
</message>
<message>
+ <location line="+12"/>
<source>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</source>
<translation>在函式模組中的使用者定義函式的命名空間必須與模組的命名空間相同。也就是,應該為 %1 而不是 %2。</translation>
</message>
<message>
+ <location line="+34"/>
<source>A function already exists with the signature %1.</source>
<translation>已經有簽章為 %1 的函式存在。</translation>
</message>
<message>
+ <location line="+23"/>
<source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
<translation>未支援外部函式。所有支援的含式可以直接使用而不需要先宣告為外部函式。</translation>
</message>
<message>
+ <location line="+37"/>
<source>An argument by name %1 has already been declared. Every argument name must be unique.</source>
<translation>名稱為 %1 的參數已被宣告。每個參數名稱必須唯一。</translation>
</message>
<message>
+ <location line="+179"/>
<source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source>
<translation>當函式 %1 用於樣式比對時,參數必須是變數參考或字串。</translation>
</message>
<message>
+ <location line="+11"/>
<source>In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching.</source>
<translation>在 XSL-T 樣式內,函式 %1 的第一個參數必須是字串,以便用於比對。</translation>
</message>
<message>
+ <location line="+14"/>
<source>In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching.</source>
<translation>在 XSL-T 樣式內,函式 %1 的第一個參數必須是文字或變數參考,以便用於比對。</translation>
</message>
<message>
+ <location line="+9"/>
<source>In an XSL-T pattern, function %1 cannot have a third argument.</source>
<translation>在 XSL-T 樣式內,函式 %1 的不能有第三個參數。</translation>
</message>
<message>
+ <location line="+10"/>
<source>In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching.</source>
<translation>在 XSL-T 樣式內,只有函式 %1,%2 可以用於比對。%3 不行。</translation>
</message>
<message>
+ <location line="+63"/>
<source>In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can.</source>
<translation>在 XSL-T 樣式內,不能用 %1 軸,只能用 %2 或 %3。</translation>
</message>
<message>
+ <location line="+126"/>
<source>%1 is an invalid template mode name.</source>
<translation>%1 不是合法的樣本模式名稱。</translation>
</message>
<message>
+ <location line="+44"/>
<source>The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide.</source>
<translation>與 for 敘述結合的變數名稱必須與位置變數不同。因此,有兩個名為 %1 的變數衝突了。</translation>
</message>
<message>
+ <location line="+758"/>
<source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source>
<translation>未支援機制確認功能。%1 敘述無法使用。</translation>
</message>
<message>
+ <location line="+39"/>
<source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source>
<translation>未支援 pragma 敘述。因次,必須有預設的敘述。</translation>
</message>
<message>
+ <location line="+267"/>
<source>Each name of a template parameter must be unique; %1 is duplicated.</source>
<translation>每個樣本參數的名稱必須唯一;%1 已經被使用。</translation>
</message>
<message>
+ <location line="+129"/>
<source>The %1-axis is unsupported in XQuery</source>
<translation>XQuery 中未支援 %1 軸</translation>
</message>
<message>
+ <location line="+1150"/>
<source>%1 is not a valid name for a processing-instruction.</source>
<translation>%1 不是處理指令的合法名稱。</translation>
</message>
<message>
+ <location line="-7029"/>
<source>%1 is not a valid numeric literal.</source>
<translation>%1 不是合法的數值。</translation>
</message>
<message>
+ <location line="+6165"/>
<source>No function by name %1 is available.</source>
<translation>沒有名為 %1 的函式。</translation>
</message>
<message>
+ <location line="+102"/>
<source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
<translation>要與前置字串 %1 結合的命名空間網址不能是空字串。</translation>
</message>
<message>
+ <location line="+7"/>
<source>%1 is an invalid namespace URI.</source>
<translation>%1 是不合法的命名空間網址。</translation>
</message>
<message>
+ <location line="+6"/>
<source>It is not possible to bind to the prefix %1</source>
<translation>無法與前置字串 %1 結合。</translation>
</message>
<message>
+ <location line="+7"/>
<source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
<translation>命名空間 %1 只能與 %2 結合(也就是說,要預先定義)。</translation>
</message>
<message>
+ <location line="+8"/>
<source>Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
<translation>前置字串 %1 只能與 %2 結合(也就是說,要預先定義)。</translation>
</message>
<message>
+ <location line="+15"/>
<source>Two namespace declaration attributes have the same name: %1.</source>
<translation>有兩個命名空間宣告的屬性有相同的名稱:%1</translation>
</message>
<message>
+ <location line="+89"/>
<source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
<translation>命名空間網址必須是常數,並且不能使用封閉敘述。</translation>
</message>
<message>
+ <location line="+16"/>
<source>An attribute by name %1 has already appeared on this element.</source>
<translation>名為 %1 的屬性已出現在此元素。</translation>
</message>
<message>
+ <location line="+61"/>
<source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
<translation>直接元素建構器沒有完整產生。%1 以 %2 結束。</translation>
</message>
<message>
+ <location line="+458"/>
<source>The name %1 does not refer to any schema type.</source>
<translation>名稱 %1 未指向任何機制型態。</translation>
</message>
<message>
+ <location line="+10"/>
<source>%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works.</source>
<translation>%1 是複數型態,無法轉換成複數型態。然而,轉換為原型態,如 %2 是可行的。</translation>
</message>
<message>
+ <location line="+9"/>
<source>%1 is not an atomic type. Casting is only possible to atomic types.</source>
<translation>%1 不是一個原型態。只能轉換為原型態。</translation>
</message>
@@ -6331,260 +7708,313 @@ Please choose a different file name.</source>
<translation type="obsolete">%1 不是一個合法的處理指令的名稱。因此名稱測試永遠不會成功。</translation>
</message>
<message>
+ <location line="+145"/>
+ <location line="+71"/>
<source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
<translation>%1 不是範圍內屬性宣告。注意機制匯入功能未支援。</translation>
</message>
<message>
+ <location line="+48"/>
<source>The name of an extension expression must be in a namespace.</source>
<translation>延伸敘述的名稱必須在命名空間內。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="25"/>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
<source>empty</source>
<translation>空白</translation>
</message>
<message>
+ <location line="+2"/>
<source>zero or one</source>
<translation>0 或 1 個</translation>
</message>
<message>
+ <location line="+2"/>
<source>exactly one</source>
<translation>剛好一個</translation>
</message>
<message>
+ <location line="+2"/>
<source>one or more</source>
<translation>一個以上</translation>
</message>
<message>
+ <location line="+2"/>
<source>zero or more</source>
<translation>0 個以上</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="33"/>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
<source>Required type is %1, but %2 was found.</source>
<translation>需要的型態為 %1,但找到 %2。</translation>
</message>
<message>
+ <location line="+44"/>
<source>Promoting %1 to %2 may cause loss of precision.</source>
<translation>將 %1 抬升為 %2 可能會失去精確度。</translation>
</message>
<message>
+ <location line="+49"/>
<source>The focus is undefined.</source>
<translation>焦點未定義。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="56"/>
+ <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+86"/>
<source>It&apos;s not possible to add attributes after any other kind of node.</source>
<translation>不能在任何其它種類的節點後面加入屬性。</translation>
</message>
<message>
+ <location line="+7"/>
<source>An attribute by name %1 has already been created.</source>
<translation>名為 %1 的屬性已被建立。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="90"/>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
<source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
<translation>只支援 Unicode Codepoint Collation(%1)。%2 未支援。;</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="60"/>
+ <location filename="../src/xmlpatterns/api/qxmlserializer.cpp" line="+60"/>
<source>Attribute %1 can&apos;t be serialized because it appears at the top level.</source>
<translation>屬性元素 %1 無法序列化,因為似乎是在頂層。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="284"/>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+314"/>
<source>%1 is an unsupported encoding.</source>
<translation>%1 是個未被支援的編碼。</translation>
</message>
<message>
+ <location line="+16"/>
<source>%1 contains octets which are disallowed in the requested encoding %2.</source>
<translation>%1 包含了在要求的編碼 %2 內不允許的八進位值。</translation>
</message>
<message>
+ <location line="+18"/>
<source>The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character.</source>
<translation>在 %2 內的代碼點 %1(編碼 %3)是一個不合法的 XML 字元。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="89"/>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
<source>Ambiguous rule match.</source>
<translation>不明確的規則符合。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="39"/>
<source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
- <translation>在命名空間建構子中,命名空間的值不能是空字串。</translation>
+ <translation type="obsolete">在命名空間建構子中,命名空間的值不能是空字串。</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/expr/qcomputednamespaceconstructor.cpp" line="+69"/>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
+ <location line="+11"/>
<source>The prefix must be a valid %1, which %2 is not.</source>
<translation>前置字串必須是合法的 %1,但 %2 不是。</translation>
</message>
<message>
+ <location line="+14"/>
<source>The prefix %1 cannot be bound.</source>
<translation>前置字串 %1 不能被結合。</translation>
</message>
<message>
+ <location line="+10"/>
<source>Only the prefix %1 can be bound to %2 and vice versa.</source>
<translation>只有前置字串 %1 能與 %2 結合。反之亦然。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="87"/>
+ <location filename="../src/xmlpatterns/expr/qevaluationcache.cpp" line="+117"/>
<source>Circularity detected</source>
<translation>偵測到環狀</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="115"/>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
<source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
<translation>需要參數 %1,但是沒有提供相關的 %2。</translation>
</message>
<message>
+ <location line="-71"/>
<source>The parameter %1 is passed, but no corresponding %2 exists.</source>
<translation>參數 %1 已傳送,但找不到相關的 %2。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="35"/>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
<source>The URI cannot have a fragment</source>
<translation>URI 不能有片段。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="489"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
<translation>元素 %1 不能在此位置。</translation>
</message>
<message>
+ <location line="+9"/>
<source>Text nodes are not allowed at this location.</source>
<translation>文字節點不能在此位置。</translation>
</message>
<message>
+ <location line="+20"/>
<source>Parse error: %1</source>
<translation>剖析錯誤:%1</translation>
</message>
<message>
+ <location line="+62"/>
<source>The value of the XSL-T version attribute must be a value of type %1, which %2 isn&apos;t.</source>
<translation>XLS-T 版本屬性的值必須是型態 %1 的值,而 %2 不是。</translation>
</message>
<message>
+ <location line="+20"/>
<source>Running an XSL-T 1.0 stylesheet with a 2.0 processor.</source>
<translation>使用 2.0 處理器執行 XSL-T 1.0 樣式表中。</translation>
</message>
<message>
+ <location line="+108"/>
<source>Unknown XSL-T attribute %1.</source>
<translation>未知的 XSL-T 屬性 %1。</translation>
</message>
<message>
+ <location line="+23"/>
<source>Attribute %1 and %2 are mutually exclusive.</source>
<translation>屬性 %1 與 %2 彼此互斥。</translation>
</message>
<message>
+ <location line="+166"/>
<source>In a simplified stylesheet module, attribute %1 must be present.</source>
<translation>在簡化的樣式表模組中,屬性 %1 必須存在。</translation>
</message>
<message>
+ <location line="+72"/>
<source>If element %1 has no attribute %2, it cannot have attribute %3 or %4.</source>
<translation>若元素 %1 沒有屬性 %2,則也不能有屬性 %3 或 %4。</translation>
</message>
<message>
+ <location line="+9"/>
<source>Element %1 must have at least one of the attributes %2 or %3.</source>
<translation>元素 %1 必須至少有屬性 %2 或 %3 其中一個。</translation>
</message>
<message>
+ <location line="+28"/>
<source>At least one mode must be specified in the %1-attribute on element %2.</source>
<translation>在元素 %2 的 %1 屬性中至少要指定一個模式。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="153"/>
+ <location filename="../src/xmlpatterns/parser/qmaintainingreader.cpp" line="+183"/>
<source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
<translation>屬性 %1 不能出現在元素 %2。只能有標準屬性。</translation>
</message>
<message>
+ <location line="+6"/>
<source>Attribute %1 cannot appear on the element %2. Only %3 is allowed, and the standard attributes.</source>
<translation>屬性 %1 不能出現在元素 %2。只能有 %3 以及標準屬性。</translation>
</message>
<message>
+ <location line="+8"/>
<source>Attribute %1 cannot appear on the element %2. Allowed is %3, %4, and the standard attributes.</source>
<translation>屬性 %1 不能出現在元素 %2。只能有 %3,%4 以及標準屬性。</translation>
</message>
<message>
+ <location line="+9"/>
<source>Attribute %1 cannot appear on the element %2. Allowed is %3, and the standard attributes.</source>
<translation>屬性 %1 不能出現在元素 %2。只能有 %3 以及標準屬性。</translation>
</message>
<message>
+ <location line="+13"/>
<source>XSL-T attributes on XSL-T elements must be in the null namespace, not in the XSL-T namespace which %1 is.</source>
<translation>XSL-T 元素內的 XSL-T 屬性必須放在空(null)的命名空間,而不是像 %1 在 XSL-T 命名空間。</translation>
</message>
<message>
+ <location line="+12"/>
<source>The attribute %1 must appear on element %2.</source>
<translation>屬性 %1 必須在元素 %2 內出現。</translation>
</message>
<message>
+ <location line="+8"/>
<source>The element with local name %1 does not exist in XSL-T.</source>
<translation>有本地名稱 %1 的元素在 XSL-T 內不存在。</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="123"/>
+ <location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+123"/>
<source>Element %1 must come last.</source>
<translation>元素 %1 必須最後出現。</translation>
</message>
<message>
+ <location line="+24"/>
<source>At least one %1-element must occur before %2.</source>
<translation>至少一個元素 %1 要出現在 %2 之前。</translation>
</message>
<message>
+ <location line="+7"/>
<source>Only one %1-element can appear.</source>
<translation>只能出現一個元素 %1。</translation>
</message>
<message>
+ <location line="+31"/>
<source>At least one %1-element must occur inside %2.</source>
<translation>至少一個元素 %1 要出現在 %2 之內。</translation>
</message>
<message>
+ <location line="+58"/>
<source>When attribute %1 is present on %2, a sequence constructor cannot be used.</source>
<translation>當屬性 %1 出現在 %2 內時,不能使用序列建構子。</translation>
</message>
<message>
+ <location line="+13"/>
<source>Element %1 must have either a %2-attribute or a sequence constructor.</source>
<translation>元素 %1 必須至少有一個屬性 %2 或一個序列建構子。</translation>
</message>
<message>
+ <location line="+125"/>
<source>When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor.</source>
<translation>當需要參數時,不能透過屬性 %1 或序列建構子提供預設值。</translation>
</message>
<message>
+ <location line="+270"/>
<source>Element %1 cannot have children.</source>
<translation>元素 %1 不能有子元素。</translation>
</message>
<message>
+ <location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
<translation>元素 %1不能有序列建構子。</translation>
</message>
<message>
+ <location line="+86"/>
+ <location line="+9"/>
<source>The attribute %1 cannot appear on %2, when it is a child of %3.</source>
<translation>屬性 %1 不能出現在 %2,因為它是 %3 的子元素。</translation>
</message>
<message>
+ <location line="+15"/>
<source>A parameter in a function cannot be declared to be a tunnel.</source>
<translation>函式內的參數不能被宣告為通道(tunnel)。</translation>
</message>
<message>
+ <location line="+149"/>
<source>This processor is not Schema-aware and therefore %1 cannot be used.</source>
<translation>此處理器不是 Schema-aware,因此不能使用 %1。</translation>
</message>
<message>
+ <location line="+57"/>
<source>Top level stylesheet elements must be in a non-null namespace, which %1 isn&apos;t.</source>
<translation>頂層樣式表元素必須是非空白的命名空間,而 %1 不是。</translation>
</message>
<message>
+ <location line="+48"/>
<source>The value for attribute %1 on element %2 must either be %3 or %4, not %5.</source>
<translation>元素 %2 內屬性 %1 的值必須是 %3 或 %4,而不是 %5。</translation>
</message>
<message>
+ <location line="+20"/>
<source>Attribute %1 cannot have the value %2.</source>
<translation>屬性 %1 的值不能為 %2。</translation>
</message>
<message>
+ <location line="+58"/>
<source>The attribute %1 can only appear on the first %2 element.</source>
<translation>屬性 %1 只能出現在前 %2 個元素內。</translation>
</message>
<message>
+ <location line="+99"/>
<source>At least one %1 element must appear as child of %2.</source>
<translation>%2 必須至少有一個子元素 %1。</translation>
</message>
@@ -6592,11 +8022,13 @@ Please choose a different file name.</source>
<context>
<name>VolumeSlider</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/volumeslider.cpp" line="67"/>
+ <location filename="../src/3rdparty/phonon/phonon/volumeslider.cpp" line="+67"/>
<source>Muted</source>
<translation>靜音</translation>
</message>
<message>
+ <location line="+5"/>
+ <location line="+15"/>
<source>Volume: %1%</source>
<translation>音量:%1%</translation>
</message>
diff --git a/translations/qtconfig_pl.ts b/translations/qtconfig_pl.ts
index cff5eb1..cafc022 100644
--- a/translations/qtconfig_pl.ts
+++ b/translations/qtconfig_pl.ts
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="pl_PL">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="pl_PL">
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/qtconfig/mainwindow.cpp" line="+344"/>
+ <location filename="../tools/qtconfig/mainwindow.cpp" line="+351"/>
<source>On The Spot</source>
<translation>W oknie dokumentu (On-The-Spot)</translation>
</message>
@@ -76,7 +76,7 @@
<translation>Użyj prostego oprogramowania renderującego</translation>
</message>
<message>
- <location line="+74"/>
+ <location line="+79"/>
<source>Over The Spot</source>
<translation>Nad oknem dokumentu (Over-The-Spot)</translation>
</message>
@@ -91,17 +91,21 @@
<translation>W dodatkowym oknie (Root)</translation>
</message>
<message>
- <location line="+455"/>
+ <location line="+466"/>
<source>Select a Directory</source>
<translation>Wybierz katalog</translation>
</message>
<message>
<location line="+17"/>
+ <source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Version %2&lt;br/&gt;&lt;br/&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;br/&gt;&lt;br/&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;br/&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
<source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Version %2</source>
- <translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Wersja %2</translation>
+ <translation type="obsolete">&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Wersja %2</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+6"/>
<location line="+1"/>
<location line="+8"/>
<source>Qt Configuration</source>
@@ -133,12 +137,22 @@
<translation>&amp;Anuluj</translation>
</message>
<message>
- <location line="-577"/>
+ <location line="-578"/>
<source>No changes to be saved.</source>
<translation>Brak zmian do zapisania.</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="-259"/>
+ <source>Desktop Settings (Default)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Choose style and palette based on your desktop settings.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+258"/>
<source>Saving changes...</source>
<translation>Zapisywanie zmian...</translation>
</message>
@@ -809,6 +823,14 @@ p, li { white-space: pre-wrap; }
</message>
</context>
<context>
+ <name>PreviewFrame</name>
+ <message>
+ <location filename="../tools/qtconfig/previewframe.cpp" line="+81"/>
+ <source>Desktop settings will only take effect after an application restart.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>PreviewWidgetBase</name>
<message>
<location filename="../tools/qtconfig/previewwidgetbase.ui"/>
diff --git a/translations/qtconfig_untranslated.ts b/translations/qtconfig_untranslated.ts
index 09f8985..e0f85c3 100644
--- a/translations/qtconfig_untranslated.ts
+++ b/translations/qtconfig_untranslated.ts
@@ -1,9 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0">
+<!DOCTYPE TS>
+<TS version="2.0">
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/qtconfig/mainwindow.cpp" line="+344"/>
+ <location filename="../tools/qtconfig/mainwindow.cpp" line="+202"/>
+ <source>Desktop Settings (Default)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Choose style and palette based on your desktop settings.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+144"/>
<source>On The Spot</source>
<translation type="unfinished"></translation>
</message>
@@ -75,7 +86,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
+ <location line="+27"/>
<source>No changes to be saved.</source>
<translation type="unfinished"></translation>
</message>
@@ -85,7 +96,7 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
+ <location line="+48"/>
<source>Over The Spot</source>
<translation type="unfinished"></translation>
</message>
@@ -100,17 +111,17 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+455"/>
+ <location line="+466"/>
<source>Select a Directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
- <source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Version %2</source>
+ <source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Version %2&lt;br/&gt;&lt;br/&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;br/&gt;&lt;br/&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;br/&gt; </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+6"/>
<location line="+1"/>
<location line="+8"/>
<source>Qt Configuration</source>
@@ -796,6 +807,14 @@ p, li { white-space: pre-wrap; }
</message>
</context>
<context>
+ <name>PreviewFrame</name>
+ <message>
+ <location filename="../tools/qtconfig/previewframe.cpp" line="+81"/>
+ <source>Desktop settings will only take effect after an application restart.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>PreviewWidgetBase</name>
<message>
<location filename="../tools/qtconfig/previewwidgetbase.ui"/>
diff --git a/translations/qtconfig_zh_CN.ts b/translations/qtconfig_zh_CN.ts
index 90d3e6b..63e198c 100644
--- a/translations/qtconfig_zh_CN.ts
+++ b/translations/qtconfig_zh_CN.ts
@@ -1,16 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="zh_CN">
-<defaultcodec></defaultcodec>
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/qtconfig/mainwindow.cpp" line="+344"/>
+ <location filename="../tools/qtconfig/mainwindow.cpp" line="+351"/>
<source>On The Spot</source>
<translation>客户端程序预编辑模式(On The Spot)</translation>
</message>
<message>
- <location line="+157"/>
+ <location line="+162"/>
<source>Over The Spot</source>
<translation>光标跟随风格(Over The Spot)</translation>
</message>
@@ -25,17 +24,16 @@
<translation>输入服务器预编辑模式(Root)</translation>
</message>
<message>
- <location line="+455"/>
+ <location line="+466"/>
<source>Select a Directory</source>
<translation>选择一个目录</translation>
</message>
<message>
- <location line="+17"/>
<source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Version %2</source>
- <translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;版本 %2</translation>
+ <translation type="obsolete">&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;版本 %2</translation>
</message>
<message>
- <location line="+20"/>
+ <location line="+23"/>
<location line="+1"/>
<location line="+8"/>
<source>Qt Configuration</source>
@@ -67,7 +65,7 @@
<translation>取消(&amp;C)</translation>
</message>
<message>
- <location line="-577"/>
+ <location line="-578"/>
<source>No changes to be saved.</source>
<translation>没有变化被保存。</translation>
</message>
@@ -77,7 +75,7 @@
<translation>正在保存变化...</translation>
</message>
<message>
- <location line="-80"/>
+ <location line="-81"/>
<location line="+1"/>
<location line="+38"/>
<location line="+1"/>
@@ -85,7 +83,17 @@
<translation>自动(默认)</translation>
</message>
<message>
- <location line="-38"/>
+ <location line="-222"/>
+ <source>Desktop Settings (Default)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Choose style and palette based on your desktop settings.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+179"/>
<source>Choose audio output automatically.</source>
<translation>自动选择音频输出。</translation>
</message>
@@ -133,7 +141,12 @@
<translation>使用简单的软件渲染。</translation>
</message>
<message>
- <location line="-47"/>
+ <location line="+566"/>
+ <source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Version %2&lt;br/&gt;&lt;br/&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;br/&gt;&lt;br/&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;br/&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-613"/>
<location line="+1"/>
<source>aRts</source>
<translation>aRts</translation>
@@ -810,6 +823,14 @@ p, li { white-space: pre-wrap; }
</message>
</context>
<context>
+ <name>PreviewFrame</name>
+ <message>
+ <location filename="../tools/qtconfig/previewframe.cpp" line="+81"/>
+ <source>Desktop settings will only take effect after an application restart.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>PreviewWidgetBase</name>
<message>
<location filename="../tools/qtconfig/previewwidgetbase.ui"/>
diff --git a/translations/qtconfig_zh_TW.ts b/translations/qtconfig_zh_TW.ts
index 88f9bb0..d55614d 100644
--- a/translations/qtconfig_zh_TW.ts
+++ b/translations/qtconfig_zh_TW.ts
@@ -1,110 +1,158 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="zh_TW">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_TW">
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/qtconfig/mainwindow.cpp" line="344"/>
+ <location filename="../tools/qtconfig/mainwindow.cpp" line="+351"/>
<source>On The Spot</source>
<translation>On The Spot(在輸入處輸入)</translation>
</message>
<message>
+ <location line="+110"/>
<source>No changes to be saved.</source>
<translation>沒有要儲存的變更。</translation>
</message>
<message>
+ <location line="+4"/>
<source>Saving changes...</source>
<translation>儲存變更...</translation>
</message>
<message>
+ <location line="+48"/>
<source>Over The Spot</source>
<translation>Over The Spot(在輸入處提供編輯視窗)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Off The Spot</source>
<translation>Off The Spot(在輸入處下方提供編輯視窗)</translation>
</message>
<message>
+ <location line="+2"/>
<source>Root</source>
<translation>Root(使用根視窗)</translation>
</message>
<message>
+ <location line="+466"/>
<source>Select a Directory</source>
<translation>選擇一個目錄</translation>
</message>
<message>
<source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Version %2</source>
- <translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;版本 %2</translation>
+ <translation type="obsolete">&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;版本 %2</translation>
</message>
<message>
+ <location line="+23"/>
+ <location line="+1"/>
+ <location line="+8"/>
<source>Qt Configuration</source>
<translation>Qt 設定</translation>
</message>
<message>
+ <location line="+22"/>
<source>Save Changes</source>
<translation>儲存變更</translation>
</message>
<message>
+ <location line="+1"/>
<source>Save changes to settings?</source>
<translation>要儲存設定的變更嗎?</translation>
</message>
<message>
+ <location line="+1"/>
<source>&amp;Yes</source>
<translation>是(&amp;Y)</translation>
</message>
<message>
+ <location line="+0"/>
<source>&amp;No</source>
<translation>否(&amp;N)</translation>
</message>
<message>
+ <location line="+0"/>
<source>&amp;Cancel</source>
<translation>取消(&amp;C)</translation>
</message>
<message>
+ <location line="-655"/>
+ <location line="+1"/>
+ <location line="+38"/>
+ <location line="+1"/>
<source>Auto (default)</source>
<translation>自動(預設)</translation>
</message>
<message>
+ <location line="-222"/>
+ <source>Desktop Settings (Default)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Choose style and palette based on your desktop settings.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+179"/>
<source>Choose audio output automatically.</source>
<translation>自動選擇音效輸出。</translation>
</message>
<message>
+ <location line="+34"/>
<source>Phonon GStreamer backend not available.</source>
<translation>沒有 Phonon GStreamer 後端介面。</translation>
</message>
<message>
+ <location line="+4"/>
<source>Choose render method automatically</source>
<translation>自動選擇成像方法</translation>
</message>
<message>
+ <location line="+2"/>
+ <location line="+1"/>
<source>X11</source>
<translation>X11</translation>
</message>
<message>
+ <location line="+0"/>
<source>Use X11 Overlays</source>
<translation>使用 X11 成像</translation>
</message>
<message>
+ <location line="+3"/>
+ <location line="+1"/>
<source>OpenGL</source>
<translation>OpenGL</translation>
</message>
<message>
+ <location line="+0"/>
<source>Use OpenGL if avaiable</source>
<translation>可以的話使用 OpenGL</translation>
</message>
<message>
+ <location line="+2"/>
+ <location line="+1"/>
<source>Software</source>
<translation>軟體</translation>
</message>
<message>
+ <location line="+0"/>
<source>Use simple software rendering</source>
<translation>使用簡單的軟體成像</translation>
</message>
<message>
+ <location line="+566"/>
+ <source>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Version %2&lt;br/&gt;&lt;br/&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;br/&gt;&lt;br/&gt;The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.&lt;br/&gt; </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-613"/>
+ <location line="+1"/>
<source>aRts</source>
<translation>aRts</translation>
</message>
<message>
+ <location line="+1"/>
<source>Experimental aRts support for GStreamer.</source>
<translation>GStreamer 中實驗性的 aRts 支援。</translation>
</message>
@@ -112,318 +160,397 @@
<context>
<name>MainWindowBase</name>
<message>
+ <location filename="../tools/qtconfig/mainwindowbase.ui"/>
<source>Qt Configuration</source>
<translation>Qt 設定</translation>
</message>
<message>
+ <location/>
<source>Appearance</source>
<translation>外觀</translation>
</message>
<message>
+ <location/>
<source>GUI Style</source>
<translation>使用者介面風格</translation>
</message>
<message>
+ <location/>
<source>Select GUI &amp;Style:</source>
<translation>選擇使用者介面風格(&amp;S):</translation>
</message>
<message>
+ <location/>
<source>Build Palette</source>
<translation>建構調色盤</translation>
</message>
<message>
+ <location/>
<source>&amp;3-D Effects:</source>
<translation>立體效果(&amp;3):</translation>
</message>
<message>
+ <location/>
<source>Window Back&amp;ground:</source>
<translation>視窗背景(&amp;G):</translation>
</message>
<message>
+ <location/>
<source>&amp;Tune Palette...</source>
<translation>調整調色盤(&amp;T)...</translation>
</message>
<message>
+ <location/>
<source>Preview</source>
<translation>預覽</translation>
</message>
<message>
+ <location/>
<source>Select &amp;Palette:</source>
<translation>選擇調色盤(&amp;P):</translation>
</message>
<message>
+ <location/>
<source>Active Palette</source>
<translation>啟動調色盤</translation>
</message>
<message>
+ <location/>
<source>Inactive Palette</source>
<translation>停用調色盤</translation>
</message>
<message>
+ <location/>
<source>Disabled Palette</source>
<translation>關閉調色盤</translation>
</message>
<message>
+ <location/>
<source>Fonts</source>
<translation>字型</translation>
</message>
<message>
+ <location/>
<source>Default Font</source>
<translation>預設字型</translation>
</message>
<message>
+ <location/>
<source>&amp;Style:</source>
<translation>風格(&amp;S)</translation>
</message>
<message>
+ <location/>
<source>&amp;Point Size:</source>
<translation>點大小(&amp;P):</translation>
</message>
<message>
+ <location/>
<source>F&amp;amily:</source>
<translation>家族(&amp;A):</translation>
</message>
<message>
+ <location/>
<source>Sample Text</source>
<translation>範例文字</translation>
</message>
<message>
+ <location/>
<source>Font Substitution</source>
<translation>字型替換</translation>
</message>
<message>
+ <location/>
<source>S&amp;elect or Enter a Family:</source>
<translation>選擇或輸入一個字型家族(&amp;E):</translation>
</message>
<message>
+ <location/>
<source>Current Substitutions:</source>
<translation>目前的替代:</translation>
</message>
<message>
+ <location/>
<source>Up</source>
<translation>上</translation>
</message>
<message>
+ <location/>
<source>Down</source>
<translation>下</translation>
</message>
<message>
+ <location/>
<source>Remove</source>
<translation>移除</translation>
</message>
<message>
+ <location/>
<source>Select s&amp;ubstitute Family:</source>
<translation>選擇替代家族(&amp;U):</translation>
</message>
<message>
+ <location/>
<source>Add</source>
<translation>新增</translation>
</message>
<message>
+ <location/>
<source>Interface</source>
<translation>介面</translation>
</message>
<message>
+ <location/>
<source>Feel Settings</source>
<translation>感覺設定</translation>
</message>
<message>
+ <location/>
<source> ms</source>
<translation> 毫秒</translation>
</message>
<message>
+ <location/>
<source>&amp;Double Click Interval:</source>
<translation>雙擊間隔(&amp;D):</translation>
</message>
<message>
+ <location/>
<source>No blinking</source>
<translation>不閃爍</translation>
</message>
<message>
+ <location/>
<source>&amp;Cursor Flash Time:</source>
<translation>游標閃爍時間(&amp;C):</translation>
</message>
<message>
+ <location/>
<source> lines</source>
<translation> 行</translation>
</message>
<message>
+ <location/>
<source>Wheel &amp;Scroll Lines:</source>
<translation>滾輪捲軸行數(&amp;S):</translation>
</message>
<message>
+ <location/>
<source>Resolve symlinks in URLs</source>
<translation>解譯網址中的符號連結</translation>
</message>
<message>
+ <location/>
<source>GUI Effects</source>
<translation>使用者介面效果</translation>
</message>
<message>
+ <location/>
<source>&amp;Enable</source>
<translation>開啟(&amp;E)</translation>
</message>
<message>
+ <location/>
<source>Alt+E</source>
<translation>Alt+E</translation>
</message>
<message>
+ <location/>
<source>&amp;Menu Effect:</source>
<translation>選單效果(&amp;M)</translation>
</message>
<message>
+ <location/>
<source>C&amp;omboBox Effect:</source>
<translation>下拉式選單效果(&amp;O):</translation>
</message>
<message>
+ <location/>
<source>&amp;ToolTip Effect:</source>
<translation>工具提示效果(&amp;T):</translation>
</message>
<message>
+ <location/>
<source>Tool&amp;Box Effect:</source>
<translation>工具盒效果(&amp;B):</translation>
</message>
<message>
+ <location/>
<source>Disable</source>
<translation>關閉</translation>
</message>
<message>
+ <location/>
<source>Animate</source>
<translation>動畫</translation>
</message>
<message>
+ <location/>
<source>Fade</source>
<translation>淡出</translation>
</message>
<message>
+ <location/>
<source>Global Strut</source>
<translation>全域支柱(Strut)</translation>
</message>
<message>
+ <location/>
<source>Minimum &amp;Width:</source>
<translation>最小寬度(&amp;W):</translation>
</message>
<message>
+ <location/>
<source>Minimum Hei&amp;ght:</source>
<translation>最小高度(&amp;G):</translation>
</message>
<message>
+ <location/>
<source> pixels</source>
<translation> 像素</translation>
</message>
<message>
+ <location/>
<source>Enhanced support for languages written right-to-left</source>
<translation>對由右到左寫的語言加強支援</translation>
</message>
<message>
+ <location/>
<source>XIM Input Style:</source>
<translation>XIM 輸入風格:</translation>
</message>
<message>
+ <location/>
<source>On The Spot</source>
<translation>On The Spot(在輸入處輸入)</translation>
</message>
<message>
+ <location/>
<source>Over The Spot</source>
<translation>Over The Spot(在輸入處提供編輯視窗)</translation>
</message>
<message>
+ <location/>
<source>Off The Spot</source>
<translation>Off The Spot(在輸入處下方提供編輯視窗)</translation>
</message>
<message>
+ <location/>
<source>Root</source>
<translation>Root(使用根視窗)</translation>
</message>
<message>
+ <location/>
<source>Default Input Method:</source>
<translation>預設輸入法:</translation>
</message>
<message>
+ <location/>
<source>Printer</source>
<translation>印表機</translation>
</message>
<message>
+ <location/>
<source>Enable Font embedding</source>
<translation>開啟字型嵌入</translation>
</message>
<message>
+ <location/>
<source>Font Paths</source>
<translation>字型路徑</translation>
</message>
<message>
+ <location/>
<source>Browse...</source>
<translation>瀏覽...</translation>
</message>
<message>
+ <location/>
<source>Press the &lt;b&gt;Browse&lt;/b&gt; button or enter a directory and press Enter to add them to the list.</source>
<translation>按下「瀏覽」鍵或輸入一個目錄並按 Enter 鍵來加入列表中。</translation>
</message>
<message>
+ <location/>
<source>&amp;File</source>
<translation>檔案(&amp;F)</translation>
</message>
<message>
+ <location/>
<source>&amp;Help</source>
<translation>說明(&amp;H)</translation>
</message>
<message>
+ <location/>
<source>&amp;Save</source>
<translation>儲存(&amp;S)</translation>
</message>
<message>
+ <location/>
<source>Save</source>
<translation>儲存</translation>
</message>
<message>
+ <location/>
<source>Ctrl+S</source>
<translation>Ctrl+S</translation>
</message>
<message>
+ <location/>
<source>E&amp;xit</source>
<translation>離開(&amp;X)</translation>
</message>
<message>
+ <location/>
<source>Exit</source>
<translation>離開</translation>
</message>
<message>
+ <location/>
<source>&amp;About</source>
<translation>關於(&amp;A)</translation>
</message>
<message>
+ <location/>
<source>About</source>
<translation>關於</translation>
</message>
<message>
+ <location/>
<source>About &amp;Qt</source>
<translation>關於Qt (&amp;Q)</translation>
</message>
<message>
+ <location/>
<source>About Qt</source>
<translation>關於Qt</translation>
</message>
<message>
+ <location/>
<source>Phonon</source>
<translation>Phonon</translation>
</message>
<message>
+ <location/>
<source>About Phonon</source>
<translation>關於 Phonon</translation>
</message>
<message>
+ <location/>
<source>Current Version:</source>
<translation>目前版本:</translation>
</message>
<message>
+ <location/>
<source>Not available</source>
<translation>無法使用</translation>
</message>
<message>
+ <location/>
<source>Website:</source>
<translation>網站:</translation>
</message>
<message>
+ <location/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -436,10 +563,12 @@ p, li { white-space: pre-wrap; }
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://phonon.kde.org&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://phonon.kde.org&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
+ <location/>
<source>About GStreamer</source>
<translation>關於 GStreamer</translation>
</message>
<message>
+ <location/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -452,18 +581,22 @@ p, li { white-space: pre-wrap; }
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;a href=&quot;http://gstreamer.freedesktop.org/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;http://gstreamer.freedesktop.org/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
+ <location/>
<source>GStreamer backend settings</source>
<translation>GStreamer 後端介面設定</translation>
</message>
<message>
+ <location/>
<source>Preferred audio sink:</source>
<translation>預設使用的音效槽</translation>
</message>
<message>
+ <location/>
<source>Preferred render method:</source>
<translation>預設使用的成像方法:</translation>
</message>
<message>
+ <location/>
<source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
@@ -476,6 +609,7 @@ p, li { white-space: pre-wrap; }
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;注意:變更這些設定可能會無法讓應用程式正確啟動。&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
+ <location/>
<source>Please use the KDE Control Center to set the palette.</source>
<translation>請使用 KDE 控制中心來設定調色盤。</translation>
</message>
@@ -483,217 +617,278 @@ p, li { white-space: pre-wrap; }
<context>
<name>PaletteEditorAdvancedBase</name>
<message>
+ <location filename="../tools/qtconfig/paletteeditoradvancedbase.ui"/>
<source>Tune Palette</source>
<translation>調整調色盤</translation>
</message>
<message>
+ <location/>
<source>&lt;b&gt;Edit Palette&lt;/b&gt;&lt;p&gt;Change the palette of the current widget or form.&lt;/p&gt;&lt;p&gt;Use a generated palette or select colors for each color group and each color role.&lt;/p&gt;&lt;p&gt;The palette can be tested with different widget layouts in the preview section.&lt;/p&gt;</source>
<translation>&lt;b&gt;編輯調色盤&lt;/b&gt;&lt;p&gt;變更目前元件或表單的調色盤。&lt;/p&gt;&lt;p&gt;使用產生的調色盤,或選擇每個顏色群組或顏色角色的顏色。&lt;/p&gt;&lt;p&gt;調色盤可以在預覽區中用不同的元件佈局來測試。&lt;/p&gt;</translation>
</message>
<message>
+ <location/>
<source>Select &amp;Palette:</source>
<translation>選擇調色盤(&amp;P):</translation>
</message>
<message>
+ <location/>
<source>Active Palette</source>
<translation>啟動調色盤</translation>
</message>
<message>
+ <location/>
<source>Inactive Palette</source>
<translation>停用調色盤</translation>
</message>
<message>
+ <location/>
<source>Disabled Palette</source>
<translation>關閉調色盤</translation>
</message>
<message>
+ <location/>
<source>Auto</source>
<translation>自動</translation>
</message>
<message>
+ <location/>
<source>Build inactive palette from active</source>
<translation>從啟用的調色盤建立新的非啟用的調色盤</translation>
</message>
<message>
+ <location/>
<source>Build disabled palette from active</source>
<translation>從啟用的調色盤建立新的關閉的調色盤</translation>
</message>
<message>
+ <location/>
<source>Central color &amp;roles</source>
<translation>將顏色角色置中(&amp;R)</translation>
</message>
<message>
+ <location/>
<source>Choose central color role</source>
<translation>選擇中央顏色角色</translation>
</message>
<message>
+ <location/>
<source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available central roles are: &lt;ul&gt; &lt;li&gt;Window - general background color.&lt;/li&gt; &lt;li&gt;WindowText - general foreground color. &lt;/li&gt; &lt;li&gt;Base - used as background color for e.g. text entry widgets, usually white or another light color. &lt;/li&gt; &lt;li&gt;Text - the foreground color used with Base. Usually this is the same as WindowText, in what case it must provide good contrast both with Window and Base. &lt;/li&gt; &lt;li&gt;Button - general button background color, where buttons need a background different from Window, as in the Macintosh style. &lt;/li&gt; &lt;li&gt;ButtonText - a foreground color used with the Button color. &lt;/li&gt; &lt;li&gt;Highlight - a color to indicate a selected or highlighted item. &lt;/li&gt; &lt;li&gt;HighlightedText - a text color that contrasts to Highlight. &lt;/li&gt; &lt;li&gt;BrightText - a text color that is very different from WindowText and contrasts well with e.g. black. &lt;/li&gt; &lt;/ul&gt; &lt;/p&gt;</source>
<translation>&lt;b&gt;選擇顏色角色&lt;/b&gt;&lt;p&gt;可用的中央角色包括:&lt;ul&gt;&lt;li&gt;視窗─一般背景顏色。&lt;/li&gt;&lt;li&gt;視窗文字─一般前景文字&lt;/li&gt;&lt;li&gt;基底─用於如文字輸入元件的背景,通常是白色或其它較淡的顏色。&lt;/li&gt;&lt;li&gt;文字─與基底一起使用的前景顏色。通常是與視窗文字一樣,這樣可以讓視窗與基底都有好的對比效果。&lt;/li&gt;&lt;li&gt;按鍵─一般按鍵的背景顏色,要與視窗的背景顏色不同,就像麥金塔式的風格。&lt;/li&gt;&lt;li&gt;按鍵文字─用於按鍵的前景顏色。&lt;/li&gt;&lt;li&gt;突顯─用於選擇區或突顯項目的顏色。&lt;/li&gt;&lt;li&gt;突顯文字─突顯文字用的顏色。&lt;/li&gt;&lt;li&gt;明亮文字─與視窗文字非常不同的文字顏色。&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;</translation>
</message>
<message>
+ <location/>
<source>Window</source>
<translation>視窗</translation>
</message>
<message>
+ <location/>
<source>WindowText</source>
<translation>視窗文字</translation>
</message>
<message>
+ <location/>
<source>Button</source>
<translation>按鍵</translation>
</message>
<message>
+ <location/>
<source>Base</source>
<translation>基底</translation>
</message>
<message>
+ <location/>
<source>Text</source>
<translation>文字</translation>
</message>
<message>
+ <location/>
<source>BrightText</source>
<translation>明亮文字</translation>
</message>
<message>
+ <location/>
<source>ButtonText</source>
<translation>按鍵文字</translation>
</message>
<message>
+ <location/>
<source>Highlight</source>
<translation>突顯</translation>
</message>
<message>
+ <location/>
<source>HighlightedText</source>
<translation>突顯文字</translation>
</message>
<message>
+ <location/>
<source>&amp;Select Color:</source>
<translation>選擇顏色(&amp;S):</translation>
</message>
<message>
+ <location/>
<source>Choose a color</source>
<translation>選擇一個顏色</translation>
</message>
<message>
+ <location/>
<source>Choose a color for the selected central color role.</source>
<translation>選擇用於選取的中央顏色角色的顏色。</translation>
</message>
<message>
+ <location/>
<source>3-D shadow &amp;effects</source>
<translation>立體陰影效果(&amp;E)</translation>
</message>
<message>
+ <location/>
<source>Build &amp;from button color</source>
<translation>從按鍵顏色建立(&amp;F)</translation>
</message>
<message>
+ <location/>
<source>Generate shadings</source>
<translation>產生遮蔽</translation>
</message>
<message>
+ <location/>
<source>Check to let 3D-effect colors be calculated from button-color.</source>
<translation>勾選以讓立體效果可以從按鍵顏色中計算顏色。</translation>
</message>
<message>
+ <location/>
<source>Choose 3D-effect color role</source>
<translation>選擇立體效果顏色角色</translation>
</message>
<message>
+ <location/>
<source>&lt;b&gt;Select a color role.&lt;/b&gt;&lt;p&gt;Available effect roles are: &lt;ul&gt; &lt;li&gt;Light - lighter than Button color. &lt;/li&gt; &lt;li&gt;Midlight - between Button and Light. &lt;/li&gt; &lt;li&gt;Mid - between Button and Dark. &lt;/li&gt; &lt;li&gt;Dark - darker than Button. &lt;/li&gt; &lt;li&gt;Shadow - a very dark color. &lt;/li&gt; &lt;/ul&gt;</source>
<translation>&lt;b&gt;選擇顏色角色:&lt;/b&gt;&lt;p&gt;可用的角色包括:&lt;ul&gt;&lt;li&gt;淡─比按鍵顏色淡。&lt;li&gt;&lt;li&gt;中淡─在按鍵顏色與淡色之間。&lt;/li&gt;&lt;li&gt;中等─在按鍵顏色與暗色之間。&lt;/li&gt;&lt;li&gt;暗色─比按鍵顏色暗。&lt;/li&gt;&lt;li&gt;陰影:非常暗的顏色。&lt;/li&gt;&lt;/ul&gt;</translation>
</message>
<message>
+ <location/>
<source>Light</source>
<translation>淡</translation>
</message>
<message>
+ <location/>
<source>Midlight</source>
<translation>中淡</translation>
</message>
<message>
+ <location/>
<source>Mid</source>
<translation>中等</translation>
</message>
<message>
+ <location/>
<source>Dark</source>
<translation>暗</translation>
</message>
<message>
+ <location/>
<source>Shadow</source>
<translation>陰影</translation>
</message>
<message>
+ <location/>
<source>Select Co&amp;lor:</source>
<translation>選擇顏色(&amp;O):</translation>
</message>
<message>
+ <location/>
<source>Choose a color for the selected effect color role.</source>
<translation>選擇用於選取的效果顏色角色的顏色。</translation>
</message>
<message>
+ <location/>
<source>OK</source>
<translation>確定</translation>
</message>
<message>
+ <location/>
<source>Close dialog and apply all changes.</source>
<translation>關閉對話框,套用所有的變更。</translation>
</message>
<message>
+ <location/>
<source>Cancel</source>
<translation>取消</translation>
</message>
<message>
+ <location/>
<source>Close dialog and discard all changes.</source>
<translation>關閉對話框,並丟棄所有的變更。</translation>
</message>
</context>
<context>
+ <name>PreviewFrame</name>
+ <message>
+ <location filename="../tools/qtconfig/previewframe.cpp" line="+81"/>
+ <source>Desktop settings will only take effect after an application restart.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>PreviewWidgetBase</name>
<message>
+ <location filename="../tools/qtconfig/previewwidgetbase.ui"/>
<source>Preview Window</source>
<translation>預覽視窗</translation>
</message>
<message>
+ <location/>
<source>ButtonGroup</source>
<translation>按鍵群組</translation>
</message>
<message>
+ <location/>
<source>RadioButton1</source>
<translation>圓鈕1</translation>
</message>
<message>
+ <location/>
<source>RadioButton2</source>
<translation>圓鈕2</translation>
</message>
<message>
+ <location/>
<source>RadioButton3</source>
<translation>圓鈕3</translation>
</message>
<message>
+ <location/>
<source>ButtonGroup2</source>
<translation>按鍵群組2</translation>
</message>
<message>
+ <location/>
<source>CheckBox1</source>
<translation>勾選盒1</translation>
</message>
<message>
+ <location/>
<source>CheckBox2</source>
<translation>勾選盒2</translation>
</message>
<message>
+ <location/>
<source>LineEdit</source>
<translation>行編輯區</translation>
</message>
<message>
+ <location/>
<source>ComboBox</source>
<translation>下拉式選單</translation>
</message>
<message>
+ <location/>
<source>PushButton</source>
<translation>按鍵</translation>
</message>
<message>
+ <location/>
<source>&lt;p&gt;
&lt;a href=&quot;http://qtsoftware.com&quot;&gt;http://qtsoftware.com&lt;/a&gt;
&lt;/p&gt;
diff --git a/translations/qvfb_pl.ts b/translations/qvfb_pl.ts
index ac42503..a5baaed 100644
--- a/translations/qvfb_pl.ts
+++ b/translations/qvfb_pl.ts
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="pl">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="pl">
<context>
<name>AnimationSaveWidget</name>
<message>
- <location filename="../tools/qvfb/qvfb.cpp" line="+824"/>
+ <location filename="../tools/qvfb/qvfb.cpp" line="+850"/>
<location line="+204"/>
<source>Record</source>
<translation>Nagraj</translation>
@@ -249,7 +249,7 @@
<context>
<name>DeviceSkin</name>
<message>
- <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+49"/>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
<source>The image file &apos;%1&apos; could not be loaded.</source>
<translation>Nie można załadować pliku z obrazkiem &apos;%1&apos;.</translation>
</message>
diff --git a/translations/qvfb_untranslated.ts b/translations/qvfb_untranslated.ts
index 0f75227..cc18132 100644
--- a/translations/qvfb_untranslated.ts
+++ b/translations/qvfb_untranslated.ts
@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0">
+<!DOCTYPE TS>
+<TS version="2.0">
<context>
<name>AnimationSaveWidget</name>
<message>
- <location filename="../tools/qvfb/qvfb.cpp" line="+824"/>
+ <location filename="../tools/qvfb/qvfb.cpp" line="+850"/>
<location line="+204"/>
<source>Record</source>
<translation type="unfinished"></translation>
@@ -248,7 +249,7 @@
<context>
<name>DeviceSkin</name>
<message>
- <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+49"/>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
<source>The image file &apos;%1&apos; could not be loaded.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/translations/qvfb_zh_CN.ts b/translations/qvfb_zh_CN.ts
index cbccfe3..d9c816d 100644
--- a/translations/qvfb_zh_CN.ts
+++ b/translations/qvfb_zh_CN.ts
@@ -4,7 +4,7 @@
<context>
<name>AnimationSaveWidget</name>
<message>
- <location filename="../tools/qvfb/qvfb.cpp" line="+824"/>
+ <location filename="../tools/qvfb/qvfb.cpp" line="+850"/>
<location line="+204"/>
<source>Record</source>
<translation>录像</translation>
@@ -249,7 +249,7 @@
<context>
<name>DeviceSkin</name>
<message>
- <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+49"/>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
<source>The image file &apos;%1&apos; could not be loaded.</source>
<translation>图像文件“%1”不能被加载。</translation>
</message>
diff --git a/translations/qvfb_zh_TW.ts b/translations/qvfb_zh_TW.ts
index a48aae4..b789479 100644
--- a/translations/qvfb_zh_TW.ts
+++ b/translations/qvfb_zh_TW.ts
@@ -1,57 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="zh_TW">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_TW">
<context>
<name>AnimationSaveWidget</name>
<message>
+ <location filename="../tools/qvfb/qvfb.cpp" line="+850"/>
+ <location line="+204"/>
<source>Record</source>
<translation>錄影</translation>
</message>
<message>
+ <location line="-202"/>
<source>Reset</source>
<translation>重置</translation>
</message>
<message>
+ <location line="+2"/>
<source>Save</source>
<translation>儲存</translation>
</message>
<message>
+ <location line="+18"/>
<source>Save in MPEG format (requires netpbm package installed)</source>
<translation>以 MPEG 格式儲存 (需要安裝 netpbm 套件)</translation>
</message>
<message>
+ <location line="+8"/>
+ <location line="+206"/>
<source>Click record to begin recording.</source>
<translation>按下「錄影」開始錄影。</translation>
</message>
<message>
+ <location line="-115"/>
+ <location line="+147"/>
<source>Finished saving.</source>
<translation>完成儲存。</translation>
</message>
<message>
+ <location line="-63"/>
<source>Paused. Click record to resume, or save if done.</source>
<translation>已暫停。按下「錄影」可以繼續,按「儲存」表示已完成。</translation>
</message>
<message>
+ <location line="+6"/>
<source>Pause</source>
<translation>暫停</translation>
</message>
<message>
+ <location line="+1"/>
<source>Recording...</source>
<translation>錄影中...</translation>
</message>
<message>
+ <location line="+40"/>
<source>Saving... </source>
<translation>儲存中...</translation>
</message>
<message>
+ <location line="+4"/>
+ <location line="+4"/>
<source>Save animation...</source>
<translation>儲存動畫...</translation>
</message>
<message>
+ <location line="+2"/>
<source>Save canceled.</source>
<translation>儲存已取消。</translation>
</message>
<message>
+ <location line="+9"/>
<source>Save failed!</source>
<translation>儲存失敗!</translation>
</message>
@@ -59,138 +76,172 @@
<context>
<name>Config</name>
<message>
+ <location filename="../tools/qvfb/config.ui"/>
<source>Configure</source>
<translation>設定</translation>
</message>
<message>
+ <location/>
<source>Size</source>
<translation>大小</translation>
</message>
<message>
+ <location/>
<source>176x220 &quot;SmartPhone&quot;</source>
<translation>176x220 「智慧型手機」</translation>
</message>
<message>
+ <location/>
<source>240x320 &quot;PDA&quot;</source>
<translation>240x320 「PDA」</translation>
</message>
<message>
+ <location/>
<source>320x240 &quot;TV&quot; / &quot;QVGA&quot;</source>
<translation>320x240 「TV」/「QVGA」</translation>
</message>
<message>
+ <location/>
<source>640x480 &quot;VGA&quot;</source>
<translation>640x480「VGA」</translation>
</message>
<message>
+ <location/>
<source>800x600</source>
<translation>800x600</translation>
</message>
<message>
+ <location/>
<source>1024x768</source>
<translation>1024x768</translation>
</message>
<message>
+ <location/>
<source>Custom</source>
<translation>自訂</translation>
</message>
<message>
+ <location/>
<source>Depth</source>
<translation>深度</translation>
</message>
<message>
+ <location/>
<source>1 bit monochrome</source>
<translation>1 位元單色</translation>
</message>
<message>
+ <location/>
<source>4 bit grayscale</source>
<translation>4 位元灰階</translation>
</message>
<message>
+ <location/>
<source>8 bit</source>
<translation>8 位元</translation>
</message>
<message>
+ <location/>
<source>12 (16) bit</source>
<translation>12 (16) 位元</translation>
</message>
<message>
+ <location/>
<source>16 bit</source>
<translation>16 位元</translation>
</message>
<message>
+ <location/>
<source>18 bit</source>
<translation>18 位元</translation>
</message>
<message>
+ <location/>
<source>24 bit</source>
<translation>24 位元</translation>
</message>
<message>
+ <location/>
<source>32 bit</source>
<translation>32 位元</translation>
</message>
<message>
+ <location/>
<source>Skin</source>
<translation>外觀</translation>
</message>
<message>
+ <location/>
<source>None</source>
<translation>無</translation>
</message>
<message>
+ <location/>
<source>Emulate touch screen (no mouse move)</source>
<translation>模擬觸控式螢幕(沒有滑鼠移動)</translation>
</message>
<message>
+ <location/>
<source>Emulate LCD screen (Only with fixed zoom of 3.0 times magnification)</source>
<translation>模擬液晶螢幕(只固定縮放 3 倍)</translation>
</message>
<message>
+ <location/>
<source>&lt;p&gt;Note that any applications using the virtual framebuffer will be terminated if you change the Size or Depth &lt;i&gt;above&lt;/i&gt;. You may freely modify the Gamma &lt;i&gt;below&lt;/i&gt;.</source>
<translation>&lt;p&gt;注意,任何使用此虛擬 framebuffer 的應用程式在您變更大小或深度後都會被終止。不過變更底下的 Gamma 值則不會。</translation>
</message>
<message>
+ <location/>
<source>Gamma</source>
<translation>Gamma</translation>
</message>
<message>
+ <location/>
<source>Blue</source>
<translation>藍</translation>
</message>
<message>
+ <location/>
<source>1.0</source>
<translation>1.0</translation>
</message>
<message>
+ <location/>
<source>Green</source>
<translation>綠</translation>
</message>
<message>
+ <location/>
<source>All</source>
<translation>全部</translation>
</message>
<message>
+ <location/>
<source>Red</source>
<translation>紅</translation>
</message>
<message>
+ <location/>
<source>Set all to 1.0</source>
<translation>把所有的值都設為 1.0</translation>
</message>
<message>
+ <location/>
<source>&amp;OK</source>
<translation>確定(&amp;O)</translation>
</message>
<message>
+ <location/>
<source>&amp;Cancel</source>
<translation>取消(&amp;C)</translation>
</message>
<message>
+ <location/>
<source>15 bit</source>
<translation>15 位元</translation>
</message>
<message>
+ <location/>
<source>32 bit ARGB</source>
<translation>32 位元 ARGB</translation>
</message>
@@ -198,47 +249,57 @@
<context>
<name>DeviceSkin</name>
<message>
- <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="49"/>
+ <location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
<source>The image file &apos;%1&apos; could not be loaded.</source>
<translation>無法載入影像檔 &apos;%1&apos;。</translation>
</message>
<message>
+ <location line="+64"/>
<source>The skin directory &apos;%1&apos; does not contain a configuration file.</source>
<translation>外觀目錄 %1 內並沒有設定檔。</translation>
</message>
<message>
+ <location line="+5"/>
<source>The skin configuration file &apos;%1&apos; could not be opened.</source>
<translation>無法開啟外觀設定檔 %1。</translation>
</message>
<message>
+ <location line="+6"/>
<source>The skin configuration file &apos;%1&apos; could not be read: %2</source>
<translation>無法讀取外觀設定檔 %1。</translation>
</message>
<message>
+ <location line="+70"/>
<source>Syntax error: %1</source>
<translation>語法錯誤:%1</translation>
</message>
<message>
+ <location line="+21"/>
<source>The skin &quot;up&quot; image file &apos;%1&apos; does not exist.</source>
<translation>「上」的外觀影像檔 %1 不存在。</translation>
</message>
<message>
+ <location line="+10"/>
<source>The skin &quot;down&quot; image file &apos;%1&apos; does not exist.</source>
<translation>「下」的外觀影像檔 %1 不存在。</translation>
</message>
<message>
+ <location line="+11"/>
<source>The skin &quot;closed&quot; image file &apos;%1&apos; does not exist.</source>
<translation>「關閉」的外觀影像檔 %1 不存在。</translation>
</message>
<message>
+ <location line="+12"/>
<source>The skin cursor image file &apos;%1&apos; does not exist.</source>
<translation>游標的外觀影像檔 %1 不存在。</translation>
</message>
<message>
+ <location line="+25"/>
<source>Syntax error in area definition: %1</source>
<translation>區域定義中有語法錯誤:%1</translation>
</message>
<message>
+ <location line="+38"/>
<source>Mismatch in number of areas, expected %1, got %2.</source>
<translation>區域數量不符,應為 %1,但實際上是 %2。</translation>
</message>
@@ -246,14 +307,17 @@
<context>
<name>QVFb</name>
<message>
+ <location filename="../tools/qvfb/qvfb.cpp" line="-487"/>
<source>Browse...</source>
<translation>瀏覽...</translation>
</message>
<message>
+ <location line="+126"/>
<source>Load Custom Skin...</source>
<translation>載入自訂的外觀...</translation>
</message>
<message>
+ <location line="+1"/>
<source>All QVFB Skins (*.skin)</source>
<translation>所有 QVFB 外觀檔 (*.skin)</translation>
</message>
diff --git a/util/install/archive/archive.pro b/util/install/archive/archive.pro
deleted file mode 100644
index e313a4a..0000000
--- a/util/install/archive/archive.pro
+++ /dev/null
@@ -1,9 +0,0 @@
-TEMPLATE = lib
-CONFIG += staticlib
-CONFIG += qt x11
-CONFIG -= dll
-TARGET = arq
-
-SOURCES += qarchive.cpp ../keygen/keyinfo.cpp
-HEADERS += qarchive.h
-!zlib:unix:LIBS += -lz
diff --git a/util/install/archive/qarchive.cpp b/util/install/archive/qarchive.cpp
deleted file mode 100644
index dd51c65..0000000
--- a/util/install/archive/qarchive.cpp
+++ /dev/null
@@ -1,471 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "qarchive.h"
-#include <qdatastream.h>
-#include <qfileinfo.h>
-#include <qdir.h>
-#include <qapplication.h>
-#include "../../../src/3rdparty/zlib/zlib.h"
-#include "../keygen/keyinfo.h"
-#ifdef Q_OS_UNIX
-# include <sys/stat.h>
-# include <unistd.h>
-# include <sys/types.h>
-# include <utime.h>
-#endif
-
-enum ChunkType {
- ChunkDirectory = 0,
- ChunkFile = 1,
- ChunkSymlink = 2,
- ChunkBeginHeader = 3,
- ChunkEndHeader = 4
-};
-
-static bool createDir( const QString& fullPath )
-{
- QStringList hierarchy = QStringList::split( QDir::separator(), fullPath );
- QString pathComponent, tmpPath;
- QDir dirTmp;
-#ifdef Q_OS_UNIX
- dirTmp = "/";
-#endif
-
- for( QStringList::Iterator it = hierarchy.begin(); it != hierarchy.end(); ++it ) {
- pathComponent = *it + QDir::separator();
- tmpPath += pathComponent;
- if (!dirTmp.exists(tmpPath) && !dirTmp.mkdir(tmpPath))
- return false;
- }
- return true;
-}
-
-QArchive::QArchive( const QString& archivePath )
-{
- setPath( archivePath );
-
- bufferSize = 512 * 1024;
-}
-
-QArchive::~QArchive()
-{
-}
-
-void QArchive::setPath( const QString& archivePath )
-{
- QString fullName = archivePath;
- if( fullName.right( 4 ) != ".arq" )
- fullName += ".arq";
- arcFile.setName( fullName );
-}
-
-bool QArchive::open( int mode )
-{
- switch( mode ) {
- case IO_ReadOnly:
- // Fallthrough intentional
- case IO_WriteOnly:
- if( arcFile.open( mode ) )
- return true;
- break;
- }
- return false;
-}
-
-void QArchive::close()
-{
- if( arcFile.isOpen() )
- arcFile.close();
-}
-
-bool QArchive::writeFile( const QString& fileName, const QString& localPath )
-{
- if( arcFile.isOpen() ) {
- QDataStream outStream( &arcFile );
- QFileInfo fi( fileName );
-
- QFile inFile( fi.absFilePath() );
- QByteArray inBuffer;
- QByteArray outBuffer( bufferSize );
- z_stream ztream;
- bool continueCompressing;
-
- if(symbolicLinks() && fi.isSymLink()) {
- outStream << (int)ChunkSymlink;
- outStream << fi.fileName().latin1();
- outStream << fi.readLink().latin1();
- } else if( inFile.open( IO_ReadOnly ) ) {
- if( inBuffer.resize( fi.size() ) ) {
- outStream << (int)ChunkFile;
- outStream << fi.fileName().latin1();
- outStream << fi.lastModified();
- {
- int perm = -1;
-#ifdef Q_OS_UNIX
- struct stat st;
- if(!::stat(fi.filePath().latin1(), &st))
- perm = (int)st.st_mode;
-#endif
- outStream << perm;
- }
- if( verbosityMode & Source )
- emit operationFeedback( "Deflating " + fi.absFilePath() + "..." );
- else if( verbosityMode & Destination )
- emit operationFeedback( "Deflating " + localPath + "/" + fi.fileName() + "..." );
- ztream.next_in = (unsigned char*)inBuffer.data();
- ztream.avail_in = inBuffer.size();
- ztream.total_in = 0;
- ztream.next_out = (unsigned char*)outBuffer.data();
- ztream.avail_out = outBuffer.size();
- ztream.total_out = 0;
- ztream.msg = NULL;
- ztream.zalloc = (alloc_func)NULL;
- ztream.zfree = (free_func)NULL;
- ztream.opaque = (voidpf)NULL;
- ztream.data_type = Z_BINARY;
- deflateInit( &ztream, 9 );
- if ( inBuffer.data() )
- inFile.readBlock( inBuffer.data(), inBuffer.size() );
-
- continueCompressing = true;
- while( continueCompressing ) {
- if(qApp)
- qApp->processEvents();
- continueCompressing = ( deflate( &ztream, Z_FINISH ) == Z_OK );
- if( !ztream.avail_out ) {
- if( !outBuffer.resize( outBuffer.size() + bufferSize ) )
- qFatal( "Could not allocate compression buffer!" );
- ztream.next_out = (unsigned char*)&outBuffer.data()[ ztream.total_out ];
- ztream.avail_out = bufferSize;
- }
- }
-
- emit operationFeedback( QString( "done. %1 => %2 (%3%)\n" )
- .arg( ztream.total_in )
- .arg( ztream.total_out )
- .arg( int(
- double( ztream.total_out ) / double( ztream.total_in ) * 100 ) ) );
- deflateEnd( &ztream );
- // Now write the compressed data to the output
- outStream << ztream.total_out;
- outStream.writeRawBytes( outBuffer.data(), ztream.total_out );
- }
- inFile.close();
- return true;
- } else {
- return false;
- }
- }
- return false;
-}
-
-bool QArchive::setDirectory( const QString& dirName )
-{
- if( arcFile.isOpen() ) {
- QString fullName = dirName;
- QDataStream outStream( &arcFile );
- if( fullName.right( 1 ) != "/" )
- fullName += "/";
- outStream << (int)ChunkDirectory;
- outStream << fullName.latin1();
- return true;
- }
- return false;
-}
-
-bool QArchive::writeHeader( const QArchiveHeader header )
-{
- if( arcFile.isOpen() ) {
- QDataStream outStream( &arcFile );
- outStream << (int)ChunkBeginHeader;
- outStream << header.mayorVersion();
- outStream << header.minorVersion();
- outStream << header.features();
- outStream << header.description();
- outStream << header.extraData;
- outStream << (int)ChunkEndHeader;
- return true;
- }
- return false;
-}
-
-bool QArchive::writeDir( const QString &dirName1, bool includeLastComponent, const QString &localPath1 )
-{
- if( arcFile.isOpen() ) {
- QString localPath = localPath1, dirName = dirName1;
- if(localPath.right(1) == "/")
- localPath.truncate(localPath.length()-1);
- if(dirName.right(1) == "/")
- dirName.truncate(dirName.length()-1);
-
- QFileInfo fi( dirName );
-
- if( includeLastComponent )
- setDirectory( fi.fileName() );
- QDir dir( dirName );
- const QFileInfoList* dirEntries = dir.entryInfoList();
- QFileInfoListIterator dirIter( *dirEntries );
- QDataStream outStream( &arcFile );
- QFileInfo* pFi;
-
- dirIter.toLast();
- while( ( pFi = dirIter.current() ) ) {
- if( pFi->fileName() != "." && pFi->fileName() != ".." ) {
- if( pFi->isDir() )
- writeDir( pFi->absFilePath(), true, localPath + "/" +
- pFi->fileName() ); // Subdirs should always get its name in the archive.
- else
- writeFile( pFi->absFilePath(), localPath );
- }
- --dirIter;
- }
- setDirectory( ".." );
- return true;
- }
- return false;
-}
-
-bool QArchive::writeFileList( const QStringList fileList )
-{
- for( QStringList::ConstIterator it = fileList.begin(); it != fileList.end(); ++it ) {
- if( !writeFile( (*it) ) )
- return false;
- }
- return true;
-}
-
-bool QArchive::writeDirList( const QStringList dirList, bool includeLastComponent )
-{
- for( QStringList::ConstIterator it = dirList.begin(); it != dirList.end(); ++it ) {
- QString lastComponent = (*it).mid( (*it).findRev( "/" ) + 1 );
- if( !writeDir( (*it), includeLastComponent, lastComponent ) )
- return false;
- }
- return true;
-}
-
-void QArchive::setVerbosity( int verbosity )
-{
- verbosityMode = verbosity;
-}
-
-QArchiveHeader* QArchive::readArchiveHeader()
-{
- QDataStream inStream( &arcFile );
- return readArchiveHeader( &inStream );
-}
-
-/*
- Reads the archive header and returns it on success. If an error occurs, it
- returns 0. The caller has to delete the object.
-*/
-QArchiveHeader* QArchive::readArchiveHeader( QDataStream *inStream )
-{
- int chunktype;
- QArchiveHeader *header = new QArchiveHeader;
-
- *inStream >> chunktype;
- if( chunktype == ChunkBeginHeader ) {
- *inStream >> header->_mayorVersion;
- *inStream >> header->_minorVersion;
- if ( header->mayorVersion()!=1 || header->minorVersion()!=0 ) {
- emit operationFeedback( "Incompatible package version" );
- delete header;
- return 0;
- }
- *inStream >> header->_features;
- *inStream >> header->_description;
- *inStream >> header->extraData;
- *inStream >> chunktype;
- if ( chunktype != ChunkEndHeader ) {
- emit operationFeedback( "Invalid package header" );
- delete header;
- return 0;
- }
- } else {
- emit operationFeedback( "No package header found." );
- delete header;
- return 0;
- }
- return header;
-}
-
-bool QArchive::readArchive( const QString &outpath, const QString &key )
-{
- QDataStream inStream( &arcFile );
- return readArchive( &inStream, outpath, key );
-}
-
-bool QArchive::readArchive( QDataStream *inStream, const QString &outpath, const QString &key )
-{
- QDataStream outStream;
- QFile outFile;
- QDir outDir;
- QByteArray inBuffer;
- QByteArray outBuffer( bufferSize );
- z_stream ztream;
- bool continueDeCompressing;
- QString entryName, dirName, symName;
- int entryLength, chunktype;
-
- //get the key
- QArchiveHeader *header = readArchiveHeader( inStream );
- if ( header == 0 )
- return false;
- uint infeatures = featuresForKey( key );
- if( (header->features() & infeatures) != header->features()) {
- emit operationFeedback( "Invalid key" );
- return false;
- }
-
- // Set up the initial directory.
- // If the dir does not exist, try to create it
- dirName = QDir::toNativeSeparators( outpath );
- outDir.setPath( dirName );
- if( !outDir.exists( dirName ) && !createDir( dirName ) )
- return false;
- outDir.cd( dirName );
-
- while( !inStream->atEnd() ) {
- //get our type
- *inStream >> chunktype;
- if(chunktype == ChunkDirectory) {
- *inStream >> entryLength;
- inBuffer.resize( entryLength );
- inStream->readRawBytes( inBuffer.data(), entryLength );
- entryName = inBuffer.data();
-
- if( verbosityMode & Source )
- emit operationFeedback( "Directory " + entryName + "... " );
- if( entryName == "../" ) {
- outDir.cdUp();
- } else {
- dirName = QDir::toNativeSeparators( outDir.absPath() +
- QString( "/" ) + entryName.left( entryName.length() - 1 ) );
- if( verbosityMode & Destination )
- emit operationFeedback( "Directory " + dirName + "... " );
-
- if( !outDir.exists( dirName ) && !createDir( dirName ) ) {
- emit operationFeedback( "Cannot create directory: " + dirName );
- return false;
- }
- outDir.cd( dirName );
- }
- } else if(chunktype == ChunkFile) {
- *inStream >> entryLength;
- inBuffer.resize( entryLength );
- inStream->readRawBytes( inBuffer.data(), entryLength );
- entryName = inBuffer.data();
-
- int filePerm;
- QDateTime timeStamp;
- QString fileName = QDir::toNativeSeparators( outDir.absPath() + QString( "/" ) + entryName );
- outFile.setName( fileName );
- if( outFile.open( IO_WriteOnly ) ) {
- *inStream >> timeStamp; // Get timestamp from the archive
- *inStream >> filePerm;
- outStream.setDevice( &outFile );
- *inStream >> entryLength;
- if( verbosityMode & Source )
- emit operationFeedback( "Expanding " + entryName + "..." );
- else if( verbosityMode & Destination )
- emit operationFeedback( "Expanding " + fileName + "..." );
- inBuffer.resize( entryLength );
- inStream->readRawBytes( inBuffer.data(), entryLength );
- ztream.next_in = (unsigned char*)inBuffer.data();
- ztream.avail_in = entryLength;
- ztream.total_in = 0;
- ztream.msg = NULL;
- ztream.zalloc = (alloc_func)0;
- ztream.zfree = (free_func)0;
- ztream.opaque = (voidpf)0;
- ztream.data_type = Z_BINARY;
- inflateInit( &ztream );
- continueDeCompressing = true;
- while( continueDeCompressing ) {
- ztream.next_out = (unsigned char*)outBuffer.data();
- ztream.avail_out = outBuffer.size();
- ztream.total_out = 0;
- continueDeCompressing = ( inflate( &ztream, Z_NO_FLUSH ) == Z_OK );
- outStream.writeRawBytes( outBuffer.data(), ztream.total_out );
- }
- inflateEnd( &ztream );
- outFile.close();
-#ifdef Q_OS_UNIX
- QDateTime t; t.setTime_t(0); //epoch
- struct utimbuf tb;
- tb.actime = tb.modtime = t.secsTo(timeStamp);
- utime(fileName.local8Bit(), &tb);
- if(filePerm != -1)
- chmod(fileName.local8Bit(), (mode_t)filePerm);
-#endif
- } else {
- emit operationFeedback( "Cannot open: " + fileName );
- return false;
- }
- } else if(chunktype == ChunkSymlink) {
- *inStream >> entryLength;
- inBuffer.resize( entryLength );
- inStream->readRawBytes( inBuffer.data(), entryLength );
- entryName = inBuffer.data();
- QString fileName = QDir::toNativeSeparators( outDir.absPath() + QString( "/" ) + entryName );
-
- *inStream >> entryLength;
- inBuffer.resize( entryLength );
- inStream->readRawBytes( inBuffer.data(), entryLength );
- symName = inBuffer.data();
- if( verbosityMode & Source )
- emit operationFeedback( "Linking " + symName + "... " );
- else if( verbosityMode & Destination )
- emit operationFeedback( "Linking " + fileName + "... " );
-#ifdef Q_OS_UNIX
- symlink( symName.local8Bit(), fileName.local8Bit() );
-#endif
- } else {
- if( verbosityMode & Source )
- emit operationFeedback( QString("Unknown chunk: %d") .arg(chunktype) );
- }
- if( verbosityMode & Progress )
- emit operationFeedback( inStream->device()->at() );
- }
- return true;
-}
-
diff --git a/util/install/archive/qarchive.h b/util/install/archive/qarchive.h
deleted file mode 100644
index 351a48b..0000000
--- a/util/install/archive/qarchive.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef QARCHIVE_H
-#define QARCHIVE_H
-
-#include <qstring.h>
-#include <qfile.h>
-#include <qstringlist.h>
-#include <qobject.h>
-
-class QArchiveHeader
-{
-public:
- QArchiveHeader( uint feat, const QString& desc=QString(), uchar mayorVer = 1, uchar minorVer = 0 )
- : _features(feat), _description(desc), _mayorVersion(mayorVer), _minorVersion(minorVer)
- {}
-
- uint features() const
- { return _features; }
-
- QString description() const
- { return _description; }
-
- uchar mayorVersion() const
- { return _mayorVersion; }
-
- uchar minorVersion() const
- { return _minorVersion; }
-
- void addExtraData( const QString& key, const QString& value )
- { extraData.insert( key, value ); }
-
- QString findExtraData( const QString& key ) const
- { return extraData[key]; }
-
-private:
- QArchiveHeader()
- {}
-
- uint _features;
- QString _description;
- uchar _mayorVersion;
- uchar _minorVersion;
- QMap<QString,QString> extraData;
-
- friend class QArchive;
-};
-
-class QArchive : public QObject
-{
- Q_OBJECT
-public:
- QArchive( const QString& archivePath = QString() );
- ~QArchive();
-
- void setPath( const QString& archivePath );
- void setVerbosity( int verbosity );
-
- bool symbolicLinks() const { return doSyms; }
- void setSymbolicLinks(bool b) { doSyms = b; }
-
- bool open( int mode );
- void close();
- bool isOpen() { return arcFile.isOpen(); }
-
- bool writeHeader( const QArchiveHeader header );
- bool writeFile( const QString& fileName, const QString& localPath = QString() );
- bool writeFileList( const QStringList fileList );
- bool writeDir( const QString& dirName, bool includeLastComponent = false,
- const QString& localPath = QString() );
- bool writeDirList( const QStringList dirList, bool includeLastComponent = true );
-
- QArchiveHeader* readArchiveHeader();
- QArchiveHeader* readArchiveHeader( QDataStream *inStream );
-
- bool readArchive( const QString &outpath, const QString &key = QString() );
- bool readArchive( QDataStream *inStream, const QString &outpath, const QString &key = QString() );
-private:
- QFile arcFile;
-
- int bufferSize;
- int verbosityMode;
- uint doSyms : 1;
- bool setDirectory( const QString& dirName );
-signals:
- void operationFeedback( const QString& );
- void operationFeedback( int );
-
-public:
- enum {
- NoFeedback = 0x00,
- OnlyNames = 0x01,
- Verbose = 0x02,
- Source = 0x10,
- Destination = 0x20,
- Progress = 0x40
- };
-};
-
-#endif
diff --git a/util/install/configure_installer.cache b/util/install/configure_installer.cache
deleted file mode 100644
index 9427b74..0000000
--- a/util/install/configure_installer.cache
+++ /dev/null
@@ -1,30 +0,0 @@
--disable-table
--disable-iconview
--disable-workspace
--disable-xml
--disable-network
--disable-canvas
--disable-opengl
--disable-sql
--release
--static
--lean
--no-dsp
--no-thread
--no-accessibility
--qt-style-windowsxp
--no-style-motif
--no-style-cde
--no-style-sgi
--no-style-motifplus
--no-style-platinum
--no-big-codecs
--no-jpeg
--no-png
--spec win32-msvc
--saveconfig installer
--D QT_NO_COLORNAMES
--D QT_NO_BEZIER
--D QT_NO_EFFECTS
--D QT_NO_DIRECTPAINTER
--D QT_NO_SVG
diff --git a/util/install/install.pro b/util/install/install.pro
deleted file mode 100644
index 4106453..0000000
--- a/util/install/install.pro
+++ /dev/null
@@ -1,9 +0,0 @@
-TEMPLATE = subdirs
-CONFIG += ordered
-
-SUBDIRS += archive \
- package \
- keygen
-
-win32:SUBDIRS += win
-mac:SUBDIRS += mac
diff --git a/util/install/keygen/keygen.pro b/util/install/keygen/keygen.pro
deleted file mode 100644
index 59daf75..0000000
--- a/util/install/keygen/keygen.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-CONFIG += qt console
-SOURCES += keyinfo.cpp
-keychk {
- TEMPLATE = lib
- TARGET = keychk
- DESTDIR = ../../../lib/
- CONFIG -= shared dll
- CONFIG += staticlib
-} else {
- TEMPLATE = app
- TARGET = keygen
- SOURCES += main.cpp
-} \ No newline at end of file
diff --git a/util/install/keygen/keyinfo.cpp b/util/install/keygen/keyinfo.cpp
deleted file mode 100644
index 9ad5404..0000000
--- a/util/install/keygen/keyinfo.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qregexp.h>
-
-#include "keyinfo.h"
-
-// Magic values
-enum {
- ProductMagic = 0xB292,
- PlatformMagic = 0x5C7E,
- LicenseSchemaMagic = 0xE3B,
- LicenseIDMagic = 0xCE57,
- FeatureMagic = 0x4D5
-};
-
-static const char Xalphabet[] = "WX9MUEC7AJH3KS6DB4YFG2L5PQRT8VNZ";
-static const int XAlphabetSize = sizeof(Xalphabet) - 1;
-
-static QString encodeBaseX(uint k)
-{
- QString str;
- do {
- str += QChar(Xalphabet[ k % XAlphabetSize ]);
- k /= XAlphabetSize;
- } while (k > 0u);
- return str;
-}
-
-static uint decodeBaseX(const QString &str)
-{
- uint k = 0;
- int i = str.length();
- while (i > 0) {
- i--;
- const char *p = strchr(Xalphabet, str[i].unicode());
- if (p == 0) {
- return 0;
- } else {
- k = (k * XAlphabetSize) + (p - Xalphabet);
- }
- }
- return k;
-}
-
-static const QDate StartDate(2001, 1, 1);
-static const uint MaxDays = 4000;
-
-static QString encodedExpiryDate(const QDate &date)
-{
- uint days = StartDate.daysTo(date);
- if (days >= MaxDays)
- days = MaxDays - 1;
- uint x = (days << 7) ^ days;
- return encodeBaseX(x ^ 0x0000beef);
-}
-
-static QDate decodedExpiryDate(const QString &encodedDate)
-{
- QDate date;
- uint y = decodeBaseX(encodedDate);
- uint x = y ^ 0x0000beef;
- uint days = ( (x >> 7) ^ x ) >> 7;
- if (days >= MaxDays)
- return QDate();
- date = StartDate.addDays( days );
- if (encodedExpiryDate(date) != encodedDate)
- return QDate();
- return date;
-}
-
-bool decodeLicenseKey(const QString &licenseKey,
- uint *products,
- uint *platforms,
- uint *licenseSchema,
- uint *licenseFeatures,
- uint *licenseID,
- QDate *expiryDate)
-{
- QStringList licenseParts;
- int dash = -1;
- do {
- int start = dash + 1;
- dash = licenseKey.indexOf('-', start);
- licenseParts.append(licenseKey.mid(start, dash - start));
- } while (dash != -1);
-
- // license keys have 7 fields
- if (licenseParts.size() != 7) {
- // invalid key
- return false;
- }
- QString productPart = licenseParts.at(0);
- QString platformPart = licenseParts.at(1);
- QString licenseSchemaPart = licenseParts.at(2);
- QString licenseFeaturesPart = licenseParts.at(3);
- QString licenseIDPart = licenseParts.at(4);
- QString expiryDatePart = licenseParts.at(5);
- QString checksumPart = licenseParts.at(6);
- QString keyPart = productPart
- + '-' + platformPart
- + '-' + licenseSchemaPart
- + '-' + licenseFeaturesPart
- + '-' + licenseIDPart
- + '-' + expiryDatePart;
-
- // verify the crc
- QByteArray ba = keyPart.toLatin1();
- int crc = qChecksum(ba.constData(), ba.size());
- QString checksumVerification = QString("%1%2")
- .arg((crc & 0xff),2,16,QChar('0'))
- .arg((crc >> 8 & 0xff),2,16,QChar('0'))
- .toUpper();
- if (checksumPart != checksumVerification) {
- // invalid checksum
- return false;
- }
-
- *products = decodeBaseX(productPart) ^ ProductMagic;
- *platforms = decodeBaseX(platformPart) ^ PlatformMagic;
- *licenseSchema = decodeBaseX(licenseSchemaPart) ^ LicenseSchemaMagic;
- *licenseFeatures = decodeBaseX(licenseFeaturesPart) ^ FeatureMagic;
- *licenseID = decodeBaseX(licenseIDPart) ^ LicenseIDMagic;
- *expiryDate = decodedExpiryDate(expiryDatePart);
- return true;
-}
diff --git a/util/install/keygen/keyinfo.h b/util/install/keygen/keyinfo.h
deleted file mode 100644
index 9b3687a..0000000
--- a/util/install/keygen/keyinfo.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef KEYINFO_H
-#define KEYINFO_H
-
-// Products
-enum {
- // the first 10 bits are reserved for Qt editions
- QtUniversal = 0x00000001,
- QtDesktop = 0x00000002,
- QtDesktopLight = 0x00000004,
- QtConsole = 0x00000008,
- QtDesignerOnly = 0x00000010,
- QtReserved1 = 0x00000020,
- QtReserved2 = 0x00000040,
- QtReserved3 = 0x00000080,
- QtReserved4 = 0x00000100,
- QtReserved5 = 0x00000200,
- QtProductMask = 0x000003ff,
-
- // the next 10 bits are reserved for Qtopia editions
- QtopiaPDA = 0x00000400,
- QtopiaPhone = 0x00000800,
- QtopiaRefboard = 0x00001000,
- QtopiaReserved1 = 0x00002000,
- QtopiaReserved2 = 0x00004000,
- QtopiaReserved3 = 0x00008000,
- QtopiaReserved4 = 0x00010000,
- QtopiaReserved5 = 0x00020000,
- QtopiaReserved6 = 0x00040000,
- QtopiaReserved7 = 0x00080000,
-
- // other products get the upper 12 bits
- Teambuilder = 0x00100000,
- Solutions = 0x00200000,
- QSA = 0x00400000,
- OtherReserved1 = 0x00800000,
- OtherReserved2 = 0x01000000,
- OtherReserved3 = 0x02000000,
- OtherReserved4 = 0x04000000,
- OtherReserved5 = 0x08000000,
- OtherReserved6 = 0x10000000,
- OtherReserved7 = 0x20000000,
- OtherReserved8 = 0x40000000,
- OtherReserved9 = 0x80000000,
-};
-
-// Platforms
-enum {
- PlatformX11 = 0x01,
- PlatformEmbedded = 0x02,
- PlatformWindows = 0x04,
- PlatformMac = 0x08
-};
-
-// LicenseSchema
-enum {
- SupportedEvaluation = 0x01,
- UnsupportedEvaluation = 0x02,
- FullSourceEvaluation = 0x04,
- FullCommercial = 0x08
-};
-
-// LicenseFeatures
-enum {
- USCustomer = 0x01
-};
-
-#include <qdatetime.h>
-#include <qstring.h>
-
-/*
- Decodes the \a licenseKey. This function returns true if 1) decoding
- was successful and 2) the checksum matches, otherwise it returns false.
-*/
-bool decodeLicenseKey(const QString &licenseKey,
- uint *products,
- uint *platforms,
- uint *licenseSchema,
- uint *licenseFeatures,
- uint *licenseID,
- QDate *expiryDate);
-
-#endif
diff --git a/util/install/keygen/main.cpp b/util/install/keygen/main.cpp
deleted file mode 100644
index b6eee41..0000000
--- a/util/install/keygen/main.cpp
+++ /dev/null
@@ -1,250 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qfile.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "keyinfo.h"
-
-static void printNewKey( uint features, const QDate& expiryDate )
-{
- QFile in;
- QFile out;
- QString fn;
- char block[10];
-
- fn.sprintf( "next.%.2x", features );
- in.setFileName( fn );
- if ( !in.open(QFile::ReadOnly) )
- return;
- int ent = QString( in.readAll() ).toInt();
- in.close();
-
- fn.sprintf( "table.%.2x", features );
- in.setFileName( fn );
- if ( !in.open(QFile::ReadOnly) )
- return;
- in.seek( ent * 10 );
- in.read( block, 9 );
- block[9] = '\0';
- in.close();
-
- ent++;
- if ( ent == (1 << NumRandomBits) )
- ent = 1; // skip first entry
-
- fn.sprintf( "next.%.2x", features );
- out.setFileName( fn );
- if ( !out.open(QFile::WriteOnly) )
- return;
- QString s = QString::number( ent ) + QChar( '\n' );
- out.write( s.toLocal8Bit(), s.length() );
- out.close();
-
- if ( strlen(block) == 9 && block[4] == '-' )
- printf( "%s%s\n", block, qPrintable(encodedExpiryDate(expiryDate)) );
-}
-
-static QString textForFeatures( uint features )
-{
- QString text;
-
- if ( (features & Feature_US) != 0 )
- text += QString( " -us" );
- if ( (features & Feature_Enterprise) != 0 )
- text += QString( " -enterprise" );
- if ( (features & Feature_Unix) != 0 )
- text += QString( " -unix" );
- if ( (features & Feature_Windows) != 0 )
- text += QString( " -windows" );
- if ( (features & Feature_Mac) != 0 )
- text += QString( " -mac" );
- if ( (features & Feature_Embedded) != 0 )
- text += QString( " -embedded" );
- if ( (features & Feature_Extra1) != 0 )
- text += QString( " -extra1" );
- if ( (features & Feature_Extra2) != 0 )
- text += QString( " -extra2" );
-
- text = text.trimmed();
- if ( text.isEmpty() )
- text = QString( "invalid key" );
- return text;
-}
-
-static QString textForDate( const QDate& date )
-{
- if ( date.isValid() ) {
- return date.toString( Qt::ISODate );
- } else {
- return QString( "invalid date" );
- }
-}
-
-static void reset()
-{
- for ( uint features = 0; features < (1 << NumFeatures); features++ ) {
- printf( "Resetting 'table.%.2x' and 'next.%.2x' (%s)\n", features,
- features, qPrintable(textForFeatures(features)) );
-
- QFile out;
- QString fn;
-
- fn.sprintf( "table.%.2x", features );
- out.setFileName( fn );
- if ( !out.open(QFile::WriteOnly) ) {
- fprintf( stderr, "Cannot open '%s' for writing\n", qPrintable(fn) );
- exit( EXIT_FAILURE );
- }
-
- for ( uint bits = 0; bits < (1 << NumRandomBits); bits++ ) {
- QString k = keyForFeatures( features, bits ) + QChar( '\n' );
- out.write( k.toLatin1(), k.length() );
-
- /*
- We check that the generated keys give access to the
- correct feature sets. This accounts for most of the
- processing time of the function.
- */
-#if 1
- if ( featuresForKey(k) != features ) {
- fprintf( stderr, "Internal error in featuresForKey(\"%s\")\n",
- qPrintable(k.trimmed()) );
- exit( EXIT_FAILURE );
- }
- if ( (features & ~(Feature_US | Feature_Enterprise |
- Feature_Unix)) == 0 ) {
- if ( featuresForKeyOnUnix(k) != features ) {
- fprintf( stderr,
- "Internal error in featuresForKeyOnUnix(\"%s\")\n",
- qPrintable(k.trimmed()) );
- exit( EXIT_FAILURE );
- }
- }
-#endif
- }
- out.close();
-
- fn.sprintf( "next.%.2x", features );
- out.setFileName( fn );
- if ( !out.open(QFile::WriteOnly) ) {
- fprintf( stderr, "Cannot open '%s' for writing\n", qPrintable(fn) );
- exit( EXIT_FAILURE );
- }
- out.write( "1\n", 2 ); // skip first key
- out.close();
- }
-}
-
-int main( int argc, char **argv )
-{
- if ( argc == 1 || (strcmp(argv[1], "check") != 0 &&
- strcmp(argv[1], "new") != 0 &&
- strcmp(argv[1], "reset") != 0) ) {
- fprintf( stderr, "Usage:\n"
- " keygen check <key>\n"
- " keygen new YYYY-MM-DD [-us] [-enterprise] [-unix]\n"
- " [-windows] [-mac] [-embedded] [-extra1] [-extra2]\n"
- " keygen reset\n" );
- exit( EXIT_FAILURE );
- }
-
- if ( strcmp(argv[1], "check") == 0 ) {
- if ( argc != 3 ) {
- fprintf( stderr, "Usage:\n"
- " mkcode check <key>\n" );
- exit( EXIT_FAILURE );
- }
-
- QString key( argv[2] );
-
- printf("Unix check: %s\n",
- qPrintable(textForFeatures(featuresForKeyOnUnix(QString(argv[2])))));
- printf("Full check: %s\n",
- qPrintable(textForFeatures(featuresForKey(QString(argv[2])))));
- if ( featuresForKey(QString(argv[2])) != 0 )
- printf("Expiry date: %s\n",
- qPrintable(textForDate(decodedExpiryDate(key.mid(9)))));
- } else if ( strcmp(argv[1], "new") == 0 ) {
- uint features = 0;
-
- if ( argc < 3 ) {
- fprintf( stderr, "Usage:\n"
- " mkcode new YYYY-MM-DD [features]\n" );
- exit( EXIT_FAILURE );
- }
-
- QDate expiryDate = QDate::fromString( QString(argv[2]), Qt::ISODate );
- if ( !expiryDate.isValid() ) {
- fprintf( stderr, "Date '%s' not in YYYY-MM-DD format\n", argv[2] );
- exit( EXIT_FAILURE );
- }
-
- for ( int i = 3; i < argc; i++ ) {
- if ( strcmp(argv[i], "-us") == 0 ) {
- features |= Feature_US;
- } else if ( strcmp(argv[i], "-enterprise") == 0 ) {
- features |= Feature_Enterprise;
- } else if ( strcmp(argv[i], "-unix") == 0 ) {
- features |= Feature_Unix;
- } else if ( strcmp(argv[i], "-windows") == 0 ) {
- features |= Feature_Windows;
- } else if ( strcmp(argv[i], "-mac") == 0 ) {
- features |= Feature_Mac;
- } else if ( strcmp(argv[i], "-embedded") == 0 ) {
- features |= Feature_Embedded;
- } else if ( strcmp(argv[i], "-extra1") == 0 ) {
- features |= Feature_Extra1;
- } else if ( strcmp(argv[i], "-extra2") == 0 ) {
- features |= Feature_Extra2;
- } else {
- fprintf( stderr, "Unknown flag '%s'\n", argv[i] );
- exit( EXIT_FAILURE );
- }
- }
- printNewKey( features, expiryDate );
- } else {
- reset();
- }
- return 0;
-}
diff --git a/util/install/mac/licensedlg.ui b/util/install/mac/licensedlg.ui
deleted file mode 100644
index a20bd44..0000000
--- a/util/install/mac/licensedlg.ui
+++ /dev/null
@@ -1,134 +0,0 @@
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
-<class>LicenseDialog</class>
-<widget class="QDialog">
- <property name="name">
- <cstring>LicenseDialog</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>582</width>
- <height>531</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>5</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="caption">
- <string>License Agreement</string>
- </property>
- <property name="sizeGripEnabled">
- <bool>true</bool>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QTextView">
- <property name="name">
- <cstring>licenseText</cstring>
- </property>
- <property name="text">
- <string>License text goes here</string>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout1</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <spacer>
- <property name="name" stdset="0">
- <cstring>Horizontal Spacing2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QPushButton">
- <property name="name">
- <cstring>buttonReject</cstring>
- </property>
- <property name="text">
- <string>Reject</string>
- </property>
- <property name="accel">
- <number>0</number>
- </property>
- <property name="autoDefault">
- <bool>true</bool>
- </property>
- <property name="default">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>buttonAccept</cstring>
- </property>
- <property name="text">
- <string>Accept</string>
- </property>
- <property name="accel">
- <number>0</number>
- </property>
- <property name="autoDefault">
- <bool>true</bool>
- </property>
- </widget>
- </hbox>
- </widget>
- </vbox>
-</widget>
-<connections>
- <connection>
- <sender>buttonReject</sender>
- <signal>pressed()</signal>
- <receiver>LicenseDialog</receiver>
- <slot>reject()</slot>
- </connection>
- <connection>
- <sender>buttonAccept</sender>
- <signal>clicked()</signal>
- <receiver>LicenseDialog</receiver>
- <slot>reject()</slot>
- </connection>
- <connection>
- <sender>buttonAccept</sender>
- <signal>pressed()</signal>
- <receiver>LicenseDialog</receiver>
- <slot>accept()</slot>
- </connection>
-</connections>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/util/install/mac/mac.pro b/util/install/mac/mac.pro
deleted file mode 100644
index ad13bea..0000000
--- a/util/install/mac/mac.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-TEMPLATE = app
-TARGET = unpackage
-mac:TARGET = qt-mac-commercial-3.0.0
-mac:RC_FILE = unpackage.icns
-HEADERS = unpackdlgimpl.h licensedlgimpl.h
-SOURCES = main.cpp unpackdlgimpl.cpp licensedlgimpl.cpp
-INTERFACES += unpackdlg.ui licensedlg.ui
-INCLUDEPATH += ../archive ../keygen
-CONFIG += qt
-unix:LIBS += -L$$QT_BUILD_TREE/util/install/archive -larq
-
diff --git a/util/install/mac/main.cpp b/util/install/mac/main.cpp
deleted file mode 100644
index ede85a6..0000000
--- a/util/install/mac/main.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "unpackdlgimpl.h"
-#include "qarchive.h"
-#include <qapplication.h>
-#include <qdir.h>
-#include <qfileinfo.h>
-
-class ConsoleOutput : public QObject
-{
- Q_OBJECT
-public:
- ConsoleOutput() : QObject() { }
- ~ConsoleOutput() { }
-public slots:
- void updateProgress( const QString& str) { qDebug("%s", str.latin1()); }
-};
-#include "main.moc"
-
-static int usage(const char *argv0, const char *un=NULL) {
- if(un)
- fprintf(stderr, "Unknown command: %s\n", un);
- else
- fprintf(stderr, "Usage:\n");
- fprintf(stderr, "%s [options] files...\n", argv0);
-
- fprintf(stderr, "\nOptions:\n");
- fprintf(stderr, " -k [k] : Use k as the key to open provided files\n");
- fprintf(stderr, " -s : Quiet mode, will not output process\n");
- fprintf(stderr, " -h : This help\n");
- return 665;
-}
-
-int main( int argc, char** argv )
-{
- QString key;
- bool output = true;
- QStringList files;
- QApplication app( argc, argv );
- for(int i = 1; i < argc; i++) {
- //options
- if(!strcmp(argv[i], "-s"))
- output = false;
- else if(!strcmp(argv[i], "-k"))
- key = argv[++i];
- else if(!strcmp(argv[i], "-h"))
- return usage(argv[0]);
- //files
- else if(*(argv[i]) != '-')
- files.append(argv[i]);
- //unknown
- else
- return usage(argv[0], argv[i]);
- }
- if(!files.isEmpty()) {
- QArchive archive;
- ConsoleOutput out;
- QObject::connect( &archive, SIGNAL( operationFeedback( const QString& ) ),
- &out, SLOT( updateProgress( const QString& ) ) );
- if(output)
- archive.setVerbosity( QArchive::Destination | QArchive::Verbose );
- for(QStringList::Iterator it = files.begin(); it != files.end(); ++it) {
- archive.setPath( (*it) );
- if( !archive.open( IO_ReadOnly ) ) {
- qDebug("Failed to open input %s", (*it).latin1());
- continue;
- }
- if(!archive.readArchive( QDir::currentDirPath(), key ))
- qDebug("Failed to unpack %s", (*it).latin1());
- archive.close();
- }
- } else {
- UnpackDlgImpl dlg(key);
- dlg.exec();
- }
- return 0;
-}
-
diff --git a/util/install/mac/unpackage.icns b/util/install/mac/unpackage.icns
deleted file mode 100644
index 20139b9..0000000
--- a/util/install/mac/unpackage.icns
+++ /dev/null
Binary files differ
diff --git a/util/install/mac/unpackdlg.ui b/util/install/mac/unpackdlg.ui
deleted file mode 100644
index ba4898e..0000000
--- a/util/install/mac/unpackdlg.ui
+++ /dev/null
@@ -1,330 +0,0 @@
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
-<class>UnpackDlg</class>
-<widget class="QDialog">
- <property name="name">
- <cstring>UnpackDlg</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>678</width>
- <height>337</height>
- </rect>
- </property>
- <property name="caption">
- <string>Install unpacking tool</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout24</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>pixmapLabel</cstring>
- </property>
- <property name="pixmap">
- <pixmap>image0</pixmap>
- </property>
- <property name="scaledContents">
- <bool>false</bool>
- </property>
- <property name="alignment">
- <set>AlignAuto|AlignTop</set>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout23</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>headerLabel</cstring>
- </property>
- <property name="font">
- <font>
- <bold>1</bold>
- </font>
- </property>
- <property name="text">
- <string>Open Qt/CD Package</string>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout22</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout21</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout19</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>destLabel</cstring>
- </property>
- <property name="text">
- <string>Destination path:</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>Spacer12</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Fixed</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>1</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QLineEdit">
- <property name="name">
- <cstring>destPath</cstring>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>destButton</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="pixmap">
- <pixmap>image1</pixmap>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout20</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>TextLabel1</cstring>
- </property>
- <property name="text">
- <string>License Key:</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>Spacer13</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Fixed</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>24</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QLineEdit">
- <property name="name">
- <cstring>srcKey</cstring>
- </property>
- </widget>
- </hbox>
- </widget>
- </vbox>
- </widget>
- <widget class="QTextView">
- <property name="name">
- <cstring>logOutput</cstring>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout4</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <spacer>
- <property name="name">
- <cstring>Spacer1</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QPushButton">
- <property name="name">
- <cstring>unpackButton</cstring>
- </property>
- <property name="text">
- <string>Unpack</string>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>cancelButton</cstring>
- </property>
- <property name="text">
- <string>Cancel</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>Spacer2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- </vbox>
- </widget>
- </vbox>
- </widget>
- </hbox>
- </widget>
- </vbox>
-</widget>
-<images>
- <image name="image0">
- <data format="XPM.GZ" length="30371">789cdd7c594f23cbb6e6fbf9155b27de8e5a716d8c01abd50f600633786286abfb105366da608cb10dc657fddf7bc51ac269a04e517b975abbbb5096fd919991b1e62122f98f7ffd71db6bfff1affff8c774666603f7872bcccb1ffff2f3d1e8fd3fffeb7ffdf73ffe59ad54fe88c7d646e58f8d7ffe8f7ffc53cdff707fa80afe43dc4f782762a30457f1bc394b18cfab19e34dbebf9730ddff2e98eeb72b4cf74f19efd0fdd6248ce77d5730df5f3076747d6811aef2fc3d3fbfcaf3b123c43b429f794a98e6f72898c7cf12a6f97519f378669430ddaf05f3fd2a61babfc398e9332661ba7f2998ef6f244cf4df0bdea0f33963a6df0e13a6f17605d378be92309ecf64fe8ec653fc3ce15fe8264ce38d198b7c5f18333de18cb1cce736e26a925fa831e6f3d95ec278de6ac134df704f58e6935f0ba6f3ee2561baff5c30d1631e18f37cf384f9fe5dc63c7f25f7f3fc4c9bf0063fdf0e180bfd743ed16b4e09cbf5ca3296eb0d63799e62ccf717680f1b69fcbc9730c9eb5630db5f83318f97df244cfab2c758e4b1245c93f9bd32e6e76533c63c9ea7f934d2f58eb15c7f9f30e9478db1e8f73963b14f7a5e6393c7731b11d7aae9fa2163996f3f611aff96b0dcaf7cc278de7519cbfc91dfb586dcef2784e5fe2c4b18cf177b8299bf0bc64caf9b264cf67c2698ae57323e3fdf2d13a6f9cbf8c28f9384c93e503f37abc25ff3cc58c6d38465bce25030db4b9b318faf2e1226fa2f05b37fb9215c677ee846c244df1be33af3eb4130dd5ff0fcea0dd63ff4a79b46e6af34639e8fa3f99a3af3d7e78cebec8f9a8c793c95254cf2ed0866fb1d11deaa32fde8bfeb1b222f7b40b8eed97eee046f3470fea784b7aa3cfebd60a66f91309d7f124cfea5088c991fe199313f2f3f466c923ce8fa447f7e4578ab5aabe2f88e318f674e12a6f17605d3f39d67ccfc513b8299bf4a305d9f3f32e6f915fb82f9fa8b84495f3a82f9fe82f036f3c7d884c9fff604d3f5d99c31cfdf22ffb622bf895f0709d3f3d279a6f79031df1f3619376a28bf7cc998e71b2e05f3f3657c4fd79b09e134df8560be7e85f1fac0e36fb33cec3861badf0a667d183166fdcd0682999f7dc1cc4f94d7569257a810deaed27cb30ee33acd27ef0a267db1778c797cbd2d98c6f7af09d3787dc1747fd64d18cfab0563d607fb9030f1775f308d1f2e12267eed08e6f15b8477449efb82597ff1feed9ae89f191016f9e81dc6cc6fffc058ec792998edf55130c7ff3bc2f2bc6012c6f9fa53c1345fb3c198e5998784897fcf82f9fa2663e66f2ef7337f3deacbb615f9e409f3f89631cfd70f09efb07db93bc1ac9f26619acf89e04d7c5ede66ccf32d0ac63c1fbbcb58f8f396305eef2682e9fa624ab8c1f2c85e04d3f5f655305d1fd0de776a22ff901396f9fbbb8489ff4782999f3b8c99ff99dccffcf655c144af4dd76f1a9caf8cc7fc0e0973be7c4138cdff50308f7fc258ec6b9f31cb571582f97c3761a207ed6fc726fadf0927fd538c79fcec5430d1137a09233de1867183ce671b09e3f9ec9c31dba7ca05337d6f82e97e759a30deef7705d7b1fecb1e090b3f4c9f31d39b6f3266fad43861d2b71661c3fc35178299bf3709d3f58e31f3a358264cfc467b83f4899f5f78c6a2af81b03ccfdf32167db109133f268299dfe709233f6c87b161792e04d3f9fc8471e0e769c1747d1809a6f1dd3161bbc1f16e2298ed7f85e9fe5dc1ccdf47c65b9ccf5e274cfe50c6dfe27c82e76f0d3f6f2b61b2df84e9fa8cf8e7c41ecc0d63d68f6c4ad8883fda13ccf6dc14ccfabe4818c7d35b82693c2798e3697ecf98f96d3a8c997f393f5ff851d88469fcba60f607b384c91f9c31667e8553c11c2f2682891e7d2198e7e304b3fd1c3166fe9aed84299f7a124ce3eb56c2943fee0be6e79d0ba6e7b903c681f3f1b784291e2e05f3f8bb09537d91eee7f8ba9d308d5f25ec581ff553c2347e5330d733370913ffe47ad647779d30c5b7b960be5f9e27fa87f1c26c8abf7433c2a23ff65930f9a3d04998ecafce98edd96f3236ac2f2f8c597fc21be1646f23c12ccf9384493f9560f687d78c591fc28660badf5f254cfe54c6dfa2fb2dcf4ff4c1e582391e68c1accf321ed3139a09533c180ae6f9ed30667df13e61f20f9960ce2f5dc224cf3bc13c9f743fe98bee09667e0f0433fd8709e3fc4c9570d2af79c2a45f23c1acbfd384e9fc9160b68f76c2c4ff743dfbf715a6f3db82997f45c2383f2df363fdd579c2f47c2598e7e712a6f30bc1ccaf9784499fdf0573bc64fe3bf617fa24611a6f28989f374998e2f9bd60ce876a8c59deea3661b2bf9660d6b746c2647f581f1927f1d1927c92ffcc170993bd9d0b26fb53ef8c99beec4a30eb7f4d305def041b8e0fb70953fc6f0b66fdae0a66fd3e4b98e27385b1c487ad84e9f9424fa0fb0be27ff267619630f1e34830e7871b09533ebf2d98e3f1306192f75830ebdb0ad37cde04d37c8ccc87f5cdbd0a6679bd254cf2ac08e67cbd9e30c5a7749ee6a7bb0953feb414ccf9c8ad609a8f67fe893eaa03c1ac8f0f09537ce909e67e712b61f217f78259bf9a09d37cae04d37cf44dc2649fc78cc57f05c1cc9fab8469be323ff657f99e60eea76c264cfac6fcf6ec8f544530c7e71bc19cdfa17ddb941f1686b0f87ff79830e97b8f31d3afb61326ff742598ef3f12ccfafe9630f9537ebef85f35104cd7ab4dc2e25fb34230fb9f61c2c41f2f98f3a5c098fda1bd4a98f44f09e67cad9630e53b5dc1dcff90e7b1feb9b9608e17fb09933dcb7cc43f1e244cf2d910ccfab897303d7f2c98fd914b98eca32598f9bdc224af07c1ccffe384e97c9db1c4d7f384c91e847fac9fc52c61ea0f3d0ae678b69130f1c70ae67a2b4f98e63f15ccfeee2c61cacf593e9ee36d3e4898e6772598e3e546c2d43f60fa3cfb138ffec27ad14f7bcd38b03e1e0bde227eed124efef34530fbc346c2144faa82d93f7704d378f96dc2e43feb8c59ffb271c294bf5c0be6783c4898fc515f30e7579782b99e3e14ccf9da5430cd47a5eb693ec51b63d657b59f30d99f16ccfdac79c2a40f35c1eccf3705b37c9b0993fe9d32967ae03561ca1f841f520fbc244ce7df05b3fe9d254cfe2017ccfeba2598f3efc38449fe5b8445df7425617a9e17ccf30909933def09e6fa649130e9df8e60f65f078c255f2b12a6e76582b9de68264cfe4b0b667f83f1c9d545dfb21bc6e2bf2f05b33e9a84c9deb61973bcb32782b93e550993bf7e12cccf3f12ccfa9f274cfa95c6a3e7bb016396afad274cf1aa10ccf1789430c59b3dc1ec5f2e1326fb9f08667b6f274cf27e15ccf9cb7dc234df343fe65743f0760dcfcf098bbeb8938469fe6782595f6cc224df8160b697a384c97fb60573fed34998ecfd5030e71bd70993bc8d60a24f6f0a66fd784f98e8ed31667d34d709d37c653cd6c7fe2c613aff2898eb519730e9d3a960b6c7b384c95ed378ec5fb384293fdf124cf4e4321efb2bdf4e98e6b32f98eda796309d7f16ccfe238dc7fd50a19ff53d7f154cf32b8e0573be72c798f5d9cc1226ff89fec3adfc4f5f30cbc3264cf181f897fc85ad264cfa9109667fdf10ccf5c4b6601e7f9830c9fb4030e973088c25ffd182b93eab08e678db4a98e623e38bfc6cc2444f2198edad9b30c9f75830cdd79f254cfe49e89778b32798ede730619acfb360b69fbb8429fff082397f6a264cf97a4d30d713070913ff7605733c95e74b3edf4f98f46d2698fb8b8d8469be3b82d9bfcaf8e2bfb612267e907ec3edecefb0bfe7933fc813a6f986bae01d9477fece98e553bc0866fa9a82595f1e0493be646dc13b16714f706313e77bcc58facb7dc12cff4230f1cfba8469bee97e7a5efe96303e4f093decfffd4c30dbc366c224cf5bc1f47c5711ccf6f64c38883fde17ccfafb2898f5f14930cf4fee97fa09f3691f84defc5270c321be232ce3db4bc17cfd91601abf3fd34a1badfeeca7b6dac1f1f1f36707dd5b3afeea3c50164afbdf7c846f1cf1ba4ce770fca6e7525cfccb3cc94b47fa3d9eb33f91e96f9249fcfc2d72c97581fc2d1ff4fbdf2def9fcae577f024c9c17c3ecae759562bbb1968f73b9eff1bede5a31df84f32fad1f5ae74cfdfc15e4abee947b2e1e3935dfdedece56b1ff599df24a7e2837dfdddec65283e0b3e1ff4236ace28da027eb7681378c4dfc3e7283e9d3f1ffe66f6e2f5931ec3cca22ce4f311a87ad613b689917e81c3027ed6d3f81da90e7ceddfc75e6630434fb3433cd673b48348e1ab7ec3dfd1aca3df5ac031d5ef48d192a9fa3bd98b476d899a3644cba6dfcd35c598b7282bd4b017bdabf79092056b6213cefd8dec05789feb7da022cefa000ecec970f616671ced66a10ff51150d142b944998cf1bee3dfe5cb7e8b5c4e60462738a338eb5398f1996eeb8eeec2ec7bbaafcfe1b8d097fa4a5feb1b7d0bbfbfd3f72897785fe577f9b2df622ffbba0a335260d51bba0633ddd475bda5b7f58e6e28ad9432cac26194535e0595a95c156aa086fa4e81f5abc7ffabf18562b7c4ef726c9798f1aa976aa4bbea498dd5b39ac0ac5fd454cdf098a979e988bf9bc2d957f5a616ea5d2dd5ae3e52d186c287677cf46f3ff577dfb11778c2091c43d564dda71c6aa4f6d5813a54477aac5aea589da85375a6da30db0ece79a6bafcd9537d38e678ac288ac7b9bad0dbea525da96b75a35fd5adbad34f30f654eda97ba0700972ab94ea2255ce2dfe84bd60ac56d5c833a1466d002535fda636e1b3aeb6d4b6da01593460f6f338b85130fb3eccba7cccf1137fe07ccf18a42ad2a38c35ce78bd3001bcb8070fff883ecf81d62a93e9efe414dfb517960b5343779a181b4c6e0a5d370333340f2403a4e4118e11ccb49b6413bfa34ccc53a4847fb4c8c88ccdb399981733057b6b452a805371c631875896e5f117ed252bd90b1d2706ee34733534afe6cd2c505f70e6c86b91c3ec8b036563de8916f8a6cdc82ccd2e52f462f64c13e4b36f0ed05bc7383506591dfe8a1ffb99bd4459c801387ad13773645ae6d89c9853a06004735ac2ff239e6dd4b4b25cc45e84a2a865ac89789c01654b944f5bef988ee9aa163c1ba85107fad1f47e947bffb9f892342b03ef5ba82373a896a6af1b668c1cc5d9e00c4dc96fad66bfb29fd5b9deca76e02752f30ebf07eb31e7e6c25c9a2b98e113cc70887941f69dbcfa3bf6122d5e6462aee1730094dc80ad47ddea1a93ac7d8e728832e927bbd125fb50289fbed9859f25caa7079f4857f4064cfdd4dc9a3b736f2a603773736daa5fd53c7fd25ec47f88dd0c74d76c40f48b966cd8024630ab51b215f155fd0f3f2b5bead12752326759aeec6c666a60399ba60e165f355b9f7a09f9a7f97d3fbe440f1933156fb6cd11c864c734924f026aac260aac688b42ea66e2bb30de4cd9cf81fb055b5fd1d7b3265d471c204fddb6d63ad5b21ef3b5396a9bd14f36fc457b89f12466816f68271bca20254bd479b48028934883cdc04769f9ad9adadc16aa61dacada0148f25c35387ac28f1db2cdf430d64ca3ada1762ae4d05439fb602eeda32ddb6d8d8ebf908f3d42461f7d4ad4ae1ba6e4294a0564429ad5b3620fa8253607ffe6ec931ddb673bb12fc6d9a99dd9b97db56f76616a4015c9a967dfc9ee8d66fbd1384e0fa95dda5d885f475cd5c5fae74162cc47dff66d7b79b37bb12eb44dbb0f163fa3d89e62f99cf88bf612e7d780391cd8437b645bf6580ded896e8307afdb537d6fcf74d7b66dc7766dcff6416630963d8f1187c763ef069862e8d05ed84ba02670f6142bba55bd937f96cbcfecc55ec108efa662afed0df033ca44a34c6e55274615e0e4083406754a4dec9dbdb7155bb51bb666376d5d3f002762351cabe8784ced9699da6d90d70ee46fe7e4b36d2346a8e401a2d67560b4a903057706a889d967ac8106a6f7b117fd4bf632b457ceea6be7209ecc536c8fb1503c30ccc216a611d7df5ce67257c08ceb7ae40668b5944f57b0ff7282f8c51cb8a17b708f6e14a36d1c0dc6eda16f331c69e7400b48d93db9b17bc67a7481f9f473c977adf5dfbe155f208b50c76e824fed925f8a76021683f6e25ee273ddd4cddcdc1e47db72affd191eb1c68cd573dea75ecd10e354cced82ba710bf76e5ba6e3966e173517e502f18af30763306b38777bfade35dd3ed4a447585d7fd187fb81bdace7a040b73b5075c82c16e82b3bc94ae66c231da4e4d01db996adb96377e20edca99ebb33d4ed68b1f3943bc4fa3e56d219c6f337d554f7ae0dd474d0766664779441a36f1c459fe8baae67725b03d9bc60b5fdb1b6ca3fdb0b1e94933eb87e9c01f8ae421dd8ba3b77179839aeb214e05ab49b2813c87227ee522df5a17b5bd365a93b629efdecae8092a1de77d7b15ae8cfb8fb3a7637a0bdb7ee2e5203f9c03bc7a6197be8c7c84177ef2a2013b07ae0d0c3daf8d917f6427ac7311ecfbee293ab1021eb6adb6dc47c9e231965f0e2c71ac6ba9adb3447d88d7883fb3efa981357d74f989d6ec0358faae5b6dcb6dbd1bbaae91afa006475e68171187d7a6b791be70bde78eb9df7baa20e809a3c1e31eeadd5a25fc9c521f67aae6a3ee8579f9942ed407d12a3631fe36017eb14f2c01d9fdba9db744db04abfaec3c9de6af0f43ec8057c982ffcc00fcdb97fd057ba03b50a7a5875e31ffdc83fb1a6f5487b25af032ddbf56337078f32f2cfd47beb539f54f2c4757b59e95d406b7d420d83ac01f85dc7a8d2659e75390644ad9efa897ff150d1629f0b3b4bcc89728f1fb20f5581dfeffa999ffb57ec059c5bebdfa0d66fd93d770df71de96bbf70cb186739cef456725133ffee97906d0e40c324beacf2c47f2317b86292f0a369f95d947e47ea77ce8b418ffd9e6ffa7d7dc8bd2eeef2f178abdc76df1d80262dfc813ff4471851a217797177eec1b7fcb1aef80079560b6473e2f7906b7db61b3c50171afed49f41b63976afe5f59b28971fd80bd1dbc4fe6306b20990ddb521a249cdd8e17ae5318e0f1ab1035eb806a3beeadcb7c1b65eb93f1c3ef4f35fc13676fd9befc48a2766291e46f43ddfd757ae0d9ca8b8aa3f572d90cd05663752ddb06ca2c7f197fe0a28bfc67cccb2adacf56b3eca85fdcb84fac2a607fa7d13bd3f669233ae4f204d8cb49885bfd5b7661be24995ebcd917e4e7139875a872263ec9dd56026775126d6f87ba0a50299c254195f051fd65637a0655011fb0d5f3398aba1ec4729e644cfd6f69ba02375b47ea2866a5e27f9d95a7c117b71c8570ffc3a055b78c6917bab5e0a771d1af6ce0d21b69ff82d8ce9867b282f3c56116b501ef35d5ff96db013a024d53694dbbfd80568da0e7021cab6114015b87f20754e4fea9a604015dd9a0ffb54bf7c8aa3312fae20ed6dbda926907529e9ad48561eadd1de071fc2aaee13df82b5fabe3e8e72018d7021b39590636cefa53c9fabaea8a9ee2e146e07e45bd10f611086e101ad739ee2ff0873804e78f4fb9019e51885b98e11b994ec25acc518879960fc7e1646d187a56cbe97783a855cb8e20ab0c44ac967d138735d094f668becc7b5c3d82ed0e2a977b694aa2cc65ea4c886e710d76580dfe1c56c3acc2ab99f26fd9b1ed6002f7aea4e308f18fd582ea2e3bcb2e0c8a785a9de420fba92c923ca680e75dfa1ad8659085fac41eeebaa6f433d089484cc8dc31c2999c6f824b5096792317e4c6d115ec31b64afc04de3752f2c4c1b3d739f7d18710146b1d16752a6bada37f0d15e42d2f1f87d17b48c74b2e3fba8bdc29f3e575c51c38eec86b6ee15f5777d0df2186af413ec06dec1ccded1a3a74a9a7361c98d63e6d50ecbb0abcf30568cc25e68725f64955bcca94b13f621c68c29bf13fb4e3d22918bec4f21dec61a215e39801c6b0746eda69e17c9e509463d0887e08d69edd1acc513f202d10b6f8571a078b2aa4b34e5c258ffe8c8f3d0b26ffa1c72805dd4fb03530fc75827cd52a48cf97f23d20279d9d0676cfdd223fa185f5672c9d15e9e5d5c8570fa309cacf5ea492e9017db853d0ea7509f288ec3ebebf96390ed9d3f349370861e76c4d9e8aada22cb9e9953bbf0037b165ef400b21cef6277af65261fe4d2a72810da6e6ce6b4729b8eec47f60287c3fa3aae750d744fe9558715e3f163d4319b878e1b834f99637d62573a8bf6f6a8a721f383701429095dee6f18d632d219ccb3cc69e8f937a89e15f790632c72c0fb138ca95ce5518f07fe9f9a5ae8bbc8ede8cbe479c32fea9750f663c09f0cb2c53e752a520f92e5a21ae1dc9eb8377706b9ebf843fc0dfa28ecf9c37011bd46e8a2adcf57f2e0efd12f15e112b470007695e926f67ab0e60cd370156351eaf3cc531c005b0ad72897951ffbaaae74124bd977cff500bed8d298e2913ba66d8e751beaf89c471baa1a64a2b462a7205778f347d89f8db5dbaa53f4245dc068296e37dc845bb0b9f8ec26e8fd84c601ca0ef59569f3733b29fb47efed2ec31dead000e79a7faa5f441ed3241bf2110b7d6907eb7acb5e32ae971c81740bc871e15a7f4ef527d62eefb692e2c988fd955af531639f42f5c37da884aaadc62e2bd635919a3713ab35d050b389b4248fac648dc0860d35c28a2ce6e68a7de75772615a396b8ffb262e14adf890a58a5c80163b05ef48757cd4f327904b0572e1a52ff455c8a91f917afd7d96498f7a9d51f7432d6c86ba83fc0ae49f61a536d1e3b015edc61c85ed923ecc1225605fe638468275b9acd98be4612297b8badd8c7a6f5fd85ee66b7201fee8d8ef7a028d8add8809d4ed077165cef8b01176205b99829dee52fe51f65da9d3ba5473b76b17a1117ca6dd75a6dcb5012b06b92cd51ef8b44b940bd9a9746823771aba0e7975e4f49473f12fea17c9a522addce574516fb10a5bb37efc3cb7737d1f7d9dd4ed99864aebc0bf6506b36a8331fec92ce3ac4526b246063876d267e6c12e329b454f53852a3aae50417e0eb1edda76504729779ba57c3946e829cbc5fec05ec4ffb8642f16f7af1c41ede2d7ec85bec7dee4ab3d83da9ef28421e8fbd4ec43a5c573b0641bd2fbef97ee979e7e0fbd024497ccab56d452b2393d527ba69285d0c23ae99db8881519dc9d65901390bda8926d7f968b4bb4e2dea1e0f4bb7b5081abafa7922f03bd8358dd056f7c021a36027e36a3efcaf2e849e37a0c75c8b9472c3e6cae646d997cfb082bbb76b8cc0a15fbc5b1eb01f9023cb7930d62af9cf3a555be305517d990fc5869cdeeabfa6525972718d9417cddd5b7d90366aca9eec6181cabbc8e6deb26f820a01c7cd93344c60baab4b86fdfe3da6396a2c3aabfd251abd5898e2dcc4656e87bf44b316f18b8b1da89fd25be66657553d7710f1c5fcaf5d65775a54d7e6c14d75c60f46ef6489911d65f31f3884f889588331dd7a44a1a34e4de0f5126ef19d5e71df263e493b15b2c729aa7be1755da5dccc8c6d91368d61862d4abe9857eacfa639f9a7433c5ff69f69c4df451796fed0fea7d5fb21792d1d29e652f54a1336f7b69d5e5458d6d136b4888d9d934c3d5225ecb33680b86b57cce1e6dc9155869ed2c5597e7d91c624aecb32ccd912a40c273a99295746566669cbd8266bfa3bdacf5f3d6e3cb87ded824f62ea1deaf676f7609baab793dbec73d32f0b9d9227b87ba33a0576e674bf0a253dff515f23d7668a81ad6e4b1c23df2b7875c794c3d96b9f428d5b9996443d0835d37771750d38c582fbbc88579b617bd58d8f04558ed39a73ecc677b29d7d04ddc21528b39ab9f664deebeaed61fe77185c2f6ed04eafddd787d063eccda2841388319b1352c8ba853e350c90e541b65d043cdfab0fe8ff9e73968da21d84303fb4a587db15ce2d51de0df5bb0196958d956febd5ce27e87107517e47397b5386b2f5113addf1676273b768bd879028a3aee363b092d8c92185da43e518dec343bcbda5927eecd40aee8b49eb9ea81c61d3f8dac9bf5b27e94a1ea82bd3c81749eb8dee982269c6717e0911e925c065ff4c7a4672972910a0b6a18d5ca2ed38a0279d7a5e4b9ea2cbb72efd8bb0fba65b7dc83b5907b507f4b6ac653d0c56b5b75adec06b2b4f65ac495b57ed65ad0a4dbec2ebb4fde4e5610694de6d4df6615b39d5591eb71be94937d5cafcccb7d798e3539d4ec55fde2c6fe926c99b30feca5609d77ee46b615ed4ac5cab565cf20d3bfc1fc784e76a26cb611c6b1fef475bb9159a4a6c375ea6a5502e41c3f2daf21dbf89dd7a171ad3a7eeff84bbb1d3b4aa02f2bb92c3ef593cbbde4d551c96a66cb5f679b5907fd8ae1ce03ae609977177d703be647591db2ca273dcbb6eca9bb858ab340df14b5700111745b2b739ded649048678d70b956a74aff6b1ebd0266d0144f9e56392073a5611739a457b1f64c75ac43b97c692f5fadd1c2f7766ec01aa7e099240e477fcbeb24666167fa1ad74162edd2f43bee36b77600740c2037b8ca1ddb2079d0fbdce741d68dd2ea395394728bd5aa2e69d83b543b4bdbd135ea11c5fe9bb9ce33ac81eda7fed8bfdb0bb3e7e6507f377005ff4cc9ea1b652173f3e03a61accf621755dd466af2dc1fe64578cd0b7de176f4301f60cd18f3ad984fdce7431b57fa67f9431c09d76ce71f7e66bc262d786a8bfc517720371ee37e67de97f355dcffc97aa5f3ad7c943fc59eb239438f3ac79c8b346266f37c6c3bfe512f6c8027eceb51fe9c4ff2977c9acf207b1fc7da249f47bd066a9af9ab6de66f26faef6959db64f6a55ee58c8fe819cff385b9d2afae1afba0e5b5b75fdc0f6383cbdff325ae26d18e84954fa3194cf35d3f024ddbc5950bf035fa31df833a6317f78a7bcc748690819e00356f20e7f7bc692631b67247efa35c5639f99cc7dfb7d15756f3038c00e26fffc4fa3e2866dd2f9d46be3d96e2367a68dcfb31ce0ffd223f522d3d7655ebb16e1f415d72e5fa9cad56f29699e1ea858218719f0d7d1fb3a325f6db3ec946aaebf89bfc383ff10d57cd4fb117baaa5dfec4fabedf32f3fc2c6fa7ae9d64f39c57c55cd316609daffadae4b8feeeb1e68c4f8b1d9f937c90774026201f57c59a27f65a1a7937ef7177f58b1fee6dcea0fe9ce833983dad1b0cd7d6773ed52f3f5bdf071b98e7fdec5aeff09a56bfbc36127d90c5d565bfe73bf979d0612fee61716fdaab235ac1cd5b489d41b9c41ed8c86ce617f9657e8571eb0b7b419b8433f9757e93df86a95404257bc97fdd5edc993b7067603377f9bda9513ce6b58719c750ac35719744ecc6297f05b54d17eabf297618e23a7e8d570e21f7d683bc12776ee5d5bccb31fe4b4b61aaa05acb376c3b4cf31aae70ad7a969fde79fae67efe870c94df17f9a69f8864d866651db3c73a1ebd9376f7793ddfb2ceb55c966fd37b30aa15ac6dbaa16965d6f4f31dbf0779d78c7a66dca3e5ff45e6c96e629c6ca865cc1fb06f67535cc9b11a34dfb7173d2d347c8ef34aa1cc5d5ce9a748873b2464ef7479271b3c5d5933b437766c0f0b53d8b8a73ff7852b7c5e140122efb9dc93fce267c994f69a9b36d4b147660a5ee309bc89f48c547acfe9dbf1450fb2a3108a4c5b0741ab2828a78abb7153964879f43b579f1df4b610e1a0fe7d80cc14324e13a93bc5a88254f07e1aea03947b2df33599509c891c3bcf16c5c0e4295f5cbdff97ff4a7cc92b51ba50cb8174a192857cd7d3feaeceaa5faf569dc08f3d97d52751bd4499aa5437764be70c57f6eb72e96176709e0db289e9adadef97d7bfbfb7df12ac1577509df9cccc8b61f1503cc60c4d7520475baed6e1d3a1a973b1c220b1f7555d2c14a34c70df56c956cc67b9c40a0f57fd4c3102aeaef6c39472c8efda4bf1640edd1ba4a5afd8d7b7c5389bd85d3354ab370f64cd57e423bb3ffac98ed6f6c2727642f5c957d1fed39e73c84741678be762f2e3f72fbe135fc02bbfe94198e18ade89aeda601f8b177b01c1f701ede691a36757a5fdc93273a89687f0437d8c1eea3ef668d25adb135fc7ab4df9f5ca76d6fa01408d392fa621d3cbd27af52fc7976266afccb68dd1ead5548b79f15abc4134bcb5b3624135e79a5c64c5a4b4237e8dc7e2f7a45b245dc0598cf1c53bbe75f2c18f41ec2fecd2765d139ebbeae5add6e3be6f2feb07af69066f5e6dc5edb92e76034b3ba4d63cacac3ab0ccb8e2ed49bdc2fe2feee19de6c77692df1605afdca4ddbfe0e121532e96c56eecfbb8abd2bcd6d6afbff9bed8873ddbd8c11ee823b793efe5c322147bf8ce08e51dbd354ad67a2ed8555a96282699a1fee4fbf9893e0bdeb66d0f3ba043eccecca21f377be602df9c1bf3be832fdf77feeefb626bc718fb9a0bc82a5aa0bfdda2e9ad1fbb0d7e07866a68b8d036e0476a51a62cfe1e7e4cb60776d3c1cca7e196c57ebeb04ddf88556f981607be1375379e233afd4d7e84fbfb2771cfc5c7daf717e2cbea28d70bf89661dc03696b7925abb87161fc6b71684eb19335fb20978fbe8adf1b330d7f691750fd76a0d28a6ba49043e73575658f7c07f7484c43cb2efd8d3e044af64a7bc6bf7a9fecdbef579679c1fb8da75071c5aea9cba02cd01093ad0bd5bcee5fc3a35de2cef0cf6fbf51be36552fa696358ba3a265b78b634dbbb6a03e811a3ed30fb666a6c5897d500a65728276f2cefb6c3cf661d6de49ff95f8f28907f8562eee9d7cc1b7d30edc89f7902bb57dcbb4f2bedfb72f763fec17a7a16d6a10552de62f0dbf9765eac27582c95ec3866b9a695681fc5bc55c1a2aad83ac1673ab980b63b5362946104fa6d177018e32996325365e9b4fbe2e979fda4be96f8cd0de08de0bfe8c3dc4d81f3bf0cff6d1d68b335ff719e408d3a8156ea896a15fb4dd65d8283af9c84ef3ad6ce81eec76dc091fee62050db1eb153e1f78a6588fe2f717bd28ba6e1fbd70c03d0443f23af4fed89fb4972ffe860856c0633d51b8a21d77a7d13a7ffc1ebd2444d4b8b30d321e9787eb70a74676c3b5ed861a853b5b8bab54402d7720788d4bdebec6bd9eb8a3788cbb8097f15335b1371af7342fb97bbfeecbbe1f5f3efcfd971ffa384b33e3fd2ab2cf6b547a3772fdefc394df975cffbdfba0176bf7fd689ebf602f3ffefb2eb8a383726afc8cbc9d970ea1eed367ead9afafa5acf759fedddfc658c3bff43ef217b259eb8508ef429a256910bdb35fbeaf1caf655fe62aa7b069afc1577f0ba8ac2b097f3bbee45fcac77f88bbab73eb7f2b21603f7efae93e1977d5835cf556567b3ecbfb6cdc9a4e7c8a31dfccc7f28fb25993cb0ffe46d257f1794d8683d55e8f8fcff918db4a357e19af8dfb4db9145ff0bf2cb3affe3eccc7fb0b5d5e4f7022aff535948fbee9836d7c96c9afd5fbf1f3447f5ea359f1245b7b3756d610e327fdd588d21bc072be7c7cf25bf4bc75b9969e9be402d7153decf7ff8abdacf3f48b7764b42af9a2c873c76fedacbfcffc950c3ffba7b2dd7c96fd4a4e701d50b22697efe6c8bf92b77dd4f9ef9effd1f3beb4a1b2effb7e7cf97fe2f84d7f7fec6ff1f9ff955cfef7fffcc7ff011f3a1368</data>
- </image>
- <image name="image1">
- <data format="XPM.GZ" length="1085">789c5dd0cd6ee2301000e03b4f11911b5ad1189290a8da0324a5e90f29941e2aadf6e0d84ea10d1020849ad5befb7a3cceaa29e2e06f663c33ce55cf7a9dcfacde55e758d16acd2cb6a207abc74f9b8dfcf5fbe79f4e97f896fabb8145ba3f3addbec5ac74b715704ed5d9769c01cb73e0423368f80224c190e53e70091c389e83d98366e83942679f0c43cc7e0087c4f3307b63c8b1d559337459c6810f48df137aab49436c750f748917320f78418e4cf65993fa04b33572c4313b067a039f333de80e39e238680ff4d5d2581c69d2c0c3ad8e0db1f30619127cd1dcd00c7a4452824c80a321359d73cd8c129c1b1b0acc726030a414b31299f9989d1952a4d0ccc23073819f861c973c2133d3b904aacf6ceeda9a8c12bc5b219929de21f9005900a99bf9f8e9a8a159728a5477f5d77847367719305373b1788b14668d4c9337d95b2437ef5d03b9c84df10a28fc866fc05c9522fbf0b369c6b8d0c7ffb1fc6db57effb0bfc68acd7657ee0fedba63599dea73d18a7dca525ec6ed3aa16293a81d2bf232beb1bfc578d58a416731ad641da95381b1e3f496ca939432c9f3bb7b8c450f8fb39994b18c93493a36fda2a7b9aa8ae3e4b278b69b192aa822499dc2d6cddc68b94ff697f46c7fdd255ad6f5e2dbdbfac7c3cbd8ecf7f7baf30f538f0154</data>
- </image>
-</images>
-<connections>
- <connection>
- <sender>cancelButton</sender>
- <signal>clicked()</signal>
- <receiver>UnpackDlg</receiver>
- <slot>reject()</slot>
- </connection>
- <connection>
- <sender>destButton</sender>
- <signal>clicked()</signal>
- <receiver>UnpackDlg</receiver>
- <slot>clickedDestButton()</slot>
- </connection>
- <connection>
- <sender>unpackButton</sender>
- <signal>clicked()</signal>
- <receiver>UnpackDlg</receiver>
- <slot>clickedUnpack()</slot>
- </connection>
-</connections>
-<slots>
- <slot>clickedDestButton()</slot>
- <slot>clickedUnpack()</slot>
- <slot>destroy()</slot>
- <slot>init()</slot>
-</slots>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/util/install/mac/unpackdlgimpl.cpp b/util/install/mac/unpackdlgimpl.cpp
deleted file mode 100644
index 5538f4d..0000000
--- a/util/install/mac/unpackdlgimpl.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "unpackdlgimpl.h"
-#include "licensedlgimpl.h"
-#include "keyinfo.h"
-#include <qdir.h>
-#include <qfiledialog.h>
-#include <qlineedit.h>
-#include <qtextview.h>
-#include <qpushbutton.h>
-#include <qarchive.h>
-#include <qmessagebox.h>
-#include <qregexp.h>
-#include <qapplication.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-UnpackDlgImpl::UnpackDlgImpl( QString key, QWidget* pParent, const char* pName, WindowFlags f ) :
- UnpackDlg( pParent, pName, f )
-{
- destPath->setText( QDir::currentDirPath() );
- if(!key.isNull()) {
- srcKey->setText(key);
- } else if(QFile::exists( QDir::homeDirPath() + "/.qt-license")) {
- QFile lic( QDir::homeDirPath() + "/.qt-license");
- if( lic.open( IO_ReadOnly ) ) {
- QString buffer;
- while( lic.readLine( buffer, 1024 ) != -1 ) {
- if( buffer[ 0 ] != '#' ) {
- QStringList components = QStringList::split( '=', buffer );
- QStringList::Iterator it = components.begin();
- QString key = (*it++).stripWhiteSpace().replace( QRegExp( QString( "\"" ) ), QString() );
- if(key.upper() == "LICENSEKEY") {
- QString value = (*it++).stripWhiteSpace().replace( QRegExp( QString( "\"" ) ), QString() );
- srcKey->setText(value);
- }
- }
- }
- lic.close();
- }
- }
- connect( srcKey, SIGNAL( textChanged( const QString& ) ), this, SLOT( licenseKeyChanged() ) );
- licenseKeyChanged();
- logOutput->setWordWrap( QTextView::WidgetWidth );
- logOutput->setWrapPolicy( QTextView::Anywhere );
-}
-
-void UnpackDlgImpl::clickedDestButton()
-{
- QString dest = QFileDialog::getExistingDirectory( destPath->text(), this, NULL, "Select destination directory" );
- if (!dest.isNull())
- destPath->setText( dest );
-}
-
-void UnpackDlgImpl::clickedUnpack()
-{
- QArchive archive;
- connect( &archive, SIGNAL( operationFeedback( const QString& ) ), this, SLOT( updateProgress( const QString& ) ) );
- connect( &archive, SIGNAL( operationFeedback( int ) ), this, SLOT( updateProgress( int ) ) );
-
- archive.setVerbosity( QArchive::Destination | QArchive::Verbose | QArchive::Progress );
-
- QString dest = destPath->text(), src="qt-mac-commercial-3.0.0.app/Contents/Qt/qtmac.arq";
- if(!dest.isEmpty() && dest.right(1) != "/")
- dest += "/";
- archive.setPath( src );
- if( !archive.open( IO_ReadOnly ) ) {
- QMessageBox::critical( NULL, "Failure", "Failed to open input " + src);
- return;
- } else if(!QFile::exists(dest) ) {
- QDir d;
- if(!d.mkdir(dest)) {
- QMessageBox::critical( NULL, "Failure", "Failed to open directory " + dest);
- return;
- }
- }
- unpackButton->setDisabled( true );
- srcKey->setDisabled( true );
- destPath->setDisabled( true );
- destButton->setDisabled( true );
- LicenseDialogImpl licenseDialog( this );
- if((!licenseDialog.showLicense( featuresForKeyOnUnix( srcKey->text() ) & Feature_US )) ||
- (!licenseDialog.exec())) {
- QMessageBox::critical( NULL, "Failure", "The license agreement was rejected." );
- updateProgress( "License rejected" );
- unpackButton->setDisabled( false );
- srcKey->setDisabled( false );
- destPath->setDisabled( false );
- destButton->setDisabled( false );
- return;
- }
-
- QString srcName = "qt-mac-commercial-3.0.0.app/Contents/Qt/LICENSE";
- QString destName = "/qt-mac-commercial-3.0.0/.LICENSE";
- QString srcName2 = srcName;
- if ( featuresForKeyOnUnix( srcKey->text() ) & Feature_US )
- srcName2 = srcName2 + "-US";
- if((!archive.readArchive( dest, srcKey->text() )) ||
- (!copyFile( srcName, dest + destName )) ||
- (!copyFile( srcName + "-US", dest + destName + "-US" )) ||
- (!copyFile( srcName2, dest + "/qt-mac-commercial-3.0.0/LICENSE" )))
- {
- QMessageBox::critical( NULL, "Failure", "Failed to unpack " + src);
- archive.close();
- }
- else {
- QMessageBox::information( NULL, "Archive unpacked", "Qt has been "
- "extracted to " + dest + "qt-mac-commerical-3.0.0\nPlease read "
- "the INSTALL.macosx file for installation instructions." );
- cancelButton->setText( "Quit" );
- }
-}
-
-bool UnpackDlgImpl::copyFile( const QString& src, const QString& dest )
-{
- int len;
- const int buflen = 4096;
- char buf[buflen];
- QFileInfo info( src );
- QFile srcFile( src ), destFile( dest );
- if (!srcFile.open( IO_ReadOnly ))
- return false;
- destFile.remove();
- if (!destFile.open( IO_WriteOnly )) {
- srcFile.close();
- return false;
- }
- while (!srcFile.atEnd()) {
- len = srcFile.readBlock( buf, buflen );
- if (len <= 0)
- break;
- if (destFile.writeBlock( buf, len ) != len)
- return false;
- }
- destFile.flush();
- return true;
-}
-
-void UnpackDlgImpl::updateProgress( const QString& message )
-{
- logOutput->append( message );
-}
-
-void UnpackDlgImpl::updateProgress( int )
-{
- qApp->processEvents();
-}
-
-void UnpackDlgImpl::licenseKeyChanged()
-{
- QRegExp keyExpr("^....-....-....");
- if ((keyExpr.search( srcKey->text() ) != -1) &&
- (featuresForKey( srcKey->text() ) & Feature_Mac))
- unpackButton->setEnabled( true );
- else
- unpackButton->setEnabled( false );
-}
-
-void UnpackDlgImpl::reject()
-{
- exit( 0 );
-}
diff --git a/util/install/mac/unpackdlgimpl.h b/util/install/mac/unpackdlgimpl.h
deleted file mode 100644
index 11585d7..0000000
--- a/util/install/mac/unpackdlgimpl.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef UNPACKDLGIMPL_H
-#define UNPACKDLGIMPL_H
-
-#include "unpackdlg.h"
-
-class UnpackDlgImpl : public UnpackDlg
-{
- Q_OBJECT;
-public:
- UnpackDlgImpl( QString key = QString(),
- QWidget* pParent = NULL, const char* pName = NULL, WindowFlags f = 0 );
-
- virtual void clickedDestButton();
- virtual void clickedUnpack();
- virtual bool copyFile( const QString& src, const QString& dest );
-public slots:
- virtual void updateProgress( const QString& );
- virtual void updateProgress( int );
- virtual void licenseKeyChanged();
- virtual void reject();
-};
-
-#endif
diff --git a/util/install/package/main.cpp b/util/install/package/main.cpp
deleted file mode 100644
index 39c71db..0000000
--- a/util/install/package/main.cpp
+++ /dev/null
@@ -1,397 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "qarchive.h"
-#include <qapplication.h>
-#include <qfileinfo.h>
-#include "keyinfo.h"
-#if defined(Q_OS_WIN32)
-#include <windows.h>
-#endif
-
-class ConsoleOutput : public QObject
-{
- Q_OBJECT
-public:
- ConsoleOutput() : QObject() { }
- ~ConsoleOutput() { }
-public slots:
- void updateProgress( const QString& str) { qDebug("%s", str.latin1()); }
-};
-
-static int usage(const char *argv0, const char *un=NULL) {
- if(un)
- fprintf(stderr, "Unknown command: %s\n", un);
- else
- fprintf(stderr, "Usage:\n");
- fprintf(stderr, "%s [options] [keyinfo] files...\n", argv0);
-
- fprintf(stderr, "\nOptions:\n");
- fprintf(stderr, " -o file : Outputs archive to file\n");
- fprintf(stderr, " -n : Follow symbolic links, do not archive the link\n");
- fprintf(stderr, " -s : Quiet mode, will not output process\n");
- fprintf(stderr, " -desc text : Add the description text to the archive (e.g. \"Qt 3.0.0\")\n");
- fprintf(stderr, " -extra k v : Adds the extra value v with the key k to the archive\n");
- fprintf(stderr, " -h : This help\n");
-
- fprintf(stderr, "\nKey Info:\n");
- fprintf(stderr, " -win : Windows Archive\n");
- fprintf(stderr, " -unix : Unix Archive\n");
- fprintf(stderr, " -mac : Mac OS X Archive\n");
- fprintf(stderr, " -embedded : Embedded Archive\n");
-
- fprintf(stderr, "\nThe following options are not for packaging and can't be\n" );
- fprintf(stderr, "combined with the options above or any other option:\n\n" );
- fprintf(stderr, " -unpack file : Unpack the archive file to the current directory\n");
- fprintf(stderr, " -getdesc file : Print the description text of the archive file\n");
- fprintf(stderr, " -getextra k file : Print the extra value for the key k of the archive file\n");
-#if defined(Q_OS_WIN32)
- fprintf(stderr, " -res file1 file2 : Add the archive file1 as the binary resource\n");
- fprintf(stderr, " QT_ARQ to the excutable file2\n");
- fprintf(stderr, " -getres file : Get the binary resource QT_ARQ from the executable\n" );
- fprintf(stderr, " file and store it under qt.arq\n");
- fprintf(stderr, " -namedres RES_NAME file1 file2:\n");
- fprintf(stderr, " Add the file1 as the binary resource\n");
- fprintf(stderr, " RES_NAME to the excutable file2\n");
- fprintf(stderr, " -license LICENSE file2:\n");
- fprintf(stderr, " Add the license LICENSE as the binary resource\n");
- fprintf(stderr, " LICENSE to the excutable file2\n");
- fprintf(stderr, " -license-us LICENSE-US file2:\n");
- fprintf(stderr, " Add the license LICENSE-US as the binary resource\n");
- fprintf(stderr, " LICENSE-US to the excutable file2\n");
-#endif
- return 665;
-}
-
-static int unpack( const char *filename, bool verbose )
-{
- QArchive arq( filename );
- ConsoleOutput output;
- if ( verbose )
- output.connect( &arq, SIGNAL(operationFeedback(const QString&)), SLOT(updateProgress(const QString&)) );
- if ( !arq.open( IO_ReadOnly ) ) {
- fprintf(stderr, "Can't open the archive %s file to unpack", filename);
- return 42;
- }
- if ( !arq.readArchive( ".", "G87A-QJFE-DQF9" ) ) {
- fprintf(stderr, "Couldn't unpack the archive %s", filename);
- return 42;
- }
- return 0;
-}
-
-static int getdesc( const char *filename )
-{
- QArchive arq( filename );
- ConsoleOutput output;
- output.connect( &arq, SIGNAL(operationFeedback(const QString&)), SLOT(updateProgress(const QString&)) );
- if ( !arq.open( IO_ReadOnly ) ) {
- fprintf(stderr, "Can't open the archive %s file to get description", filename);
- return 42;
- }
- QArchiveHeader *header = arq.readArchiveHeader();
- if ( !header ) {
- fprintf(stderr, "Can't find the header in the archive %s file", filename);
- return 42;
- }
- if ( !header->description().isNull() ) {
- fprintf(stdout, header->description().latin1() );
- }
- return 0;
-}
-
-static int getextra( const char *key, const char *filename )
-{
- QArchive arq( filename );
- ConsoleOutput output;
- output.connect( &arq, SIGNAL(operationFeedback(const QString&)), SLOT(updateProgress(const QString&)) );
- if ( !arq.open( IO_ReadOnly ) ) {
- fprintf(stderr, "Can't open the archive %s file to get description", filename);
- return 42;
- }
- QArchiveHeader *header = arq.readArchiveHeader();
- if ( !header ) {
- fprintf(stderr, "Can't find the header in the archive %s file", filename);
- return 42;
- }
- QString extraData = header->findExtraData(key);
- if ( !extraData.isNull() ) {
- fprintf(stdout, extraData.latin1() );
- }
- return 0;
-}
-
-
-int main( int argc, char** argv )
-{
- uint features = 0;
- bool output = true, doSyms = true;
- QString desc;
- QString dest;
- QMap<QString,QString> extra;
-#if defined(Q_OS_WIN32)
- QString arq, exe;
- QString resName;
- bool doRes = false;
- bool doLicense = false;
- bool doLicenseUs = false;
- bool getRes = false;
-#endif
- QStringList files;
- int i;
- for( i = 1; i < argc; i++ ) {
- //options
- if(!strcmp(argv[i], "-o")) {
- if ( ++i < argc )
- dest = argv[i];
- else
- return usage(argv[0]);
- } else if(!strcmp(argv[i], "-n")) {
- doSyms = false;
- } else if(!strcmp(argv[i], "-s")) {
- output = false;
- } else if(!strcmp(argv[i], "-desc")) {
- if ( ++i < argc )
- desc = argv[i];
- else
- return usage(argv[0]);
- } else if(!strcmp(argv[i], "-extra")) {
- QString key, value;
- if ( ++i < argc )
- key = argv[i];
- else
- return usage(argv[0]);
- if ( ++i < argc )
- value = argv[i];
- else
- return usage(argv[0]);
- extra.insert( key, value );
- } else if(!strcmp(argv[i], "-h")) {
- return usage(argv[0]);
- //keyinfo
- } else if(!strcmp(argv[i], "-unix")) {
- features |= Feature_Unix;
- } else if(!strcmp(argv[i], "-win")) {
- features |= Feature_Windows;
- } else if(!strcmp(argv[i], "-mac")) {
- features |= Feature_Mac;
- } else if(!strcmp(argv[i], "-embedded")) {
- features |= Feature_Embedded;
- //unpack
- } else if(!strcmp(argv[i], "-unpack")) {
- if ( ++i < argc )
- return unpack( argv[i], output );
- //getdesc
- } else if(!strcmp(argv[i], "-getdesc")) {
- if ( ++i < argc )
- return getdesc( argv[i] );
- //getextra
- } else if(!strcmp(argv[i], "-getextra")) {
- if ( ++i < argc ) {
- if ( ++i < argc )
- return getextra( argv[i-1], argv[i] );
- }
-#if defined(Q_OS_WIN32)
- //res (Windows only)
- } else if(!strcmp(argv[i], "-res")) {
- doRes = true;
- if ( ++i < argc )
- arq = argv[i];
- if ( ++i < argc )
- exe = argv[i];
- //getres (Windows only)
- } else if(!strcmp(argv[i], "-getres")) {
- getRes = true;
- if ( ++i < argc )
- exe = argv[i];
- //res (Windows only)
- } else if(!strcmp(argv[i], "-namedres")) {
- doRes = true;
- if ( ++i < argc )
- resName = argv[i];
- if ( ++i < argc )
- arq = argv[i];
- if ( ++i < argc )
- exe = argv[i];
- //license (Windows only)
- } else if(!strcmp(argv[i], "-license")) {
- doLicense = true;
- if ( ++i < argc )
- arq = argv[i];
- if ( ++i < argc )
- exe = argv[i];
- //licenseUs (Windows only)
- } else if(!strcmp(argv[i], "-license-us")) {
- doLicenseUs = true;
- if ( ++i < argc )
- arq = argv[i];
- if ( ++i < argc )
- exe = argv[i];
-#endif
- //files
- } else if(*(argv[i]) != '-') {
- files.append(argv[i]);
- //unknown
- } else {
- return usage(argv[0], argv[i]);
- }
- }
-#if defined(Q_OS_WIN32)
- if ( doRes || doLicense || doLicenseUs ) {
- if ( arq.isEmpty() || exe.isEmpty() )
- return usage(argv[0], argv[i]);
- QFile fArq( arq );
- if ( !fArq.open( IO_ReadOnly ) ) {
- if ( doRes ) {
- fprintf(stderr, "Could not open archive %s", arq.latin1() );
- } else {
- fprintf(stderr, "Could not open license %s", arq.latin1() );
- }
- return -1;
- }
- QByteArray ba = fArq.readAll();
- // ignore wide character versions (this is for internal use only)
- HANDLE hExe = BeginUpdateResourceA( exe.latin1(), false );
- if ( hExe == 0 ) {
- fprintf(stderr, "Could not load executable %s\n", exe.latin1() );
- qSystemWarning( "" );
- return -1;
- }
- if ( resName.isEmpty() ) {
- if ( doRes ) {
- resName = "QT_ARQ";
- } else if ( doLicense ){
- resName = "LICENSE";
- } else {
- resName = "LICENSE-US";
- }
- }
- if ( !UpdateResourceA(hExe,RT_RCDATA,resName.latin1(),0,ba.data(),ba.count()) ) {
- EndUpdateResource( hExe, true );
- fprintf(stderr, "Could not update executable %s\n", exe.latin1() );
- qSystemWarning( "" );
- return -1;
- }
- if ( !EndUpdateResource(hExe,false) ) {
- fprintf(stderr, "Could not update executable %s\n", exe.latin1() );
- qSystemWarning( "" );
- return -1;
- }
- return 0;
- }
- if ( getRes ) {
- if ( exe.isEmpty() )
- return usage(argv[0], argv[i]);
- arq = "qt.arq";
- QFile fArq( arq );
- if ( !fArq.open( IO_WriteOnly ) ) {
- fprintf(stderr, "Could not open archive %s\n", arq.latin1() );
- return -1;
- }
- // ignore wide character versions (this is for internal use only)
- HMODULE hExe = LoadLibraryA( exe.latin1() );
- if ( hExe == NULL ) {
- fprintf(stderr, "Could not load executable %s\n", exe.latin1() );
- qSystemWarning( "" );
- return -1;
- }
- HRSRC resource = FindResource( hExe, "QT_ARQ", RT_RCDATA );
- HGLOBAL hglobal = LoadResource( hExe, resource );
- int arSize = SizeofResource( hExe, resource );
- if ( arSize == 0 ) {
- fprintf(stderr, "Could not get size of resource\n" );
- qSystemWarning( "" );
- return -1;
- }
- char *arData = (char*)LockResource( hglobal );
- if ( arData == 0 ) {
- fprintf(stderr, "Could not lock resource\n" );
- qSystemWarning( "" );
- return -1;
- }
- fArq.writeBlock( arData, arSize );
- FreeLibrary( hExe );
- return 0;
- }
-#endif
- if(!files.isEmpty()) {
- if(dest.isEmpty()) {
- qDebug("Please specify an output package");
- return 666;
- }
-
- QArchive archive;
- ConsoleOutput out;
- if(output) {
- QObject::connect( &archive, SIGNAL( operationFeedback( const QString& ) ),
- &out, SLOT( updateProgress( const QString& ) ) );
- archive.setVerbosity( QArchive::Destination | QArchive::Verbose );
- }
- archive.setSymbolicLinks(doSyms);
- archive.setPath( dest );
- if( !archive.open( IO_WriteOnly ) ) {
- qDebug("Failed to open output %s", dest.latin1());
- return 666;
- }
- QArchiveHeader header( features, desc );
- QMap<QString,QString>::Iterator exIt;
- for ( exIt = extra.begin(); exIt != extra.end(); ++exIt ) {
- header.addExtraData( exIt.key(), exIt.data() );
- }
- archive.writeHeader( header );
- for(QStringList::Iterator it = files.begin(); it != files.end(); ++it) {
- QFileInfo f((*it));
- if(!f.exists()) {
- qDebug("Failed to open %s", (*it).latin1());
- continue;
- }
- if(f.isDir())
- archive.writeDir( (*it), true, (*it) );
- else
- archive.writeFile( (*it), (*it) );
- }
- archive.close();
- } else {
- return usage(argv[0]);
- }
- return 0;
-}
-
-#include "main.moc"
diff --git a/util/install/package/package.pro b/util/install/package/package.pro
deleted file mode 100644
index 4edc96e..0000000
--- a/util/install/package/package.pro
+++ /dev/null
@@ -1,25 +0,0 @@
-TEMPLATE = app
-SOURCES = main.cpp
-INCLUDEPATH += ../archive $$QT_SOURCE_TREE/include ../keygen
-CONFIG += qt console
-TARGET = package
-win32:DESTDIR = ../../../bin
-unix:LIBS += -L$$QT_BUILD_TREE/util/install/archive -larq
-win32:LIBS += ../archive/arq.lib
-DEFINES -= UNICODE
-
-win32:!shared:SOURCES += \
- ../../../src/3rdparty/zlib/adler32.c \
- ../../../src/3rdparty/zlib/compress.c \
- ../../../src/3rdparty/zlib/crc32.c \
- ../../../src/3rdparty/zlib/deflate.c \
- ../../../src/3rdparty/zlib/gzio.c \
- ../../../src/3rdparty/zlib/infblock.c \
- ../../../src/3rdparty/zlib/infcodes.c \
- ../../../src/3rdparty/zlib/inffast.c \
- ../../../src/3rdparty/zlib/inflate.c \
- ../../../src/3rdparty/zlib/inftrees.c \
- ../../../src/3rdparty/zlib/infutil.c \
- ../../../src/3rdparty/zlib/trees.c \
- ../../../src/3rdparty/zlib/uncompr.c \
- ../../../src/3rdparty/zlib/zutil.c
diff --git a/util/install/win/archive.cpp b/util/install/win/archive.cpp
deleted file mode 100644
index 81f8e53..0000000
--- a/util/install/win/archive.cpp
+++ /dev/null
@@ -1,115 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "archive.h"
-#include "resource.h"
-#include <qfile.h>
-#include <qmessagebox.h>
-#include <windows.h>
-
-bool addArchive( const QString& name )
-{
- QByteArray ba ;
-
- // Copy the install.exe first, since we can't update our own application
- char aName[512];
- if ( GetModuleFileNameA( 0, aName, 512 ) == 0 ) { // we don't need wide character versions
- QMessageBox::critical( 0,
- "Could not add archive",
- QString( "Could not add archive %1.\n"
- "Could not get the name of the application.").arg(name)
- );
- return false;
- }
- QFile fromFile( aName );
- if ( !fromFile.open( IO_ReadOnly ) ) {
- QMessageBox::critical( 0,
- "Could not add archive",
- QString("Could not copy executable %1.\n").arg(aName)
- );
- return false;
- }
- QString destinationName = name;
- if ( destinationName.right(4) == ".arq" ) {
- destinationName =destinationName.left( destinationName.length()-4 );
- }
- destinationName += ".exe";
- QFile toFile( destinationName );
- if ( !toFile.open( IO_WriteOnly ) ) {
- QMessageBox::critical( 0,
- "Could not add archive",
- QString("Could not copy executable %1 to %2.\n").arg(aName).arg(destinationName)
- );
- return false;
- }
- ba = fromFile.readAll();
- toFile.writeBlock( ba );
- toFile.close();
-
- // load the .arq file
- QFile fArq( name );
- if ( !fArq.open( IO_ReadOnly ) ) {
- QMessageBox::critical( 0,
- "Could not add archive",
- QString("Could not open archive %1.\n").arg(name)
- );
- return false;
- }
- ba = fArq.readAll();
-
- // update the binary res
- ResourceSaver res( destinationName );
- QString errorMsg;
- if ( !res.setData( "QT_ARQ", ba, &errorMsg ) ) {
- QMessageBox::critical( 0,
- "Could not add archive",
- QString("Could not add archive %1.\n").arg(name) + errorMsg
- );
- return false;
- }
-
-#if 0
- QMessageBox::information( 0,
- "Archive added",
- QString("Added the archive %1.\n").arg(name) + errorMsg
- );
-#endif
- return true;
-}
diff --git a/util/install/win/dialogs/folderdlg.ui b/util/install/win/dialogs/folderdlg.ui
deleted file mode 100644
index c5427e2..0000000
--- a/util/install/win/dialogs/folderdlg.ui
+++ /dev/null
@@ -1,184 +0,0 @@
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
-<class>FolderDlg</class>
-<widget class="QDialog">
- <property name="name">
- <cstring>FolderDlg</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>323</width>
- <height>369</height>
- </rect>
- </property>
- <property name="caption">
- <string>Select installation folder</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QListView">
- <column>
- <property name="text">
- <string>Start menu folder tree</string>
- </property>
- <property name="clickable">
- <bool>true</bool>
- </property>
- <property name="resizeable">
- <bool>true</bool>
- </property>
- </column>
- <property name="name">
- <cstring>folderTree</cstring>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout2</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>nameLabel</cstring>
- </property>
- <property name="text">
- <string>Folder name</string>
- </property>
- </widget>
- <widget class="QLineEdit">
- <property name="name">
- <cstring>folderName</cstring>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout1</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <spacer>
- <property name="name" stdset="0">
- <cstring>Spacer1</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QPushButton">
- <property name="name">
- <cstring>okButton</cstring>
- </property>
- <property name="text">
- <string>Ok</string>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>cancelButton</cstring>
- </property>
- <property name="text">
- <string>Cancel</string>
- </property>
- </widget>
- <spacer>
- <property name="name" stdset="0">
- <cstring>Spacer2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- </vbox>
-</widget>
-<connections>
- <connection>
- <sender>okButton</sender>
- <signal>clicked()</signal>
- <receiver>FolderDlg</receiver>
- <slot>accept()</slot>
- </connection>
- <connection>
- <sender>cancelButton</sender>
- <signal>clicked()</signal>
- <receiver>FolderDlg</receiver>
- <slot>reject()</slot>
- </connection>
- <connection>
- <sender>folderTree</sender>
- <signal>expanded(QListViewItem*)</signal>
- <receiver>FolderDlg</receiver>
- <slot>expandedDir(QListViewItem*)</slot>
- </connection>
- <connection>
- <sender>folderTree</sender>
- <signal>collapsed(QListViewItem*)</signal>
- <receiver>FolderDlg</receiver>
- <slot>collapsedDir(QListViewItem*)</slot>
- </connection>
- <connection>
- <sender>folderTree</sender>
- <signal>selectionChanged(QListViewItem*)</signal>
- <receiver>FolderDlg</receiver>
- <slot>selectedDir(QListViewItem*)</slot>
- </connection>
- <slot access="public" language="C++">collapsedDir( QListViewItem* )</slot>
- <slot access="protected" language="C++">destroy()</slot>
- <slot access="public" language="C++">expandedDir( QListViewItem* )</slot>
- <slot access="public" language="C++">selectedDir( QListViewItem* )</slot>
- <slot access="protected" language="C++">init()</slot>
-</connections>
-<tabstops>
- <tabstop>folderTree</tabstop>
- <tabstop>folderName</tabstop>
- <tabstop>okButton</tabstop>
- <tabstop>cancelButton</tabstop>
-</tabstops>
-</UI>
diff --git a/util/install/win/dialogs/folderdlgimpl.cpp b/util/install/win/dialogs/folderdlgimpl.cpp
deleted file mode 100644
index 8c3c27f..0000000
--- a/util/install/win/dialogs/folderdlgimpl.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "folderdlgimpl.h"
-#include "../shell.h"
-#include <qlineedit.h>
-#include <qlistview.h>
-#include <qpixmap.h>
-#include <qdir.h>
-
-FolderDlgImpl::FolderDlgImpl( QWidget* parent, const char* name, bool modal, WindowFlags f ) :
- FolderDlg( parent, name, modal, f )
-{
-}
-
-void FolderDlgImpl::setup( QString programsFolder, QString folder )
-{
- folderName->setText( folder );
- if( programsFolder.length() ) {
- QString topLevel = programsFolder.mid( programsFolder.findRev( '\\' ) + 1 );
- QListViewItem* topItem = new QListViewItem( folderTree, topLevel );
- topItem->setOpen( true );
- topItem->setPixmap( 0, *WinShell::getOpenFolderImage() );
-
- ScanFolder( programsFolder, topItem );
-
- }
-}
-
-void FolderDlgImpl::ScanFolder( QString folderPath, QListViewItem* parent )
-{
- QDir folderDir( folderPath );
- folderDir.setFilter( QDir::Dirs );
- folderDir.setSorting( QDir::Name | QDir::IgnoreCase );
- const QFileInfoList* fiList = folderDir.entryInfoList();
- QFileInfoListIterator it( *fiList );
- QFileInfo* fi;
-
- while( ( fi = it.current() ) ) {
- if( fi->fileName()[0] != '.' ) { // Exclude dot-dirs
- QListViewItem* item = new QListViewItem( parent, fi->fileName() );
- item->setOpen( false );
- item->setPixmap( 0, *WinShell::getClosedFolderImage() );
- ScanFolder( fi->absFilePath(), item );
- }
- ++it;
- }
-}
-
-void FolderDlgImpl::expandedDir( QListViewItem* item )
-{
- item->setPixmap( 0, *WinShell::getOpenFolderImage() );
-}
-
-void FolderDlgImpl::collapsedDir( QListViewItem* item )
-{
- item->setPixmap( 0, *WinShell::getClosedFolderImage() );
-}
-
-QString FolderDlgImpl::getFolderName()
-{
- return folderName->text();
-}
-
-/*
-** This will replace the contents of the folderName lineedit widget.
-**
-** The algoritm will traverse the item tree until it gets to the toplevel
-** item, prepending each name to the folder name as it goes
-*/
-void FolderDlgImpl::selectedDir( QListViewItem* item )
-{
- QListViewItem* currentItem = item;
- QString newFolder;
-
- while( currentItem->parent() ) {
- newFolder = currentItem->text( 0 ) + QString( "\\" ) + newFolder;
- currentItem = currentItem->parent();
- }
- newFolder.truncate( newFolder.length() - 1 );
- folderName->setText( newFolder );
-}
diff --git a/util/install/win/environment.cpp b/util/install/win/environment.cpp
deleted file mode 100644
index bbf5719..0000000
--- a/util/install/win/environment.cpp
+++ /dev/null
@@ -1,362 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "environment.h"
-#include <qnamespace.h>
-#include <qfile.h>
-#include <qtextstream.h>
-#include <qfileinfo.h>
-#include <qdir.h>
-#include <qsettings.h>
-#if defined(Q_OS_WIN32)
-#include <windows.h>
-#endif
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
-QString QEnvironment::getEnv( const QString &varName, int envBlock )
-{
-#if defined(Q_OS_WIN32)
- OSVERSIONINFOA osvi;
- HKEY hkKey;
- bool isWinMe = false;
-
- if( envBlock & GlobalEnv )
- hkKey = HKEY_LOCAL_MACHINE;
- else
- hkKey = HKEY_CURRENT_USER;
-
- osvi.dwOSVersionInfoSize = sizeof( OSVERSIONINFOA );
- GetVersionExA( &osvi );
- if( int( qWinVersion() ) & int( Qt::WV_98 ) ) {
- if( osvi.dwMinorVersion == 90 )
- isWinMe = true;
- }
-
- if( envBlock & PersistentEnv ) {
- if( int( qWinVersion() ) & int( Qt::WV_NT_based ) ) {
- HKEY env;
- QByteArray buffer;
- DWORD size( 0 );
- QString value;
-
- if( RegOpenKeyExW( hkKey, L"Environment", 0, KEY_READ, &env ) == ERROR_SUCCESS ) {
- RegQueryValueExW( env, (const wchar_t*) varName.ucs2(), 0, NULL, NULL, &size );
- buffer.resize( size );
- RegQueryValueExW( env, (const wchar_t*) varName.ucs2(), 0, NULL, (unsigned char*)buffer.data(), &size );
- for( int i = 0; i < ( int )buffer.size(); i += 2 ) {
- QChar c( buffer[ i ], buffer[ i + 1 ] );
- if( !c.isNull() )
- value += c;
- }
- RegCloseKey( env );
- return value;
- }
- else {
- return QString();
- }
- }
- else { // Win 9x
- // Persistent environment on Windows 9x is not fully supported yet.
- return QString( getenv( varName ) );
- }
- }
- if( envBlock & LocalEnv ) {
- if( int( qWinVersion() ) & int( Qt::WV_NT_based ) ) {
- int size = GetEnvironmentVariableW( (TCHAR*)varName.ucs2(), 0, 0 );
- if ( size == 0 )
- return QString();
- TCHAR *data = new TCHAR[ size ];
- GetEnvironmentVariableW( (TCHAR*)varName.ucs2(), data, size );
- QString ret = QString::fromUcs2( data );
- delete[] data;
- return ret;
- } else {
- QCString varNameL = varName.local8Bit();
- int size = GetEnvironmentVariableA( varNameL.data(), 0, 0 );
- if ( size == 0 )
- return QString();
- char *data = new char[ size ];
- GetEnvironmentVariableA( varNameL.data(), data, size );
- QString ret = QString::fromLocal8Bit( data );
- delete[] data;
- return ret;
- }
- }
-#elif defined(Q_OS_UNIX)
-// Persistent environment on Unix is not supported yet.
- if( envBlock & LocalEnv ) {
- return QString( getenv( varName ) );
- }
-#endif
- return QString();
-}
-
-void QEnvironment::putEnv( const QString &varName, const QString &varValue, int envBlock )
-{
-#if defined(Q_OS_WIN32)
- OSVERSIONINFOA osvi;
- HKEY hkKey;
- bool isWinMe = false;
-
- if( envBlock & GlobalEnv )
- hkKey = HKEY_LOCAL_MACHINE;
- else
- hkKey = HKEY_CURRENT_USER;
-
- osvi.dwOSVersionInfoSize = sizeof( OSVERSIONINFOA );
- GetVersionExA( &osvi );
- if( int( qWinVersion() ) & int( Qt::WV_98 ) ) {
- if( osvi.dwMinorVersion == 90 )
- isWinMe = true;
- }
-
- if( envBlock & PersistentEnv ) {
- if( int( qWinVersion() ) & int( Qt::WV_NT_based ) ) {
-
- HKEY env;
- QByteArray buffer;
-
- buffer.resize( varValue.length() * 2 + 2 );
- const QChar *data = varValue.unicode();
- int i;
- for ( i = 0; i < (int)varValue.length(); ++i ) {
- buffer[ 2*i ] = data[ i ].cell();
- buffer[ (2*i)+1 ] = data[ i ].row();
- }
- buffer[ (2*i) ] = 0;
- buffer[ (2*i)+1 ] = 0;
-
- if( RegOpenKeyExW( hkKey, L"Environment", 0, KEY_WRITE, &env ) == ERROR_SUCCESS ) {
- RegSetValueExW( env, (const wchar_t*) varName.ucs2(), 0, REG_EXPAND_SZ, (const unsigned char*)buffer.data(), buffer.size() );
- RegCloseKey( env );
- }
- DWORD res;
- SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, LPARAM("Environment"), SMTO_ABORTIFHUNG | SMTO_BLOCK, 1, &res);
- }
- else { // Win 9x
- QFile autoexec( "c:\\autoexec.bat" );
- QTextStream ostream( &autoexec );
- ostream.setEncoding( QTextStream::Locale );
-
- if( autoexec.open( IO_Append | IO_ReadWrite | IO_Translate ) ) {
- ostream << "set " << varName << "=" << varValue << endl;
- autoexec.close();
- }
- }
- }
- if( envBlock & LocalEnv ) {
- if( int( qWinVersion() ) & int( Qt::WV_NT_based ) ) {
- SetEnvironmentVariableW( (TCHAR*)varName.ucs2(), (const wchar_t*) varValue.ucs2() );
- } else {
- SetEnvironmentVariableA( varName.local8Bit(), varValue.local8Bit() );
- }
- }
-#else
- if( envBlock & LocalEnv )
- setenv( varName, varValue, 1 );
-#endif
-}
-
-void QEnvironment::removeEnv( const QString &varName, int envBlock )
-{
-#if defined(Q_OS_WIN32)
- HKEY hkKey;
- if( envBlock & GlobalEnv )
- hkKey = HKEY_LOCAL_MACHINE;
- else
- hkKey = HKEY_CURRENT_USER;
-
- if( envBlock & PersistentEnv ) {
- if( int( qWinVersion() ) & int( Qt::WV_NT_based ) ) {
- HKEY env;
- if( RegOpenKeyExW( hkKey, L"Environment", 0, KEY_WRITE, &env ) == ERROR_SUCCESS ) {
- RegDeleteValue( env, (const wchar_t*) varName.ucs2() );
- RegCloseKey( env );
- }
- }
- else { // Win 9x
- QFile autoexec( "c:\\autoexec.bat" );
- QTextStream ostream( &autoexec );
- ostream.setEncoding( QTextStream::Locale );
-
- if( autoexec.open( IO_Append | IO_ReadWrite | IO_Translate ) ) {
- ostream << "set " << varName << "=" << endl;
- autoexec.close();
- }
- }
- }
-
- if( envBlock & LocalEnv ) {
- if( int( qWinVersion() ) & int( Qt::WV_NT_based ) ) {
- SetEnvironmentVariableW( (TCHAR*)varName.ucs2(), 0 );
- } else {
- SetEnvironmentVariableA( varName.local8Bit(), 0 );
- }
- }
-#endif
-}
-
-#if defined(Q_OS_WIN32)
-void QEnvironment::recordUninstall( const QString &displayName, const QString &cmdString )
-{
- QSettings settings;
- settings.insertSearchPath(QSettings::Windows, "/Microsoft/Windows/CurrentVersion/Uninstall");
- settings.beginGroup("/" + displayName);
- settings.writeEntry("/DisplayName", displayName);
- settings.writeEntry("/Publisher", "Nokia Corporation and/or its subsidiary(-ies)");
- settings.writeEntry("/URLInfoAbout", "http://qtsoftware.com");
- settings.writeEntry("/HelpLink", "http://qtsoftware.com/support");
- settings.writeEntry("/UninstallString", cmdString);
- settings.endGroup();
-}
-
-void QEnvironment::removeUninstall( const QString &displayName )
-{
- QSettings settings;
- settings.insertSearchPath(QSettings::Windows, "/Microsoft/Windows/CurrentVersion/Uninstall");
- settings.beginGroup("/" + displayName);
- settings.removeEntry("/DisplayName");
- settings.removeEntry("/Publisher");
- settings.removeEntry("/URLInfoAbout");
- settings.removeEntry("/DisplayVersion");
- settings.removeEntry("/HelpLink");
- settings.removeEntry("/UninstallString");
- settings.removeEntry("/.");
- settings.endGroup();
-}
-
-QString QEnvironment::getRegistryString( const QString &keyName, const QString &valueName, int scope )
-{
- QString value;
- HKEY scopeKeys[] = { HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE };
- HKEY key;
- DWORD valueSize( 0 );
- QByteArray buffer, expBuffer;
-
- if( int( qWinVersion() ) & int(Qt::WV_NT_based) ) {
- if( RegOpenKeyExW( scopeKeys[ scope ], (const wchar_t*) keyName.ucs2(), 0, KEY_READ, &key ) == ERROR_SUCCESS ) {
- if( RegQueryValueExW( key, (const wchar_t*) valueName.ucs2(), NULL, NULL, NULL, &valueSize ) == ERROR_SUCCESS ) {
- buffer.resize( valueSize );
- if( RegQueryValueExW( key, (const wchar_t*) valueName.ucs2(), NULL, NULL, (unsigned char*)buffer.data(), &valueSize ) == ERROR_SUCCESS ) {
- valueSize = ExpandEnvironmentStringsW( (WCHAR*)buffer.data(), NULL, 0 );
- expBuffer.resize( valueSize * 2 );
- ExpandEnvironmentStringsW( (WCHAR*)buffer.data(), (WCHAR*)expBuffer.data(), valueSize );
- for( int i = 0; i < ( int )expBuffer.size(); i += 2 ) {
- QChar c( expBuffer[ i ], expBuffer[ i + 1 ] );
- if ( !c.isNull() )
- value += c;
- }
- }
- }
- RegCloseKey( key );
- }
- }
- else {
- if( RegOpenKeyExA( scopeKeys[ scope ], keyName.local8Bit(), 0, KEY_READ, &key ) == ERROR_SUCCESS ) {
- if( RegQueryValueExA( key, valueName.local8Bit(), NULL, NULL, NULL, &valueSize ) == ERROR_SUCCESS ) {
- buffer.resize( valueSize );
- if( RegQueryValueExA( key, valueName.local8Bit(), NULL, NULL, (unsigned char*)buffer.data(), &valueSize ) == ERROR_SUCCESS ) {
- valueSize = ExpandEnvironmentStringsA( buffer.data(), NULL, 0 );
- expBuffer.resize( valueSize );
- ExpandEnvironmentStringsA( buffer.data(), expBuffer.data(), valueSize );
- value = expBuffer.data();
- }
- }
- RegCloseKey( key );
- }
- }
- return value;
-}
-#endif
-
-QString QEnvironment::getTempPath()
-{
-#if defined(Q_OS_WIN32)
- DWORD tmpSize;
- QByteArray tmp;
- QString tmpPath;
-
- if( int( qWinVersion() ) & int( Qt::WV_NT_based ) ) {
- tmpSize = GetTempPathW( 0, NULL );
- tmp.resize( tmpSize * 2 );
- GetTempPathW( tmpSize, (WCHAR*)tmp.data() );
- for( int i = 0; i < ( int )tmp.size(); i += 2 ) {
- QChar c( tmp[ i ], tmp[ i + 1 ] );
- if( !c.isNull() )
- tmpPath += c;
- }
- }
- else {
- tmpSize = GetTempPathA( 0, NULL );
- tmp.resize( tmpSize * 2 );
- GetTempPathA( tmpSize, tmp.data() );
- tmpPath = tmp.data();
- }
-#elif defined(Q_OS_UNIX)
- QString tmpPath = "/tmp";
-#endif
- return tmpPath;
-}
-
-QString QEnvironment::getLastError()
-{
- return strerror( errno );
-}
-
-QString QEnvironment::getFSFileName( const QString& fileName )
-{
-#if defined(Q_OS_WIN32)
- QByteArray buffer( MAX_PATH );
- QString tmp( fileName );
-
- GetVolumeInformationA( fileName.left( fileName.find( '\\' ) + 1 ).local8Bit(), NULL, NULL, NULL, NULL, NULL, buffer.data(), buffer.size() );
- if( QString( buffer.data() ) != "NTFS" ) {
- DWORD dw;
- dw = GetShortPathNameA( fileName.local8Bit(), (char*)buffer.data(), buffer.size() );
- if( dw > 0 )
- tmp = buffer.data();
- }
-#elif defined(Q_OS_UNIX)
- QString tmp( fileName );
-#endif
- return tmp;
-}
diff --git a/util/install/win/environment.h b/util/install/win/environment.h
deleted file mode 100644
index d0f45e4..0000000
--- a/util/install/win/environment.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef ENVIRONMENT_H
-#define ENVIRONMENT_H
-
-#include <qstring.h>
-
-class QEnvironment
-{
-public:
- static QString getEnv( const QString &varName, int envBlock = LocalEnv );
- static void putEnv( const QString &varName, const QString &varValue, int envBlock = LocalEnv );
- static void removeEnv( const QString &varName, int envBlock = LocalEnv );
-#if defined(Q_OS_WIN32)
- static QString getRegistryString( const QString &keyName, const QString &valueName, int scope = CurrentUser );
- static void recordUninstall( const QString &displayName, const QString &cmdString );
- static void removeUninstall( const QString &displayName );
-#endif
- static QString getTempPath();
- static QString getLastError();
- static QString getFSFileName( const QString& fileName );
-
- enum {
- LocalEnv = 1,
- PersistentEnv = 2,
- GlobalEnv = 4
- };
-
- enum {
- CurrentUser = 0,
- LocalMachine = 1
- };
-};
-
-#endif
diff --git a/util/install/win/globalinformation.cpp b/util/install/win/globalinformation.cpp
deleted file mode 100644
index a05db1e..0000000
--- a/util/install/win/globalinformation.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "globalinformation.h"
-
-GlobalInformation::GlobalInformation() :
- _qtVersionStr( QT_VERSION_STR ),
- _reconfig( false )
-{
-#if defined(Q_OS_WIN32)
- _sysId = Other;
-#elif defined(Q_OS_MACX)
- _sysId = MACX;
-#else
- _sysId = MingW32;
-#endif
-}
-
-GlobalInformation::~GlobalInformation()
-{
-}
-
-void GlobalInformation::setReconfig( bool r )
-{
- _reconfig = r;
-}
-
-bool GlobalInformation::reconfig() const
-{
- return _reconfig;
-}
-
-void GlobalInformation::setQtVersionStr( const QString& qvs )
-{
- _qtVersionStr = qvs;
-}
-
-QString GlobalInformation::qtVersionStr() const
-{
- return _qtVersionStr;
-}
-
-#if defined(QSA)
-void GlobalInformation::setQsaVersionStr( const QString& qvs )
-{
- _qsaVersionStr = qvs;
-}
-
-QString GlobalInformation::qsaVersionStr() const
-{
- return _qsaVersionStr;
-}
-#endif
-
-void GlobalInformation::setSysId( SysId s )
-{
- _sysId = s;
-}
-
-GlobalInformation::SysId GlobalInformation::sysId() const
-{
- return _sysId;
-}
-
-QString GlobalInformation::text(Text t) const
-{
- QString str;
-
- switch (_sysId) {
- case MSVC:
- if (t == IDE)
- str = "Microsoft Visual Studio 6.0";
- else if (t == Mkspec)
- str = "win32-msvc";
- else if (t == MakeTool)
- str = "nmake.exe";
- break;
- case MSVCNET:
- if (t == IDE)
- str = "Microsoft Visual Studio .NET";
- else if (t == Mkspec)
- str = "win32-msvc.net";
- else if (t == MakeTool)
- str = "nmake.exe";
- break;
- case Watcom:
- if (t == Mkspec)
- str = "win32-watcom";
- else if (t == MakeTool)
- str = "wmake.exe";
- break;
- case Intel:
- if (t == Mkspec)
- str = "win32-icc";
- else if (t == MakeTool)
- str = "nmake.exe";
- break;
- case GCC:
- if (t == Mkspec)
- str = "win32-g++";
- else if (t == MakeTool)
- str = "gmake.exe";
- break;
- case MACX:
- if (t == Mkspec)
- str = "mac-g++";
- else if (t == MakeTool)
- str = "make";
- break;
- case MinGW:
- if (t == Mkspec)
- str = "win32-g++";
- else if (t == MakeTool)
- str = "mingw32-make.exe";
- break;
- case Borland:
- if (t == Mkspec)
- str = "win32-borland";
- else if (t == MakeTool)
- str = "make.exe";
- break;
- default:
- if (t == Mkspec)
- str = "Custom";
- else if (t == MakeTool)
- str = "make.exe";
- break;
- }
-
- return str;
-}
diff --git a/util/install/win/globalinformation.h b/util/install/win/globalinformation.h
deleted file mode 100644
index 843dac6..0000000
--- a/util/install/win/globalinformation.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef GLOBALINFORMATION_H
-#define GLOBALINFORMATION_H
-#include <qstring.h>
-
-class GlobalInformation
-{
-public:
- GlobalInformation();
- ~GlobalInformation();
-
- void setReconfig( bool );
- bool reconfig() const;
- void setQtVersionStr( const QString& );
- QString qtVersionStr() const;
-#if defined(QSA)
- void setQsaVersionStr( const QString& );
- QString qsaVersionStr() const;
-#endif
-
- enum SysId {
- MSVCNET = 0,
- MSVC = 1,
- Borland = 2,
- MinGW = 3,
- Other = 4,
- Watcom = 5,
- Intel = 6,
- GCC = 7,
- MACX = 8
- };
- void setSysId( SysId );
- SysId sysId() const;
-
- enum Text {
- MakeTool,
- IDE,
- Mkspec
- };
-
- QString text(Text t) const;
-
-private:
- bool _reconfig;
- QString _qtVersionStr;
-#if defined(QSA)
- QString _qsaVersionStr;
-#endif
- SysId _sysId;
-};
-
-extern GlobalInformation globalInformation;
-
-#endif // GLOBALINFORMATION_H
diff --git a/util/install/win/install-edu.rc b/util/install/win/install-edu.rc
deleted file mode 100644
index 3e50c1c..0000000
--- a/util/install/win/install-edu.rc
+++ /dev/null
@@ -1,3 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "install.ico"
-LICENSE RCDATA "../../../dist/edu/LICENSE"
-QT_ARQ RCDATA "qt.arq"
diff --git a/util/install/win/install-eval.rc b/util/install/win/install-eval.rc
deleted file mode 100644
index 78f0477..0000000
--- a/util/install/win/install-eval.rc
+++ /dev/null
@@ -1,3 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "install.ico"
-LICENSE RCDATA "../../../dist/trial/LICENSE"
-QT_ARQ RCDATA "qt.arq"
diff --git a/util/install/win/install-noncommercial.rc b/util/install/win/install-noncommercial.rc
deleted file mode 100644
index b7d5b7c..0000000
--- a/util/install/win/install-noncommercial.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "install.ico"
-LICENSE RCDATA "../../../dist/noncommercial/LICENSE"
-LICENSE-US RCDATA "../../../dist/noncommercial/LICENSE-US"
-QT_ARQ RCDATA "qt.arq"
diff --git a/util/install/win/install-qsa.rc b/util/install/win/install-qsa.rc
deleted file mode 100644
index f971c3f..0000000
--- a/util/install/win/install-qsa.rc
+++ /dev/null
@@ -1,5 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "install.ico"
-LICENSE RCDATA "../../../dist/trial/LICENSE"
-LICENSE_QSA RCDATA "../../../../qsa/dist/eval/LICENSE.EVAL"
-QT_ARQ RCDATA "qt.arq"
-QSA_ARQ RCDATA "qt.arq"
diff --git a/util/install/win/install.ico b/util/install/win/install.ico
deleted file mode 100644
index b996fb7..0000000
--- a/util/install/win/install.ico
+++ /dev/null
Binary files differ
diff --git a/util/install/win/install.rc b/util/install/win/install.rc
deleted file mode 100644
index 321c245..0000000
--- a/util/install/win/install.rc
+++ /dev/null
@@ -1,4 +0,0 @@
-IDI_ICON1 ICON DISCARDABLE "install.ico"
-LICENSE RCDATA "../../../dist/commercial/LICENSE"
-LICENSE-US RCDATA "../../../dist/commercial/LICENSE-US"
-QT_ARQ RCDATA "qt.arq"
diff --git a/util/install/win/main.cpp b/util/install/win/main.cpp
deleted file mode 100644
index 0c21523..0000000
--- a/util/install/win/main.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <qapplication.h>
-#include <qmessagebox.h>
-#include "setupwizardimpl.h"
-#include "resource.h"
-#include "globalinformation.h"
-#include "environment.h"
-
-#if defined Q_OS_WIN32
-#include "archive.h"
-#endif
-
-GlobalInformation globalInformation;
-SetupWizardImpl *wizard = 0;
-
-int main( int argc, char** argv )
-{
- QApplication app( argc, argv );
- int res( -1 );
-
- for( int i = 0; i < app.argc(); i++ ) {
- if( QString( app.argv()[i] ) == "-reconfig" ) {
- globalInformation.setReconfig( true );
-
- QString qmakespec = QEnvironment::getEnv( "QMAKESPEC" );
- for (int mks = 0; mks <= GlobalInformation::MACX; ++mks) {
- if (globalInformation.text(GlobalInformation::Mkspec) == qmakespec) {
- globalInformation.setSysId((GlobalInformation::SysId)mks);
- break;
- }
- }
-
- if ( ++i < app.argc() ) {
- globalInformation.setQtVersionStr( app.argv()[i] );
- }
- break;
-#if defined(Q_OS_WIN32)
- } else if ( QString( app.argv()[i] ) == "-add-archive" ) {
- // -add-archive is an internal option to add the
- // binary resource QT_ARQ
- if ( ++i < app.argc() ) {
- if ( addArchive( app.argv()[i] ) )
- return 0;
- }
- return res;
-#endif
- }
- }
-
- wizard = new SetupWizardImpl( 0, 0, false, Qt::WStyle_NormalBorder | Qt::WStyle_Customize | Qt::WStyle_MinMax | Qt::WStyle_SysMenu | Qt::WStyle_Title );
- wizard->show();
-
- app.setMainWidget( wizard );
- res = app.exec();
-
- wizard->stopProcesses();
-
- //### memory leak
-
- return res;
-}
diff --git a/util/install/win/pages/buildpage.ui b/util/install/win/pages/buildpage.ui
deleted file mode 100644
index 0ab4965..0000000
--- a/util/install/win/pages/buildpage.ui
+++ /dev/null
@@ -1,92 +0,0 @@
-<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
-<class>BuildPage</class>
-<widget class="QWidget">
- <property name="name">
- <cstring>BuildPage</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>462</width>
- <height>276</height>
- </rect>
- </property>
- <property name="caption">
- <string>Form11</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout13</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QTextView">
- <property name="name">
- <cstring>outputDisplay</cstring>
- </property>
- <property name="font">
- <font>
- <family>Courier</family>
- </font>
- </property>
- <property name="vScrollBarMode">
- <enum>AlwaysOn</enum>
- </property>
- <property name="hScrollBarMode">
- <enum>AlwaysOn</enum>
- </property>
- <property name="textFormat">
- <enum>LogText</enum>
- </property>
- <property name="wordWrap">
- <enum>NoWrap</enum>
- </property>
- <property name="autoFormatting">
- <set>AutoNone</set>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout12</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QProgressBar">
- <property name="name">
- <cstring>compileProgress</cstring>
- </property>
- <property name="percentageVisible">
- <bool>false</bool>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>restartBuild</cstring>
- </property>
- <property name="text">
- <string>&lt;Replace&gt;</string>
- </property>
- </widget>
- </hbox>
- </widget>
- </vbox>
- </widget>
- </hbox>
-</widget>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/util/install/win/pages/configpage.ui b/util/install/win/pages/configpage.ui
deleted file mode 100644
index 8223d8e..0000000
--- a/util/install/win/pages/configpage.ui
+++ /dev/null
@@ -1,474 +0,0 @@
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
-<class>ConfigPage</class>
-<widget class="QWidget">
- <property name="name">
- <cstring>ConfigPage</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>460</width>
- <height>284</height>
- </rect>
- </property>
- <property name="caption">
- <string>Form9</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout3</cstring>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QCheckBox" row="1" column="3">
- <property name="name">
- <cstring>rebuildInstallation</cstring>
- </property>
- <property name="text">
- <string>Rebuild Qt after reconfiguration</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QTextView" row="0" column="2" rowspan="1" colspan="2">
- <property name="name">
- <cstring>explainOption</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>5</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>200</width>
- <height>0</height>
- </size>
- </property>
- <property name="palette">
- <palette>
- <active>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>212</red>
- <green>208</green>
- <blue>200</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>233</red>
- <green>231</green>
- <blue>227</blue>
- </color>
- <color>
- <red>106</red>
- <green>104</green>
- <blue>100</blue>
- </color>
- <color>
- <red>141</red>
- <green>138</green>
- <blue>133</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>212</red>
- <green>208</green>
- <blue>200</blue>
- </color>
- <color>
- <red>212</red>
- <green>208</green>
- <blue>200</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>36</green>
- <blue>106</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>255</blue>
- </color>
- <color>
- <red>255</red>
- <green>0</green>
- <blue>255</blue>
- </color>
- </active>
- <disabled>
- <color>
- <red>128</red>
- <green>128</green>
- <blue>128</blue>
- </color>
- <color>
- <red>212</red>
- <green>208</green>
- <blue>200</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>243</red>
- <green>239</green>
- <blue>230</blue>
- </color>
- <color>
- <red>106</red>
- <green>104</green>
- <blue>100</blue>
- </color>
- <color>
- <red>141</red>
- <green>138</green>
- <blue>133</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>128</red>
- <green>128</green>
- <blue>128</blue>
- </color>
- <color>
- <red>212</red>
- <green>208</green>
- <blue>200</blue>
- </color>
- <color>
- <red>212</red>
- <green>208</green>
- <blue>200</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>36</green>
- <blue>106</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>255</blue>
- </color>
- <color>
- <red>255</red>
- <green>0</green>
- <blue>255</blue>
- </color>
- </disabled>
- <inactive>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>212</red>
- <green>208</green>
- <blue>200</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>243</red>
- <green>239</green>
- <blue>230</blue>
- </color>
- <color>
- <red>106</red>
- <green>104</green>
- <blue>100</blue>
- </color>
- <color>
- <red>141</red>
- <green>138</green>
- <blue>133</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>212</red>
- <green>208</green>
- <blue>200</blue>
- </color>
- <color>
- <red>212</red>
- <green>208</green>
- <blue>200</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>0</blue>
- </color>
- <color>
- <red>10</red>
- <green>36</green>
- <blue>106</blue>
- </color>
- <color>
- <red>255</red>
- <green>255</green>
- <blue>255</blue>
- </color>
- <color>
- <red>0</red>
- <green>0</green>
- <blue>255</blue>
- </color>
- <color>
- <red>255</red>
- <green>0</green>
- <blue>255</blue>
- </color>
- </inactive>
- </palette>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>currentInstLabel</cstring>
- </property>
- <property name="text">
- <string>Active Qt installation</string>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="1" rowspan="1" colspan="2">
- <property name="name">
- <cstring>currentInstallation</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="frameShape">
- <enum>StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>Sunken</enum>
- </property>
- <property name="text">
- <string></string>
- </property>
- </widget>
- <widget class="QTabWidget" row="0" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>configTabs</cstring>
- </property>
- <widget class="QWidget">
- <property name="name">
- <cstring>installTab</cstring>
- </property>
- <attribute name="title">
- <string>Install</string>
- </attribute>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QListView">
- <column>
- <property name="text">
- <string>Installation options</string>
- </property>
- <property name="clickable">
- <bool>true</bool>
- </property>
- <property name="resizeable">
- <bool>false</bool>
- </property>
- </column>
- <property name="name">
- <cstring>installList</cstring>
- </property>
- </widget>
- </vbox>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>generalTab</cstring>
- </property>
- <attribute name="title">
- <string>General</string>
- </attribute>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QListView" row="0" column="0">
- <column>
- <property name="text">
- <string>Qt Library configuration</string>
- </property>
- <property name="clickable">
- <bool>true</bool>
- </property>
- <property name="resizeable">
- <bool>false</bool>
- </property>
- </column>
- <property name="name">
- <cstring>configList</cstring>
- </property>
- </widget>
- </grid>
- </widget>
- <widget class="QWidget">
- <property name="name">
- <cstring>advancedTab</cstring>
- </property>
- <attribute name="title">
- <string>Advanced</string>
- </attribute>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QListView">
- <column>
- <property name="text">
- <string>Advanced options</string>
- </property>
- <property name="clickable">
- <bool>true</bool>
- </property>
- <property name="resizeable">
- <bool>true</bool>
- </property>
- </column>
- <property name="name">
- <cstring>advancedList</cstring>
- </property>
- </widget>
- </hbox>
- </widget>
- </widget>
- </grid>
- </widget>
- </hbox>
-</widget>
-<tabstops>
- <tabstop>configTabs</tabstop>
- <tabstop>configList</tabstop>
- <tabstop>explainOption</tabstop>
- <tabstop>rebuildInstallation</tabstop>
- <tabstop>advancedList</tabstop>
-</tabstops>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/util/install/win/pages/finishpage.ui b/util/install/win/pages/finishpage.ui
deleted file mode 100644
index de6b5f7..0000000
--- a/util/install/win/pages/finishpage.ui
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
-<class>FinishPage</class>
-<widget class="QWidget">
- <property name="name">
- <cstring>FinishPage</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>444</width>
- <height>284</height>
- </rect>
- </property>
- <property name="caption">
- <string>Form12</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout1</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QTextView">
- <property name="name">
- <cstring>finishText</cstring>
- </property>
- </widget>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>showReadmeCheck</cstring>
- </property>
- <property name="text">
- <string>Show README file</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </vbox>
- </widget>
- </hbox>
-</widget>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/util/install/win/pages/folderspage.ui b/util/install/win/pages/folderspage.ui
deleted file mode 100644
index ada15f7..0000000
--- a/util/install/win/pages/folderspage.ui
+++ /dev/null
@@ -1,259 +0,0 @@
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
-<class>FoldersPage</class>
-<widget class="QWidget">
- <property name="name">
- <cstring>FoldersPage</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>443</width>
- <height>284</height>
- </rect>
- </property>
- <property name="caption">
- <string>Form8</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout15</cstring>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QGroupBox" row="0" column="0">
- <property name="name">
- <cstring>folderBox</cstring>
- </property>
- <property name="title">
- <string>Folders and paths</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLabel" row="0" column="0">
- <property name="name">
- <cstring>folderLabel</cstring>
- </property>
- <property name="text">
- <string>Program &amp;folder</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>folderPath</cstring>
- </property>
- </widget>
- <widget class="QLayoutWidget" row="0" column="1" rowspan="1" colspan="2">
- <property name="name">
- <cstring>Layout2</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLineEdit">
- <property name="name">
- <cstring>folderPath</cstring>
- </property>
- <property name="frameShape">
- <enum>StyledPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>Sunken</enum>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>folderPathButton</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="pixmap">
- <pixmap>image0</pixmap>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>qtDirLabel</cstring>
- </property>
- <property name="text">
- <string>Set &amp;QTDIR</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>qtDirCheck</cstring>
- </property>
- </widget>
- <widget class="QLabel" row="2" column="0">
- <property name="name">
- <cstring>devSysLabel</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>&amp;Path</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>devSysPath</cstring>
- </property>
- </widget>
- <widget class="QLayoutWidget" row="2" column="1" rowspan="1" colspan="2">
- <property name="name">
- <cstring>Layout3</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLineEdit">
- <property name="name">
- <cstring>devSysPath</cstring>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>devSysPathButton</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="pixmap">
- <pixmap>image0</pixmap>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QLabel" row="3" column="0">
- <property name="name">
- <cstring>groupLabel</cstring>
- </property>
- <property name="text">
- <string>Folder &amp;group</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>folderGroups</cstring>
- </property>
- </widget>
- <widget class="QComboBox" row="3" column="1" rowspan="1" colspan="2">
- <property name="name">
- <cstring>folderGroups</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- <widget class="QCheckBox" row="1" column="1">
- <property name="name">
- <cstring>qtDirCheck</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- <spacer row="1" column="2">
- <property name="name" stdset="0">
- <cstring>Spacer8</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </grid>
- </widget>
- <spacer row="1" column="0">
- <property name="name" stdset="0">
- <cstring>Spacer2</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </grid>
- </widget>
- </hbox>
-</widget>
-<images>
- <image name="image0">
- <data format="XPM.GZ" length="379">789c5d8ecb0a02310c45f7fd8ad0ec069907f531207e82e252101769b5388b51d07121e2bf6b1f195b6f28cd3d24b7ad0ad86dd75054e23ed0d0193067ba41717cf4fd737f58bd846ce6d028984123274296606073bd9c5c8fdf1eeba92b678db36dddaa60c959abec2258cdd62a9fc3424477a50cfdc18cc5d9c0e20eaffbbf90260c2a390f35c54a1823fa9bc39fc63cc3429e4b51cccb5060398a6c5478f7bd141fb90a5251</data>
- </image>
-</images>
-<tabstops>
- <tabstop>folderPath</tabstop>
- <tabstop>folderPathButton</tabstop>
- <tabstop>qtDirCheck</tabstop>
- <tabstop>devSysPath</tabstop>
- <tabstop>devSysPathButton</tabstop>
- <tabstop>folderGroups</tabstop>
-</tabstops>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/util/install/win/pages/licenseagreementpage.ui b/util/install/win/pages/licenseagreementpage.ui
deleted file mode 100644
index 5349e1f..0000000
--- a/util/install/win/pages/licenseagreementpage.ui
+++ /dev/null
@@ -1,202 +0,0 @@
-<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
-<class>LicenseAgreementPage</class>
-<widget class="QWidget">
- <property name="name">
- <cstring>LicenseAgreementPage</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>440</width>
- <height>284</height>
- </rect>
- </property>
- <property name="caption">
- <string>Form3</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout4</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>countryLayout</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <spacer>
- <property name="name">
- <cstring>spacer4</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>31</width>
- <height>21</height>
- </size>
- </property>
- </spacer>
- <widget class="QLabel">
- <property name="name">
- <cstring>countryLabel</cstring>
- </property>
- <property name="text">
- <string>Please choose your region:</string>
- </property>
- </widget>
- <widget class="QComboBox">
- <item>
- <property name="text">
- <string>North or South America</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Anywhere outside North and South America</string>
- </property>
- </item>
- <property name="name">
- <cstring>countryCombo</cstring>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer3</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>51</width>
- <height>21</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- <widget class="QTextView">
- <property name="name">
- <cstring>introText</cstring>
- </property>
- <property name="text">
- <string>The license could not be found in the package. The package might be corrupted.
-Please contact support@trolltech.com to resolve the problem.</string>
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout3</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <spacer>
- <property name="name">
- <cstring>Spacer1_3</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>156</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QButtonGroup">
- <property name="name">
- <cstring>licenceButtons</cstring>
- </property>
- <property name="frameShape">
- <enum>NoFrame</enum>
- </property>
- <property name="title">
- <string></string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QRadioButton">
- <property name="name">
- <cstring>acceptLicense</cstring>
- </property>
- <property name="text">
- <string>I agree</string>
- </property>
- </widget>
- <widget class="QRadioButton">
- <property name="name">
- <cstring>rejectLicense</cstring>
- </property>
- <property name="text">
- <string>I disagree</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </vbox>
- </widget>
- <spacer>
- <property name="name">
- <cstring>Spacer3</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>155</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- </vbox>
- </widget>
- </hbox>
-</widget>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/util/install/win/pages/licensepage.ui b/util/install/win/pages/licensepage.ui
deleted file mode 100644
index 9c7b98c..0000000
--- a/util/install/win/pages/licensepage.ui
+++ /dev/null
@@ -1,264 +0,0 @@
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
-<class>LicensePage</class>
-<widget class="QWidget">
- <property name="name">
- <cstring>LicensePage</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>445</width>
- <height>284</height>
- </rect>
- </property>
- <property name="caption">
- <string>Form2</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout6</cstring>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLabel" row="3" column="0">
- <property name="name">
- <cstring>licenseeLabel</cstring>
- </property>
- <property name="text">
- <string>Licensee</string>
- </property>
- </widget>
- <widget class="QLabel" row="5" column="0">
- <property name="name">
- <cstring>expiryLabel</cstring>
- </property>
- <property name="text">
- <string>Support and upgrade expiry</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="5" column="1">
- <property name="name">
- <cstring>expiryDate</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- <widget class="QLineEdit" row="2" column="1">
- <property name="name">
- <cstring>licenseID</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- <widget class="QLabel" row="1" column="0">
- <property name="name">
- <cstring>customerIDLabel</cstring>
- </property>
- <property name="text">
- <string>Customer ID</string>
- </property>
- </widget>
- <widget class="QLineEdit" row="6" column="1">
- <property name="name">
- <cstring>key</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- <widget class="QLabel" row="4" column="0">
- <property name="name">
- <cstring>productsLabel</cstring>
- </property>
- <property name="text">
- <string>Products</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>productsString</cstring>
- </property>
- </widget>
- <widget class="QLineEdit" row="3" column="1">
- <property name="name">
- <cstring>licenseeName</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>licenseInfoHeader</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Enter the supplied license information here, all fields except Licensee are mandatory.
-Alternatively, the installation wizard may read them from a license file.</string>
- </property>
- <property name="alignment">
- <set>WordBreak|AlignVCenter</set>
- </property>
- </widget>
- <widget class="QComboBox" row="4" column="1">
- <item>
- <property name="text">
- <string>qt-professional</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>qt-enterprise</string>
- </property>
- </item>
- <property name="name">
- <cstring>productsString</cstring>
- </property>
- </widget>
- <spacer row="8" column="1">
- <property name="name">
- <cstring>Spacer7</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- </spacer>
- <widget class="QLabel" row="2" column="0">
- <property name="name">
- <cstring>licenseIDLabel</cstring>
- </property>
- <property name="text">
- <string>License ID</string>
- </property>
- </widget>
- <widget class="QLayoutWidget" row="7" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>Layout5</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <spacer>
- <property name="name">
- <cstring>Spacer5</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- </spacer>
- <widget class="QPushButton">
- <property name="name">
- <cstring>readLicenseButton</cstring>
- </property>
- <property name="text">
- <string>Read from file...</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>Spacer6</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- </spacer>
- </hbox>
- </widget>
- <widget class="QLineEdit" row="1" column="1">
- <property name="name">
- <cstring>customerID</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- <widget class="QLabel" row="6" column="0">
- <property name="name">
- <cstring>keyLabel</cstring>
- </property>
- <property name="text">
- <string>Product key</string>
- </property>
- </widget>
- </grid>
- </widget>
- </hbox>
-</widget>
-<tabstops>
- <tabstop>customerID</tabstop>
- <tabstop>licenseID</tabstop>
- <tabstop>licenseeName</tabstop>
- <tabstop>productsString</tabstop>
- <tabstop>expiryDate</tabstop>
- <tabstop>key</tabstop>
- <tabstop>readLicenseButton</tabstop>
-</tabstops>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/util/install/win/pages/optionspage.ui b/util/install/win/pages/optionspage.ui
deleted file mode 100644
index 01033d2..0000000
--- a/util/install/win/pages/optionspage.ui
+++ /dev/null
@@ -1,503 +0,0 @@
-<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
-<class>OptionsPage</class>
-<widget class="QWidget">
- <property name="name">
- <cstring>OptionsPage</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>413</width>
- <height>372</height>
- </rect>
- </property>
- <property name="caption">
- <string>Form7</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout8</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QGroupBox">
- <property name="name">
- <cstring>optionsGroup</cstring>
- </property>
- <property name="title">
- <string>Installation options</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>pathLabel</cstring>
- </property>
- <property name="text">
- <string>Destination &amp;path (appr. 1Gb free space required)</string>
- </property>
- <property name="buddy" stdset="0">
- <cstring>installPath</cstring>
- </property>
- </widget>
- <widget class="QLayoutWidget" row="1" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>pathLayout</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLineEdit">
- <property name="name">
- <cstring>installPath</cstring>
- </property>
- <property name="frameShape">
- <enum>LineEditPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>Sunken</enum>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>installPathButton</cstring>
- </property>
- <property name="text">
- <string></string>
- </property>
- <property name="pixmap">
- <pixmap>image0</pixmap>
- </property>
- </widget>
- </hbox>
- </widget>
- <widget class="QCheckBox" row="2" column="1">
- <property name="name">
- <cstring>installExamples</cstring>
- </property>
- <property name="text">
- <string>Build &amp;Examples</string>
- </property>
- <property name="accel">
- <string>Alt+E</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QCheckBox" row="2" column="0">
- <property name="name">
- <cstring>installTools</cstring>
- </property>
- <property name="text">
- <string>Build &amp;Tools</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QCheckBox" row="3" column="0">
- <property name="name">
- <cstring>installExtensions</cstring>
- </property>
- <property name="text">
- <string>Build E&amp;xtensions</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QCheckBox" row="3" column="1">
- <property name="name">
- <cstring>installTutorials</cstring>
- </property>
- <property name="text">
- <string>Build T&amp;utorials</string>
- </property>
- <property name="accel">
- <string>Alt+U</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="QCheckBox" row="4" column="1">
- <property name="name">
- <cstring>skipBuild</cstring>
- </property>
- <property name="text">
- <string>&amp;Skip Build Step</string>
- </property>
- <property name="accel">
- <string>Alt+S</string>
- </property>
- </widget>
- <widget class="QCheckBox" row="4" column="0">
- <property name="name">
- <cstring>installDocs</cstring>
- </property>
- <property name="text">
- <string>Install &amp;documentation</string>
- </property>
- <property name="accel">
- <string>Alt+D</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- </grid>
- </widget>
- <widget class="QButtonGroup">
- <property name="name">
- <cstring>sysGroup</cstring>
- </property>
- <property name="title">
- <string>Compiler options</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget" row="0" column="1">
- <property name="name">
- <cstring>layout13</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QCheckBox">
- <property name="name">
- <cstring>installIDEIntegration</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>&amp;Integrate with IDE</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- <property name="buttonGroupId">
- <number>99</number>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer7_2</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>40</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </vbox>
- </widget>
- <widget class="QLayoutWidget" row="1" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>layout21</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout20</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QRadioButton">
- <property name="name">
- <cstring>sysOther</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Other</string>
- </property>
- <property name="buttonGroupId">
- <number>4</number>
- </property>
- </widget>
- <widget class="QComboBox">
- <item>
- <property name="text">
- <string>win32-watcom</string>
- </property>
- </item>
- <property name="name">
- <cstring>sysOtherCombo</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="duplicatesEnabled">
- <bool>false</bool>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer9</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>121</width>
- <height>21</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- <widget class="QLabel">
- <property name="name">
- <cstring>noteLabel</cstring>
- </property>
- <property name="text">
- <string>Note: The compilers specified in the 'Other' section are not officially supported.</string>
- </property>
- </widget>
- </vbox>
- </widget>
- <widget class="QLayoutWidget" row="0" column="0">
- <property name="name">
- <cstring>layout7</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QRadioButton">
- <property name="name">
- <cstring>sysMsvcNet</cstring>
- </property>
- <property name="text">
- <string>Microsoft Visual C++ .&amp;NET</string>
- </property>
- <property name="accel">
- <string>Alt+N</string>
- </property>
- <property name="buttonGroupId">
- <number>0</number>
- </property>
- </widget>
- <widget class="QRadioButton">
- <property name="name">
- <cstring>sysMsvc</cstring>
- </property>
- <property name="text">
- <string>Microsoft &amp;Visual C++</string>
- </property>
- <property name="accel">
- <string>Alt+V</string>
- </property>
- <property name="buttonGroupId">
- <number>1</number>
- </property>
- </widget>
- <widget class="QRadioButton">
- <property name="name">
- <cstring>sysBorland</cstring>
- </property>
- <property name="text">
- <string>&amp;Borland C++</string>
- </property>
- <property name="accel">
- <string>Alt+V</string>
- </property>
- <property name="buttonGroupId">
- <number>2</number>
- </property>
- </widget>
- <widget class="QRadioButton">
- <property name="name">
- <cstring>sysMinGW</cstring>
- </property>
- <property name="text">
- <string>MinGW32</string>
- </property>
- <property name="buttonGroupId">
- <number>3</number>
- </property>
- </widget>
- <widget class="QRadioButton">
- <property name="name">
- <cstring>sysIntel</cstring>
- </property>
- <property name="text">
- <string>Intel C++</string>
- </property>
- <property name="buttonGroupId">
- <number>6</number>
- </property>
- </widget>
- </vbox>
- </widget>
-
- </grid>
- </widget>
- <spacer>
- <property name="name">
- <cstring>spacer6</cstring>
- </property>
- <property name="orientation">
- <enum>Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>20</width>
- <height>64</height>
- </size>
- </property>
- </spacer>
- </vbox>
- </widget>
- </hbox>
-</widget>
-<images>
- <image name="image0">
- <data format="XPM.GZ" length="379">789c5d8ec10ac2300c86ef7d8ad0dc8a6cad4e3b101f41f1288887b43ae6610a3a0f22bebb766de6e65f4af27f247f9b2bd86dd7a072716fa93d7bf035dd401d1f4df3dc1f562f21cd02cc0ce660e444c80c3c6cae9753e8f1dba3d6bad03a581f6c5994d36829d8ca56365ac7b6b25d0e0b11431932ec2e8e589a8d2cedf07af71772845119e7a1a374068c11fdcde14f7d9e6721cf0d51ca1ba1c8c628b15ef1ddf7527c00b6995250</data>
- </image>
-</images>
-<connections>
- <connection>
- <sender>sysOther</sender>
- <signal>toggled(bool)</signal>
- <receiver>sysOtherCombo</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>sysBorland</sender>
- <signal>toggled(bool)</signal>
- <receiver>installIDEIntegration</receiver>
- <slot>setDisabled(bool)</slot>
- </connection>
- <connection>
- <sender>sysMsvcNet</sender>
- <signal>toggled(bool)</signal>
- <receiver>installIDEIntegration</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>sysMsvc</sender>
- <signal>toggled(bool)</signal>
- <receiver>installIDEIntegration</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>sysOther</sender>
- <signal>toggled(bool)</signal>
- <receiver>installIDEIntegration</receiver>
- <slot>setDisabled(bool)</slot>
- </connection>
- <connection>
- <sender>sysMinGW</sender>
- <signal>toggled(bool)</signal>
- <receiver>installIDEIntegration</receiver>
- <slot>setDisabled(bool)</slot>
- </connection>
- <connection>
- <sender>sysIntel</sender>
- <signal>toggled(bool)</signal>
- <receiver>installIDEIntegration</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>skipBuild</sender>
- <signal>toggled(bool)</signal>
- <receiver>installTools</receiver>
- <slot>setDisabled(bool)</slot>
- </connection>
- <connection>
- <sender>skipBuild</sender>
- <signal>toggled(bool)</signal>
- <receiver>installTutorials</receiver>
- <slot>setDisabled(bool)</slot>
- </connection>
- <connection>
- <sender>skipBuild</sender>
- <signal>toggled(bool)</signal>
- <receiver>installExtensions</receiver>
- <slot>setDisabled(bool)</slot>
- </connection>
- <connection>
- <sender>skipBuild</sender>
- <signal>toggled(bool)</signal>
- <receiver>installExamples</receiver>
- <slot>setDisabled(bool)</slot>
- </connection>
-</connections>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/util/install/win/pages/pages.cpp b/util/install/win/pages/pages.cpp
deleted file mode 100644
index 3ee4093..0000000
--- a/util/install/win/pages/pages.cpp
+++ /dev/null
@@ -1,349 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "pages.h"
-#include "resource.h"
-#include "../environment.h"
-#include <qcombobox.h>
-#include <qlineedit.h>
-#include <qcheckbox.h>
-#include <qlabel.h>
-#include <qvalidator.h>
-#include <qdir.h>
-#include <qbuttongroup.h>
-#include <qpushbutton.h>
-#include <qradiobutton.h>
-#include <qmultilineedit.h>
-#include <qfiledialog.h>
-#include <qtabwidget.h>
-#include <qmessagebox.h>
-#include <setupwizardimpl.h>
-#include <qtextbrowser.h>
-#include <qtextview.h>
-#include <qlayout.h>
-
-#if defined(Q_OS_WIN32)
-#include <windows.h>
-#endif
-
-extern SetupWizardImpl *wizard;
-
-BuildPageImpl::BuildPageImpl( QWidget* parent, const char* name, WindowFlags fl )
- : BuildPage( parent, name, fl )
-{
-}
-
-ConfigPageImpl::ConfigPageImpl( QWidget* parent, const char* name, WindowFlags fl )
- : ConfigPage( parent, name, fl )
-{
- if( globalInformation.reconfig() ) {
- currentInstLabel->show();
- currentInstallation->show();
-#if defined(Q_OS_WIN32)
- // Makes no sense to have the rebuild installation option on DOS based
- // Windows
- if ( qWinVersion() & WV_NT_based )
-#endif
- rebuildInstallation->show();
-#if defined(Q_OS_WIN32)
- else {
- rebuildInstallation->setChecked( false );
- rebuildInstallation->hide();
- }
-#endif
- } else {
- currentInstLabel->hide();
- currentInstallation->hide();
- rebuildInstallation->hide();
- }
-#if defined(EVAL) || defined(EDU) || defined(NON_COMMERCIAL)
- // ### these pages should probably be included but all options should be
- // disabled so that the evaluation customer can see how he can configure Qt
- configTabs->removePage( generalTab );
- configTabs->removePage( advancedTab );
-#else
- configTabs->removePage( installTab );
-#endif
-}
-
-FinishPageImpl::FinishPageImpl( QWidget* parent, const char* name, WindowFlags fl )
- : FinishPage( parent, name, fl )
-{
-#if !defined(Q_OS_WIN32)
- showReadmeCheck->hide();
-#endif
-}
-
-FoldersPageImpl::FoldersPageImpl( QWidget* parent, const char* name, WindowFlags fl )
- : FoldersPage( parent, name, fl )
-{
-#if defined(Q_OS_WIN32)
- QByteArray buffer( 256 );
- unsigned long buffSize( buffer.size() );
- GetUserNameA( buffer.data(), &buffSize );
- folderGroups->insertItem( "Anyone who uses this computer (all users)" );
- folderGroups->insertItem( QString( "Only for me (" ) + QString( buffer.data() ) + ")" );
-#if defined(QSA)
- folderPath->setText( QString( "QSA " ) + globalInformation.qsaVersionStr() );
-#else
- folderPath->setText( QString( "Qt " ) + globalInformation.qtVersionStr() );
-#endif
- if( qWinVersion() & Qt::WV_NT_based ) // On NT we also have a common folder
- folderGroups->setEnabled( true );
- else
- folderGroups->setDisabled( true );
-#elif defined(Q_OS_UNIX)
- folderGroups->setDisabled( true );
-#endif
-}
-
-LicenseAgreementPageImpl::LicenseAgreementPageImpl( QWidget* parent, const char* name, WindowFlags fl )
- : LicenseAgreementPage( parent, name, fl ),
- titleStr("License agreement")
-{
-#if !defined(NON_COMMERCIAL)
- countryLabel->hide();
- countryCombo->hide();
- delete countryLayout;
-#else
- connect( countryCombo, SIGNAL(activated(int)), SLOT(countryChanged(int)) );
-#endif
- connect( licenceButtons, SIGNAL(clicked(int)), SLOT(licenseAction(int)));
-}
-
-void LicenseAgreementPageImpl::licenseAction(int act)
-{
- if( act )
- wizard->setNextEnabled( this, false );
- else
- wizard->setNextEnabled( this, true );
-}
-
-void LicenseAgreementPageImpl::countryChanged(int index)
-{
- ResourceLoader *rcLoader;
- if ( index == 0 )
- rcLoader = new ResourceLoader( "LICENSE-US" );
- else
- rcLoader = new ResourceLoader( "LICENSE" );
-
- if ( rcLoader->isValid() ) {
- introText->setText( rcLoader->data() );
- } else {
- QMessageBox::critical( this, tr("Package corrupted"),
- tr("Could not find the LICENSE file in the package.\nThe package might be corrupted.") );
- }
-}
-
-LicensePageImpl::LicensePageImpl( QWidget* parent, const char* name, WindowFlags fl )
- : LicensePage( parent, name, fl )
-{
-#if defined(Q_OS_MAC)
- // StyledPanel style looks very windowsish
- customerID->setFrameShape( QFrame::LineEditPanel );
-#endif
- customerID->setFocus();
-#if defined(EVAL)
- // ### improve text
-# if defined(QSA)
- licenseInfoHeader->setText( tr("Thank you for your interest in QSA.\n"
- "Please enter the license information you got for this evaluation version of QSA.") );
-# else
- licenseInfoHeader->setText( tr("Thank you for your interest in Qt.\n"
- "Please enter the license information you got for this evaluation version of Qt.") );
-# endif
-
- customerIDLabel->setText( tr("Name") );
- licenseIDLabel->setText( tr("Company name") );
- licenseeLabel->setText( tr("Serial number") );
- evalName = customerID;
- evalCompany = licenseID;
- serialNumber = licenseeName;
-
- expiryLabel->hide();
- expiryDate->hide();
- productsLabel->hide();
- productsString->hide();
- keyLabel->hide();
- key->hide();
- readLicenseButton->hide();
-#elif defined(EDU)
- licenseInfoHeader->setText( tr("Please enter the license information for the educational edition of Qt.") );
-
- customerIDLabel->setText( tr("Educational institution") );
- licenseeLabel->setText( tr("Serial number") );
- university = customerID;
- serialNumber = licenseeName;
-
- licenseIDLabel->hide();
- licenseID->hide();
- expiryLabel->hide();
- expiryDate->hide();
- productsLabel->hide();
- productsString->hide();
- keyLabel->hide();
- key->hide();
- readLicenseButton->hide();
-#else
- licenseID->setValidator( new QIntValidator( -1, 9999999, licenseID ) );
-
- // expiryDate and productsString comes from the license key
- expiryDate->setEnabled( false );
- productsString->setEnabled( false );
- keyLabel->setText( tr("License key") );
- licenseInfoHeader->setText( tr("Please enter your license information.\n"
- "The License key is required to be able to proceed with the installation process.") );
-#endif
-}
-
-QValidator::State InstallPathValidator::validate( QString& input, int& ) const
-{
- if ( ( globalInformation.sysId() == GlobalInformation::MSVC ||
- globalInformation.sysId() == GlobalInformation::MSVCNET )
- && input.contains( QRegExp("\\s") ) ) {
- QMessageBox::warning( 0, "Invalid directory", "No whitespace is allowed in the directory name due to a limitation with MSVC" );
- return Intermediate;
- } else if ( globalInformation.sysId() == GlobalInformation::Borland && input.contains( "-" ) ) {
- QMessageBox::warning( 0, "Invalid directory", "No '-' characters are allowed in the directory name due to a limitation in the "
- "Borland linker" );
- return Intermediate;
- }
- return Acceptable;
-}
-
-OptionsPageImpl::OptionsPageImpl( QWidget* parent, const char* name, WindowFlags fl )
- : OptionsPage( parent, name, fl ),
- titleStr("Options"),
- shortTitleStr("Choose options")
-{
- connect( installPathButton, SIGNAL(clicked()), SLOT(choosePath()));
- sysGroup->setButton(globalInformation.sysId());
-#if defined(EVAL) || defined(EDU) || defined(NON_COMMERCIAL)
- sysOther->hide();
- sysOtherCombo->hide();
- noteLabel->hide();
-#endif
-#if defined(Q_OS_WIN32)
- installPath->setText(
- QString( "C:\\Qt\\" ) +
- QString( globalInformation.qtVersionStr() ).replace( QRegExp("\\s"), "" ).replace( QRegExp("-"), "" )
- );
- installPath->setValidator( new InstallPathValidator( this ) );
-#elif defined(Q_OS_MAC)
- // ### the replace for Windows is done because qmake has problems with
- // spaces and Borland has problems with "-" in the filenames -- I don't
- // think that there is a need for this on Mac (rms)
- QString base("QtMac-");
- base = QDir::homeDirPath() + QDir::separator() + base;
-#if defined(EVAL)
- base += "Eval-";
-#elif defined(EDU)
- base += "Edu-";
-#endif
- installPath->setText(base + QString( globalInformation.qtVersionStr() ).replace( QRegExp("\\s"), "" ));
- sysGroup->hide();
-#endif
-}
-
-void OptionsPageImpl::choosePath()
-{
- QDir dir( installPath->text() );
-
-#if defined(Q_OS_WIN32)
- if( !dir.exists() ) {
-# if defined(QSA)
- dir.setPath( "C:\\Qt_QSA" );
-# else
- dir.setPath( "C:\\Qt" );
-#endif
- }
-
- QString dest = QFileDialog::getExistingDirectory( installPath->text(), this, NULL, "Select installation directory" );
- if ( dest.isNull() ) {
-# if defined(QSA)
- dest = "C:\\Qt_QSA";
-# else
- dest = "C:\\Qt";
-# endif
- }
- if ( dest.right(1) == "\\" ) {
-# if defined(QSA)
- dest += "Qt_QSA";
-# else
- dest += "Qt";
-# endif
- }
- if ( dest.contains( QRegExp( "\\s" ) ) && !sysBorland->isChecked() )
- QMessageBox::warning( 0, "Invalid directory", "No whitespace is allowed in the directory name due to a limitation with MSVC" );
- else if ( dest.contains( "-" ) && sysBorland->isChecked() )
- QMessageBox::warning( 0, "Invalid directory", "No '-' characters are allowed in the directory name due to a limitation with the Borland linker" );
- else {
- dir.setPath( dest );
- installPath->setText( QDir::toNativeSeparators(dir.absPath()) );
- }
-#elif defined(Q_OS_MAC)
- if( !dir.exists() )
- dir.setPath( "/" );
-
- QString dest = QFileDialog::getExistingDirectory( installPath->text(), this, NULL, "Select installation directory" );
- if (!dest.isNull())
- installPath->setText( dest );
-#endif
-}
-
-ProgressPageImpl::ProgressPageImpl( QWidget* parent, const char* name, WindowFlags fl )
- : ProgressPage( parent, name, fl )
-{
- // ######### At the moment, we show only one line when unpacking. So the
- // horizontal scrollbar is never shown for now to avoid flickering.
- filesDisplay->setHScrollBarMode( QScrollView::AlwaysOff );
-}
-
-#if defined(Q_OS_WIN32)
-WinIntroPageImpl::WinIntroPageImpl( QWidget* parent, const char* name, WindowFlags fl )
- : WinIntroPage( parent, name, fl )
-{
-#if defined(QSA)
- textBrowser->setText( "<p>This program installs Qt and QSA.</p>" + textBrowser->text() );
-#else
- textBrowser->setText( "<p>This program installs Qt.</p>" + textBrowser->text() );
-#endif
-}
-#endif
diff --git a/util/install/win/pages/pages.h b/util/install/win/pages/pages.h
deleted file mode 100644
index 8108f42..0000000
--- a/util/install/win/pages/pages.h
+++ /dev/null
@@ -1,226 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef PAGES_H
-#define PAGES_H
-
-#include <qvalidator.h>
-
-#include "buildpage.h"
-#include "configpage.h"
-#include "finishpage.h"
-#include "folderspage.h"
-#include "licenseagreementpage.h"
-#include "licensepage.h"
-#include "optionspage.h"
-#include "progresspage.h"
-#include "winintropage.h"
-#include "../globalinformation.h"
-
-class Page
-{
-public:
- virtual QString title() const = 0;
- virtual QString shortTitle() const = 0;
-};
-
-class BuildPageImpl : public BuildPage, public Page
-{
- Q_OBJECT
-public:
- BuildPageImpl( QWidget* parent = 0, const char* name = 0, WindowFlags fl = 0 );
- ~BuildPageImpl() {}
- QString title() const
- {
-#if defined(EVAL) || defined(EDU) || defined(NON_COMMERCIAL)
- return "Building Qt Examples and Tutorial";
-#else
- return "Building Qt";
-#endif
- }
- QString shortTitle() const
- {
-#if defined(EVAL) || defined(EDU) || defined(NON_COMMERCIAL)
- return "Build Qt Examples";
-#else
- return "Build Qt";
-#endif
- }
-};
-
-class ConfigPageImpl : public ConfigPage, public Page
-{
- Q_OBJECT
-public:
- ConfigPageImpl( QWidget* parent = 0, const char* name = 0, WindowFlags fl = 0 );
- ~ConfigPageImpl() {}
- QString title() const
- {
- if( globalInformation.reconfig() )
- return "Reconfigure Qt";
- else
- return "Configuration";
- }
- QString shortTitle() const
- { return "Configure Qt"; }
-};
-
-class FinishPageImpl : public FinishPage, public Page
-{
- Q_OBJECT
-public:
- FinishPageImpl( QWidget* parent = 0, const char* name = 0, WindowFlags fl = 0 );
- ~FinishPageImpl() {}
- QString title() const
- { return "Finished"; }
- QString shortTitle() const
- { return "Finish"; }
-};
-
-class FoldersPageImpl : public FoldersPage, public Page
-{
- Q_OBJECT
-public:
- FoldersPageImpl( QWidget* parent = 0, const char* name = 0, WindowFlags fl = 0 );
- ~FoldersPageImpl() {}
- QString title() const
- { return "Folders"; }
- QString shortTitle() const
- { return "Choose folders"; }
-};
-
-class LicenseAgreementPageImpl : public LicenseAgreementPage, public Page
-{
- Q_OBJECT
-public:
- LicenseAgreementPageImpl( QWidget* parent = 0, const char* name = 0, WindowFlags fl = 0 );
- ~LicenseAgreementPageImpl() {}
- QString title() const
- { return titleStr; }
- QString shortTitle() const
- { return titleStr; }
-
-private slots:
- void licenseAction(int);
- void countryChanged(int);
-
-public:
- QString titleStr;
-};
-
-class LicensePageImpl : public LicensePage, public Page
-{
- Q_OBJECT
-public:
- LicensePageImpl( QWidget* parent = 0, const char* name = 0, WindowFlags fl = 0 );
- ~LicensePageImpl() {}
- QString title() const
- {
-#if defined(QSA)
- return QString("License Information to Install QSA %1").arg(globalInformation.qsaVersionStr());
-#else
- return QString("License Information to Install Qt %1").arg(globalInformation.qtVersionStr());
-#endif
- }
- QString shortTitle() const
- { return "License information"; }
-
-#if defined(EVAL)
- QLineEdit* evalName;
- QLineEdit* evalCompany;
- QLineEdit* serialNumber;
-#elif defined(EDU)
- QLineEdit* university;
- QLineEdit* serialNumber;
-#endif
-};
-
-class InstallPathValidator : public QValidator
-{
-public:
- InstallPathValidator( QObject* parent = 0, const char* name = 0 ) : QValidator( parent, name ) {}
- ~InstallPathValidator() {}
- QValidator::State validate( QString& input, int& ) const;
-};
-
-class OptionsPageImpl : public OptionsPage, public Page
-{
- Q_OBJECT
-public:
- OptionsPageImpl( QWidget* parent = 0, const char* name = 0, WindowFlags fl = 0 );
- ~OptionsPageImpl() {}
- QString title() const
- { return titleStr; }
- QString shortTitle() const
- { return shortTitleStr; }
-
-private slots:
- void choosePath();
-
-public:
- QString titleStr;
- QString shortTitleStr;
-};
-
-class ProgressPageImpl : public ProgressPage, public Page
-{
- Q_OBJECT
-public:
- ProgressPageImpl( QWidget* parent = 0, const char* name = 0, WindowFlags fl = 0 );
- ~ProgressPageImpl() {}
- QString title() const
- { return "Installing"; }
- QString shortTitle() const
- { return "Install files"; }
-};
-
-class WinIntroPageImpl : public WinIntroPage, public Page
-{
- Q_OBJECT
-public:
- WinIntroPageImpl( QWidget* parent = 0, const char* name = 0, WindowFlags fl = 0 );
- ~WinIntroPageImpl() {}
- QString title() const
- { return "Introduction"; }
- QString shortTitle() const
- { return "Introduction"; }
-};
-
-#endif // PAGES_H
diff --git a/util/install/win/pages/progresspage.ui b/util/install/win/pages/progresspage.ui
deleted file mode 100644
index 927d975..0000000
--- a/util/install/win/pages/progresspage.ui
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
-<class>ProgressPage</class>
-<widget class="QWidget">
- <property name="name">
- <cstring>ProgressPage</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>440</width>
- <height>286</height>
- </rect>
- </property>
- <property name="caption">
- <string>Form10</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>layout2</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="QTextEdit">
- <property name="name">
- <cstring>filesDisplay</cstring>
- </property>
- <property name="vScrollBarMode">
- <enum>AlwaysOn</enum>
- </property>
- <property name="hScrollBarMode">
- <enum>AlwaysOff</enum>
- </property>
- <property name="textFormat">
- <enum>LogText</enum>
- </property>
- <property name="linkUnderline">
- <bool>false</bool>
- </property>
- <property name="wordWrap">
- <enum>NoWrap</enum>
- </property>
- <property name="undoDepth">
- <number>0</number>
- </property>
- <property name="autoFormatting">
- <set>AutoNone</set>
- </property>
- </widget>
- <widget class="QProgressBar">
- <property name="name">
- <cstring>operationProgress</cstring>
- </property>
- <property name="centerIndicator">
- <bool>false</bool>
- </property>
- <property name="percentageVisible">
- <bool>false</bool>
- </property>
- </widget>
- </vbox>
- </widget>
- </hbox>
-</widget>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/util/install/win/pages/sidedecoration.ui b/util/install/win/pages/sidedecoration.ui
deleted file mode 100644
index 1ea5761..0000000
--- a/util/install/win/pages/sidedecoration.ui
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
-<class>SideDecoration</class>
-<widget class="QWidget">
- <property name="name">
- <cstring>SideDecoration</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>122</width>
- <height>156</height>
- </rect>
- </property>
- <property name="caption">
- <string>Form1</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>logoPixmap</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="pixmap">
- <pixmap>image0</pixmap>
- </property>
- <property name="scaledContents">
- <bool>false</bool>
- </property>
- <property name="alignment">
- <set>AlignTop</set>
- </property>
- <property name="vAlign" stdset="0">
- </property>
- </widget>
- <widget class="QLayoutWidget">
- <property name="name">
- <cstring>Layout1</cstring>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <property name="spacing">
- <number>0</number>
- </property>
- <widget class="QLabel">
- <property name="name">
- <cstring>versionLabel</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Installing Qt</string>
- </property>
- </widget>
- <widget class="QLabel">
- <property name="name">
- <cstring>editionLabel</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>(Clear me)</string>
- </property>
- </widget>
- </vbox>
- </widget>
- </vbox>
-</widget>
-<images>
- <image name="image0">
- <data format="XPM.GZ" length="55092">789cccbd47b7eb38b2ef397f9fa2d6e5ecae5e7cf266d0035266cb6da7ed77af1ed07b2f1aa9bf7c83883f704c56d5cd7c75bb5f95d6c9ca5f8a22114044202200f0fccffffcdbe7d3fddffef37ffe8fea625c02eb6f966f947ffb4fbb4e92ebfff57fff9fffcffff88fe160f0b7fecf68389bfe6df41fffc7fff80febf96fd6df9401ff5fcff64232ffde36244f7a762ac953fefd56f29cf35cf2a267f3072ff9f733c906e7836493f35eb2c59fd74ab6797b1f243bfcfb46b2cb7fef0a1e72799c5af2907f7f94cce5732cc963fefd483297cf3a8387d43f992999ffde0c25f3dfb79a64de5f662099dfcfe924cf386f24f3fe4a44ff0fd17e5b327f9e772799dfcfb8078fa87d662499cbebbb9249de6fc9bcbd9d2f99dab795ccc7b31a48e6e3b71a4ae6e315ed25f3f1b04f82a93f0dc1636a9ff32999daf32599f757a54ae6fde17e48e6fae23892b97e78a2bd63ea1f438cef849e97e892f9f7652b99b76f3d91cce53763f0947e6f08fd9c1137b664de5e43c83fc7f53bf0022cf475499c8be719c4f113d824de5cc01671fd0eb6895dbaff50d8ab174ae6f2ad3ac9a47f63c924df4832d73f732a99f777f324998fb73993ccfb5f7f96ccc7df3a49e6e3514592b9bd3aa664ae1fd6bd646eaf9a2b98f4ddf52573fdb58e60d89f6d49e6df9b13c97c3c1d45326fbf634826ffb2934cfee40086fdf88164de7ff65232d9eb9b646e1fa607867e9bbe641a8f816092cf14f2423f4d070c7d8b9f25f3e7bbaf60e89fb791ccfb3b15df43ffe22f30f42f13f240ffea1b18fab716bf877ee967b043dc92bf1f0ea16fdd9af3a8f740bc3dbe64f2f70bc9bcbfcd2fc9bcbfbd4432f90b4730f5cff55e3297bfc9c0187f732899f4772099c6e35b321f7f6b0fc6f8daa6649aff7692f9f3724d32d7f7cb4932ef6ffb4e32e9b302c6f86723c9dcdefc50326f9ff32e99f7975382a10fd75c32d7e795906742fdd3bd49e6df67a2bdd09ff20886beb89164fefcd54932ef9ffa2c98fca72bda0b7d6a9f25f3feb0c4f842bf9a07b0d02fd13fd0afe2090cffd6c660e85b24ae87be05a40f63e1df8277c9bc7debab643e5e575732efef6e2799cb1bfcf89ecbdbed2573fd5cfd781e1fcf952d98fa3b91cf277f74cd24f3fe0f3ec08807ba8d64ae9fc54232e98f27993faff9f13df787ae680ff4d57995cce57103c95c7fac3bc97c7c7c5f308d67b8028bf9f72299cbd3dc49e6f2981f92797fd69664de5f7e2499dbb33b92ccdb6f2dc1d067772099fca72e99b7ff6a49a6f946f437f4b9bd48267934b0d0ef77c9bc7dad68df9cee9fee25f3fe69447fcc31df88f1843eaf6e92f9f3da89649a0fee25f3f1cb85be41ff0331bed07f5f8ca7f0a7d43f13a1df9d2a99f777f32899dfffea80111faeae92b93cee41f090f7effa0c463ce77f48a6f9ee51321fafeb4930f547bb01433fecb164fe7cff5b321f2f2f92ccfb3f93d793bd745b30f421ae2593bfd94be6fd1b2692b93cde4e32b79fda164ced8ddec1d017e74332f9dbb564de5e772899e299140c7dcaa692b93db8df92797fe61d18fe3117e303fd59b792e979b164de3f8918ff05f5cf46f40ff4c715e301fdb9bd80e13f57f792797fad4a30fce906bf17f3f51ae331c4fc19a13d43f89780e693a9f0a7ed028cebfd4e321fafe6198c7cc00b2473f9bc77c95cdf4a4ff0908fc75a5c8f78bfb52553fcf02999ebbfdf08a6f10e5ec1c2bfdc49a6f97c2b99e6ff27c9642f3fbee7fab416f2407fc299643efe912f99ec692099cbd3b492b9bc9ab8ff94c63711fd0bfdb2a792c93e2ac9140f689229df5125f3feed5660e85ffd2a99fce34432efdfee00867e5e14c9941f8ec0d0bfcc904cf9572a99b7a76e25f3fe73c760a1afaa646ebf99e85fe86f2ec61bfaea0b79e11f0ba12f2eda8bfb4b7d267b98897c64dd81a1cfeb503297afbd934cf1d45e30fc93f81ef363b896ccefbf3a4a26793dc1149fae7d30f247ff2a99ea1d3fbee7fed68b05a31eb1924cf9c2083ca5f6076bc9542fd948e6fa900e2473fdbbbc09463d630246be1a6692f9f84481643edef95532b73f5df01cfd7993ccdb7be92453beb5924cf3c14432efbf5cfc7e01fffa2999e6bfb1646e5f9b022ce2cba364de3e37114cfec132c0d047f74d32f9e37b30f26b2f05431f5763c9bc7f42c1d04797e6cf99d0c71be41fc21fa52a18fe24207d9f0bfd5a1d04d3f8570fe009d573dca3642e7fbb054f697ca237c1246f3a944cf53a5b32c5a72f60f81bd796ccaf4f2bc994af2d2593be6f2453bea682e7345eed4e32d5ff14c9bcbf2f57c95cff7dd15ef8a35097ccdb93cd25537e2bfa6b3124fffd055ec2bfcc24537c548045fe518331decda7647ebd2eda6ba37fc478c01f6d44ffb8d43e1ded17e3af3960cc97f5022cf481e257a6dd149fd96bf08cc6ffe64aa6f92604c35eec4032b7efab2799e2375b30e94b2aae5f50ff58aa642e6fe148a67ce1065e927fb80d2553bd2494cc9fdf3e49a6fc45c863c07e1dc97cfcd3a3606a5f7d05633e887682497faf4bb08df8e2030cfb2bc9de17a2ff4bf49f886762f4cf10f666bd80618f3e8dff92f5177f5e914be6ed2f36e005c91b5f24533cf22598ecafeec04be467ae64f28757b041bfaf5f040f29fe68c0268d9726da63917e14a2bdd0c7f424998f5f44fdb314fd91bf83a18f8105467fdc4660e86783e789fee94a30e215e3118c78a3a0f9dc60fd45fa34072f491fc329d8a0f685a964aae7dfc0265d5f2f05537f568f60d86bb091ccfbe36248e6fad988dfbba85f8e24533e48f66f88fe892b30fa67634ba6f97508467f6d1cb0a827435ed11f35fa6388f9c9a7f8c814f157fd065e92fe5f6e6083e42f5cb0897ac417d8227dca3fc036f55fb305431fba77c1747f3b02bba4df3ad9ab29e42f669229df46fb647fe460d8d3aa0243fecd2758d4bbefc0a21eb403a33f2a8a772c263f6fff35055ba827d1f85aa2bf2f1a58f4f70a8cfb252a18febdf1c0f02701f58f2dda7f5d48a6fe9b8071fff21d2cfc83603caf51c1b87fb106433f4b1a1f87fd17eebf1b17ec903efbd43e46b0f71a0c79cb2d58c4e72d18cf2f1bb078be0dc6f3339abf5cd11f8906c6f5de1a8cf846e3f6c1cbe724df068cf6548964ae3f1b130c7f9096608c7f7603a3bde90e8ce7bb2f60b4d77e00c39f075c9f98f639e47fa34832d7e7f84c2c9eb7ba80216ffb08c6f3cc042cd64f1a30e42f9760d88fe382d19e1ced19c11e42aebf0cf17cd306435ecb04a33d610e16f20b16f1470a16ed3981457cf9443c82bdae2660e19f79bc341c8be7d70e18cfd71ec022df8ac178feaa05e379d72bf108e3df70ff369cc8fe1d8345bc9c81d1fe60452cfaeb7a03c3be74ba7e2adbd382f1fbcb3b18e3910dc1689f4df24e657fd4603cafb2c168bffb0cc6f32b1ebf0c67e2fe01e9d34cdcef1283e12faa6f30ee67f860e1ffe660a1efdc7f0ee7e2fed58c58b6e70cc6ef8d002cd6173db0a83f2dc0d0b78edbf77021e5bd078bf6aec1f87d41fabd14f2155bb0f8fd108cdfeb2330da93de83f1fc8ac6d310f2ac1a309ed772ff3734c5fdb48d64ee0fb72e58d4e75ec0f87d7202a33f0d713df4a5237bb7e4782a60b11ee681d15eed112cee1782a1cf158f4f86b6b8bf6581c5fa2af5a733823f762d30eed7d2efdd11f2efcd1d18d76bdc5e468311f2a3c007e379f5082cea75f760e8fbfa8d782cf49dfba3d150fcbebc030b7bdc83a17f099faf472371ffe64c2ceed73460e883cefb6b3416f7ab4fc463e10f2c30e46b8927e279b94b2cee6f6cc1d087ec092cec4930c6f342f24f85fc46442caef75660e8cf85fb93d18cfd9ec783f1162ceaa37cfe19cdc5fd3ceabfb990d79d80d13eeb152cd64fe9fa85f8de7c05a33df9188cf66cbec0d0c7f50d0c7df3b8ff1f2d85bcce002ce227078ceb1d0f2cfca54e3c41fb6f74bd21ef5780f17c5d058bf53beeaf46e618ebd77a2299c77f5bba9f25c6b7f4c1c2bfbd80d19eeb07f104fda1933cb678de2603e37eba01c6ef6f57b0a8ff71ff3d72c6a8b7e8d47faee88fb507c6effd188cdf3bdc1ec67d38c739e2e3c5a63393e21723269e60fde4f22c99d677b93e307577285eb7b8fd8f27ecfe9cf50e0c7d8a79ff8ca7ec7bfefb6b412cc627db81c57e823730ead9eb1158d43fb8bce399b8fe7a0716eb5d7330c663c3fb733c67eda1fa484d2cc6c39a83a11fed193ca57a651282b13e16f3f96ebc9860bdc8d880c5fe810c2cf21bae8fe3e544d4cb23c93c5ed30a30ea071b170cff92d0f81813d443d71730eaed9a07c6f53eb7b7b1c9bee7fa117c49a6f5024b30c5b3760cb6b19ec9e3adb13331e8face93ccfbaf3883f13c23013ba8a72e05d3fd0d1b8c7c734df23b53d8df86facf9da03e7e1b80f1fc82f7e76430813e6d63e229fa3be5e333194e4cd40b52b04ded31b8fe4e4653110ff2fa0a73a736f28d9a788afd67fa180cfd6a1db0588fe3fe7f32610accfb77c3f59721f2c77c493cc5fe0aaf00e37eb731788afa4e059ed1f8361f60d48f6dde1f93d914ebc7460a46bd2fe4fd37994fc7940f6cbec1e89f98cf5f93a578def5013c433d86da6f4c51bf09b9bd4dcce982f2b39cebcbc49a22fff6b83e4dec29ea15d95932adb704c433acffebf43c776ad1fd039d7886f5d315bf3f5356f09acf77d3d1d4a5fa65734f3cc3fe035d134cf7372c30ec355b824dc413dc3fb0e9906574dcdf79c4e2f74501c6fa5b74104cdfb73c3e9d4ea6d6887f7fdb10b3e791bef1f9940ddf1ceb078fe005f5b7c5e7e3e96c86f58f8d0246fd3a76c1f311f9b377b043e31bf07c693a9fa1de19df816dec07f804bb584fa3fe5accc47a86069e517b82002cd6f775b043f39bc6e3dde9923d8eeb7332035bd47f3705ec60ff824d3cc7fecf84ebefd498c19e2faf609bfa2be6f9f0d49c2d51cff5c016e5fb2b176c8f78fb8b15d8a5fa99c9e7d7a93543fdab1b831dfafde6287844f5d10e8cf1af49bfac39c63bff024f499e98ee6fb3fb937f7d023bd4fed407bb435aafb124d37e2d5d30b53f03cf87d43eeb0d8cf5dd7803c67cb7e1f63d75587f707df1e9fece7c30a2fd5d7b30f6b3469f9269fdc792cce5594dc1587fba52ffb84c1edebecd5e326f7f41faebceb19f2cda8271bfa6133ca2e727e0118d4fb2164cfa9c2892f978af4c30eca1f1c19321d7bf2bff7e3660e34ff5e53bb043cfaf5dc174bf6c0076a97fdb929805acfcfb6d0446bdbee4ed9f0d857eddd660f89b6e2298da5f05c4ac3f687e6bc0c311ad87e07a263f9f0fda77f094da537f8067245fc5f569369a1963d29f2b31eb5fdabfe20ba6e7a777e0d188ff3eb9815906c29fa78227d04f053ca3f6b65c3f6663260fd553a93d2cfca4fec91bc95cfeea041e517f5fb8fece2662fcdd023c86ff33c1d31167cd06cf21cf5c308d679d8017d41f0df72fb3e9cc1ef3ebab14ec8c69bfc05432ed47d38885fe5d4cc9b4fe37028fc8fecb37c9649f25784cf6ebbf82e7f47dbc042fe87e05f5cf4ce8936b82e7f4fb36113ca6f17a002fe8f986b8de80fe8bef4dd28fc292cce52fa68269fc4d1effb0db2f49decd0c0c7fdc92fe2ce6131a3f6d2d98fcb7bf02cf49bf370330d68fea5a30fdde38831dfabea3fe59b2fea178b0009bd41e4f03db23aeff37713decb5f00593fc2df5a7c1ee47eb6f2330eadd17156c8ea87ff7609bfc45590b267f78d5c02e714bfa6ab2f1207ff80136c87ef22918f34dfe06c67cd186c48b018dafcee3cd99c5ee47faa48217647f99609bf4c7a0f1b2160392afa3f6da6cfc68bcd69279ff949f6093daef4ec1f067f5817831a4e76de8f70ebb9ece177c806d6abfb3235ec0dfba2bc9b4df9bc6d7ed1376ae5f5c3fe703263f6f4f520a1e53fc99102f66d4be8cf7cf7cc8e4e3d7673e784c7cdd82a7d4de5a03c3fe751e9f3265c2fca09be009d94fc2e397394b87c99f186bf08cfa4fe3fd3b9fb0e7717dacc792e97c0b8f5f58f8bb20d6793d613e5f2cc7b49fc5005bd49e35b56fb1c4fcecf1fe9e2fd9f7743dfdde582ca83f8267b049ed59f3f9686eb2eb69fd782699d62fa83de67244f67de1fa3eb79643b237ef2698f4ab9e8347d4feb0008fc99e1c6a8fbd70d05f4762261e6f9f46e3e730a6f3160618fdbbe6f9c6dc5d0ea8bd0df5bf6b88f89aebdfa25f00a5f8ff4e32edd749c0636aff66019ee17939780e7de2f92a73f643e8bb031e537b7c133c237bf5dec073ba7f44f71f1a225ea3e78f447f79dfe011ddcfe3f22dc68c29feff06e379ba0e9ed2ef0b1effb1747d44f3b1fd0d5ed2f78d0236c65cdf367c7e5fb0009858bf07cfd15f7bf082f4a3492473f96f19d8257b6df8f82e66cb05f55fbe223630ff6f797cbc98b3f67079527afe82319d17e1f6b7581a03fafdc693ccc7d7a0fb194b97da7bbb111b63f2af1bae9f0bd31810eb7cbd61612d1dd2bf94da671943c8cfe7af856d8c69be6e0563be594f2573fdd7b8bd2c1c763ded0f53c01392c7bb4ae6fdd3717d5db8c684fa4bbb134cdfa767f094e28180fba3e5c080fff15fc0b309f5ef9764d24ff13dfc43cae7a3e5d0807d6cf8782d47acbdfcfeed0b783ea1fad50ebca0ef6f3ed82079a32f30f2c5644f6c627f5acce7df655fd0e1e3930460a662dc3f1cc14beaaf40133ca178a8069bf47cdf90ccc74ff3c10e8de78dfa676c8afd09b564daff5982b1ff36a6f64c58ffd2fed40b7836a1fac504bc9c50fd6101c6fc97abc426e2b3700fc67911f3018cf33ac99d643e1edd198cf3176e07463da4fa0063bf8826be47bd53e7fe773965e345fded806db217eb1d8c78f29612b3f6923ea9603cbffb0663bf4949d7b38083c663b3022f68fceb7bb043f6118682a9ff8c02ec92bfcbe9fe7dba49f5c30d18fb636c9e2f2ce7ecf7144f2a6097e4bbe5c4ecf7140fcdc0b0b734018bfde03a784af3c53504cfb15f47dc0ffb0bbb8160ecbffc002fa95e58edc1d8bf1a4dc1163d2f36c1a8575495609c5f1a4aa6f3a134febd83e2ed2f376093faafa3e72fcc01f1f50b3c217ddd5660ac37ad63f00cfe5407cf69beef5230ea35c6026c60bfe55532e55b39d8a4eb6f73b0d8df20ee6f637fe04a32cdff03b043fd757b904cf9d9168c7ae7ed2299ce7b3692697fc898d8c2f99ddb128cf3b317f49f85fa6348f75f1a06d9afb604c37ff817b04dfa1c0ec10ee9bb4ef22ecd015d7fdd8047345eb5079e907e598e60d2d7b40363ffe3762598e2d5750e16e703d692297ffc128cf35768af897afb36108cfaee5c32d56b0f9269fe2e24f3f61731d880ff5125d37ed80558ac974c25d37ec09d64de7fe64132f73fea27d8a2f15732c9b4bea008a6f655a23fb1dfb28c24d3fe470d8c7ae1ed5132e95b2099cf8fa6e82fd4e3c32fc9b4bee3125b38ef7723ff641816d99b7d03dbe48fc22bd8a1f9f95a825d9adf4af28706eb1ede5eaf060fe97aaf133ca1fc5605237e6d8ee009e5bbd5198cf58b4efc1efb6fb71730f67bae66e025c5df8a09c6fecae020998fafd248a6f3ba909fd93b6f4f71025bb0af52329ddf9849e6cf533fc036e993924ba6f96726993f2fcec00ef57ff12e99e2c34a32ed7f0cc1f017d5bb649aef7cc9bc3f22f13c97fa4fc3f859388f5a6d25f3f69443c1d86f3b06e37c4be54ae6edd354c9bc7dd791643aefdc4aa67acf2b18e7f134f13dced325a4ef26d3379affc95f9826e2cb952a99c6f7153ca57835fd0463ff691108267fb579028b78c2001b34dee14532bf7f62814df88b4832d52f2ab085f59d0118eba3752899ecff2699eae307c9b43fb405431f9454329d2fbb97ccdb938cc02ee95b2adaebd2f8b590dfc279e448974ce3f12998e67b4d30ce074713c934ff403e0be72d2dba9fc5e607defeca014fc85f5413f094e2313b954cfea0114cfe467901233fd41792a99e6a49a6f527c198afd71bc9549fb9822dea8fba944cf9502799dad782b17e6d7592c9be6782495fea42321fdff8c7f77cbcb477b043fa1deb9229ff4904e37cc697641a7f0decd27828aa647abfc45032ade7b982495f13b25fcbc2fb0c944032d9cb93606abf5949a6f314cf60bc4fc00a24f3f6b79960d29f5a914cf11dfa53d87bf82999d6df303e16ceb755a4cf369b3fc8ff7660ec3f57de04933ff0f760ac5f665bc114df2b67c1a44f57156c507f5f1cc9b49ff3198cfdc69bab60aac7ac4f601be7fd22c1781fc95132ddaf95ccdbabd492b93e794f60e883229e87fd9ef959326fbf3a964cf9e00318fe5d9d4be6fda192fed916ce83a92f92a93dbe64ca8fd11f229e4c6f92f9f3938164ca1f4f82b1fe994ae6df871f60acf79a6bc9bc7f62f49785f3b1b75230d95775914cf30bfacfc279b22df90f47c413a621995f9f7be011f99b6d2b98e2136d021e4f683d63059e4cb83e7ae2fa19dd4f3b83e734df943118f581f22099cba33c8397549f592dc026d69b8f9279fb6f9f60e453d6156c537f5a63c9644f8160aa47695330fc8dee0aa6e7c5b964f28791648a6fe692297e580aa6fa6628da8bf8c3bc974cf9642118fa38954cf58f89649acf1692e93c27e9936361ffbdd149e6df2b9e609c1f7d96ccf549ad24d37974e887d0676721998f8fba924cf1fa9364b247713df687754f92e9fc672399ea45a23d581f35af92f9f7b9f81eef13885ac1181f4b32d5dfa10f16f6a3044bc974dee9158cfd3f892399fcbb2d993fff26fa6786fd3ba23f711ef146d7bbcc7e283f7b944ce7995ec0639aafab25784af671db0a9e52feb200cfc9fe320f2cec650f5e52beae7d49a6f319e2fe4bd457766083f453bf80b11fa878154cf6b2adc1585f37c4fde0af235530f251717fc45b9e90d7c17ca848a67add5530ad1f74a160aa8f76e279c8e7c34630f97f3b174cf2379a645abf247fe35a781f90ff2818f3c1443297571d49a67cfd4930cd87da1b58e8ff5630ece74b32cd1fa564aaef7982697dc87900633f73694ae6faa0be4aa6fd789a648aa724637fd25a32ed3f79924ceb3d3330f6f325ad64de1fd98364927f2598facbd42553fd3594ccafcf311e16cecbdf22c95c5e652a99de7f267e8ff3c9e1bb641a6f4732bf3efb008bfd812f92297eb32473794b31bec87fa30a2ccea3ee0493ff30f79269bfe23718f53e6b2099ea0377609c7f34be2453fc7b914cf91c1f2f63c0e6478a0fb6e019d58be207c1538aff8fe039e503712b99e6eb5c3297a750c04b1afff22618fb1922c1347fc73bc9b47f4630f2f9eda360b2efab2e98fcd1ea158cfd83452598f47f6b48e6cf8feec1a8b7a40bc1f05f3bc9bcffb61918f596f85d32d5e3447fbaa48ff94030f6ffdc24737bf267c416f6a7ac3f2453fe580bc67e99122cceeb9c24533d6b2299f4ad108cfce30773fd500cc9341f7792a9fe6b0ba6f5da6b2399ce372ec1d85f1d9d25f3efd59b60f89f3bc9bc3fd4a364f22f6f60ec97543792797fa8a960d8c74d32f9932918f61ed49269ff832d99e44d24f3f61a23c1d43f96fc1ef1fe1c8cf763448e645a3f16cfc3fe3d632899e2955832cdafd01f0be7d5ad4a32ad9f3792b9fcc64030ced3d792b93e9723c9b41feb02c6fe67732b99f68b7c4aa6faa3180f9c17f6499ffa032dc46bf098ec5d8f24d3fe08133ca1f530ed049e527eb7f50593ffb83c48a6fd570a7846f7d36b30e6fff25b32d5ab73c1145f28ef82299ed1e660d473b64f92a9def92698fcdd5a3cdf46fd24914cfbcd74c9b43e21e445fda611f7437cb1fe124cf65edcc02edd3f7225d3fb001e05d3fc5ebd108b7879bb93ccfbc72f05937e66a9605abf538e92493f56e021d99f6249a6fa5b2b98fc9f72914cedc3785a789f52f12698e42943c964ef17c9e40fe792697e1849e6f2648e60ac470660bc9f243b4aa6fd3fa1647ebda20826f9d24c32ef0ff55e32d5d7447f60fe2f9f25933f5a4aa6f8e62c18f9502299f40ffa61e1fd4b4a2899f6279492495ed19e29e297028cf795048d64dedef05530e29137c9e47fe4efb19f740cc6fed152134ced0f55c9fcfb488c17dedf74b9934cf64dfa3c326754ffab0cc1643f510ac67a78ba04633e77466083ecb309c026cdffa921998f476582b19fa7ba0aa6f93e5e0ba6fca6188051bf4b447bb1bf4aff00237ff60f92e9fd41f792e9bc7d2599e6f717c1d8cf247e8f7a5d160ba6fecf23c1b4bf21a0f86264e13c72f82499f2fd57c1f06727c954bfcec098df755b30d9ef7a2e98ecdf78974cf54cb447d47b3d5330e2cb0fc9b4df47dc0ffbd12ea9647a9fec1e2cde07f92e99f60b1c05239e3e4ba6f9df974cf9d74932ed9ffff17b2e5f70014f90ef288261df8664b25f5332bd6f0ae36be1fc4ef92499f22d4b3297ff593c0fefb7525dc9e4df3c30de5fa53a9229feb12553bc2ec66f46f2565f92c97f37609ca7b4df25d37e825a32adff89fba39eaafb92293fea24f3ebb7627cb13ebbfd944cfbadbf2453fe37154cf287a664d257d15e715e80fa6fcce673f2af117846f94076075e503d2188c1d88f9a9b82c91f2457c954cf38832df2279ba9647adfe70a8cfaecf62098e2ef6e2699ce27ed04533cb2d5c0d8efaa3c09a6fa46f12199ec5d3c0feba51dcd9f63517f5dbd0886bd3f4be6d76f7f30d59b62c164afde5432d5271f2453bdf0118c7abd77124ced4f1ac914afae2553bd5edc0ff3b9f32498ec6d1308a6f66c55c9341fdd83313f9ba23da8ef46a564dabf664aa6fd21f27b8a37e291643abfe249a6f9ce174cfb13a2028cf78b25b9647a1fd4a364f20fdf92c97f0c25d37a512599d607a03f22bf375ac994ffa49229ff78944cf94a2618fe48fe1ef59e4632bd3f270163becf2ac994bf8beb71fe4b0d2453bd27964cf552d13fa807da2f9269ff612499e627d13ed40f424330b55f13d763bfc6ed4332c50f37c1f0f78a64daff3d964cfb43c578637daf7a138cfd39429f719e6745fa30314df21f590ec6fedd32134cfbb10c5d30f98bcb8b64da2f3c01dbd87fbc174cf5c92001e37c4d25eee760fff1b7605a0fc8b792e9fc81b8bf43f149740263ff68fe2a989eb722fb9c8878201849a6f75f9e25d3f37cc974fee15532bdaf752898ecdd0904d37a475080512faf7e30e9432e18e7f56e82914f5482c91e0bf13ce4ff7e2698c627fb924cebcfe2f7d8ff1b3e80719eaa934cfaee3992491e717ff80f6f2699f22ff13dcecfa753c9e4bf0e92293f394aa6fd139660b2cfc8904cf9df4230e68b4a32add78bf1c0feda740ec6fbebcab3648a8f2792c95fd492299e1848a67ccd164cf25b2d58f887ab64f2379d64de3fea4132bd6f4efc7e8e7827944cfb7f1e2553bd4f134cfa6c799269ffb6781eea8df14432b57f2718ebe591645a2f8b05231f15bfc77e0f652699e229f13cbc7faa9a4ba6f361427fb03f5013fa8cf5e2c495ccbfd73dc924af180fec0fd33e24737922f17c9c6f6cc91ea626f69b5e13f082fccfe64d32d547bfc0385f565ec0886fba1cecd07a663394ccfb237b05633d627b144cf6779949a6f75fd682c93f06349f4dc5fa433d154cfaace982697d721b4aa6f3c11918f585742299fce5bd64aa67958229be5ac560ac27ac12c178bfd79b64da0ff1e37b7adf95fc3dcef70592a95ebb174cfe3a10cf47fda01c08c67e1b5f32bdcfb0134cfde12a92493ed17f585fc81f25d378dc49a6f8e253308d57249e3f417c7a904cfbcd7e30c5d382b11e982592797f24df82b1de954ba67aa6907f4af69baec138af6c8d24533d692f99ea733bc1e4ff3c0b2cde37be944cfe712499f2b1b964b2675732c52bd0670bfb45d54832e58fba64da0fb301e3fd8d4a2499d67f857ee0fc72f82d99be5f81713e3e194aa6fd49e27e588fb89ec1884fae13c9d4ffa27fb0bff0229e67537fae481f66e612fb2d776083ec3debc026eaa53618f18a3b0323fe580f04d3f5c98b64da7f63825df217852e99ce77907c33113f6c4dc134df6f1f24d37c9982b17ee04f05537b9a77c9148f88dfa3deb07a92ccfb7f73168cf365778229be48bf25537d19f28bf501e55e309d4fc94f92c97fcec158cf2b12c1e41fbb4fc9b43e3d104cf3f7f6158cf87ebb170cffe448267942c1e47fba05187f1f455049a6f5614330f4ff0d8cf3b88ab83fde3770d94ba6fafc12bca0f6a557c1c80f6dc9644fb964aa7f1492a99eb1934cf3f718bc44fd632199f2ab67c914bfd782518f16e389f78346a23dd8bfa58c25d379ba4030c95b5f2453fc5c824deacfec2299f6eb6c25d37ae74630e2b94632ad170bf9b13fb87b964cf514713df61bd4aa643a9f0f7bb31cecbf10fa28f6e3f89269bd83e2adb9399f52bd33032fa6fcfef9086cd07e8d95f81eeb1b97a964b2bf0dd8a2f958ff02dbb41fbbbb825d9a3f2eb5608a3fe28560caafb6141fcd45fdb11a83b11e180f05d37e5c5f114cfe669d8051ef6f3dc1a40fab108cf3d9e55a30ce3b1a60d4d78bab649a5fe5f7645f978364dededbb360f247452899ea616730d6e7d6779269fdfb4330f9bbd4148cf8e7058cf5b8e44932bdffe25e30f6835c24d3f9d1b964b27f713decdd16ed9b937fd2f792a99ed2082679a247b0380f33964cf3ab18af05c52f57d1df381f5baf2453bcff0046fcacfe60daaf6a4aa6f9ed4b30ce7fce25d3fedd1918f65f8af1c37e6d4f954cf9cf5a32c927fa17fbede254326faf22aec77c1bd582a9fd971d58ecef3524d3fe5ea1bfd84f97d1f82ec47a83be124cf5c8ca07dba4efbab8de9df2dffba44f0b51afeb5cc1747d32154cf61eecc043ccf74f9269ffd3098cf7495c1e25d3f9c14a30ad9f281f92693de2001ee3bcf34430e94f71114cfe259883f17ef6b52599de2f36144cfaa23c4aa6fafd188cfa79d60a267de832c1345f1786649a3f7e30cd97a2bdc86ff55232c54fb9648a6fc4f367e44fbaa1649a5f669269ffb7f87e4ef6915f2453beaf4ba6f9443c1feb655a2c99e47b944cfb532493ff6bef25d3f86ec1e2bc532318ef1712fa82f3cdc55e32b5ff1b0c7b5acd25d3df9fa04ba67ac25e32bd0f44b4cfc0f95ad13f787f759c08c6fb8f34c9141f6e2453fee80b46fe22fac7c2fbafef24933f17fa8efdf9590dc6fb8d4a8a079626ceb3d513b04bfa5a527cb664f645eb65067848f359fd8369bfec063cc27ae45532d5e31f25f3f15c3d83315f5d12c9544f740553fe1e6592a93f3dc158bfb88127145ffb9560b2873a96cce5d75f25537ce90ba6fa62f283a95e2ae49bd2f82b0f82c93ef385645a6f17ed453d39984aa6fac04c32fdfd5607c1a42ff14a30cdb7b74232e5a76f60e483fe5132cdafb960c4fb5f60c4aba52218ebaf7b30d69fb6e27b9c1f0ceec1d82f962b92c95f1d24537da7148cf93d05239f534f92e9bc8bb81fcefb1547c9544fabc1383fe68af1c67e92f807d3fe43213ff6af7662fcb19fdaa37cc410f5ebfc5e30cd1f6b07ecd2f85a347e06332faa8f1cc0d0efdb17784cf6e91a82499ff44ff004eb318f92693fdebd649adf5f05937efa67c1347fe91618e7bb6e7782112faa60ac8736a1601a8fac00a31ee98c05e37d155bc1347ff8aa647a1fc009bca0f1f21682c99f9ae2fe0b6acf360763fd62bb168cfcb0148cf7790879f1be9ad4954cf53cd17fd8bfe49f24533db1164cfdbd7d07e33cd346fc1efb17b789643a4f300423bf303760bcdfec42f669b27885ee47f38169e1bc977e124cf18d3706e3fd11fa163c22fdda9482a7b43e7805c3ff058660ba9f2b9e87f364d14632d5fb4792e9ef37fe02e33cd926028bf364efe039c9b712f747fdd9ad24d3f58231fee58b601affdb9b648a6f7230dedfe12d25d3fa760a467d3817f218145fd99f9269bda1924cefdf93df23fe7e009b349f98623c2c1a5ffb2298ee97d8609c3f32e6609c3f8b2cc9646f0bc914cf3f4aa6786607c6fe958ee20f8bcdafb43f81e20b165e93fe5c3e25d37e30f13dea3ddd093cc27ede2d18f5983804e3fd1d9a25989ed7168269ff61fa089e223f9e8167d47f862699d6f39e25d3fe68152ce2b70318e7c9ec67c9f4fe12138cf70f252918f1932b9e67507caf08f9f1be9938069b648fc15e308dbf32108cf7df88e7637f627c150cff7a0163ff42f000c6f99c88ec9b4d37a867d1fc62b3f1a3fd3c743f5b8c5ff102463cb2da82117fb4df9269bde12498ec510f25d3fef01c8cfcb8b425d37eaa5232bd5f2506235ed85a9269bda4154ce31d89f6cef17ea8037841f76b447b17d84fb6012fa9fd6b211fea49978b608a4f0c156c423f3bc9b49f3602c31e6f7bc1d0bf4a32c50fe44f6c1bfb3be22918e7e93a6287d907adb70ec063eacfd51b784afdb3d1c0c85f8a5232cd97afe0398ddf652d99fcf75130e5879d09c67c961482c97eae7bb049f74b3ac9349e86649a4f2692b93cb978be8df749b88229be509660eca7f39f24d3f922713dd6afaedf8269bcd690c7c6f9d755001e52bc5b533ceb5a63d29fab2199ce63edc1139a9f82083c25f9f5068cf745dd2cf082c6238d25d3fb1d378229bf503ec178dfce6a0946fce9bd0aa6fe5ccf04e37d0af27aca77ac1bd8a2e747df9229fe2dc136f98ffc4530e9f34a934cf9f10fa6e78be739387f48fde9daa8f7273c3e310716f67b260f9269ffde1318efefb91e24537dcd06e3fd79f6156ca0deb1904cf6a080d1fe6a2199e67b5f303d4fbb801dd8fb0a8cf8f9a611db78ff5dac8211df745f60d413133e7e2c389be17ccc183c27ff97459279ffac4b30de27947e0826f94c4532bd7f5d032fa9fd6d2a784af58e21d8a0f9e1aa48a6f53f5b30d58ffd6730de5f94ad89ed01d9ef86eb2b0b2eb0feac6fc04b92af7525d3fbcd8f6093fccde64532d9cb4d30c57fe1128cfd33eb77c1a41feb028cf7355a1f82e9f9ee1cec62ffea9b60f227892918e785f0bd8dfdafe9b3601a4f270463fda81980f17ea59adbbf3966fd41ef472dc14bf2075b1b6c60fdec4132d50f0bc9944f1cc126c693dad7bf5e9ff2075c6f63bd6b45fd33b1e6549fb8adc0580fdc7682c97fdd5ab035a5f74309c67961e50bec523c1de2f736eaf7f11c3ca4feaba8bfa6d664467fffdc080c7f53b492a97e6f08a6f686776013fab4964cf69982717ed224ff30b5b15fe81608c6fbd3ce60c48b2d8dd78cdd8ff2eb5430c5839b5730f2dff60086be74a4af33d6ff148fdd8391ff6a74bf390b30693de808b6917f64c436ce8fdf1230f6bfb7345e0b6b3a27fbe9c0f319bdaf8bfcc782a5f7e43f0f60cc4705f99f256b3fedf71c826d92ef3625b627349f68dcdf9b2c9f9b927f237d3458ffd1fc5b8327f007241f530f1aaf6b00467cad51ffb2f8674efd41fed5b6711ed0e4fac192cf39b57733022fe97ecf977feda32abf7d8c9f3e26ffa7827fa74fcf0afb9da5daaac3fe58ff6a0be8f3df21cb2f72b9ecf3bb5c0afe9b90afff77f7df5116d62247f5d81ffad87ddba87590cbfd87bfb3f1f9779605f20899fa6be8cfffb79fff167b71e9f393743ffadc1663f4e33aa96fbdedf8eccf3f18b9ffff65e16dfbc90e6009240d1fa9bf2b3bc9439ee0df4d1661eb3f64f9313a3f24f3e4e717cbfa7791e5379fecfefa91d758f05a8e94457a8a7f2b590235542335561335553335570b364ea55aa917b5669f86e951ab76ec7365b2de544dd5d99f15ff9dc67eb1fe379365a3aed827652391a85bf6b963d2ecd43dfbec982c07464726dd91fdfb4e3da9f74cce7bf5817d0c76e53ff4daff5b6479e43dfdc446e699fddb597d515fb94ebda9efea87faa906ec9a9449f8c524f85607ea501da96375a24ed5993a67d2fc1bc9c25a7a5637ec9f91ba607f02d8fd92c9f2cafe6929aafaa4284cc7be15431d2ba662b18fad380af31a8aa7f8ff3d92fcf7cc954aa0844aa4c44aa2a44aa6e44ccf5ca63d2dfbf4b6622a059b45064aa954ca45a9954669954eb92a3745537465a5acffe8b5ff37cab251b6ca9db253cf8aa2ec95036bf1513929f7ca83f2a83c29cfca5979515e9537e55df9503e952ff6dfbf9581325446ca589928d37f23596c65a6cc9505d3b393b26413cd83f261288661b044c0b00dc7700dcff08dc0088dc8888dc4488dccc88dc2288dcab8a87746fddf23c99f9345b58ca6ff23a390df6677a3353ae36adc0ccdd08d95b13636c6d6b83376c69efd391847e364dcb3cf897d8e8c1fd8e7d178329e8db3f162bc1a6fc6bbf1c1b4b0cf02685e757f9b797f9aadfe999ff8af6561527c1a5feccfb7313086c6c818315fd4186363624c8d194b9916c6b2370ad3304dd3326de3683aa68b8fc73ebe19b04f684666c465eaa53a9a31936a6726666a66666e16666956e6c5accdc66ccdcebc9a375333757365aecdcd2f33b1f2eb1cfcd764311a736bde3169becd9db9e7b21ccc8379344fe6bdf9603e9a4fe6b379365fcc57f3cd7c373fcc4ff38b7dbecd8139c467648ed967c23e63736aceccb9b960992a3334e3de322cd3b22cdb722cd7f22cdf0aacd08aacd84aacd4caacdc2aac12b9dc2f91c5ffaa2c56655dac4b3f2e566d0cad5a3d5b8dd55a9d75b56e9666e9d6ca5a5b1bd6d3f7ccd96ead3bd6522689b5b3f61677bfd6019f2393666a9dac7beb817d1ead27ebd93ab351da592fd6abf566bd5b1fd6274b98bf5884b0601e3d61b3e9c0faeea3cf1fd1d1bfa2634cb31a8bfe82f001fff74a89aca135b2c6d6c49a5a336b6e2d7acdb196cc74fa4a9ed18f85b5b34d48f2439643bf4c614e6ddb766cd77ab03ddbb7033bb42326cfc178b4633bb1533bb37336abda766197ea935dd997de92fecce74fc932307756cdc6646055aa67d77663b776675fed9badd9ba71303fec95bdb6376c249ef9676fed9924625414662bcc5e602bf766681bf6d6beb377f6de3eb0cfde3eda27fb9e8debde7eb01fed27fbd93eb319d7b35fec57656fbfb1d1b07efffcafc9f27cb16a66274cb78cc6f8b4df992c1ff6a7fd657fdb037bc8faf3c47a7864bbe6dc1edb137b6a2db924bb7e64fab161ff9cb1f6ce85fd9b91bdb0972c485698ddcc1dc3311d662c8eed384cd2bde33a9ee33b8113b218f5dd89545df17fcdecfe155954d7183ab113333bb1edda499cd4c9ec2f27778a5e0ea7640ff0ed3d6b55653d3b17361acf4cc706cc6216dc6ed8ff3b356b6be3b44ca6b9d3998173756e8e66f7938feeac9cb5b3b1b7ecf78eb365d21c8d9d73e7ec9cbd73708ecec9b9771e7ec9107ecb7a7eb6a03f234b2f09f3c683fe7ecea3f3e43c3b67e7c58cadb33db1ced6b33d6656cc3ece2b6b5dc5dab5c0a7f765ec63cfe9e374f8bc39efbd24f6d20e9d0f66fd47e7d3f9ea7fe954ce379366dffff5f6cec8e9ff5acca933b3eb9fe4f8576599ab9db3b05f9c25fba1e21a6ce2b08c23f34accd3bab6ebb8aebd702a73e17ab66b1f5d9ff9a8931b981fccdacfaca5f76ec86c2ae673e6d18ddcd84d98bde0e3746e6a7acc73b02b594fbcd93336be67377373b7704bb7722f6e6d176e63356e6b358ae67656f3afe8987a70afaaeddeecd6d55cdd5db96b3626cfeec6dd9a43f7ceddb97b3622dbde86dd837bb4576e6031ed331df7e4debb0feea3fbe43e1b817b765fdc472195fbeabeb9efec5707f7c3f9703fdd2ff7db1db84377c474f1c0fe7dec4edca93b73e7eec25daabd2f6091b8a7aa81f70fbdda9f91c533d8f46d79b6e778ae937b9e71b2179eef055ec8e4601fdbf0222ff612e6030eb6d1eb8c977a99977b85577a9577f16aaff15aaff3aedecdd33cdd5b796b36e7c7c6c9db785befce7a70471ebb0b1b5d9dfd3ff36fde8e59cec1db7b07efe89dbc7bb5f01e58467af31ebcc71f5af5bb1ff853b23c79cfded97bf15ebd37a730637362dbde3bd32f2e099368cbe6f229b39ae7de76bd0fefd3fbf2bebd8137f446ded89b78536fe6cdbd85b76441d7a3aff8866ffa966ffb8e71f45ddfb31e7c9ff9e8ad6df8811ff663e547ee8069e4831ffb899ffa198bd6be51bffd523c9189fe75599e2f7eee177ee957fec5af0d6603e6d46f7a49fc967d3aff6acead27ffd6cf77bee6ebfeca5ffb1b7febdff93b7fef1ffca37f62f966a2bef8f78aea3ff88ffe93ffec9ffd17ffd57ff3df8da3bdf03ffc4fff8bf9f485bd30c74ee57ffb037fe88f8cbd3ff627fed49ff9737fa1382c27fd6679f70f597ea97dfc99d8d25f066aa004060b112da65f6aff97c0f7fae5b7811d38fe3570cd0fe31478811f04411844411c24411a64411e14411954c14509839a7d1afb3d68838ee59af3e06a3f07b7400bf460c5fc48ef0d9560ddeb99ad30d906f6c27a0e36ecaedbe02ed8057ba50e0e4a191c8353708f0af54f35ab3f2d8b1d3c048fc153f01c9ccdd829ad73f012bcf6da15bc05ef81137c049fccf38c83afe03b1804c360148c8309fb330d66c19c49b47016c1325443253442d3188416fbc39c71e8865ee88741188651c86cc73a8709f3cb4698f29881c50f61d6fbfc300f8bb00cabf012d661e32fd421d3b41fb2387f94e5e77af6cf63d25f1db661175ec39b19875aa8b3bbafac636f27e13a5c33795e8c7b2f0d37e136bc0b77e13e3c84c7f014de870fe163f8143e8767f52d7c095fc337ab08dfc38ff033fc62d2982c22f6d97ff90e07e1301c8563e3184ed82cb40dd6e1943d63e6ee99fd7c9b53f6dfe7e1225c466aa428456444e68fcacdaf5a46b288ff862c28f1d4c8525fd5d7c88e1c7f19b9e673e41987c8376751c02375a61351c8e2f7cf88e524511c25511a65c62dca8347ab65f369cafe3c4645f01895aa1255d125aaa3266a5910d345d7e8166966678ccc75d4467ab48ad6d126da4677c629da452c82f0039ef778d68ecdb40bf6bc7d74888ed129ba77d2e8217aecefcdabed866af4d1eeaff6f2932c068fb043b77516ca2e7a8a9ea373f4629ea357f6a437e6750d16a79ca37773c2e6e8aad7eae823fa8cbea2ef68a0ce153f1a2aea8f2a2c7f9e1b8da27134096d2b8ca6d1cc8aa379b48896b11a2b56111b319bac629b85166eccbc3d9f73962c7f93b29843e33ef6e3200ea3fb388ae3f081f554cadbcafc5a1f25fe2c0b7ff68f7131d4f8f9e22cd4f73889d3388bf3b888cbb86277bcb0f87111d7d6dedd5b4f7c2639b959dcc46ddcc557ff515dfdb4f662cb3bbaca5875e25bacc5ba3f8b57f13adec4dbf82edec57ba5890fea323ec6a7f83e7e881fe327e3143fb3d866c9bc7380b86e689de373fc120ce2d76011bfc5effd88736b3055a38fdeff992c0ad34726cb6b9cb8adba8a3f4c23fe649db7641ec6b09ee3da665ed3fc0c33f6dcaff83b1ec4c378a456eaca7e51ee94713c862c3c1eecff9dfdb7493c55f57816cfe345bc4c54e3c17e4894c448ccc44aecc449dcc44bfc24484263efde9b3e8bd8d887e7a42c3b65f3d6d17c4da2244e92244db2a84872b1baf07765b1c886f8155b36bbb2fe65914fa2b8499194e69b71f26fd69e8dc9d9b998dff6c13ad953e39054c925a99326d6d5f7beea9db4ccca52f40d55c1d97d95bb385332bb4abae49adc12cd38252ceb4956c93ad924dbe42eba26bb641f1c9243724cd82c657a8ec272014364d94c9b4b2f4dee9387e4d158264f09b34ab146d2e722ff4c96e499f5e198e50e2bf6efe7e4257935dfad3e3f3f276f56ff8afa7df26ece8dfb709c7c249fc957f29d0c143d192a8b64c4abe3bdc7b4fbac8dc9c264b2df93713231de9269324be6c63159d8c76469c6a99a2aa9919aa995daa9e3dfa76eeaa5bef1603a2cbfe1b2f45910cb54b769601cd3308dd2384dd294cbc2d76dfa7cc4180aaff6932c96b0fe3453466e6b97cc8e9d344f8bb4343fd22a4c98f75a5afdfe8687f4621becee75daa46ddaa5d7d451f4a04b6fa996ea91c9fd3f978549c3644957e93adda4dbf42eddb15fedd3837d4c8fe9c9d8a7f7e943fa18fae953642b7a344c9fd373fa92bed2c8902c2ca7db4681719fbea5efe947fa997ef5feb197a56f7f9f5bfd2acb8f91e17a78607dbb5412ff2139a7dfce9069eb673ae86da5f7c54ee5fa696f8f553a4ac7e9249da6b3a4b50b65c3f42c5177fe23ef31361a7d0edad724d379ba4897999a29c63163f971b4efb3e3ccecb3e2649559999d39ea57ea0475e6665ee66781e9fa81a3a06ab0eb675096e1c5599845599c25ce23b3172e8b6af5b9d52fb2889a9add3f99d14efd4a064ccf952c553eb2cc74cc2fe61b077dcecbf477613d982316e37efaeb2ccf8aaccc2a61e7e45b98b34db24b56678d5dc763f53b6bb32ebb662c62f343d6df6ff6c2fd66de9c652c99661ce3a74ccf56d93adb306bd3b36d76e74efa5999c53363a603cf76bfcd8445369691edb23d93e5901db313d31d85db7491ddff268bf28b2ca67a973d3032b24743c99eb82ccc37f67d642ebcc4661146f69c9db397ec357bcbde852c1855577d4bdaec23fb8c9e93419a655fd97736c8d8e866a36cec8eb24936355da7cc66d9bcf7ebacbf17d93257734509552b377233b7723b77d8377d3d6dc29edad74398b7cedddccbfdec900779a828ff4496be024a7dabf8bd36f63edacc23c330ee982cbd97efed70c024619219f7799c27fe364ff32c3c30597eac4172bf95e779919779a556f925aff3266f8d63dee5d75eb7dc613f1ef9cdfdeeb3e25cb316f153aee7ab7cad9eed32dfe4dbfcced67396c1b09879c8729a4bafd9feb7719f29f93e3fe4c73cc88e4c9b1392c52afe812cbd0f559209d332db2ed5263f1926f32baed05ca6678eed5877ecbfbce6f7fe5dfe104cf347a3fd690d92d97afe943f671725cecff94bfe9abfe5ef7dd4937ff49909af719cddaf6cca73628dcd8871fe997fe5dff9404d9cc833f3613ecac7f1579ff1997dbc4c51b4cfee30c9a7f92cc9988e1d59a699f47e377c0bdffe200bb75792259fab7b854d65ea77be302c63cfd2fb1dd5bc481673943bf9b2500b8545f5b3e8814547b6dcabc0575793b1fa919f0ba33059b7d9ac557d2cbfe8f312ebaeb7e4c2e96b1785cb62ad53e1157e111461112923d52ee22229d22233f67d5ec365611ac6aecdd98cb92f8aa22caa3c2459faf6b398f5f597f9e5375958c6b34f6fcc62be8b0b7be4ce74a97227646177ae8ba6688b2e288a6b714bf25f7684303d53fc645268855eac8ab5710835e7b597a5d8b06cabaf6a7ef4d5be60cd243916dbe2aed815fbe2a0d8c5317b284ec57df1503c16cc3efa1a279764614e0b268f7128cec54bf15abcfd248b1aaa7f57164fcab22bde59fe742a3ed894b5efa33c5420875c9645f1597c15dfc5a01806398ba2c90bffd8555114a3625c4c8a692f4931ebd72c989ea8c5bc8f467b5b6677e03163b12cd5ecbb544287c540d7d250c2d22cadd22e9dd2354ebc22c2ae36c7f6a1f498cdc6a55f06e1ae64290dd731f7efc822d654c40cf3adb665c472b053191b2ecbef852cfb5e16f3cb3a9749999659996749745f163f564a7824669465599597b22e9b5e92b2cd34661b565f3b6371dc985bb4e10ffaaca7ecca6b79b3be4acd0a4a9d8d67c4a45995eb72536e992cbabdeda326368e5bebbecf64cabb7257ee7b591425cd7a6d28b552fb45961fd13ef773ea8dcd103b75c56439183e1bebc81c5b7d3d2cb0674e63cfcb63792aefcb87f2b17c6271ce86e527a398c594ca9d5d97cfe5b97c295fcbb7f29d79d12eef32adafee9bb3bebec13f337b5f7eb079bc2c3fcbaff2bb1c985d392c47e5b89c94d3c42d67e5bc5c944be3c45c7d156a7c4c0f665f1939564a655466d06746a7e0d4ef2ab2aadf62fedefb3059d8b7663f36c8d834bbaa2c26cbbd19b2deec97483a264b6b06c6a1b22bc79bc5e3a00996e5c4dc562e538ba86236cfa29545e5574115329fca66bb3ea736471513d73a313946fd9a4515dbdb2aa9d22aabf2aaa84a2bacaaea52d55553b5556745c1b1ba062b362e5ba7a355b57ebda3aff254b74aabf42467b21c83a36ad9f51f641151a5cf6571d488e9e246bd315559556b264bc4662c268b193269f64c96a37bf65a6fae2e2387e9eb5bb5a9b6d55db5abf6cab53a54c7ea54f575e17be6c717d681c5d5233e26a3fe2ebd3d570f4c96c7eaa97af646d5b97ab1aaead5dc556fd57bf5517d565ff128afabef5e966ac07ac2e5f5cf678bddb11a56a36a9ce4ce23c6c5339adf627e4bca6270efba60d1ee539ac5a36a524db98e912c51af654c965335f33a8f656bca3c34ccae9a87af9eaac6ac3f17d5f2a26637f7f5a25cb81fb615f38349d17f26b406c3ee7570377d7e75312fd6c5be38e1cbc5bd78179f8d897f092e6134b8449798c9d2b91fccbadefb159cde673059946a7449823e47f6d9c7fea32ca859283c96225912f549bdbfa4ec9e593fc6fdfa9c6df523d4af3d18a774e75d2fb9925e8ad0c8eefbbcfd525eaacbe5525f9a4b6b9c2edde56a6fcdd1e5165f98bd93244764f10773e445d68e5da55df4cbeab2b6c2cbe6b2bddc5d7655a7b697fde57039ba2fbd2c173633b1d8cde27fd5d684fde2fef27079e4b2a0adfd5add3f95256071f24d29c2faf27479eeb585d61bfb95a07ecd81e9d8a377f35545b3df7975c88ca6feec72bebc5c5ecdc4383afae58daf136d8235f75dbd7e8db92c7c3d96f5f196c5dd5333bebc5f3e2e9f97afcb777cbcf06a13d388e16578195dc66c869ddb6c66cd466c967db5ee7adbbf4c2ed3cb8ccba2f0bcc2fe5d16392f4096545373b5cdcf97f9657159f6eb90bdcdb2d8b85fd50accc08d8c83a7298f8a1fb4c620fca8d55a49b6b5519bc98ac9f9565bb56def1cc38bfaf99ecd8d336ef74cc7b8341e9b3146e6dcdef82cdeac9ddaadbddaaf83484b46e9ad0eeba88eeb84e5ca9fcce3796c6e9db008f4c9dd32590e755a67756e325990875bfd0aeaeff9cbcfb2287eaa2b6e5dd4a5f25557c68149c0bc0fb3dfa8978569716cc69eee2b6aa9cc422bfc8caa9a4590ec7f0d6b5beb7eb84347cdaf2c63af9cd73063f67faa22f6ebdeaff7d27875c746f9cbfc626d5cd6d7fa566bb55eafea35d36ca77c8af27a536fcdd8b9b23cdceb6318d6239bdec2eabb7a57efcb3d932515759e3fe695d8112074cc55efd44370523ae5b13e184cb3597e7f6fdbbc12cfda581f599b4ff57dfde0b6a1556d13b77eac9fea67e3549feb17a65b8bfab59f159cd728b02d1691ceeb37bfb1b7fe376fd994b220ca89acbdfb5abfd71ff56738a8bfeaef7a500fcba01e992ed3c27db17077aec3f29881cb324b63578feb493de5b2507ef20f7264f6a797a59ffb13f6ff0d9bfda7f5ac9ed70b9657b2fc8bc52e5b7b592f9d779bcdc98dda288de13f5a35f3ca1f8dd958c64363db47f6d9374e3f438693be6ed3fbb2c665ff34a2d0def09a9af1cb1ae0d074eb5be3357e1334a1f3d4444ddc244dcafae291e54977eeaec9ac2dfb158b429bbc299ab2a9b8bdd09ca8f42b763fcb42732397c5e4b364aa8cd2cc99c77a7369eaa6316377c3eefb7039352d0b8359d6e186c6aee99a6b738badd0b48a466b74fbc18c9b557aecc7c57c6fd64cdfc76c2c3efa5cbdd9345bebdcdcb9dbbe8283d53fac9c9b5ebfb3a4d935fbe6604d9a63736aee9b0726c363f3d43c3799bbeb6be64c2fe3e6dcbc34afcd9b948559c51f65a1d95ecaa2f1959bb5faa138cd7bf3c1a22ac7ff609e89d973bfa6686f9b4fe3e0dbcd57f31dbae167ad3483669828d60b7bde283359ae356bc66c961b46611f41369366dacc9ab971b296eeb6e1e3815566167d9b9ed3354b63efad5bb5555aa3355bcbe8ebd581396efb15c45d9f2b87ba71689dd66dbdd6ef63181e7719aadfaf09ff365752a5cfa4bdc2fdfa937a8bc76de03dc65d1b1afd4afdb658703fbbed6dba8d8c531bb7499b865ef5de666d9e9fdaa22ddbcad8370fed85595585fce4beaddba66ddbaebd5e5876dfded8bcf3ddd70ee4eabfefed5aaddf1de36baddeaeda755bb35f6dda6df0dede056f5ec89eb7734a63d7eedb437b6c4f52163f38fd41161bd97abff39945bc2c951e313ddbe5b9a2b7f7ed43fbc8b4f7686ffa9d05b5d53ef55adf326fdf9edb97f6d518861f4e5c44ed5bb269df59ccb3cf3b7bc9645ef5f949fbd17eb65fed773b6887eda865b3068b697aed123b19f67e906bf6b69db0acf8d44edb593b6751cb397875ed76d12e3bb59fdbeace38754a67746667c571922779af472c8e39fe4116e75759d84c99a94967770e93e6dab99d67192cd770d89cb063be56ef7c7b5b9f7d3753baa00bbba8da767197746997b1b0b8e8ca7e6dc8db75157bfea5abbbc6df756dd775d7eed6699ddeadfaac8e723b5ec95b326b687b8fe2fb4e65dce75db7ee36eeaedb76776c02d875fbe6397aef0eddb13b75f7dd43f7f8ab2cbfc563b40fdae2fbb87b59fabdb76ef7d43de7cfddb97be95e6bc738b9ae7de8ff1a4166c38eb3eddeba77964f9cba8feeb3fbeabe9d85fad80dba6137eac6d19d195b0b33f6b56ed24dbb5937ef16ddf2aa5e95ab71358d9dfbca7763f9bd1ce6d00ffa99fd6ad97bc7bada4cbe73b7bb322bb18ee1cadd5d5deffdea3109dfaffe35b886d7280fa302b66ffe1d1d13eb0b72bf196a7fdcef5de36b52b2d65d53ebe19ab119ef6c9dddcf7eb5f79ab3ff5a5ccb6bc5e29897ebe55a5bfeb5b9b6d7ee7acd27d7db55bb321d5533b30bdf8da69c5c57d7f57573dde6937efe655aa8f4750ce623a2be06c6f7638dd87c74ecfd38d515ade7de5aaa8171bcde5d77d7bdda3847b5edab2c5993353c07367f9c07f8afd7f89ca7ebe17a8cd953afa7eb3d3dddbf998b6641d1eef5e1fa787dba3e5fcfd797eb6bad3069deaeefd78febe7f5ebfa5d75d74139bc0eafa3eb987d26d7e975769d7b6bd60b8bcccccceb92dba2f5f327f2dd7d73c7fc1c27ebcc52c3a79b7263f955348c4c36f3b9aa6dbf33591cbebef31764b99937eb66df1cd6379ecb66877edf8bad140b2fb9b139d0b8f7b51b0b346f8152ddc25b748bd5db2db9a5b7ec96df8a68d025e15755df4a7377ab6e97f0e3c626c65b5bac6e9db1ef772df0fd16d6af1f5eafb0d86cc4246aee7236b3dcaeb7db4d4bc6d133cb2d44fefb87ddf3ffb52ce6e34dbfad6eeb86c5860d1b0d663515f3f8ecff6d8fc5eecc9fe593dbe6b6bdddd5a5fa62d7cae2b65386b7fdeda0d4ea58dd869f55773bde4eb7fbcbddede1f6787bba3ddfce51623f180fb71733643e7af24759983454afa4fbbfdede54f7f67efb48068a226ac97f7d7d3f2a6e9fb7afdbf76dc02b565f2cb35c58776c86d89a73162f6d6e43e3741bddc6b7c96d9abab759eadce6f1241ef77bf56f8bc80a5fa2eab6d4d4a8d394a85202f5ac199aa9599aadb1b16e5acdedade4e78fbbef3396c82759cc58f3345f0bb4508bf242d1d20ce3f287d3597fc25e1eb5584bb454cbfad981dd7b617e7a119385f624cdedad96f733a75668a5566917ad564325615ed0b65fe289b25322add15aadd3aedacdf84c1dd573979aa6e9da4a5b6b1b7ba16da99af0ebc8b03f2a8bb1ad7667dada9db653bba0b9bddbef2c7f37642dcfa1f8f22fc8926a7beda01db59376af3db008efce9cfa1f2c3bda71eb6451633568f92e43ed517bd29eb5b3f6a2bd46b935d2de8c85f61e4fb40f36269f2c216e94246ccb2767e999da97f6ad0d3436a6edeeefd98bf5dcee2c35f2b59136d6260a8bd955d72eed525db37111f562ef2fcbf2a84db59936d716da52578d7da8318f79673d9993b86e6fecb363518056b6bac26c79a71bbad92a9dab5bc64db77527327457c97596ee844e7fe622ce597e32d4033dd4233dd6133dedc7e0d74f98f5b2447e2f95bbd7333dcfebb2d20bf6fbfe0c84266b797c86ff2b3a16157aa957fa45aff5466ff5aedf11c3f2de39af8f322fa45ffb798faffbfaa6ebbe66817ed3355dd757fa5adfe85bfdcef850bff59dbe77c6d5413fe847fda4dfeb0ffaa3fe14bd07aece722db28dde4ef86e0bf3e78fe9e8e764adbfe8af4aa36ead86cdca34abf4f6eff075c43fbd8724c9f537fdbdb8ea1ffaa7fea57febcc07588affed6ed3ca56a3f7beea637afd3a561f4733895c33d687fa888dd0589fe8537da6cff585be5ca92b6565accc95e5eddd3c7ded778d38d5ca5e39b6e1eec90f0b0ff68b2cae7170dc95bbf2567e3c535f56415f310a4e2cdeea57df6a5a7bfb73b2048fab701505b355bc4a56e92a5be5ed78555807166b6efa5ccb3afe248bc9b28265dee5ceed8565b4b755b9aa5697555dcd568d3e5ab5b1c7f7c23129dcddaaeb76abab395e752c5bbbe3f66e626ef955166f7533e3b261f9d270a5b1f178e335567efeafaf2afd9571311f57fa6ab55a6bb362b8daacb6abbbcbc76ad75767d2a05f79b0b67d0ecf64796372ec983c0adfc570cff7819ef85efea3d8cf6bdcbbdf76e87ff8cd6abf3aac8ead1d7cb84edffa7e9e679aa6b63b6627bfcae2af4eab7b9643ad570fcdfbea919fce727f3a052c4f69fca971795a3dafceab176db67ad5ebd5dbea7df5b1fa8cbff26ef595f615a31fbbddf98749f7c177bc0f9d57f6795b7daf06d17e35147b2cfbbdbccd9339ee7739b58bd5a8d72e173b9358e3acdf65b1ceab717d67ec5693d574355bcd51c3b7708ec1fdf3314c92af16abe55a5d2b6b439badcdb5b5b6d7ceda5d7bc69e45cffb1f7bdefb489eaffb32097a7b62b3105fc7e3fba9f9beea7e36627e6318266b7f1dacc3c0091cbecb91452c6431bd17f85d967e7473dbd8d7efeb681dab77e20c2d9745f9b16be9cff8b1f03198af933c5d5bc1789daeb375be2ed6e5ba5a5fd6b5b5b437741601fbf7fbd5b30fbe57a25f6bb15a16fc34ceba757416dfb3e83e9ce9d77ecd807df6ebceefd6cc62bc50c8d2eeb411f366bfd90bd7d26374b7beadb53573e4b2fee5fed5793f628aba5eaf37ebedfa6ebd5befd787f5717d5adfaf1fd68feba790c5fdd69eef5ac1b8b04fbf9ef76a7e704b3e584bbedb9f5950bffba8f7e2eb7e97fcb1df83b63eaf5f02d736cc28effa73246c8e1feb193f73d2e7373edfafe4b23c69bb7e5dbf35cafa7dfdc1e617c8f2f7f78ffdf38ff3283f69566595d196e7f5e7fa6bfdbd1eac87eb11d335bea38c568b980e4db0afbf8fa6c6acc7cffc04c6b2dfadd7cbe90f7a7bea77569a43967505d5e0a69a713e6171d79d36d1f3f5b8f776eb49bfa3b61f93cb389f38de7aba9eade7eabdd8d32b674be7afc8f2d3d9621ecf798f6a11dcaf179774bdcc5f36ea46d9181bb37faead164ebf368979c230a77db5439cb4602336661ab91436d3dc39174ba1fd0a2caa7f6511e4ae0f0b36569fdfacc6cce59f8ce3c6c9271b77e36dfc4d607da94f56f35b9bfed2b8fc7eb6381a2a9ee2da55972acd26dc449b78936cd24db6c9f9aa0bcb6eac27ffdbf68bbc782effdf76ae6549552488eee733a6f615fdba7dbb6356a899203e5a6db51f3b4444f0c14b1489987f9faa8202a4bd37b457331113b9d010943a661645669d93b6d9e37b5a6207f5ce54d90a7b630ee6244ed8f3c2d4532060d9afca32ad349d280e4d481246103617866ae8b10a11c3b2b36c86248e1fe983506f36cb7bd7f59cde1344592e9dd23decc91c0e90c0115250a0014d680104cf80a691efb672cf7c667bc1191af13a6a6c8d2ed758790ea8a041fba8a546ca6681e23a2c67047dffd9b4a1130fb9e20cbad0833e2ce34747a706bc2c0e85fef98baee722bfd4f4404187dc51957668dcd0c2d0b660004318c12b8c61025378f3347fb13bb0acbe5df0f8ab3a31cdd0e01d3ee0136ee036e9c2ddb1ed7437f7e95459c13d7169c0bcfd003fe0117eb2bb700a4ff08c94def1b9eef5e9337dca1557dfc052a8ea8aefae6ed98c216b9d45ef4ffa485524aebeeaa181333471eeaa5edbb7f71bff47100423b4421517519a70a1686ff7106f632dbe471b97ebe0a027b3a4874ec8a276354cdffc603e255ca59dee228325a4b8c2354b719e8d29bbca113774bcb961e319c8f15c1f6327bd3884873ca043ee1bdcda7dce35430f7d0c30740718e10e636fed2f7ddd7f0cc2861b3aa1161991827b3cecfa8d66ec6112bce2115354f693204dfadb96d559cd6ccab25f967cd21655d61b3627a2d61336b0892d72a03dc20e53978ef868d8fa229f5faee75a7fe935c07eb745b764495b08ec7d0311d5f514356ca3bffd70224ff774bfb3f1822818bb5ad8461d3bd8c5de6e837df6fe0507fb088787258ef015c7d68bd0fa1a7cc79ef3f0a8623d21573237714a0f6bb636061dba66de58d0211dac1b76bfe293ef6039b59ad281736c393795d713791dceebf80ee712f96e3009ddd07544a5d179e13613e6e4967d435ca3ec245389a0cad56bfd58aad7bf7aee9fc122ff178e852391e3f3ba9c7d9399eff23a234758aeb7d96b869def6fe7fb0f468e60216ac18678a2378b9890bd31a42ee18c42f1d27b720dcf09969c1fb0909d7904e76ec356026184f0baafc89d66956e3da5fecbf6f6f369d67545d6b5c5d924df135a7ec542cb5e26e49a7cbfc201afa191da8093df3604f79408ae9ab0ad576031ca9ca3caca1635c83935653d22cfb448ce3bcf6adc752c32e62a9eb9443352aa19aaaae7e288acea1ab4729f2cb50e052bf5d4871cf952b02732ae47d9db635ea9689b453c57bc2062244752ad5f5e84c592fcc3e1ee4c949995795bc152fdbea830d827ffc84c20e9088f91d2fb395e4b665b520152c3422492ebf27dce3a1163b10a2cc60916c11710bad85b6ed69a7320cdc09db863ceee0a1533e20c1ccef6c814cd995eb334f9fc9ecf4b7ebda988b5c23b67b1108e04dff03d63da7fc32f8b9a5f4caeec2fc7c9c7e6f5bc5e154b795ce2e596e3679fca7dd222b624e3bc58134fe3a1e0bbcd199677fcb81c4b3d6a7ea7d6aeb0fb7e71ceb9a3f5738b7cbeda2ba7de3ba79caf57e52fff15fb1fcbbfd3fefcfbaf3ffe0193cc32fd</data>
- </image>
-</images>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/util/install/win/pages/sidedecorationimpl.cpp b/util/install/win/pages/sidedecorationimpl.cpp
deleted file mode 100644
index aa25825..0000000
--- a/util/install/win/pages/sidedecorationimpl.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "sidedecorationimpl.h"
-#include <qlabel.h>
-#include <qlayout.h>
-#include <qgrid.h>
-#include <qregexp.h>
-
-/* XPM */
-static char *check_data[] = {
-/* width height num_colors chars_per_pixel */
-" 11 12 4 1",
-/* colors */
-". c #939393",
-"# c #dcdcdc",
-"a c None",
-"b c #191919",
-/* pixels */
-"aaaaaaaaaa#",
-"aaaaaaaaabb",
-"aaaaaaaabba",
-"aaaaaaabbaa",
-"aaaaaabbaaa",
-"a#aaabbaaaa",
-"ab.a.b.aaaa",
-"a#bbbbaaaaa",
-"aabbbaaaaaa",
-"aa#b.aaaaaa",
-"aaa.aaaaaaa",
-"aaaaaaaaaaa"
-};
-
-/* XPM */
-static char *arrow_data[] = {
-/* width height num_colors chars_per_pixel */
-" 11 11 4 1",
-/* colors */
-". c None",
-"# c #b9b9b9",
-"a c #8a8a8a",
-"b c #0d0d0d",
-/* pixels */
-"...##......",
-"...ab#.....",
-"...abb#....",
-"...abbb#...",
-"...abbbb#..",
-"...abbbba..",
-"...abbba...",
-"...abba....",
-"...aba.....",
-"...aa......",
-"..........."
-};
-
-/* XPM */
-static char *cross_data[] = {
-/* width height num_colors chars_per_pixel */
-" 11 11 3 1",
-/* colors */
-". c #cc0000",
-"# c None",
-"a c #fc3464",
-/* pixels */
-"###########",
-"###########",
-"########a.#",
-"##a####a.##",
-"##a.###.###",
-"###a...a###",
-"####...####",
-"####...a###",
-"###.a##..##",
-"##a.####aa#",
-"##.########"
-};
-
-
-SideDecorationImpl::SideDecorationImpl( QWidget* parent, const char* name, WindowFlags fl ) :
- SideDecoration( parent, name, fl ),
- checkPix( ( const char** ) check_data ),
- arrowPix( ( const char** ) arrow_data ),
- crossPix( ( const char** ) cross_data ),
- activeBullet( -1 )
-{
- Q_ASSERT( layout() != 0 );
- if ( layout()->inherits("QBoxLayout") ) {
- ((QBoxLayout*)layout())->setMargin( 0 );
- }
- setSizePolicy( QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Expanding) );
- if ( globalInformation.reconfig() ) {
- versionLabel->setText( "Reconfigure Qt " + globalInformation.qtVersionStr() );
- } else {
-#if defined(QSA)
- QString versionStr = globalInformation.qsaVersionStr();
- versionStr.replace( QRegExp(" Evaluation"), "" );
- versionLabel->setText( versionLabel->text().replace( "Qt", "QSA" ) + " " + versionStr );
-#elif defined(EVAL)
- QString versionStr = globalInformation.qtVersionStr();
- versionStr.replace( QRegExp(" Evaluation"), "" );
- versionLabel->setText( versionLabel->text() + " " + versionStr );
-#elif defined(NON_COMMERCIAL)
- QString versionStr = globalInformation.qtVersionStr();
- versionStr.replace( QRegExp(" Non-Commercial"), "" );
- versionLabel->setText( versionLabel->text() + " " + versionStr );
-#elif defined(EDU)
- QString versionStr = globalInformation.qtVersionStr();
- versionStr.replace( QRegExp(" Educational"), "" );
- versionLabel->setText( versionLabel->text() + " " + versionStr );
-#else
- versionLabel->setText( versionLabel->text() + " " + globalInformation.qtVersionStr() );
-#endif
- }
-#if defined(EVAL)
- editionLabel->setText( "Evaluation Version" );
-#elif defined(NON_COMMERCIAL)
- editionLabel->setText( "Non-Commercial Edition" );
-#elif defined(EDU)
- editionLabel->setText( "Educational Edition" );
-#else
- editionLabel->setText( "" );
-#endif
-}
-
-SideDecorationImpl::~SideDecorationImpl()
-{
-}
-
-void SideDecorationImpl::wizardPages( const QPtrList<Page>& li )
-{
- QBoxLayout *lay = 0;
- Q_ASSERT( layout() != 0 );
- if ( layout()->inherits("QBoxLayout") ) {
- lay = (QBoxLayout*)layout();
- } else {
- return;
- }
- QPtrList<Page> list = li;
- Page *page;
- QGrid *grid = new QGrid( 2, this );
- grid->setSpacing( 2 );
- for ( page=list.first(); page; page=list.next() ) {
- QLabel *l = new QLabel( grid );
- l->setSizePolicy( QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed) );
- bullets.append( l );
- l = new QLabel( page->shortTitle(), grid );
- }
- lay->insertWidget( -1, grid );
- lay->insertStretch( -1 );
-}
-
-void SideDecorationImpl::wizardPageShowed( int a )
-{
- if ( activeBullet>=0 && (uint)activeBullet<bullets.count() ) {
- if ( a < activeBullet )
- bullets.at(activeBullet)->clear();
- else
- bullets.at(activeBullet)->setPixmap( checkPix );
- }
- bullets.at(a)->setPixmap( arrowPix );
- activeBullet = a;
-}
-
-void SideDecorationImpl::wizardPageFailed( int a )
-{
- bullets.at(a)->setPixmap( crossPix );
-}
diff --git a/util/install/win/pages/winintropage.ui b/util/install/win/pages/winintropage.ui
deleted file mode 100644
index ac2545b..0000000
--- a/util/install/win/pages/winintropage.ui
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
-<class>WinIntroPage</class>
-<widget class="QWidget">
- <property name="name">
- <cstring>WinIntroPage</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>387</width>
- <height>228</height>
- </rect>
- </property>
- <property name="caption">
- <string>Form1</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QTextBrowser">
- <property name="name">
- <cstring>textBrowser</cstring>
- </property>
- <property name="text">
- <string>&lt;p&gt;It is strongly recommended that you exit all Windows programs before running this install program.&lt;/p&gt;&lt;p&gt;Click &lt;tt&gt;Cancel&lt;/tt&gt; to quit install and then close any programs you have running.&lt;/p&gt;&lt;p&gt;Click &lt;tt&gt;Next&lt;/tt&gt; to continue with the setup program.&lt;/p&gt;</string>
- </property>
- </widget>
- </hbox>
-</widget>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/util/install/win/qt.arq b/util/install/win/qt.arq
deleted file mode 100644
index f3f1ccc..0000000
--- a/util/install/win/qt.arq
+++ /dev/null
@@ -1,3 +0,0 @@
-This is just a dummy file. Use the package program to add the real qt.arq
-file to the package.
-This file must be smaller than 500 bytes.
diff --git a/util/install/win/resource.cpp b/util/install/win/resource.cpp
deleted file mode 100644
index 4ea0ad8..0000000
--- a/util/install/win/resource.cpp
+++ /dev/null
@@ -1,162 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "resource.h"
-#include <qfile.h>
-#include <qfileinfo.h>
-#include <qapplication.h>
-
-#ifdef Q_OS_WIN32
-#include <windows.h>
-#endif
-
-/*
- Tries to load the binary resource \a resourceName. If the resource is
- smaller than \a minimumSize, the resource is not loaded and isValid()
- returns false. isValid() returns also false when the loading failed.
- */
-ResourceLoader::ResourceLoader( char *resourceName, int minimumSize )
-{
-#if defined(Q_OS_WIN32)
- valid = true;
-
- HMODULE hmodule = GetModuleHandle( 0 );
- // we don't need wide character versions
- HRSRC resource = FindResourceA( hmodule, resourceName, MAKEINTRESOURCEA( 10 ) );
- HGLOBAL hglobal = LoadResource( hmodule, resource );
- arSize = SizeofResource( hmodule, resource );
- if ( arSize == 0 ) {
- valid = false;
- return;
- }
- if ( arSize < minimumSize ) {
- valid = false;
- return;
- }
- arData = (char*)LockResource( hglobal );
- if ( arData == 0 ) {
- valid = false;
- return;
- }
- ba.setRawData( arData, arSize );
-#elif defined(Q_OS_MAC)
- valid = false;
- arSize = 0;
- arData = 0;
- QFile f;
- QString appDir = qApp->argv()[0];
- int truncpos = appDir.findRev( "/Contents/MacOS/" );
- if (truncpos != -1)
- appDir.truncate( truncpos );
- QString path = appDir + "/Contents/Qt/";
- path += resourceName;
- f.setName( path );
- if (!f.open( IO_ReadOnly ))
- return;
- QFileInfo fi(f);
- arSize = fi.size();
- arData = new char[arSize];
- if (f.readBlock( arData, arSize ) != arSize)
- {
- delete[] arData;
- return;
- }
- ba.setRawData( arData, arSize );
- valid = true;
- return;
-#endif
-}
-
-ResourceLoader::~ResourceLoader()
-{
- if ( isValid() )
- ba.resetRawData( arData, arSize );
-#if defined(Q_OS_MAC)
- delete[] arData;
-#endif
-}
-
-bool ResourceLoader::isValid() const
-{
- return valid;
-}
-
-QByteArray ResourceLoader::data()
-{
- return ba;
-}
-
-
-#if defined(Q_OS_WIN32)
-ResourceSaver::ResourceSaver( const QString& appName )
- : applicationName(appName)
-{
-}
-
-ResourceSaver::~ResourceSaver()
-{
-}
-
-bool ResourceSaver::setData( char *resourceName, const QByteArray &data, QString *errorMessage )
-{
- // we don't need wide character versions
- HANDLE hExe = BeginUpdateResourceA( applicationName.latin1(), false );
- if ( hExe == 0 ) {
- if ( errorMessage )
- *errorMessage = QString("Could not load the executable %1.").arg(applicationName);
- return false;
- }
- if ( !UpdateResourceA(hExe,(char*)RT_RCDATA,resourceName,0,data.data(),data.count()) ) {
- EndUpdateResource( hExe, true );
- if ( errorMessage )
- *errorMessage = QString("Could not update the executable %1.").arg(applicationName);
- return false;
- }
- if ( !EndUpdateResource(hExe,false) ) {
- if ( errorMessage )
- *errorMessage = QString("Could not update the executable %1.").arg(applicationName);
- return false;
- }
-
- if ( errorMessage )
- *errorMessage = QString("Updated the executable %1.").arg(applicationName);
- return true;
-}
-#endif
diff --git a/util/install/win/resource.h b/util/install/win/resource.h
deleted file mode 100644
index 791edfe..0000000
--- a/util/install/win/resource.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef RESOURCE_H
-#define RESOURCE_H
-
-#include <qcstring.h>
-#include <qstring.h>
-
-class ResourceLoader
-{
-public:
- ResourceLoader( char *resourceName, int minimumSize=0 );
- ~ResourceLoader();
-
- bool isValid() const;
- QByteArray data();
-
-private:
- bool valid;
- int arSize;
- char *arData;
- QByteArray ba;
-};
-
-#if defined(Q_OS_WIN32)
-class ResourceSaver
-{
-public:
- ResourceSaver( const QString& appName );
- ~ResourceSaver();
-
- bool setData( char *resourceName, const QByteArray &data, QString *errorMessage=0 );
-
-private:
- QString applicationName;
-};
-#endif
-
-#endif // RESOURCE_H
diff --git a/util/install/win/setupwizardimpl.cpp b/util/install/win/setupwizardimpl.cpp
deleted file mode 100644
index 909d986..0000000
--- a/util/install/win/setupwizardimpl.cpp
+++ /dev/null
@@ -1,2571 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "setupwizardimpl.h"
-#include "environment.h"
-#include <qfiledialog.h>
-#include <qlineedit.h>
-#include <qlabel.h>
-#include <qprogressbar.h>
-#include <qtextview.h>
-#include <qmultilineedit.h>
-#include <qbuttongroup.h>
-#include <qsettings.h>
-#include <qlistview.h>
-#include <qlistbox.h>
-#include <qapplication.h>
-#include <qcheckbox.h>
-#include <qtextstream.h>
-#include <qpushbutton.h>
-#include <qradiobutton.h>
-#include <qcombobox.h>
-#include <qmessagebox.h>
-#include <qregexp.h>
-#include <qtabwidget.h>
-#include <qarchive.h>
-#include <qvalidator.h>
-#include <qdatetime.h>
-#include <qlayout.h>
-
-#include <keyinfo.h>
-#if defined(Q_OS_WIN32)
-
-#include <process.h>
-#endif
-
-#if defined(EVAL) || defined(EDU) || defined(NON_COMMERCIAL)
-#include <check-and-patch.h>
-#endif
-
-#if defined(EVAL)
-# define LICENSE_DEST "LICENSE.EVAL"
-#elif defined(EDU)
-# define LICENSE_DEST "LICENSE.EDU"
-#elif defined(NON_COMMERCIAL)
-# define LICENSE_DEST "LICENSE.NON_COMMERCIAL"
-#else
-# define LICENSE_DEST "LICENSE"
-#endif
-
-#include "resource.h"
-#include "pages/sidedecorationimpl.h"
-
-#define FILESTOCOPY 4582
-
-static const char* const logo_data[] = {
-"32 32 238 2",
-"Qt c None",
-"#u c #000000",
-".# c #020204",
-"a. c #102322",
-"af c #282500",
-"as c #292e26",
-"a8 c #2c686a",
-"ae c #307072",
-"#C c #322a0c",
-"#s c #36320c",
-"am c #3b3d3f",
-"#3 c #3c8082",
-"#f c #3e3a0c",
-"## c #423e0c",
-"#9 c #434341",
-"ad c #438888",
-"aU c #458d8e",
-"#g c #46420c",
-"aM c #46494a",
-"ay c #474948",
-"#D c #4a4328",
-".W c #4a4611",
-"az c #4a4641",
-"a1 c #4a4a49",
-"aH c #4b9e9e",
-"au c #4d9a9f",
-"aS c #4e9a9a",
-"an c #4f4e4a",
-".X c #504e0c",
-"a7 c #51a4a9",
-"#0 c #525250",
-"aT c #55a6a3",
-".Y c #56520c",
-"#a c #5a5604",
-".Z c #5e5a0c",
-".V c #5e5e5c",
-"a0 c #5e5e60",
-"a6 c #5ea0a6",
-".J c #625e0c",
-"bB c #64aaa9",
-"#m c #665e2c",
-"aL c #686867",
-"bw c #68acb2",
-"bo c #696928",
-"ba c #696967",
-"aE c #69aeb2",
-"#z c #6a5614",
-".K c #6a660c",
-"aZ c #6a6a65",
-"bG c #6db4b4",
-".9 c #6e5e24",
-"#. c #6e6a5c",
-"bv c #6fb6b9",
-"bC c #706d28",
-"br c #70bcc5",
-"aQ c #71b7ba",
-".I c #726234",
-".L c #726e0c",
-".0 c #72720c",
-"#w c #746d44",
-"be c #747028",
-"bH c #747428",
-".M c #76720a",
-"aR c #78c1c2",
-"#Z c #797977",
-"a2 c #7a5d3d",
-"#H c #7a6614",
-"#I c #7a760a",
-"#l c #7a7634",
-".1 c #7a7a0c",
-"#e c #7a7a5c",
-"bL c #7bc0c2",
-"b. c #7c7d82",
-"#d c #7e6e34",
-".N c #7e7a0a",
-"bP c #816c20",
-".8 c #82763c",
-"#h c #827a3c",
-".x c #827e0c",
-"#t c #827f4b",
-".O c #828204",
-"#v c #828384",
-".P c #868604",
-"bq c #87d4d9",
-"#k c #89864b",
-"#c c #8a8244",
-".y c #8a8604",
-"#j c #8d8652",
-"al c #8d8d8a",
-"#b c #8e8644",
-".z c #8e8e04",
-"aW c #8f9094",
-"#i c #908952",
-"#Q c #909021",
-"ag c #90d0d2",
-"bO c #916f34",
-"bQ c #91cdd3",
-".7 c #928a44",
-"#p c #928e6c",
-"#P c #947f2f",
-".A c #949204",
-"bh c #949495",
-".6 c #968e4c",
-"aC c #999721",
-".w c #9a8a44",
-"#M c #9a9a99",
-"ap c #9b9b21",
-".5 c #9c924c",
-"#R c #9c9a04",
-"#7 c #9d9d9b",
-"ao c #9e7641",
-".4 c #9e964c",
-"#J c #9e9b21",
-".B c #9e9e04",
-"ac c #9e9e9d",
-"#S c #a09e21",
-"ax c #a0a0a3",
-"aK c #a1a1a2",
-"aX c #a1a1a4",
-".r c #a2a204",
-"#1 c #a2a221",
-"aF c #a2e1dd",
-".3 c #a49a54",
-".2 c #a69e54",
-"bR c #a78446",
-"#6 c #a9a9a8",
-".T c #aaa254",
-".s c #aaaa04",
-"#W c #abaaa6",
-"aN c #ac8861",
-".S c #aea25c",
-".R c #aea65c",
-".t c #aeae04",
-"#L c #b0b0b0",
-"#o c #b2ae94",
-".u c #b2b204",
-"aI c #b2b2b4",
-"b# c #b3b3b2",
-"#X c #b4b4b6",
-"#V c #b5b4b4",
-".Q c #b6aa5c",
-".n c #b6b604",
-"aY c #b6b6b7",
-"bN c #b79658",
-"ah c #b7e5e3",
-"aG c #b7ebe9",
-"ar c #b9d9dc",
-"#8 c #bcbcbe",
-"ab c #bdbdbe",
-".m c #beae5c",
-".F c #beb264",
-"aq c #bef6f6",
-"aB c #c1a470",
-"#F c #c1c1c3",
-".E c #c2b664",
-"at c #c2e9eb",
-"bI c #c39c6a",
-"bs c #c3a366",
-"#U c #c3c3c0",
-"aw c #c3c3c1",
-"#G c #c3c3c7",
-"aD c #c3f1f2",
-"a# c #c6c6c3",
-"#2 c #c7edf3",
-".D c #c8ba6c",
-"bM c #c9a470",
-"#N c #c9c9c4",
-".C c #cabe6c",
-"ak c #cacaca",
-"bx c #cbb076",
-"aa c #cbcbc9",
-"a3 c #ccac7f",
-".H c #ceba54",
-"#E c #ceced0",
-"bi c #cfaf7e",
-"#Y c #cfcfcb",
-"bK c #d1ac80",
-"#5 c #d1d1cf",
-"bu c #d2ae83",
-"bm c #d3b180",
-"bD c #d3b384",
-"bF c #d4b589",
-"aJ c #d4d4d3",
-".j c #d6c664",
-".v c #d6c674",
-"#K c #d6d6d5",
-"bJ c #d7b588",
-"bd c #d8b289",
-"bz c #d8b78d",
-".q c #d8ca74",
-"aj c #d8d8d9",
-"bb c #dabd97",
-"a5 c #dcba91",
-"bE c #dcc097",
-"aA c #ddc292",
-"aP c #dec491",
-".p c #dece75",
-"bk c #dfc79c",
-"av c #e0e0e0",
-"#A c #e2dabc",
-"#O c #e2e2e4",
-"aO c #e3c898",
-"by c #e4c7a1",
-".l c #e6da84",
-"a4 c #e7c7a2",
-"bt c #eacaa5",
-".o c #eede84",
-".G c #eee284",
-".i c #eee294",
-"bn c #efd7b4",
-".k c #f2e69c",
-".e c #f2eaa4",
-"bc c #f3d8b8",
-"bj c #f5e2c8",
-"#r c #f6eea4",
-".f c #f6eeb8",
-".g c #f6f2cc",
-".c c #faf6d4",
-".d c #fafae4",
-".U c #feee95",
-"bA c #fef26c",
-"#q c #fef2ac",
-"#x c #fef2b8",
-"bp c #fef684",
-"bl c #fef690",
-"bg c #fef69c",
-"bf c #fef6a4",
-".a c #fef6b4",
-"#B c #fef6c4",
-"#y c #fef6ce",
-"a9 c #fefaac",
-"aV c #fefab7",
-"ai c #fefac4",
-"#4 c #fefad1",
-"#n c #fefadf",
-".h c #fefaec",
-"#T c #fefee6",
-".b c #fefefa",
-"QtQtQtQtQtQtQtQtQtQtQtQt.#QtQtQtQtQtQt.#QtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQt.#.#.a.#QtQtQtQt.#.b.#.#QtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQt.#.#.a.a.a.a.#QtQt.#.c.d.b.b.#.#QtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQt.#.#.e.e.e.e.e.e.e.#.#.f.f.g.g.c.h.b.#.#QtQtQtQtQtQt",
-"QtQtQtQt.#.#.i.i.i.i.i.i.i.i.j.j.b.b.k.e.f.f.g.g.c.d.#.#QtQtQtQt",
-"QtQt.#.#.l.l.l.l.l.l.l.l.m.m.n.n.o.o.b.b.k.k.e.f.f.g.g.c.#.#QtQt",
-"Qt.#.p.p.q.p.p.p.p.p.m.m.r.s.t.u.p.q.v.v.b.b.i.i.k.e.f.f.g.g.#Qt",
-"QtQt.#.j.j.j.j.j.w.w.x.y.z.A.B.r.C.C.D.E.E.F.b.b.o.G.k.k.e.#QtQt",
-"QtQtQt.#.H.H.I.I.J.K.L.M.N.O.P.z.Q.Q.Q.R.R.R.S.T.b.b.G.G.#QtQtQt",
-"Qt.#.#.U.V.W.W.W.X.Y.Z.J.K.L.0.1.2.3.3.4.5.5.6.6.7.8.9#..b.#.#Qt",
-"QtQtQt.#.U.U.U.W.W##.W.X.Y#a.J.K.7.7#b#b#b#c#c#d#d.h.h.b.#QtQtQt",
-"QtQtQtQt.##e.U.U.U.W.W#f#g.W.X.Y#h#i#j#k#l#m#m#n#n.h#g.#QtQtQtQt",
-"QtQtQtQt.##o#p#e#q#q#r#f#f#s#f#g#t#u#v#u#w#x#y#y#g#g#z.#QtQtQtQt",
-"QtQtQtQt.#.b#A#o#p#e#B#B#B#C#C#D#u#E#F#G#u#y#g#g#H#I#J#uQtQtQtQt",
-"QtQtQtQt.#.b.h.b#A#o#p#e.d.d.d#u#K#L#M#N#O#u#P#Q#R#S#u#u#uQtQtQt",
-"QtQtQtQt.#.b#T.h#T#n#A#o#p#e#u#U#V#W#X#Y#Z#0#u#1#S#u#2#3#uQtQtQt",
-"QtQtQtQt.##T.h#T#n#T#n#4#A#u#5#6#7#6#8#Z#0#9#u#S#u#2#3a.Qt#u#uQt",
-"QtQtQtQt.##T#n#T#4#4#4#4#u#Oa#aaabac#Z#9#9#u#S#u#2adaeaf#uagah#u",
-"QtQtQtQt.##n#n#4#4#4ai#u#Oajak#Yalamanao#u#Sap#uaqar#3asagatau#u",
-"QtQtQtQt.##T#4#4#4ai#uav#O#OawaxayazaAaB#uapaC#uaDaEaFaGataH#uQt",
-"QtQtQtQt.##4#4aiaiai#uaIaJ#OaKaLaMaNaOaPao#u#uaDaQaRaSaTaU#uQtQt",
-"QtQtQtQt.##4aiaV.aaV#uaWaXaYaZa0a1a2a3a4a5ao#ua6a7a8#u#u#uQtQtQt",
-"QtQtQtQt.#aiaiaiaV.aa9#ub.b#baa0#u#1#ubbbcbdao#ua8#ube.#.#.#.#Qt",
-"QtQtQtQt.#aV.aaVaVbfbfbg#ubhba#u#1.AaC#ubibjbkao#ube#a.#.#.#.#.#",
-"QtQtQtQt.#.aa9.abfa9bgbgbg#u#ubl.AaC#uaD#ubmbna5ao#ubo.#.#.#.#Qt",
-"QtQtQtQt.#.aa9a9bgbgblblblblbpbpaC#uaDbqbr#ubsbtbuao#u.#.#QtQtQt",
-"QtQtQtQtQt.#.#bgbgbgblblbpbpbpbp#uatbvbwa8#u#ubxbybzao#uQtQtQtQt",
-"QtQtQtQtQtQtQt.#.#blblbpbpbAbp#uaDbBbwa8#ubebC#ubDbEbFao#uQtQtQt",
-"QtQtQtQtQtQtQtQtQt.#.#bAbpbA#uaDbGbwa8#ubH.#.#Qt#ubIbJbKao#uQtQt",
-"QtQtQtQtQtQtQtQtQtQtQt.#.##uaDbLbwa8#u.#.#QtQtQtQt#ubMbNbObP#uQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQt#ubQbwa8#u.#QtQtQtQtQtQtQt#ubRbO#uQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQt#u#u#uQtQtQtQtQtQtQtQtQtQt#u#uQtQtQt"};
-
-static bool findFileInPaths( const QString &fileName, const QStringList &paths )
-{
- QDir d;
- for( QStringList::ConstIterator it = paths.begin(); it != paths.end(); ++it ) {
- // Remove any leading or trailing ", this is commonly used in the environment
- // variables
- QString path = (*it);
- if ( path.startsWith( "\"" ) )
- path = path.right( path.length() - 1 );
- if ( path.endsWith( "\"" ) )
- path = path.left( path.length() - 1 );
- if( d.exists( path + QDir::separator() + fileName ) )
- return true;
- }
- return false;
-}
-
-bool findFile( const QString &fileName )
-{
- QString file = fileName.lower();
- QStringList paths;
-#if defined(Q_OS_WIN32)
- QRegExp split( "[;,]" );
-#else
- QRegExp split( "[:]" );
-#endif
- if ( file.endsWith( ".h" ) ) {
- if ( globalInformation.sysId() == GlobalInformation::Borland )
- return true;
- paths = QStringList::split( split, QEnvironment::getEnv( "INCLUDE" ) );
- } else if ( file.endsWith( ".lib" ) ) {
- if ( globalInformation.sysId() == GlobalInformation::Borland )
- return true;
- paths = QStringList::split( split, QEnvironment::getEnv( "LIB" ) );
- } else {
- paths = QStringList::split( split, QEnvironment::getEnv( "PATH" ) );
- }
- return findFileInPaths( file, paths );
-}
-
-static bool createDir( const QString& fullPath )
-{
- QStringList hierarchy = QStringList::split( QDir::separator(), fullPath );
- QString pathComponent, tmpPath;
- QDir dirTmp;
- bool success = true;
-
- for( QStringList::Iterator it = hierarchy.begin(); it != hierarchy.end(); ++it ) {
- pathComponent = *it + QDir::separator();
- tmpPath += pathComponent;
-#if defined(Q_OS_WIN32)
- success = dirTmp.mkdir( tmpPath );
-#else
- success = dirTmp.mkdir( QDir::separator() + tmpPath );
-#endif
- }
- return success;
-}
-
-SetupWizardImpl::SetupWizardImpl( QWidget* parent, const char* name, bool modal, WindowFlags flag ) :
- QWizard( parent, name, modal, flag ),
- tmpPath( QEnvironment::getTempPath() ),
- fixedPath(false),
- filesCopied( false ),
- filesToCompile( 0 ),
- filesCompiled( 0 ),
- licensePage( 0 ),
- licenseAgreementPage( 0 ),
- licenseAgreementPageQsa( 0 ),
- optionsPage( 0 ),
- optionsPageQsa( 0 ),
- foldersPage( 0 ),
- configPage( 0 ),
- progressPage( 0 ),
- buildPage( 0 ),
- finishPage( 0 )
-{
- // initialize
- if ( !name )
- setName( "SetupWizard" );
- resize( 600, 390 );
-#if defined(QSA)
- setCaption( trUtf8( "QSA Installation Wizard" ) );
-#else
- setCaption( trUtf8( "Qt Installation Wizard" ) );
-#endif
- QPixmap logo( ( const char** ) logo_data );
- setIcon( logo );
-#if defined(QSA)
- setIconText( trUtf8( "QSA Installation Wizard" ) );
-#else
- setIconText( trUtf8( "Qt Installation Wizard" ) );
-#endif
- QFont f( font() );
- f.setFamily( "Arial" );
- f.setPointSize( 12 );
- f.setBold( true );
- setTitleFont( f );
-
- totalFiles = 0;
-
- // try to read the archive header information and use them instead of
- // QT_VERSION_STR if possible
- QArchiveHeader *archiveHeader = 0;
- ResourceLoader rcLoader( "QT_ARQ", 500 );
- if ( rcLoader.isValid() ) {
- // First, try to find qt.arq as a binary resource to the file.
- QArchive ar;
- QDataStream ds( rcLoader.data(), IO_ReadOnly );
- archiveHeader = ar.readArchiveHeader( &ds );
- } else {
- // If the resource could not be loaded or is smaller than 500
- // bytes, we have the dummy qt.arq: try to find and install
- // from qt.arq in the current directory instead.
- QArchive ar;
- QString archiveName = "qt.arq";
-# if defined(Q_OS_MAC)
- QString appDir = qApp->argv()[0];
- int truncpos = appDir.findRev( "/Contents/MacOS/" );
- if (truncpos != -1)
- appDir.truncate( truncpos );
- archiveName = appDir + "/Contents/Qt/qtmac.arq";
-# endif
- ar.setPath( archiveName );
- if( ar.open( IO_ReadOnly ) ) {
- archiveHeader = ar.readArchiveHeader();
- }
- }
-
-#if defined(QSA)
- ResourceLoader rcLoaderQsa( "QSA_ARQ", 500 );
- if ( rcLoaderQsa.isValid() ) {
- // First, try to find qt.arq as a binary resource to the file.
- QArchive ar;
- QDataStream ds( rcLoaderQsa.data(), IO_ReadOnly );
- QArchiveHeader *archiveHeaderQsa = ar.readArchiveHeader( &ds );
- if ( archiveHeaderQsa ) {
- QString qsa_version_str = archiveHeaderQsa->description();
- if ( !qsa_version_str.isEmpty() )
- globalInformation.setQsaVersionStr( qsa_version_str );
- delete archiveHeaderQsa;
- }
- }
-#endif
-
-#if defined(Q_OS_WIN32)
- // First check for MSVC 6.0
- QString regValue = QEnvironment::getRegistryString( "Software\\Microsoft\\VisualStudio\\6.0\\Setup\\Microsoft Visual C++", "ProductDir", QEnvironment::LocalMachine );
- if (!regValue.isEmpty())
- globalInformation.setSysId(GlobalInformation::MSVC);
-
- // MSVC.NET 7.0 & 7.1 takes presedence over 6.0
- regValue = QEnvironment::getRegistryString( "Software\\Microsoft\\VisualStudio\\7.0", "InstallDir", QEnvironment::LocalMachine );
- if (regValue.isEmpty())
- regValue = QEnvironment::getRegistryString( "Software\\Microsoft\\VisualStudio\\7.1", "InstallDir", QEnvironment::LocalMachine );
- if (!regValue.isEmpty())
- globalInformation.setSysId(GlobalInformation::MSVCNET);
-
- while (globalInformation.sysId() == GlobalInformation::Other) {
- globalInformation.setSysId(GlobalInformation::Borland);
- if (findFile(globalInformation.text(GlobalInformation::MakeTool)))
- break;
- globalInformation.setSysId(GlobalInformation::MSVCNET);
- if (findFile(globalInformation.text(GlobalInformation::MakeTool)))
- break;
- globalInformation.setSysId(GlobalInformation::MinGW);
- if (findFile(globalInformation.text(GlobalInformation::MakeTool)))
- break;
- globalInformation.setSysId(GlobalInformation::Watcom);
- if (findFile(globalInformation.text(GlobalInformation::MakeTool)))
- break;
- }
-#endif
-
- if ( archiveHeader ) {
- QString qt_version_str = archiveHeader->description();
- if ( !qt_version_str.isEmpty() )
- globalInformation.setQtVersionStr( qt_version_str );
-
-#if defined(EVAL) || defined(EDU) || defined(NON_COMMERCIAL)
- if ( archiveHeader->findExtraData( "compiler" ) == "borland" )
- globalInformation.setSysId(GlobalInformation::Borland);
-#endif
- delete archiveHeader;
- }
-
- initPages();
- initConnections();
-
- if (optionsPage) {
-#if defined(QSA)
- optionsPage->installPath->setText(
- QString( "C:\\Qt_QSA\\Qt" ) +
- QString( globalInformation.qtVersionStr() ).replace( QRegExp("\\s"), "" ).replace( QRegExp("-"), "" )
- );
-#endif
- }
- if ( optionsPageQsa ) {
-#if defined(QSA)
- optionsPageQsa->installPath->setText(
- QString( "C:\\Qt_QSA\\QSA" ) +
- QString( globalInformation.qsaVersionStr() ).replace( QRegExp("\\s"), "" ).replace( QRegExp("-"), "" )
- );
-#endif
- }
- readLicense( QDir::homeDirPath() + "/.qt-license" );
-}
-
-static bool copyFile( const QString& src, const QString& dest )
-{
-#ifdef Q_WS_WIN
- QT_WA( {
- return CopyFileW( (const wchar_t*)src.ucs2(), (const wchar_t*)dest.ucs2(), false );
- }, {
- return CopyFileA( src.local8Bit(), dest.local8Bit(), false );
- } );
-#else
- int len;
- const int buflen = 4096;
- char buf[buflen];
- QFileInfo info( src );
- QFile srcFile( src ), destFile( dest );
- if (!srcFile.open( IO_ReadOnly ))
- return false;
- destFile.remove();
- if (!destFile.open( IO_WriteOnly ))
- return false;
-
- while (!srcFile.atEnd()) {
- len = srcFile.readBlock( buf, buflen );
- if (len <= 0)
- break;
- if (destFile.writeBlock( buf, len ) != len)
- return false;
- }
- destFile.flush();
- return true;
-#endif
-}
-
-void SetupWizardImpl::initPages()
-{
-#define ADD_PAGE( var, Class ) \
- { \
- var = new Class( this, #var ); \
- SideDecorationImpl *sideDeco = new SideDecorationImpl( var ); \
- \
- Q_ASSERT( var->layout() != 0 ); \
- if ( var->layout()->inherits("QBoxLayout") ) { \
- ((QBoxLayout*)var->layout())->insertWidget( 0, sideDeco ); \
- ((QBoxLayout*)var->layout())->insertSpacing( 1, 10 ); \
- } \
- \
- pages.append( var ); \
- addPage( var, var->title() ); \
- setHelpEnabled( var, false ); \
- \
- connect( this, SIGNAL(wizardPages(const QPtrList<Page>&)), \
- sideDeco, SLOT(wizardPages(const QPtrList<Page>&)) ); \
- connect( this, SIGNAL(wizardPageShowed(int)), \
- sideDeco, SLOT(wizardPageShowed(int)) ); \
- connect( this, SIGNAL(wizardPageFailed(int)), \
- sideDeco, SLOT(wizardPageFailed(int)) ); \
- connect( this, SIGNAL(editionString(const QString&)), \
- sideDeco->editionLabel, SLOT(setText(const QString&)) ); \
- }
-
- QPtrList<Page> pages;
- if( globalInformation.reconfig() ) {
- ADD_PAGE( configPage, ConfigPageImpl )
- ADD_PAGE( buildPage, BuildPageImpl )
- ADD_PAGE( finishPage, FinishPageImpl )
- } else {
-#if defined(Q_OS_WIN32)
- ADD_PAGE( winIntroPage, WinIntroPageImpl )
-#endif
-#if !defined(EVAL_CD) && !defined(NON_COMMERCIAL)
- ADD_PAGE( licensePage, LicensePageImpl )
-#endif
- ADD_PAGE( licenseAgreementPage, LicenseAgreementPageImpl)
-#if defined(QSA)
- ADD_PAGE( licenseAgreementPageQsa, LicenseAgreementPageImpl)
-#endif
- ADD_PAGE( optionsPage, OptionsPageImpl )
-#if defined(QSA)
- ADD_PAGE( optionsPageQsa, OptionsPageImpl )
-#endif
-#if !defined(Q_OS_UNIX)
- ADD_PAGE( foldersPage, FoldersPageImpl )
-#endif
- ADD_PAGE( configPage, ConfigPageImpl )
- ADD_PAGE( progressPage, ProgressPageImpl )
- ADD_PAGE( buildPage, BuildPageImpl )
- ADD_PAGE( finishPage, FinishPageImpl )
- }
-#undef ADD_PAGE
-
- if ( licensePage ) {
- setNextEnabled( licensePage, false );
- }
- if ( licenseAgreementPage ) {
- setNextEnabled( licenseAgreementPage, false );
- }
- if ( licenseAgreementPageQsa ) {
- setNextEnabled( licenseAgreementPageQsa, false );
- licenseAgreementPage->titleStr = "License agreement Qt";
- licenseAgreementPageQsa->titleStr = "License agreement QSA";
- }
- if ( optionsPage ) {
- setBackEnabled( optionsPage, false );
- }
- if ( optionsPageQsa ) {
- optionsPageQsa->installExamples->hide();
- optionsPageQsa->installTools->hide();
- optionsPageQsa->installExtensions->hide();
- optionsPageQsa->installTutorials->hide();
- optionsPageQsa->skipBuild->hide();
- optionsPageQsa->installDocs->hide();
- optionsPageQsa->sysGroup->hide();
- optionsPageQsa->pathLabel->setText("QSA destination &path");
-
- optionsPage->titleStr = "Options for Qt";
- optionsPage->shortTitleStr = "Choose options for Qt";
- optionsPageQsa->titleStr = "Options for QSA";
- optionsPageQsa->shortTitleStr = "Choose options for QSA";
- }
- if ( configPage )
- setBackEnabled( configPage, false );
- if ( progressPage ) {
- setBackEnabled( progressPage, false );
- setNextEnabled( progressPage, false );
- }
- if ( buildPage ) {
- setBackEnabled( buildPage, false );
- setNextEnabled( buildPage, false );
- }
- if ( finishPage ) {
- setBackEnabled( finishPage, false );
- setFinishEnabled( finishPage, true );
- }
- emit wizardPages( pages );
-}
-
-void SetupWizardImpl::initConnections()
-{
- connect( &autoContTimer, SIGNAL( timeout() ), this, SLOT( timerFired() ) );
-
- if ( optionsPage ) {
- connect( optionsPage->sysGroup, SIGNAL(clicked(int)), SLOT(clickedSystem(int)));
- connect( optionsPage->sysOtherCombo, SIGNAL(activated(int)), SLOT(sysOtherComboChanged(int)));
- }
- if ( foldersPage ) {
- connect( foldersPage->folderPathButton, SIGNAL(clicked()), SLOT(clickedFolderPath()));
- connect( foldersPage->devSysPathButton, SIGNAL(clicked()), SLOT(clickedDevSysPath()));
- }
- if ( licensePage ) {
- connect( licensePage->readLicenseButton, SIGNAL(clicked()), SLOT(clickedLicenseFile()));
- connect( licensePage->customerID, SIGNAL(textChanged(const QString&)), SLOT(licenseChanged()));
- connect( licensePage->licenseID, SIGNAL(textChanged(const QString&)), SLOT(licenseChanged()));
- connect( licensePage->licenseeName, SIGNAL(textChanged(const QString&)), SLOT(licenseChanged()));
- connect( licensePage->expiryDate, SIGNAL(textChanged(const QString&)), SLOT(licenseChanged()));
- connect( licensePage->productsString, SIGNAL(activated(int)), SLOT(licenseChanged()));
- connect( licensePage->key, SIGNAL(textChanged(const QString&)), SLOT(licenseChanged()));
- }
- if ( configPage ) {
- connect( configPage->configTabs, SIGNAL(currentChanged(QWidget*)), SLOT(configPageChanged()));
- }
- if ( buildPage ) {
- connect( &configure, SIGNAL( processExited() ), this, SLOT( configDone() ) );
- connect( &configure, SIGNAL( readyReadStdout() ), this, SLOT( readConfigureOutput() ) );
- connect( &configure, SIGNAL( readyReadStderr() ), this, SLOT( readConfigureError() ) );
- connect( &make, SIGNAL( processExited() ), this, SLOT( makeDone() ) );
- connect( &make, SIGNAL( readyReadStdout() ), this, SLOT( readMakeOutput() ) );
- connect( &make, SIGNAL( readyReadStderr() ), this, SLOT( readMakeError() ) );
- connect( buildPage->restartBuild, SIGNAL(clicked()), this, SLOT(restartBuild()) );
- }
-}
-
-void SetupWizardImpl::stopProcesses()
-{
- if( cleaner.isRunning() )
- cleaner.kill();
- if( configure.isRunning() )
- configure.kill();
- if( make.isRunning() )
- make.kill();
-}
-
-void SetupWizardImpl::clickedFolderPath()
-{
- foldersPage->folderPath->setText( shell.selectFolder( foldersPage->folderPath->text(), ( foldersPage->folderGroups->currentItem() == 0 ) ) );
-}
-
-void SetupWizardImpl::clickedDevSysPath()
-{
- QDir dir( foldersPage->devSysPath->text() );
- if( !dir.exists() )
- dir.setPath( devSysFolder );
-
- QString dest = QFileDialog::getExistingDirectory( dir.absPath(), this, 0, "Select the path to Microsoft Visual Studio" );
- if (!dest.isNull())
- foldersPage->devSysPath->setText( dest );
-}
-
-void SetupWizardImpl::sysOtherComboChanged(int)
-{
- clickedSystem(GlobalInformation::Other);
-}
-
-static QString getDirectoryList(const char *envvar)
-{
- QString environment;
- const char *cpath = getenv(envvar);
- if (cpath) {
- environment = QString::fromLocal8Bit(cpath);
- environment = QStringList::split(QRegExp("[;,]"), environment).join("\n");
- } else {
- environment = "<Environment variable empty>";
- }
- return environment;
-}
-
-void SetupWizardImpl::clickedSystem( int sys )
-{
-#ifndef Q_OS_MACX
- if (sys == 99) // This is the Integrate with IDE checkbox
- return;
- globalInformation.setSysId( GlobalInformation::SysId(sys) );
- if (sys == GlobalInformation::Other) {
- if (optionsPage->sysOtherCombo->currentText() == "win32-watcom")
- globalInformation.setSysId(GlobalInformation::Watcom);
- }
- if (!isVisible())
- return;
- QString makeCmd = globalInformation.text(GlobalInformation::MakeTool);
- QString environment;
- fixedPath = false;
- if ( !optionsPage->skipBuild->isChecked() && optionsPage->skipBuild->isEnabled() ) {
- QString commandTool;
- environment = getenv("COMSPEC");
- if( qWinVersion() & WV_DOS_based )
- commandTool = "command.com";
- else
- commandTool = "cmd.exe";
- if (!environment.isEmpty() && !environment.endsWith(commandTool, false)) {
- if (QMessageBox::critical(this, "Environment problems",
- "The 'COMSPEC' environment variable is not set to use\n"
- "'" + commandTool + "'. This could cause some problems when building.\n"
- "If you have difficulty then change it to use '" + commandTool + "'\n"
- "and restart the installation\n\n"
- "Please contact your local system administration if you have\n"
- "difficulties finding the file, or if you don't know how to\n"
- "modify the environment settings on your system.\n\n"
- "Alternatively, by clicking yes, the installer will try to set\n"
- "these for you.",
- QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes)
- fixEnvironment("COMSPEC", commandTool);
- }
- if( !findFile( makeCmd ) ) {
- environment = getDirectoryList("PATH");
- // ### try to adjust environment
- if (QMessageBox::critical(this, "Environment problems",
- "The make tool '" + makeCmd + "' could not be located in any\n"
- "directory listed in the 'PATH' environment variable:"
- "\n\n" + environment + "\n\n"
- "Make sure the path to this file is present in the PATH environment\n"
- "variable and restart the installation.\n"
- "\n"
- "You can find the path to the tool using the 'Find' tool\n"
- "and add the location to the environment settings of your\n"
- "system. Please contact your local system administration if\n"
- "you have difficulties finding the files, or if you don't\n"
- "know how to modifiy the environment settings of your system.\n\n"
- "Alternatively, by clicking yes, the installer will try to set\n"
- "these for you.",
- QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes)
- fixEnvironment("PATH", makeCmd);
- }
- if (globalInformation.sysId() != GlobalInformation::Borland && globalInformation.sysId() != GlobalInformation::MinGW) {
- if (!findFile( "string.h" ) ) {
- environment = getDirectoryList("INCLUDE");
- // ### try to adjust environment
- if (QMessageBox::critical(this, "Environment problems",
- "The file 'string.h' could not be located in any directory\n"
- "listed in the 'INCLUDE' environment variable:\n\n" + environment + "\n\n"
- "You might have to install the platform headers, or adjust\n"
- "the environment variables of your system, and restart the\n"
- "installation.\n\n"
- "Please contact your local system administration if you have\n"
- "difficulties finding the file, or if you don't know how to\n"
- "modify the environment settings on your system.\n\n"
- "Alternatively, by clicking yes, the installer will try to set\n"
- "these for you.",
- QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes)
- fixEnvironment("INCLUDE", "string.h");
-
- }
- if (!findFile("ole32.lib")) {
- environment = getDirectoryList("LIB");
- // ### try to adjust environment
- if (QMessageBox::critical(this, "Environment problems",
- "The file 'ole32.lib' could not be located in any directory\n"
- "listed in the 'LIB' environment variable:\n\n" + environment + "\n\n"
- "You might have to install the platform libraries, or adjust\n"
- "the environment variables of your system, and restart the\n"
- "installation.\n\n"
- "Please contact your local system administration if you have\n"
- "difficulties finding the file, or if you don't know how to\n"
- "modify the environment settings on your system.\n\n"
- "Alternatively, by clicking yes, the installer will try to set\n"
- "these for you.",
- QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes)
- fixEnvironment("LIB", "ole32.lib");
-
- }
- bool foundCommonDll = false;
- QString commonDll;
- QString commonDllText;
- QString presentFileText = "Make sure the path to this file is present in the PATH environment\n";
- if (globalInformation.sysId() == GlobalInformation::MSVC) {
- commonDll = "mspdb60.dll";
- foundCommonDll = findFile(commonDll);
- commonDllText = "The file 'mspdb60.dll' ";
- } else if(globalInformation.sysId() == GlobalInformation::MSVCNET) {
- commonDll = "mspdb70.dll";
- foundCommonDll = findFile(commonDll);
- if (!foundCommonDll) {
- commonDll = "mspdb71.dll";
- foundCommonDll = findFile(commonDll);
- commonDllText = "The files 'mspdb70.dll' and 'mspdb71.dll' "; // VC 7.0 or VC 7.1
- presentFileText = "Make sure the path to one of these files is present in the PATH environment\n";
- }
- } else {
- foundCommonDll = true;
- }
- if(!foundCommonDll && !fixedPath) {
- environment = getDirectoryList("PATH");
- // ### try to adjust environment
- if (QMessageBox::critical(this, "Environment problems",
- commonDllText + "could not be located in any\n"
- "directory listed in the 'PATH' environment variable:"
- "\n\n" + environment + "\n\n"
- + presentFileText +
- "variable and restart the installation.\n"
- "\n"
- "You can find the path to the tool using the 'Find' tool\n"
- "and add the location to the environment settings of your\n"
- "system. Please contact your local system administration if\n"
- "you have difficulties finding the files, or if you don't\n"
- "know how to modifiy the environment settings of your system.\n\n"
- "Alternatively, by clicking yes, the installer will try to set\n"
- "these for you.",
- QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes)
- fixEnvironment("PATH", commonDllText);
-
- }
- }
- if (globalInformation.sysId() == GlobalInformation::Intel && !findFile("icl.exe")) {
- environment = getDirectoryList("PATH");
- if (QMessageBox::critical(this, "Environment problems",
- "The Intel C++ compiler (icl.exe) could not be found\n"
- "in your PATH:\n\n" + environment + "\n\n"
- "Make sure the path to this file is present in the PATH environment\n"
- "variable and restart the installation.\n"
- "\n"
- "You can find the path to the tool using the 'Find' tool\n"
- "and add the location to the environment settings of your\n"
- "system. Please contact your local system administration if\n"
- "you have difficulties finding the files, or if you don't\n"
- "know how to modifiy the environment settings of your system.\n\n"
- "Alternatively, by clicking yes, the installer will try to set\n"
- "these for you.",
- QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes)
- fixEnvironment("PATH", "icl.exe");
-
- }
- }
-#endif
-}
-
-void SetupWizardImpl::fixEnvironment(const QString &var, const QString &file)
-{
- if (var == "COMSPEC" || !(globalInformation.sysId() == GlobalInformation::MSVC ||
- globalInformation.sysId() == GlobalInformation::MSVCNET)) {
- QString fn = QDir::toNativeSeparators(QFileDialog::getOpenFileName(QString(), QString(), this, 0,
- "Please find " + file));
- QString envs = getenv(var);
- if (var != "COMSPEC") {
- fn.truncate(fn.findRev("\\") - 1);
- fn += ";" + envs;
- }
- if (!fn.isEmpty())
- QEnvironment::putEnv(var, fn, QEnvironment::PersistentEnv | QEnvironment::LocalEnv);
- } else if (globalInformation.sysId() == GlobalInformation::MSVC) {
- QString visualStudio =
- QEnvironment::getRegistryString("Software\\Microsoft\\VisualStudio\\6.0\\Setup\\Microsoft Visual Studio",
- "ProductDir", QEnvironment::LocalMachine);
- if (var == "PATH" && !fixedPath) {
- QString newPaths = visualStudio + "\\vc98\\bin;";
- newPaths += visualStudio + "\\Common\\MSDev98\\Bin;";
- if (qWinVersion() & Qt::WV_NT_based)
- newPaths += visualStudio + "\\Common\\Tools\\WinNT;";
- else
- newPaths += visualStudio + "\\Common\\Tools\\Win95;";
- QEnvironment::putEnv("PATH", newPaths + getenv("PATH"),
- QEnvironment::PersistentEnv | QEnvironment::LocalEnv);
- fixedPath = true;
- } else if (var == "LIB") {
- QString newPaths = visualStudio + "\\vc98\\lib;";
- newPaths += visualStudio + "\\vc98\\mfc\\lib;";
- QEnvironment::putEnv("LIB", newPaths + getenv("LIB"),
- QEnvironment::PersistentEnv | QEnvironment::LocalEnv);
- } else if (var == "INCLUDE") {
- QString newPaths = visualStudio + "\\vc98\\atl\\include;";
- newPaths += visualStudio + "\\vc98\\include;";
- newPaths += visualStudio + "\\vc98\\mfc\\include;";
- QEnvironment::putEnv("INCLUDE", newPaths + getenv("INCLUDE"),
- QEnvironment::PersistentEnv | QEnvironment::LocalEnv);
- }
- } else if (globalInformation.sysId() == GlobalInformation::MSVCNET) {
- QString visualStudio = QEnvironment::getRegistryString("Software\\Microsoft\\VisualStudio\\7.1\\Setup\\VS",
- "ProductDir", QEnvironment::LocalMachine);
- if (visualStudio.isEmpty())
- visualStudio = QEnvironment::getRegistryString("Software\\Microsoft\\VisualStudio\\7.0\\Setup\\VS",
- "ProductDir", QEnvironment::LocalMachine);
- // With .NET this isn't so easily done, we need to read in the vsvars32.bat file
- // to get this right
- QFile f(visualStudio + "\\Common7\\Tools\\vsvars32.bat");
- QString contents;
- if (f.open(IO_ReadOnly)) {
- contents = QString(f.readAll());
- }
- int vsinstall = contents.find("VSINSTALLDIR=")+13;
- QString VSINSTALLDIR = contents.mid(vsinstall, contents.find("\n", vsinstall) - vsinstall);
- int vcinstall = contents.find("VCINSTALLDIR=")+13;
- QString VCINSTALLDIR = contents.mid(vcinstall, contents.find("\n", vcinstall) - vcinstall);
- int framework = contents.find("FrameworkDir=")+13;
- QString FrameworkDir = contents.mid(framework, contents.find("\n", framework) - framework);
- int frameworkVer = contents.find("FrameworkVersion=")+17;
- QString FrameworkVer = contents.mid(frameworkVer, contents.find("\n", frameworkVer) - frameworkVer);
- int frameworkSDK = contents.find("FrameworkSDKDir=")+16;
- QString FrameworkSDK = contents.mid(frameworkSDK, contents.find("\n", frameworkSDK) - frameworkSDK);
- if (var == "PATH" && !fixedPath) {
- QString newPaths = VSINSTALLDIR + ";";
- newPaths += VCINSTALLDIR + "\\Bin;";
- newPaths += VCINSTALLDIR + "\\Common7\\Tools;";
- newPaths += VCINSTALLDIR + "\\Common7\\Tools\\bin\\prerelease;";
- newPaths += VCINSTALLDIR + "\\Common7\\Tools\\bin;";
- newPaths += FrameworkSDK + "\\bin;";
- newPaths += FrameworkSDK + "\\" + FrameworkVer + ";";
- QEnvironment::putEnv("PATH", newPaths + getenv("PATH"),
- QEnvironment::PersistentEnv | QEnvironment::LocalEnv);
- fixedPath = true;
- } else if (var == "LIB") {
- QString newPaths = VCINSTALLDIR + "\\ATLMFC\\LIB;";
- newPaths += VCINSTALLDIR + "\\LIB;";
- newPaths += VCINSTALLDIR + "\\PlatformSDK\\lib\\prerelease;";
- newPaths += VCINSTALLDIR + "\\PlatformSDK\\lib;";
- newPaths += FrameworkSDK + "\\lib;";
- QEnvironment::putEnv("LIB", newPaths + getenv("LIB"),
- QEnvironment::PersistentEnv | QEnvironment::LocalEnv);
- } else if (var == "INCLUDE") {
- QString newPaths = VCINSTALLDIR + "\\ATLMFC\\INCLUDE;";
- newPaths += VCINSTALLDIR + "\\INCLUDE;";
- newPaths += VCINSTALLDIR + "\\PlatformSDK\\include\\prerelease;";
- newPaths += VCINSTALLDIR + "\\PlatformSDK\\include;";
- newPaths += FrameworkSDK + "\\include;";
- QEnvironment::putEnv("INCLUDE", newPaths + getenv("INCLUDE"),
- QEnvironment::PersistentEnv | QEnvironment::LocalEnv);
- }
-
- }
-}
-
-void SetupWizardImpl::readCleanerOutput()
-{
- updateDisplay( cleaner.readStdout(), currentOLine );
-}
-
-void SetupWizardImpl::readConfigureOutput()
-{
- updateDisplay( configure.readStdout(), currentOLine );
-}
-
-void SetupWizardImpl::readMakeOutput()
-{
- updateDisplay( make.readStdout(), currentOLine );
-}
-
-void SetupWizardImpl::readAssistantOutput()
-{
-#if defined(QSA)
- updateDisplay( assistant.readStdout(), currentOLine );
-#endif
-}
-
-void SetupWizardImpl::readCleanerError()
-{
- updateDisplay( cleaner.readStderr(), currentELine );
-}
-
-void SetupWizardImpl::readConfigureError()
-{
- updateDisplay( configure.readStderr(), currentELine );
-}
-
-void SetupWizardImpl::readMakeError()
-{
- updateDisplay( make.readStderr(), currentELine );
-}
-
-void SetupWizardImpl::readAssistantError()
-{
-#if defined(QSA)
- updateDisplay( assistant.readStderr(), currentELine );
-#endif
-}
-
-void SetupWizardImpl::updateDisplay( const QString &input, QString &output)
-{
- const QChar *c = input.unicode();
- for( int i = 0; i < (int)input.length(); ++i, ++c ) {
- switch( char( *c ) ) {
- case '\r':
- case 0x00:
- break;
- case '\t':
- currentOLine += " "; // Simulate a TAB by using 4 spaces
- break;
- case '\n':
- if( output.length() ) {
- if ( !globalInformation.reconfig() ) {
- if ( output.right( 4 ) == ".cpp" ||
- output.right( 2 ) == ".c" ||
- output.right( 4 ) == ".pro" ||
- output.right( 3 ) == ".ui" ) {
- buildPage->compileProgress->setProgress( ++filesCompiled );
- }
- }
- logOutput( output );
- output = "";
- }
- break;
- default:
- output += *c;
- break;
- }
- }
-}
-
-#if defined(Q_OS_WIN32)
-void SetupWizardImpl::installIcons( const QString& iconFolder, const QString& dirName, bool common )
-{
- QDir dir( dirName );
-
- dir.setSorting( QDir::Name | QDir::IgnoreCase );
- const QFileInfoList* filist = dir.entryInfoList();
- if ( !filist )
- return;
- QFileInfoListIterator it( *filist );
- QFileInfo* fi;
- while( ( fi = it.current() ) ) {
- if( fi->fileName()[0] != '.' && // Exclude dot-dirs
- fi->fileName() != "sql" ) { // Exclude SQL-dir
- if( fi->isDir() ) {
- installIcons( iconFolder, fi->absFilePath(), common );
- } else if( fi->fileName().right( 4 ) == ".exe" ) {
- shell.createShortcut( iconFolder, common, fi->baseName(), fi->absFilePath() );
- }
- }
- ++it;
- }
-}
-#endif
-
-void SetupWizardImpl::assistantDone()
-{
-#if defined(QSA)
- QString contentFile;
- static int count = 0;
- if ( count == 0 ) {
- connect( &assistant, SIGNAL( processExited() ), this, SLOT( assistantDone() ) );
- connect( &assistant, SIGNAL( readyReadStdout() ), this, SLOT( readAssistantOutput() ) );
- connect( &assistant, SIGNAL( readyReadStderr() ), this, SLOT( readAssistantError() ) );
- contentFile = "qsa.xml";
- } else if ( count == 1 ) {
- contentFile = "qt-script-for-applications.xml";
- } else {
- doIDEIntegration();
- return;
- }
- ++count;
-
- // install documentation
- QDir html( optionsPageQsa->installPath->text() );
- html.cd( "doc/html/" );
-
- QStringList lst;
- lst << "assistant";
- lst << "-addContentFile";
- lst << QDir::toNativeSeparators( html.filePath( contentFile ) );
- assistant.setArguments( lst );
- if( !assistant.start() ) {
- logOutput( "Installing QSA documentation failed\n" );
- assistantDone();
- }
-#else
- doIDEIntegration();
-#endif
-}
-
-void SetupWizardImpl::doIDEIntegration()
-{
-#if defined(Q_OS_WIN32)
- QDir installDir( optionsPage->installPath->text() );
- if ( optionsPage->installIDEIntegration->isChecked() && optionsPage->installIDEIntegration->isEnabled()
- && !foldersPage->devSysPath->text().isEmpty() ) {
- // install the precompiled MS integration
- if ( globalInformation.sysId() == GlobalInformation::MSVC ) {
- QDir addinsDir( foldersPage->devSysPath->text() );
- addinsDir.cd( "Common/MSDev98/Addins" );
- if ( copyFile( installDir.filePath("qmsdev.dll"), addinsDir.filePath("qmsdev.dll") ) ) {
- installDir.remove( "qmsdev.dll" );
- }
- } else if ( globalInformation.sysId() == GlobalInformation::MSVCNET
- || globalInformation.sysId() == GlobalInformation::Intel){
- QString filepath = installDir.filePath("QMsNetSetup.msi");
- filepath = filepath.replace( '/', '\\' );
-
- int res = _spawnlp( _P_NOWAIT, "msiexec.exe", "msiexec.exe", "-i", filepath.latin1(), NULL );
- if ( res == -1 ) {
- //MSIExec is not in path, look up in registry (only works for NT machines)
- QString msiexec = QEnvironment::getRegistryString( "SYSTEM\\CurrentControlSet\\Services\\MSIServer",
- "ImagePath",
- QEnvironment::LocalMachine );
- if ( !msiexec.isEmpty() )
- msiexec.remove( " /V" );
- res = _spawnl( _P_NOWAIT, msiexec.latin1(), msiexec.latin1(), "-i", filepath.latin1(), NULL );
- }
-
- if ( res == -1 ) {
- QMessageBox::warning( this, "Couldn't execute .NET addin installer script",
- "Microsoft Installer (MSI) was not found on your system.\n"
- "Please install MSI, then execute the .NET addin installer "
- "script,\nlocated at " + filepath );
- }
- }
-
- QFile *autoexp = 0;
- QFile *usertype = 0;
- switch( globalInformation.sysId() ) {
- case GlobalInformation::MSVC:
- autoexp = new QFile( foldersPage->devSysPath->text() + "\\Common\\MsDev98\\bin\\autoexp.dat" );
- usertype = new QFile( foldersPage->devSysPath->text() + "\\Common\\MsDev98\\bin\\usertype.dat" );
- break;
- case GlobalInformation::MSVCNET:
- autoexp = new QFile( foldersPage->devSysPath->text() + "\\Common7\\Packages\\Debugger\\autoexp.dat" );
- usertype = new QFile( foldersPage->devSysPath->text() + "\\Common7\\Packages\\Debugger\\usertype.dat" );
- break;
- }
-
- if ( autoexp ) {
- QString autoExpContents;
- if ( !autoexp->exists() ) {
- autoexp->open( IO_WriteOnly );
- } else {
- // First try to open the file to search for existing installations
- autoexp->open( IO_ReadOnly );
- QByteArray bytes = autoexp->readAll();
- autoExpContents = QString::fromLatin1(bytes.data(), bytes.size());
- autoexp->close();
- if ( autoExpContents.find( "; Trolltech Qt" ) == -1 )
- autoexp->open(IO_WriteOnly | IO_Translate);
- }
- if( autoexp->isOpen() ) {
- bool written = false;
- QTextStream outstream( autoexp );
- QStringList entries = QStringList::split("\r\n", autoExpContents, true);
- for (QStringList::Iterator entry = entries.begin(); entry != entries.end(); ++entry) {
- QString e(*entry);
- outstream << e << endl;
- if (!written && e.startsWith("[AutoExpand]")) {
- outstream << endl;
- outstream << "; Trolltech Qt" << endl;
- outstream << "QString=<d->unicode,su> len=<d->len,u>" << endl;
- outstream << "QCString =<shd->data, s>" << endl;
- outstream << "QPoint =x=<xp> y=<yp>" << endl;
- outstream << "QRect =x1=<x1> y1=<y1> x2=<x2> y2=<y2>" << endl;
- outstream << "QSize =width=<wd> height=<ht>" << endl;
- outstream << "QWMatrix =m11=<_m11> m12=<_m12> m21=<_m21> m22=<_m22> dx=<_dx> dy=<_dy>" << endl;
- outstream << "QVariant =Type=<d->typ> value=<d->value>" << endl;
- outstream << "QValueList<*> =Count=<sh->nodes>" << endl;
- outstream << "QPtrList<*> =Count=<numNodes>" << endl;
- outstream << "QGuardedPtr<*> =ptr=<priv->obj>" << endl;
- outstream << "QEvent =type=<t>" << endl;
- outstream << "QObject =class=<metaObj->classname,s> name=<objname,s>" << endl;
- written = true;
- }
- }
- autoexp->close();
- }
- delete autoexp;
- }
-
- if ( usertype ) {
- if ( !usertype->exists() ) {
- usertype->open( IO_WriteOnly | IO_Translate );
- } else {
- usertype->open( IO_ReadOnly );
- QString existingUserType = usertype->readAll();
- usertype->close();
- if ( existingUserType.find( "Q_OBJECT" ) == -1 )
- usertype->open(IO_WriteOnly | IO_Append | IO_Translate);
- }
- if ( usertype->isOpen() ) {
- QTextStream outstream( usertype );
- outstream << endl;
- outstream << "Q_OBJECT" << endl;
- outstream << "Q_PROPERTY" << endl;
- outstream << "Q_ENUMS" << endl;
- outstream << "Q_SETS" << endl;
- outstream << "Q_CLASSINFO" << endl;
- outstream << "emit" << endl;
- outstream << "TRUE" << endl;
- outstream << "FALSE" << endl;
- outstream << "SIGNAL" << endl;
- outstream << "SLOT" << endl;
- outstream << "signals:" << endl;
- outstream << "slots:" << endl;
- usertype->close();
- }
- delete usertype;
- }
- }
-
- if ( globalInformation.sysId() != GlobalInformation::MinGW )
- installDir.remove( "Makefile.win32-g++" );
- if (globalInformation.sysId() != GlobalInformation::MSVC)
- installDir.remove( "qmsdev.dll" );
- if (globalInformation.sysId() != GlobalInformation::MSVCNET)
- installDir.remove( "QMsNetSetup.msi" );
-#endif
-
- doStartMenuIntegration();
-}
-
-void SetupWizardImpl::doStartMenuIntegration()
-{
-#if defined(Q_OS_WIN32)
- /*
- ** Set up our icon folder and populate it with shortcuts.
- ** Then move to the next page.
- */
- QString dirName, examplesName, tutorialsName;
- bool common( foldersPage->folderGroups->currentItem() == 0 );
- QString qtDir = QEnvironment::getEnv( "QTDIR" );
-
- dirName = shell.createFolder( foldersPage->folderPath->text(), common );
- shell.createShortcut( dirName, common, "Qt Designer", qtDir + "\\bin\\designer.exe", "GUI designer", "", qtDir );
-#if !defined(EVAL) && !defined(EDU) && !defined(NON_COMMERCIAL)
- shell.createShortcut( dirName, common, "Reconfigure Qt",
- qtDir + "\\bin\\install.exe",
- "Reconfigure the Qt library",
- QString("-reconfig \"%1\"").arg(globalInformation.qtVersionStr()),
- qtDir );
-#endif
-#if defined(QSA)
- shell.createShortcut( dirName, common, "License agreement for Qt", "notepad.exe", "Review the license agreement",
- "\"" + qtDir + "\\" LICENSE_DEST "\"" );
- shell.createShortcut( dirName, common, "Readme for Qt", "notepad.exe", "Important information",
- "\"" + qtDir + "\\README\"" );
- shell.createShortcut( dirName, common, "License agreement for QSA", "notepad.exe", "Review the license agreement",
- "\"" + optionsPageQsa->installPath->text() + "\\" LICENSE_DEST "\"" );
- shell.createShortcut( dirName, common, "Readme for QSA", "notepad.exe", "Important information",
- "\"" + optionsPageQsa->installPath->text() + "\\README\"" );
-#else
- shell.createShortcut( dirName, common, "License agreement", "notepad.exe", "Review the license agreement", "\"" + qtDir + "\\" LICENSE_DEST "\"" );
- shell.createShortcut( dirName, common, "Readme", "notepad.exe", "Important information", QString( "\"" ) + qtDir + "\\README\"" );
-#endif
- shell.createShortcut( dirName, common, "Qt Assistant", qtDir + "\\bin\\assistant.exe", "Browse the On-line documentation", "", qtDir );
- shell.createShortcut( dirName, common, "Qt Linguist", qtDir + "\\bin\\linguist.exe", "Qt translation utility", "", qtDir );
- shell.createInternetShortcut( dirName, common, "Trolltech.com", "http://qtsoftware.com/" );
-#if defined(EVAL_CD)
- shell.createInternetShortcut( dirName, common, "Register for Support", "http://qtsoftware.com/products/qt/evaluate.html" );
-#endif
-
- if ( ( ( !globalInformation.reconfig() && optionsPage->skipBuild->isChecked() )
- || ( globalInformation.reconfig() && !configPage->rebuildInstallation->isChecked() ) )
- || qWinVersion() & WV_DOS_based ) {
- QString description;
-#if defined(EVAL) || defined(EDU) || defined(NON_COMMERCIAL)
- buildQtShortcutText = "Build Qt Examples and Tutorials";
- description = "Build the Qt Examples and Tutorials";
-#else
- buildQtShortcutText = "Build Qt " + globalInformation.qtVersionStr();
- description = "Build the Qt library";
-#endif
- shell.createShortcut( dirName, common,
- buildQtShortcutText,
- QEnvironment::getEnv( "QTDIR" ) + "\\build.bat",
- description );
- }
-
-#if defined(QSA)
- QString qsaExamplesName;
- if( qWinVersion() & WV_DOS_based ) {
- shell.createShortcut( dirName, common,
- "QSA Examples",
- optionsPageQsa->installPath->text() + "\\examples" );
- } else {
- qsaExamplesName = shell.createFolder( foldersPage->folderPath->text() + "\\QSA Examples", common );
- installIcons( qsaExamplesName, optionsPageQsa->installPath->text() + "\\examples", common );
- }
-#endif
- if( optionsPage->installTutorials->isChecked() ) {
- if( qWinVersion() & WV_DOS_based ) {
- shell.createShortcut( dirName, common,
-#if defined(QSA)
- "Qt Tutorials",
-#else
- "Tutorials",
-#endif
- QEnvironment::getEnv( "QTDIR" ) + "\\tutorial" );
- } else {
-#if defined(QSA)
- tutorialsName = shell.createFolder( foldersPage->folderPath->text() + "\\Qt Tutorials", common );
-#else
- tutorialsName = shell.createFolder( foldersPage->folderPath->text() + "\\Tutorials", common );
-#endif
- installIcons( tutorialsName, QEnvironment::getEnv( "QTDIR" ) + "\\tutorial", common );
- }
- }
- if( optionsPage->installExamples->isChecked() ) {
- if( qWinVersion() & WV_DOS_based ) {
- shell.createShortcut( dirName, common,
-#if defined(QSA)
- "Qt Examples",
-#else
- "Examples",
-#endif
- QEnvironment::getEnv( "QTDIR" ) + "\\examples" );
- } else {
-#if defined(QSA)
- examplesName = shell.createFolder( foldersPage->folderPath->text() + "\\Qt Examples", common );
-#else
- examplesName = shell.createFolder( foldersPage->folderPath->text() + "\\Examples", common );
-#endif
- installIcons( examplesName, QEnvironment::getEnv( "QTDIR" ) + "\\examples", common );
- }
- }
-#endif
-#if defined(QSA)
-#endif
- buildPage->compileProgress->setProgress( buildPage->compileProgress->totalSteps() );
- setNextEnabled( buildPage, true );
- logOutput( "The build was successful", true );
-}
-
-void SetupWizardImpl::makeDone()
-{
- makeDone( !make.normalExit() || make.exitStatus() );
-}
-
-void SetupWizardImpl::makeDone( bool error )
-{
- if( error ) {
- if (!backButton()->isEnabled()) {
- logOutput( "The build process failed!\n" );
- emit wizardPageFailed( indexOf(currentPage()) );
- QMessageBox::critical( this, "Error", "The build process failed!\nSee the log for details." );
- buildPage->restartBuild->setText( "Restart compile" );
- backButton()->setEnabled(true);
- }
- setAppropriate( progressPage, false );
-#if defined(QSA)
- } else if ( make.workingDirectory() == QEnvironment::getEnv( "QTDIR" ) ) {
- QStringList args;
- args << globalInformation.text(GlobalInformation::MakeTool);
- args << "sub-examples";
-
- make.setWorkingDirectory( optionsPageQsa->installPath->text() );
- make.setArguments( args );
-
- if( !make.start() ) {
- logOutput( "Could not start make process.\n"
- "Make sure that your compiler tools are installed\n"
- "and registered correctly in your PATH environment." );
- emit wizardPageFailed( indexOf(currentPage()) );
- backButton()->setEnabled( true );
- }
-#endif
- } else {
- // We still have some more items to do in order to finish all the
- // integration stuff.
- if ( !globalInformation.reconfig() ) {
- logOutput( "Doing the final integration steps..." );
- assistantDone();
- } else {
- setNextEnabled( buildPage, true );
- logOutput( "The build was successful", true );
- }
- buildPage->restartBuild->setText( "Success" );
- buildPage->restartBuild->setEnabled( false );
- }
-}
-
-void SetupWizardImpl::configDone()
-{
- QStringList args;
-
- if( globalInformation.reconfig() && !configPage->rebuildInstallation->isChecked() )
- showPage( finishPage );
-
-#if !defined(EVAL) && !defined(EDU) && !defined(NON_COMMERCIAL)
- if( !configure.normalExit() || configure.exitStatus() ) {
- logOutput( "The configure process failed.\n" );
- emit wizardPageFailed( indexOf(currentPage()) );
- buildPage->restartBuild->setText( "Restart configure" );
- setAppropriate( progressPage, false );
- backButton()->setEnabled(true);
- } else
-#endif
- {
- args << globalInformation.text(GlobalInformation::MakeTool);
-#if !defined(EVAL) && !defined(EDU) && !defined(NON_COMMERCIAL)
- args << "sub-src";
- args << "sub-plugins";
- if ( optionsPage ) {
- if ( optionsPage->installTools->isChecked() )
- args << "sub-tools";
- if ( optionsPage->installTutorials->isChecked() )
- args << "sub-tutorial";
- if ( optionsPage->installExamples->isChecked() )
- args << "sub-examples";
- if ( optionsPage->installExtensions->isChecked() )
- args << "sub-extensions";
- } else if (globalInformation.reconfig()) {
- args << "sub-tools"; // We want to make sure it rebuilds uic etc
- }
-#elif defined(Q_OS_WIN32)
- if ( optionsPage ) {
- if ( optionsPage->installTutorials->isChecked() )
- args << "sub-tutorial";
- if ( optionsPage->installExamples->isChecked() )
- args << "sub-examples";
-#if !defined(NON_COMMERCIAL)
- if ( optionsPage->installExtensions->isChecked() )
- args << "sub-extensions";
-#endif
- }
- if ( args.count() == 1 ) {
- make.setWorkingDirectory( QEnvironment::getEnv( "QTDIR" ) );
- makeDone( false );
- return;
- }
-#endif
- if ( globalInformation.sysId() == GlobalInformation::MinGW ) {
- args << "-fMakefile.win32-g++";
- }
-
- make.setWorkingDirectory( QEnvironment::getEnv( "QTDIR" ) );
- make.setArguments( args );
-
- if( !make.start() ) {
- logOutput( "Could not start make process.\n"
- "Make sure that your compiler tools are installed\n"
- "and registered correctly in your PATH environment." );
- emit wizardPageFailed( indexOf(currentPage()) );
- backButton()->setEnabled( true );
- } else {
- buildPage->restartBuild->setText( "Stop compilation" );
- }
- }
-}
-
-void SetupWizardImpl::restartBuild()
-{
- if ( configure.isRunning() ||
- (!configure.isRunning() && (!configure.normalExit() || configure.exitStatus())) ) {
- if ( configure.isRunning() ) { // Stop configure
- configure.kill();
- buildPage->restartBuild->setText( "Restart configure" );
- logOutput( "\n*** Configure stopped by user...\n" );
- backButton()->setEnabled( true );
- } else { // Restart configure
- emit wizardPageShowed( indexOf(currentPage()) );
- backButton()->setEnabled( false );
- cleanDone();
- buildPage->restartBuild->setText( "Stop configure" );
- logOutput( "\n*** Configure restarted by user...\n" );
- }
- } else if ( make.isRunning() ||
- (!make.isRunning() && (!make.normalExit() || make.exitStatus())) ) {
- if ( make.isRunning() ) { // Stop compile
- buildPage->restartBuild->setText( "Restart compile" );
- logOutput( "\n*** Compilation stopped by user...\n" );
- backButton()->setEnabled( true );
- make.kill();
- } else { // Restart compile
- wizardPageShowed( indexOf(currentPage()) );
- backButton()->setEnabled( false );
- configDone();
- buildPage->restartBuild->setText( "Stop compile" );
- logOutput( "\n*** Compilation restarted by user...\n" );
- }
- }
-}
-
-void SetupWizardImpl::saveSettings()
-{
-#if !defined(EVAL) && !defined(EDU) && !defined(NON_COMMERCIAL)
- QApplication::setOverrideCursor( Qt::waitCursor );
- saveSet( configPage->configList );
- saveSet( configPage->advancedList );
- QApplication::restoreOverrideCursor();
-#endif
-}
-
-void SetupWizardImpl::saveSet( QListView* list )
-{
- QSettings settings;
- settings.writeEntry( "/Trolltech/Qt/ResetDefaults", "FALSE" );
-
- QListViewItemIterator it( list );
- while ( it.current() ) {
- QListViewItem *itm = it.current();
- ++it;
- if ( itm->rtti() != CheckListItem::RTTI )
- continue;
- CheckListItem *item = (CheckListItem*)itm;
- if ( item->type() == QCheckListItem::RadioButton ) {
- if ( item->isOn() ) {
- QString folder;
- QListViewItem *pItem = item;
- while ( (pItem = pItem->parent() ) ) {
- if ( folder.isEmpty() )
- folder = pItem->text( 0 );
- else
- folder = pItem->text(0) + "/" + folder;
- }
-
- settings.writeEntry( "/Trolltech/Qt/" + folder, item->text() );
- }
- } else if ( item->type() == QCheckListItem::CheckBox ) {
- QStringList lst;
- QListViewItem *p = item->parent();
- if ( p )
- --it;
- QString c = p->text( 0 );
- while ( ( itm = it.current() ) &&
- itm->rtti() == CheckListItem::RTTI &&
- item->type() == CheckListItem::CheckBox ) {
- item = (CheckListItem*)itm;
- ++it;
- if ( item->isOn() )
- lst << item->text( 0 );
- }
- if ( lst.count() )
- settings.writeEntry( "/Trolltech/Qt/" + p->text(0), lst, ',' );
- else
- settings.writeEntry( "/Trolltech/Qt/" + p->text(0), "Nothing selected" );
- }
- }
-}
-
-void SetupWizardImpl::showPage( QWidget* newPage )
-{
- if ( currentPage() == configPage && newPage == progressPage && !verifyConfig() ) {
- if (QMessageBox::warning( this, "Configuration with Warnings",
- "One or more of the selected options could not be verified by the installer.\n"
- "Do you want to continue?", "Yes", "No" ))
- return;
- }
-
- QWizard::showPage( newPage );
- setInstallStep( indexOf(newPage) + 1 );
-
- if( newPage == licensePage ) {
- showPageLicense();
- } else if( newPage == licenseAgreementPage ) {
- readLicenseAgreement();
- } else if( newPage == licenseAgreementPageQsa ) {
- readLicenseAgreement();
- } else if( newPage == optionsPage ) {
- showPageOptions();
- } else if( newPage == foldersPage ) {
- showPageFolders();
- } else if( newPage == configPage ) {
- showPageConfig();
- } else if( newPage == progressPage ) {
- showPageProgress();
- } else if( newPage == buildPage ) {
- showPageBuild();
- } else if( newPage == finishPage ) {
- showPageFinish();
- }
-}
-
-void SetupWizardImpl::showPageLicense()
-{
- licenseChanged();
-}
-
-void SetupWizardImpl::showPageOptions()
-{
- static bool done = false;
- if (done)
- return;
-
- done = true;
-
- // First make sure that the current license information is saved
- if( !globalInformation.reconfig() )
- writeLicense( QDir::homeDirPath() + "/.qt-license" );
-
- // ### unsupported
- optionsPage->installDocs->hide();
-
- bool enterprise = licenseInfo[ "PRODUCTS" ] == "qt-enterprise";
- optionsPage->installExtensions->setChecked( enterprise );
- optionsPage->installExtensions->setEnabled( enterprise );
-
-#if defined(EVAL) || defined(EDU) || defined(NON_COMMERCIAL)
- optionsPage->installDocs->setEnabled( false );
- optionsPage->skipBuild->setEnabled( false );
- if ( globalInformation.sysId()==GlobalInformation::Borland ) {
- optionsPage->sysMsvcNet->setEnabled( false );
- optionsPage->sysMsvc->setEnabled( false );
- optionsPage->sysBorland->setEnabled( true );
- optionsPage->sysMinGW->setEnabled( false );
- optionsPage->sysIntel->setEnabled( false );
- optionsPage->sysOther->setEnabled( false );
- } else {
- optionsPage->sysMsvcNet->setEnabled( true );
- optionsPage->sysMsvc->setEnabled( true );
- optionsPage->sysBorland->setEnabled( false );
- optionsPage->sysOther->setEnabled( false );
- optionsPage->sysIntel->setEnabled( false );
- optionsPage->sysMinGW->setEnabled( false );
- }
-# if defined(Q_OS_WIN32)
- optionsPage->installExamples->setEnabled( true );
- optionsPage->installTutorials->setEnabled( true );
- optionsPage->installTools->setEnabled( false );
-# if defined(NON_COMMERCIAL)
- optionsPage->installExtensions->hide();
-# else
- optionsPage->installExtensions->setChecked( true );
- optionsPage->installExtensions->setEnabled( true );
-# endif
-# else
- optionsPage->installExamples->setEnabled( false );
- optionsPage->installTutorials->setEnabled( false );
- optionsPage->installExtensions->setChecked( false );
- optionsPage->installExtensions->setEnabled( false );
-# endif
-#else
-# if defined(Q_OS_WIN32)
- // No need to offer the option of skipping the build on 9x, it's skipped anyway
- if ( qWinVersion() & WV_DOS_based )
- optionsPage->skipBuild->setEnabled( false );
-# endif
-#endif
-
- // trigger environment test
- clickedSystem(globalInformation.sysId());
-}
-
-void SetupWizardImpl::showPageFolders()
-{
- QString ideName = globalInformation.text(GlobalInformation::IDE);
- foldersPage->devSysLabel->setText( ideName + " path");
- foldersPage->devSysLabel->setShown(!ideName.isEmpty());
- foldersPage->devSysPath->setShown(!ideName.isEmpty());
- foldersPage->devSysPathButton->setShown(!ideName.isEmpty());
-#if defined(Q_OS_WIN32)
- if( globalInformation.sysId() == GlobalInformation::MSVC ) {
- QString devPath = QEnvironment::getRegistryString( "Software\\Microsoft\\VisualStudio\\6.0\\Setup\\Microsoft Visual Studio", "ProductDir", QEnvironment::LocalMachine );
- if ( devPath.isEmpty() ) {
- // fallback for Windows 9x
- QDir msdevDir( QEnvironment::getEnv("MSDEVDIR") );
- msdevDir.cdUp();
- msdevDir.cdUp();
- devPath = QDir::toNativeSeparators( msdevDir.absPath() );
- }
- foldersPage->devSysPath->setText( devPath );
- } else if ( globalInformation.sysId() == GlobalInformation::MSVCNET ) {
- QString devPath = QEnvironment::getRegistryString( "Software\\Microsoft\\VisualStudio\\7.1\\Setup\\VS", "ProductDir", QEnvironment::LocalMachine );
- if ( !devPath.length() )
- devPath = QEnvironment::getRegistryString( "Software\\Microsoft\\VisualStudio\\7.0\\Setup\\VS", "ProductDir", QEnvironment::LocalMachine );
- foldersPage->devSysPath->setText( devPath );
- }
-#endif
-}
-
-void SetupWizardImpl::showPageProgress()
-{
- saveSettings();
- int totalSize = 0;
- QFileInfo fi;
- totalRead = 0;
- bool copySuccessful = true;
-
- if( !filesCopied ) {
- createDir( optionsPage->installPath->text() );
- if (optionsPageQsa)
- createDir( optionsPageQsa->installPath->text() );
- progressPage->filesDisplay->append( "Installing files...\n" );
-
- // install the right LICENSE file
- QDir installDir( optionsPage->installPath->text() );
- QFile licenseFile( installDir.filePath( LICENSE_DEST ) );
- if ( licenseFile.open( IO_WriteOnly ) ) {
- ResourceLoader *rcLoader;
-#if defined(EVAL) || defined(EDU)
- rcLoader = new ResourceLoader( "LICENSE" );
-#elif defined(NON_COMMERCIAL)
- if ( licenseAgreementPage->countryCombo->currentItem() == 0 )
- rcLoader = new ResourceLoader( "LICENSE-US" );
- else
- rcLoader = new ResourceLoader( "LICENSE" );
-#else
- if ( usLicense ) {
- rcLoader = new ResourceLoader( "LICENSE-US" );
- } else {
- rcLoader = new ResourceLoader( "LICENSE" );
- }
-#endif
- if ( rcLoader->isValid() ) {
- licenseFile.writeBlock( rcLoader->data() );
- } else {
- emit wizardPageFailed( indexOf(currentPage()) );
- QMessageBox::critical( this, tr("Package corrupted"),
- tr("Could not find the LICENSE file in the package.\nThe package might be corrupted.") );
- }
- delete rcLoader;
- licenseFile.close();
- } else {
- // ### error handling -- we could not write the LICENSE file
- }
-#if defined(QSA)
- QDir installDirQsa( optionsPageQsa->installPath->text() );
- QFile licenseFileQsa( installDirQsa.filePath( LICENSE_DEST ) );
- if ( licenseFileQsa.open( IO_WriteOnly ) ) {
- ResourceLoader *rcLoader;
- rcLoader = new ResourceLoader( "LICENSE_QSA" );
- if ( rcLoader->isValid() ) {
- licenseFileQsa.writeBlock( rcLoader->data() );
- } else {
- emit wizardPageFailed( indexOf(currentPage()) );
- QMessageBox::critical( this, tr("Package corrupted"),
- tr("Could not find the LICENSE file in the package.\nThe package might be corrupted.") );
- }
- delete rcLoader;
- licenseFileQsa.close();
- } else {
- // ### error handling -- we could not write the LICENSE file
- }
-#endif
-
- // Install the files -- use different fallbacks if one method failed.
- QArchive ar;
- QString licenseKey;
-#if !defined(EVAL_CD) && !defined(NON_COMMERCIAL)
- licenseKey = licensePage->key->text();
-#endif
- ar.setVerbosity( QArchive::Destination | QArchive::Verbose | QArchive::Progress );
- connect( &ar, SIGNAL( operationFeedback( const QString& ) ), this, SLOT( archiveMsg( const QString& ) ) );
- connect( &ar, SIGNAL( operationFeedback( int ) ), progressPage->operationProgress, SLOT( setProgress( int ) ) );
- // First, try to find qt.arq as a binary resource to the file.
- ResourceLoader rcLoader( "QT_ARQ", 500 );
- if ( rcLoader.isValid() ) {
- progressPage->operationProgress->setTotalSteps( rcLoader.data().count() );
- QDataStream ds( rcLoader.data(), IO_ReadOnly );
- ar.readArchive( &ds, optionsPage->installPath->text(), licenseKey );
- } else {
- // If the resource could not be loaded or is smaller than 500
- // bytes, we have the dummy qt.arq: try to find and install
- // from qt.arq in the current directory instead.
- QString archiveName = "qt.arq";
-#if defined(Q_OS_MAC)
- QString appDir = qApp->argv()[0];
- int truncpos = appDir.findRev( "/Contents/MacOS/" );
- if (truncpos != -1)
- appDir.truncate( truncpos );
- archiveName = appDir + "/Contents/Qt/qtmac.arq";
-#endif
- fi.setFile( archiveName );
- if( fi.exists() )
- totalSize = fi.size();
- progressPage->operationProgress->setTotalSteps( totalSize );
-
- ar.setPath( archiveName );
- if( ar.open( IO_ReadOnly ) ) {
- ar.readArchive( optionsPage->installPath->text(), licenseKey );
- } else {
- // We were not able to find any qt.arq -- so assume we have
- // the old fashioned zip archive and simply copy the files
- // instead.
- progressPage->operationProgress->setTotalSteps( FILESTOCOPY );
- copySuccessful = copyFiles( QDir::currentDirPath(), optionsPage->installPath->text(), true );
-
- /*These lines are only to be used when changing the filecount estimate
- QString tmp( "%1" );
- tmp = tmp.arg( totalFiles );
- QMessageBox::information( this, tmp, tmp );
- */
- progressPage->operationProgress->setProgress( FILESTOCOPY );
- }
- }
-
-#if defined(QSA)
- QArchive arQsa;
- arQsa.setVerbosity( QArchive::Destination | QArchive::Verbose | QArchive::Progress );
- connect( &arQsa, SIGNAL( operationFeedback( const QString& ) ), this, SLOT( archiveMsg( const QString& ) ) );
- connect( &arQsa, SIGNAL( operationFeedback( int ) ), progressPage->operationProgress, SLOT( setProgress( int ) ) );
- ResourceLoader rcLoaderQsa( "QSA_ARQ", 500 );
- if ( rcLoaderQsa.isValid() ) {
- progressPage->operationProgress->setTotalSteps( rcLoaderQsa.data().count() );
- QDataStream ds( rcLoaderQsa.data(), IO_ReadOnly );
- arQsa.readArchive( &ds, optionsPageQsa->installPath->text(), licenseKey );
- } else {
- // ### error handling
- }
-#endif
- filesCopied = copySuccessful;
-
- timeCounter = 30;
- if( copySuccessful ) {
- QDir installDir( optionsPage->installPath->text() );
-#if defined(Q_OS_WIN32)
- QDir windowsFolderDir( shell.windowsFolderName );
-# if !defined(EVAL) && !defined(EDU) && !defined(NON_COMMERCIAL)
- {
- // move $QTDIR/install.exe to $QTDIR/bin/install.exe
- // This is done because install.exe is also used to reconfigure Qt
- // (and this expects install.exe in bin). We can't move install.exe
- // to bin in first place, since for the snapshots, we don't have
- // the .arq archives.
- QString inFile( installDir.filePath("install.exe") );
- copyFile(inFile, installDir.filePath("bin/install.exe"));
- QFile::remove(inFile);
- }
-# endif
- {
- // move the uninstaller to the Windows directory
- // This is necessary since the uninstaller deletes all files in
- // the installation directory (and therefore can't delete
- // itself).
- QString inFile( installDir.filePath("bin/quninstall.exe") );
- copyFile(inFile, windowsFolderDir.filePath("quninstall.exe"));
- QFile::remove(inFile);
- }
-#endif
-#if defined(EVAL) || defined(EDU) || defined(NON_COMMERCIAL)
- QStringList::Iterator it;
- QDir lib( optionsPage->installPath->text() );
- lib.cd( "lib" );
-# if !defined(EVAL_CD)
- // patch qt*.dll
-# if !defined(Q_OS_MAC)
- QStringList qtDlls = lib.entryList( "qt*.dll" );
-# else
- QStringList qtDlls = lib.entryList( "libqt-mt-eval.dylib" );
-# endif
- if ( qtDlls.count() == 0 ) {
- copySuccessful = false;
- QMessageBox::critical( this,
- tr( "Error patching Qt library" ),
-# if defined(EVAL)
- tr( "Could not patch the Qt library with the evaluation\n"
- "license information - no Qt DLL was found." )
-# elif defined(EDU)
- tr( "Could not patch the Qt library with the educational\n"
- "edition license information - no Qt DLL was found." )
-# else
- tr( "Could not patch the Qt library the installation\n"
- "path information - no Qt DLL was found." )
-# endif
- );
- }
- for ( it=qtDlls.begin(); it!=qtDlls.end(); ++it ) {
- //### add serial number etc. to log
- logFiles( tr("Patching the Qt library %1.").arg(*it) );
- int ret = trDoIt( lib.absFilePath(*it),
-# if defined(EVAL)
- licensePage->evalName->text().latin1(),
- licensePage->evalCompany->text().latin1(),
- licensePage->serialNumber->text().latin1(),
-# elif defined(EDU)
- "",
- licensePage->university->text().latin1(),
- licensePage->serialNumber->text().latin1(),
-# endif
- installDir.absPath()
- );
- if ( ret != 0 ) {
- copySuccessful = false;
- QMessageBox::critical( this,
- tr( "Error patching Qt library" ),
-# if defined(EVAL)
- tr( "Could not patch the Qt library with the evaluation\n"
- "license information. You will not be able to execute\n"
- "any program linked against %1. Error %2" ).arg( *it ).arg(ret)
-# elif defined(EDU)
- tr( "Could not patch the Qt library with the educational\n"
- "edition license information. You will not be able to\n"
- "execute any program linked against %1." ).arg( *it )
-# else
- tr( "Could not patch the Qt library with the installation\n"
- "path information. You will not be able to execute\n"
- "some programs linked against %1." ).arg( *it )
-# endif
- );
- }
- }
-# endif
-# if !defined(Q_OS_MAC)
- // copy lib/*.dll bin/
- QStringList dlls = lib.entryList( "*.dll" );
- for ( it=dlls.begin(); it!=dlls.end(); ++it ) {
- copyFile( lib.absFilePath(*it), QDir::cleanDirPath(lib.absFilePath("../bin/"+*it)) );
- }
- // delete the non-wanted database drivers
- QDir plugins( optionsPage->installPath->text() );
- plugins.cd( "plugins" );
- plugins.cd( "sqldrivers" );
- QDir bin( optionsPage->installPath->text() );
- bin.cd( "bin" );
-#if defined(NON_COMMERCIAL)
- if ( sqlitePluginInstall && !sqlitePluginInstall->isOn() ) {
- plugins.remove( "qsqlite.dll" );
- }
-#else
- if ( mysqlPluginInstall && !mysqlPluginInstall->isOn() ) {
- plugins.remove( "qsqlmysql.dll" );
- bin.remove( "libmySQL.dll" );
- }
- if ( ociPluginInstall && !ociPluginInstall->isOn() ) {
- plugins.remove( "qsqloci.dll" );
- }
- if ( odbcPluginInstall && !odbcPluginInstall->isOn() ) {
- plugins.remove( "qsqlodbc.dll" );
- }
- if ( psqlPluginInstall && !psqlPluginInstall->isOn() ) {
- plugins.remove( "qsqlpsql.dll" );
- bin.remove( "libpq.dll" );
- }
- if ( tdsPluginInstall && !tdsPluginInstall->isOn() ) {
- plugins.remove( "qsqltds.dll" );
- }
- if ( db2PluginInstall && !db2PluginInstall->isOn() ) {
- plugins.remove( "qsqldb2.dll" );
- }
-#endif
- // patch the .qmake.cache with the correct paths
- QFile cacheFile( installDir.filePath(".qmake.cache") );
- if ( cacheFile.open( IO_ReadOnly | IO_Translate ) ) {
- QTextStream tsIn( &cacheFile );
- QString cache = tsIn.read();
- cacheFile.close();
- if ( cacheFile.open( IO_WriteOnly | IO_Translate ) ) {
- QTextStream tsOut( &cacheFile );
- if ( globalInformation.sysId() == GlobalInformation::Borland )
- tsOut << cache.replace( "C:/QtEvaluation/qtborland", installDir.absPath() );
- else
- tsOut << cache.replace( "C:/QtEvaluation/qtmsvc", installDir.absPath() );
- cacheFile.close();
- }
- }
-# endif
-#endif
- logFiles( tr("All files have been installed.\n"
- "This log has been saved to the installation directory.\n"
- "The build will start automatically in 30 seconds."), true );
- } else {
- logFiles( tr("One or more errors occurred during file installation.\n"
- "Please review the log and try to amend the situation.\n"), true );
- }
- }
- if ( copySuccessful ) {
-#if defined(Q_OS_WIN32)
- /*
- ** Then record the installation in the registry, and set up the uninstallation
- */
- QStringList uninstaller;
- uninstaller << ( QString("\"") + shell.windowsFolderName + "\\quninstall.exe" + QString("\"") );
- uninstaller << optionsPage->installPath->text();
-
- if( foldersPage->folderGroups->currentItem() == 0 )
- uninstaller << ( QString("\"") + shell.commonProgramsFolderName + QString("\\") + foldersPage->folderPath->text() + QString("\"") );
- else
- uninstaller << ( QString("\"") + shell.localProgramsFolderName + QString("\\") + foldersPage->folderPath->text() + QString("\"") );
-
- uninstaller << ( QString("\"") + globalInformation.qtVersionStr() + QString("\"") );
-
- QEnvironment::recordUninstall( QString( "Qt " ) + globalInformation.qtVersionStr(), uninstaller.join( " " ) );
-#endif
- autoContTimer.start( 1000 );
- }
- else
- emit wizardPageFailed( indexOf(currentPage()) );
- setNextEnabled( progressPage, copySuccessful );
-}
-
-void SetupWizardImpl::showPageFinish()
-{
- autoContTimer.stop();
- nextButton()->setText( "Next >" );
- QString finishMsg;
- if ( ( ( !globalInformation.reconfig() && !optionsPage->skipBuild->isChecked() )
- || ( globalInformation.reconfig() && configPage->rebuildInstallation->isChecked() ) )
-#if defined(Q_OS_WIN32)
- && qWinVersion() & WV_NT_based ) {
-#else
- ) {
-#endif
- if( globalInformation.reconfig() ) {
- finishMsg = "Qt has been reconfigured and rebuilt, and is ready for use.";
- } else {
-#if defined(Q_OS_MAC)
- finishMsg = QString( "Qt has been installed to " ) + optionsPage->installPath->text() +
- " and is ready to use.\n\nPlease try out the developer tools in the bin folder and example "
- "programs in the examples folder.\n\nFor further information please consult the "
- "README.txt file included in the installation folder.";
-#else
- finishMsg = QString( "Qt has been installed to %1 and is ready to use.\n"
- "You might have to logoff and logon for changes to the environment to have an effect.").
- arg(optionsPage->installPath->text());
-# if defined(QSA)
- finishMsg = QString( "\nQSA has been installed to " ) + optionsPageQsa->installPath->text() + " and is ready to use.";
-# endif
-#endif
- }
- } else {
- if( globalInformation.reconfig() ) {
- finishMsg = "The new configuration has been written.\nThe library needs to be rebuilt to activate the ";
- finishMsg += "new configuration.";
-#if defined(Q_OS_WIN32)
- finishMsg += "To rebuild it, use the \"Build Qt ";
- finishMsg += globalInformation.qtVersionStr();
- finishMsg += "\" icon in the Qt program group in the start menu.";
-#endif
- } else {
- finishMsg = QString( "The Qt files have been installed to " ) + optionsPage->installPath->text() + " and is ready to be compiled.\n";
-#if defined(Q_OS_WIN32)
- if( persistentEnv && qWinVersion() & WV_DOS_based ) {
- finishMsg += "The environment variables needed to use Qt have been recorded into your AUTOEXEC.BAT file.\n";
- finishMsg += "Please review this file, and take action as appropriate depending on your operating system to get them into the persistent environment. (Windows Me users, run MsConfig)\n\n";
- }
-# if defined(EVAL) || defined(EDU) || defined(NON_COMMERCIAL)
- finishMsg += QString( "To build the examples and tutorials, use the "
- "\"Build the Qt Examples and Tutorials\""
- " icon which has been installed into your Start-Menu." );
-# else
- finishMsg += QString( "To build Qt, use the "
- "\"Build Qt " ) + globalInformation.qtVersionStr() + "\""
- " icon which has been installed into your Start-Menu.";
-# endif
-#endif
- }
- }
-#if defined(EVAL_CD)
- finishMsg += "\n\n"
- "The Trolltech technical support service is available to "
- "Qt Professional and Enterprise Edition licensees. As an "
- "evaluation user, you can register for 30 days of evaluation "
- "support at\n"
- "http://qtsoftware.com/products/qt/evaluate.html";
-#endif
- finishPage->finishText->setText( finishMsg );
-}
-
-void SetupWizardImpl::licenseChanged()
-{
-#if defined(EVAL) || defined(EDU) || defined(NON_COMMERCIAL)
- int ret = trCheckIt(
-# if defined(EVAL)
- licensePage->evalName->text().latin1(),
- licensePage->evalCompany->text().latin1(),
- licensePage->serialNumber->text().latin1()
-# elif defined(EDU)
- "",
- licensePage->university->text().latin1(),
- licensePage->serialNumber->text().latin1()
-# else
- "",
- "",
- ""
-# endif
- );
-
- if ( ret == 0 )
- setNextEnabled( licensePage, true );
- else
- setNextEnabled( licensePage, false );
- return;
-#else
- QDate date;
- uint features;
- uint testFeature;
- QString platformString;
- QString licenseKey = licensePage->key->text().stripWhiteSpace();
- if ( licenseKey.length() != 14 ) {
- goto rejectLicense;
- }
- features = featuresForKey( licenseKey.upper() );
- date = decodedExpiryDate( licenseKey.mid(9) );
- if ( !date.isValid() ) {
- goto rejectLicense;
- }
-# if defined(Q_OS_MAC)
- testFeature = Feature_Mac;
- platformString = "Mac OS X";
-# elif defined(Q_OS_WIN32)
- testFeature = Feature_Windows;
- platformString = "Windows";
-# else
- testFeature = Feature_Unix;
- platformString = "UNIX";
-# ifdef Q_CC_GNU
-# warning "What about Qtopia Core?"
-# endif
-# endif
- if ( !(features&testFeature) && currentPage() == licensePage ) {
- if ( features & (Feature_Unix|Feature_Windows|Feature_Mac|Feature_Embedded) ) {
- int ret = QMessageBox::information( this,
- tr("No %1 license").arg(platformString),
- tr("You are not licensed for the %1 platform.\n"
- "Please contact sales@trolltech.com to upgrade\n"
- "your license to include the Windows platform.").arg(platformString),
- tr("Try again"),
- tr("Abort installation")
- );
- if ( ret == 1 ) {
- QApplication::exit();
- } else {
- licensePage->key->setText( "" );
- }
- }
- goto rejectLicense;
- }
- if ( date < QDate::currentDate() && currentPage() == licensePage ) {
- static bool alreadyShown = false;
- if ( !alreadyShown ) {
- QMessageBox::warning( this,
- tr("Support and upgrade period has expired"),
- tr("Your support and upgrade period has expired.\n"
- "\n"
- "You may continue to use your last licensed release\n"
- "of Qt under the terms of your existing license\n"
- "agreement. But you are not entitled to technical\n"
- "support, nor are you entitled to use any more recent\n"
- "Qt releases.\n"
- "\n"
- "Please contact sales@trolltech.com to renew your\n"
- "support and upgrades for this license.")
- );
- alreadyShown = true;
- }
- }
- if ( features & Feature_US )
- usLicense = true;
- else
- usLicense = false;
-
- licensePage->expiryDate->setText( date.toString( Qt::ISODate ) );
- if( features & Feature_Enterprise ) {
- licensePage->productsString->setCurrentItem( 1 );
- emit editionString( "Enterprise Edition" );
- } else {
- licensePage->productsString->setCurrentItem( 0 );
- emit editionString( "Professional Edition" );
- }
- setNextEnabled( licensePage, true );
- return;
-
-rejectLicense:
- licensePage->expiryDate->setText( "" );
-# if defined(Q_OS_WIN32)
- //TODO: Is this a bug? It bus errors on MACX, ask rms.
- // it should work -- if it doesn't this seems to be a bug in the MACX code,
- // I guess (rms)
- licensePage->productsString->setCurrentItem( -1 );
-# endif
- emit editionString( "" );
- setNextEnabled( licensePage, false );
- return;
-#endif
-}
-
-void SetupWizardImpl::logFiles( const QString& entry, bool close )
-{
- if( !fileLog.isOpen() ) {
- fileLog.setName( optionsPage->installPath->text() + QDir::separator() + "install.log" );
- if( !fileLog.open( IO_WriteOnly | IO_Translate ) )
- return;
- }
-
-#if 1
- progressPage->filesDisplay->append(entry);
-#else
- progressPage->filesDisplay->setText( "Installing files...\n" + entry + "\n" );
-#endif
-
- static QTextStream outstream;
- outstream.setDevice( &fileLog );
- outstream << ( entry + "\n" );
-
- if( close )
- fileLog.close();
-}
-
-void SetupWizardImpl::logOutput( const QString& entry, bool close )
-{
- if( !outputLog.isOpen() ) {
- QDir installDir;
- if ( optionsPage )
- installDir.setPath( optionsPage->installPath->text() );
- else
- installDir.setPath( QEnvironment::getEnv( "QTDIR" ) );
- outputLog.setName( installDir.filePath("build.log") );
- if( !outputLog.open( IO_WriteOnly | IO_Translate ) )
- return;
- }
-
- buildPage->outputDisplay->append(entry);
-
- static QTextStream outstream;
- outstream.setDevice( &outputLog );
- outstream << ( entry + "\n" );
-
- if( close )
- outputLog.close();
-}
-
-void SetupWizardImpl::archiveMsg( const QString& msg )
-{
- if( msg.right( 7 ) == ".cpp..." || msg.right( 5 ) == ".c..." || msg.right( 7 ) == ".pro..." || msg.right( 6 ) == ".ui..." )
- filesToCompile++;
- qApp->processEvents();
- if ( msg.startsWith("Expanding") )
- // only show the "Expanding" entries to avoid flickering
- logFiles( msg );
-}
-
-#ifdef Q_WS_WIN
-static HANDLE createFile( const QString &entryName, DWORD attr1, DWORD attr2 )
-{
- QT_WA({
- return ::CreateFileW( entryName.ucs2(), attr1, attr2, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
- }, {
- return ::CreateFileA( entryName.local8Bit(), attr1, attr2, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
- })
-}
-#endif
-
-bool SetupWizardImpl::copyFiles( const QString& sourcePath, const QString& destPath, bool topLevel )
-{
- QDir dir( sourcePath );
- const QFileInfoList* list = dir.entryInfoList();
- QFileInfoListIterator it( *list );
- QFileInfo* fi;
- bool doCopy;
-
- while( ( fi = it.current() ) ) {
- if( fi->fileName()[ 0 ] != '.' ) {
- QString entryName = sourcePath + QDir::separator() + fi->fileName();
- QString targetName = destPath + QDir::separator() + fi->fileName();
- doCopy = true;
- if( fi->isDir() ) {
- if( !dir.exists( targetName ) )
- createDir( targetName );
- if( topLevel ) {
- if ( fi->fileName() == "doc" )
- doCopy = optionsPage->installDocs->isChecked();
- else if ( fi->fileName() == "tools" )
- doCopy = optionsPage->installTools->isChecked();
- else if ( fi->fileName() == "tutorial" )
- doCopy = optionsPage->installTutorials->isChecked();
- else if ( fi->fileName() == "examples" )
- doCopy = optionsPage->installExamples->isChecked();
- }
- if( doCopy )
- if( !copyFiles( entryName, targetName, false ) )
- return false;
- } else {
- if( qApp && isShown() ) {
- qApp->processEvents();
- progressPage->operationProgress->setProgress( totalFiles );
- logFiles( targetName );
- } else {
- return false;
- }
- if( entryName.right( 4 ) == ".cpp" ||
- entryName.right( 2 ) == ".c" ||
- entryName.right( 4 ) == ".pro" ||
- entryName.right( 3 ) == ".ui" )
- filesToCompile++;
- bool res = true;
- if ( !QFile::exists( targetName ) )
- res = copyFile( entryName, targetName );
-#if defined(Q_OS_WIN32)
- if ( res ) {
- totalFiles++;
- HANDLE inFile, outFile;
- if( inFile = createFile( entryName, GENERIC_READ, FILE_SHARE_READ ) ){
- if( outFile = createFile( targetName, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_WRITE ) ){
- FILETIME createTime, accessTime, writeTime;
- ::GetFileTime( inFile, &createTime, &accessTime, &writeTime );
- ::SetFileTime( outFile, &createTime, &accessTime, &writeTime );
- ::CloseHandle( outFile );
- }
- ::CloseHandle( inFile );
- }
- } else {
- QString error = QEnvironment::getLastError();
- logFiles( QString( " ERROR: " ) + error + "\n" );
- if( QMessageBox::warning( this, "File copy error", entryName + ": " + error, "Continue", "Cancel", QString(), 0 ) )
- return false;
- }
-#elif defined( Q_OS_UNIX )
- // ### TODO: keep file date the same, handle errors
-#endif
- }
- }
- ++it;
- }
- return true;
-}
-
-void SetupWizardImpl::setInstallStep( int step )
-{
- QString captionTxt;
-#if defined(QSA)
- captionTxt = tr("QSA Evaluation Version Installation Wizard");
-#elif defined(EVAL)
- captionTxt = tr("Qt Evaluation Version Installation Wizard");
-#elif defined(EDU)
- captionTxt = tr("Qt Educational Edition Installation Wizard");
-#elif defined(NON_COMMERCIAL)
- captionTxt = tr("Qt Non-Commercial Edition Installation Wizard");
-#else
- if( globalInformation.reconfig() )
- captionTxt = tr("Qt Configuration Wizard");
- else
- captionTxt = tr("Qt Installation Wizard");
-#endif
- setCaption( tr("%1 - Step %2 of %3").arg( captionTxt ).arg( step ).arg( pageCount() ) );
- emit wizardPageShowed( step-1 );
-}
-
-void SetupWizardImpl::timerFired()
-{
- QString tmp( "Next %1 >" );
-
- timeCounter--;
-
- if( timeCounter )
- nextButton()->setText( tmp.arg( timeCounter ) );
- else {
- next();
- autoContTimer.stop();
- }
-}
-
-void SetupWizardImpl::readLicense( QString filePath)
-{
-#if !defined(EVAL) && !defined(EDU) && !defined(NON_COMMERCIAL)
- QFile licenseFile( filePath );
-
- if( licenseFile.open( IO_ReadOnly ) ) {
- QString buffer;
-
- while( licenseFile.readLine( buffer, 1024 ) != -1 ) {
- if( buffer[ 0 ] != '#' ) {
- QStringList components = QStringList::split( '=', buffer );
- QStringList::Iterator it = components.begin();
- QString keyString = (*it++).stripWhiteSpace().replace( QRegExp( QString( "\"" ) ), QString() ).upper();
- QString value = (*it++).stripWhiteSpace().replace( QRegExp( QString( "\"" ) ), QString() );
-
- licenseInfo[ keyString ] = value;
- }
- }
- licenseFile.close();
-
- if ( licensePage ) {
- licensePage->customerID->setText( licenseInfo[ "CUSTOMERID" ] );
- licensePage->licenseID->setText( licenseInfo[ "LICENSEID" ] );
- licensePage->licenseeName->setText( licenseInfo[ "LICENSEE" ] );
- if( licenseInfo[ "PRODUCTS" ] == "qt-enterprise" ) {
- licensePage->productsString->setCurrentItem( 1 );
- emit editionString( "Enterprise Edition" );
- } else {
- licensePage->productsString->setCurrentItem( 0 );
- emit editionString( "Professional Edition" );
- }
- licensePage->expiryDate->setText( licenseInfo[ "EXPIRYDATE" ] );
- licensePage->key->setText( licenseInfo[ "LICENSEKEY" ] );
- }
- }
-#endif
-}
-
-void SetupWizardImpl::writeLicense( QString filePath )
-{
-#if !defined(EVAL) && !defined(EDU) && !defined(NON_COMMERCIAL)
- QFile licenseFile( filePath );
-
- if( licenseFile.open( IO_WriteOnly | IO_Translate ) ) {
- QTextStream licStream( &licenseFile );
-
- licenseInfo[ "CUSTOMERID" ] = licensePage->customerID->text();
- licenseInfo[ "LICENSEID" ] = licensePage->licenseID->text();
- licenseInfo[ "LICENSEE" ] = licensePage->licenseeName->text();
- if( licensePage->productsString->currentItem() == 0 ) {
- licenseInfo[ "PRODUCTS" ] = "qt-professional";
- emit editionString( "Professional Edition" );
- } else {
- licenseInfo[ "PRODUCTS" ] = "qt-enterprise";
- emit editionString( "Enterprise Edition" );
- }
-
- licenseInfo[ "EXPIRYDATE" ] = licensePage->expiryDate->text();
- licenseInfo[ "LICENSEKEY" ] = licensePage->key->text();
-
- licStream << "# Toolkit license file" << endl;
- licStream << "CustomerID=\"" << licenseInfo[ "CUSTOMERID" ].latin1() << "\"" << endl;
- licStream << "LicenseID=\"" << licenseInfo[ "LICENSEID" ].latin1() << "\"" << endl;
- licStream << "Licensee=\"" << licenseInfo[ "LICENSEE" ].latin1() << "\"" << endl;
- licStream << "Products=\"" << licenseInfo[ "PRODUCTS" ].latin1() << "\"" << endl;
- licStream << "ExpiryDate=" << licenseInfo[ "EXPIRYDATE" ].latin1() << endl;
- licStream << "LicenseKey=" << licenseInfo[ "LICENSEKEY" ].latin1() << endl;
-
- licenseFile.close();
- }
-#endif
-}
-
-void SetupWizardImpl::clickedLicenseFile()
-{
- QString licensePath = QFileDialog::getOpenFileName( optionsPage->installPath->text(), QString(), this, NULL, "Browse for license file" );
-
- if( !licensePath.isEmpty() )
- readLicense( licensePath );
-
-}
-
-void SetupWizardImpl::readLicenseAgreement()
-{
- // Intropage
- ResourceLoader *rcLoader;
-#if defined(QSA)
- LicenseAgreementPageImpl *lap;
- if ( currentPage() == licenseAgreementPageQsa ) {
- lap = licenseAgreementPageQsa;
- rcLoader = new ResourceLoader( "LICENSE_QSA" );
- } else {
- lap = licenseAgreementPage;
- rcLoader = new ResourceLoader( "LICENSE" );
- }
-#elif defined(EVAL) || defined(EDU)
- LicenseAgreementPageImpl *lap = licenseAgreementPage;
- rcLoader = new ResourceLoader( "LICENSE" );
-#elif defined(NON_COMMERCIAL)
- LicenseAgreementPageImpl *lap = licenseAgreementPage;
- if ( lap->countryCombo->currentItem() == 0 )
- rcLoader = new ResourceLoader( "LICENSE-US" );
- else
- rcLoader = new ResourceLoader( "LICENSE" );
-#else
- LicenseAgreementPageImpl *lap = licenseAgreementPage;
- if ( usLicense ) {
- rcLoader = new ResourceLoader( "LICENSE-US" );
- } else {
- rcLoader = new ResourceLoader( "LICENSE" );
- }
-#endif
- if ( rcLoader->isValid() ) {
- lap->introText->setText( rcLoader->data() );
- lap->acceptLicense->setEnabled( true );
- } else {
- emit wizardPageFailed( indexOf(currentPage()) );
- QMessageBox::critical( this, tr("Package corrupted"),
- tr("Could not find the LICENSE file in the package.\nThe package might be corrupted.") );
- lap->acceptLicense->setEnabled( false );
- }
- delete rcLoader;
-}
-
-void SetupWizardImpl::accept()
-{
-#if defined(Q_OS_WIN32)
- if ( finishPage->showReadmeCheck->isChecked() ) {
- QProcess proc( QString("notepad.exe") );
-#if defined(QSA)
- QString qsaDir = optionsPageQsa->installPath->text();
- proc.addArgument( qsaDir + "\\README" );
-#else
- QString qtDir = QEnvironment::getEnv( "QTDIR" );
- proc.addArgument( qtDir + "\\README" );
-#endif
- proc.start();
- }
-#endif
- QDialog::accept();
-}
diff --git a/util/install/win/setupwizardimpl.h b/util/install/win/setupwizardimpl.h
deleted file mode 100644
index 1c86f74..0000000
--- a/util/install/win/setupwizardimpl.h
+++ /dev/null
@@ -1,276 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef SETUPWIZARDIMPL_H
-#define SETUPWIZARDIMPL_H
-
-#include "pages/pages.h"
-#include "shell.h"
-
-#include <qprocess.h>
-#include <qtimer.h>
-#include <qmap.h>
-#include <qptrdict.h>
-#include <qwizard.h>
-#include <qlistview.h>
-
-class QCheckListItem;
-class QListView;
-
-class CheckListItem : public QCheckListItem
-{
-public:
- CheckListItem(QListView *listview, const QString &text, Type = RadioButtonController);
- CheckListItem(QCheckListItem *parent, const QString &text, Type = RadioButtonController);
-
- void setHelpText(const QString &help, QTextView *display);
- void setWarningText(const QString &warning, CheckListItem *conflict = 0);
- void addRequiredFiles(const QString &file);
- void setRequiredFileLocation(const QString &location);
-
- void setOpen(bool on);
- void setOn(bool on);
- void setCritical(bool on);
-
- int rtti() const;
- static int RTTI;
-
- void displayHelp();
- bool verify() const;
-
- void paintCell( QPainter *, const QColorGroup & cg, int column, int width, int alignment );
-
-protected:
- bool testAndWarn();
- void activate();
-
-private:
- QString help_text;
- QString warning_text;
- QTextView *help_display;
- QStringList required_files;
- QString file_location;
- CheckListItem *conflict_with;
- bool critical;
-};
-
-class SetupWizardImpl : public QWizard
-{
- Q_OBJECT
-public:
- SetupWizardImpl( QWidget* parent = 0, const char* name = NULL, bool modal = false, WindowFlags f = 0 );
-
- void showPage( QWidget* );
- void stopProcesses();
-
- void optionClicked( CheckListItem * );
-
-signals:
- void wizardPages( const QPtrList<Page>& );
- void wizardPageShowed( int );
- void wizardPageFailed( int );
- void editionString( const QString& );
-
-private:
- int totalFiles;
- QProcess configure;
- QProcess make;
- QProcess cleaner;
-#if defined(QSA)
- QProcess assistant;
-#endif
-
- QString programsFolder;
- QString devSysFolder;
- QString tmpPath;
-
- WinShell shell;
-
- void saveSettings();
- void saveSet( QListView* list );
-
-protected slots:
- void accept(); // reimplemented from QDialog
-
-private slots:
- void clickedSystem( int );
- void sysOtherComboChanged( int );
- void clickedFolderPath();
- void clickedDevSysPath();
- void clickedLicenseFile();
- void cleanDone();
- void configDone();
- void makeDone();
- void assistantDone();
- void restartBuild();
- void readConfigureOutput();
- void readConfigureError();
- void readCleanerOutput();
- void readCleanerError();
- void readMakeOutput();
- void readMakeError();
- void readAssistantOutput();
- void readAssistantError();
- void timerFired();
- void configPageChanged();
- void archiveMsg(const QString &);
- void licenseChanged();
- bool verifyConfig();
-
-private:
- void showPageLicense();
- void showPageOptions();
- void showPageFolders();
- void showPageConfig();
- void showPageProgress();
- void showPageBuild();
- void showPageFinish();
-
- void initPages();
- void initConnections();
-
- void fixEnvironment(const QString &var, const QString &file = QString());
- void prepareEnvironment();
-
- void makeDone( bool error );
-
- void setStaticEnabled( bool se );
- void setJpegDirect( bool jd );
- void readLicenseAgreement();
-
- bool copyFiles( const QString& sourcePath, const QString& destPath, bool topLevel );
- int totalRead;
-
- QString buildQtShortcutText;
- bool fixedPath;
- bool filesCopied;
- bool persistentEnv;
- int filesToCompile;
- int filesCompiled;
-#if !defined(EVAL) && !defined(EDU) && !defined(NON_COMMERCIAL)
- bool usLicense;
-#endif
-
- QString currentOLine;
- QString currentELine;
-
- void updateDisplay(const QString &input, QString &output);
-#if defined(Q_OS_WIN32)
- void installIcons( const QString& iconFolder, const QString& dirName, bool common );
-#endif
- void doIDEIntegration();
- void doStartMenuIntegration();
- void logFiles( const QString& entry, bool close = false );
- void logOutput( const QString& entry, bool close = false );
-
- void setInstallStep( int step );
- void readLicense( QString filePath );
- void writeLicense( QString filePath );
-
- QFile fileLog;
- QFile outputLog;
- QMap<QString,QString> licenseInfo;
- QTimer autoContTimer;
- int timeCounter;
- QStringList allModules;
-
- CheckListItem *accOn, *accOff;
- CheckListItem *bigCodecsOn, *bigCodecsOff;
- CheckListItem *tabletOn, *tabletOff;
- CheckListItem *advancedSTL, *advancedExceptions, *advancedRTTI;
-
- CheckListItem /* *mngPresent, */ *mngDirect, *mngPlugin, *mngOff;
- CheckListItem /* *jpegPresent, */ *jpegDirect, *jpegPlugin, *jpegOff;
- CheckListItem /* *pngPresent, */ *pngDirect, *pngPlugin, *pngOff;
- CheckListItem *gifDirect, *gifOff;
-
- CheckListItem *sgiDirect, *sgiPlugin, *sgiOff;
- CheckListItem *cdeDirect, *cdePlugin, *cdeOff;
- CheckListItem *motifplusDirect, *motifplusPlugin, *motifplusOff;
- CheckListItem *platinumDirect, *platinumPlugin, *platinumOff;
- CheckListItem *motifDirect, *motifPlugin, *motifOff;
- CheckListItem *xpDirect, *xpPlugin, *xpOff;
-
- CheckListItem *mysqlDirect, *mysqlPlugin, *mysqlOff;
- CheckListItem *ociDirect, *ociPlugin, *ociOff;
- CheckListItem *odbcDirect, *odbcPlugin, *odbcOff;
- CheckListItem *psqlDirect, *psqlPlugin, *psqlOff;
- CheckListItem *tdsDirect, *tdsPlugin, *tdsOff;
- CheckListItem *db2Direct, *db2Plugin, *db2Off;
- CheckListItem *sqliteDirect, *sqlitePlugin, *sqliteOff;
- CheckListItem *ibaseDirect, *ibasePlugin, *ibaseOff;
-
- CheckListItem *zlibDirect, *zlibSystem, *zlibOff;
-
- CheckListItem *dspOff, *dspOn;
- CheckListItem *vcprojOff, *vcprojOn;
-
- CheckListItem *staticItem;
-
-#if defined(EVAL) || defined(EDU)
- CheckListItem *mysqlPluginInstall;
- CheckListItem *ociPluginInstall;
- CheckListItem *odbcPluginInstall;
- CheckListItem *psqlPluginInstall;
- CheckListItem *tdsPluginInstall;
- CheckListItem *db2PluginInstall;
- CheckListItem *sqlitePluginInstall;
- CheckListItem *ibasePluginInstall;
-#elif defined(NON_COMMERCIAL)
- CheckListItem *sqlitePluginInstall;
-#endif
-
- // wizard pages
- LicenseAgreementPageImpl *licenseAgreementPage;
- LicenseAgreementPageImpl *licenseAgreementPageQsa;
- LicensePageImpl *licensePage;
- OptionsPageImpl *optionsPage;
- OptionsPageImpl *optionsPageQsa;
- FoldersPageImpl *foldersPage;
- ConfigPageImpl *configPage;
- ProgressPageImpl *progressPage;
- BuildPageImpl *buildPage;
- FinishPageImpl *finishPage;
-#if defined(Q_OS_WIN32)
- WinIntroPageImpl *winIntroPage;
-#endif
-};
-
-#endif
diff --git a/util/install/win/setupwizardimpl_config.cpp b/util/install/win/setupwizardimpl_config.cpp
deleted file mode 100644
index a5959fb..0000000
--- a/util/install/win/setupwizardimpl_config.cpp
+++ /dev/null
@@ -1,1564 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "setupwizardimpl.h"
-#include "environment.h"
-#include <qfiledialog.h>
-#include <qlineedit.h>
-#include <qlabel.h>
-#include <qprogressbar.h>
-#include <qtextview.h>
-#include <qmultilineedit.h>
-#include <qbuttongroup.h>
-#include <qsettings.h>
-#include <qlistview.h>
-#include <qlistbox.h>
-#include <qapplication.h>
-#include <qcheckbox.h>
-#include <qtextstream.h>
-#include <qpushbutton.h>
-#include <qcombobox.h>
-#include <qmessagebox.h>
-#include <qregexp.h>
-#include <qtabwidget.h>
-#include <qarchive.h>
-#include <qvalidator.h>
-#include <qdatetime.h>
-#include <qpainter.h>
-
-bool findFile(const QString &);
-
-CheckListItem::CheckListItem(QListView *listview, const QString &text, Type type)
-: QCheckListItem(listview, text, type), help_display(0), conflict_with(0), critical(false)
-{
- if (type == RadioButtonController || type == CheckBoxController)
- setOpen(true);
-}
-
-CheckListItem::CheckListItem(QCheckListItem *parent, const QString &text, Type type)
-: QCheckListItem(parent, text, type), help_display(0), conflict_with(0), critical(false)
-{
- if (type == RadioButtonController || type == CheckBoxController)
- setOpen(true);
-}
-
-int CheckListItem::RTTI = 666;
-
-int CheckListItem::rtti() const
-{
- return RTTI;
-}
-
-void CheckListItem::setHelpText(const QString &help, QTextView *display)
-{
- help_text = help;
- help_display = display;
-}
-
-void CheckListItem::setWarningText(const QString &warning, CheckListItem *conflict)
-{
- conflict_with = conflict;
- warning_text = warning;
-}
-
-void CheckListItem::addRequiredFiles(const QString &file)
-{
- QStringList files = QStringList::split(",", file);
- for (QStringList::ConstIterator it = files.begin(); it != files.end(); ++it) {
- QString f(*it);
- required_files << f;
- if (!findFile(f)) {
- if (type() == QCheckListItem::RadioButtonController
- || type() == QCheckListItem::CheckBoxController) {
- setOpen(false);
- } else {
- setOn(false);
- setEnabled(false);
- }
- }
- }
-}
-
-void CheckListItem::setRequiredFileLocation(const QString &location)
-{
- file_location = location;
-}
-
-bool CheckListItem::verify() const
-{
- if (text(0) == "Off")
- return true;
-
- if (!required_files.count()) {
- if (parent() && parent()->rtti() == RTTI)
- return ((CheckListItem*)parent())->verify();
- return true;
- }
-
- QStringList::ConstIterator it;
- for (it = required_files.begin(); it != required_files.end(); ++it) {
- QString file(*it);
- if (!findFile(file))
- return false;
- }
- return true;
-}
-
-bool CheckListItem::testAndWarn()
-{
- if (!warning_text.isEmpty()) {
- if (!conflict_with || conflict_with->isOn()) {
- int r = QMessageBox::warning(listView()->window(), "Warning",
- warning_text + "<br>Select anyway?", "Yes", "No" );
- return r == 0;
- } else {
- return true;
- }
- }
-
- QStringList files(required_files);
- if (!required_files.count() && text(0) != "Off") {
- if (parent() && parent()->rtti() == RTTI)
- return ((CheckListItem*)parent())->testAndWarn();
- return true;
- }
-
- if (!verify()) {
- QString message = QString("<p>The option '%1' is <b>not verified</b> by the installer. One or more of the following "
- "files could not be located on the system:"
- "<p>%2"
- "<p>Continuing with this option selected might <b>break the installation</b> process.")
- .arg(text(0)).arg(required_files.join(", "));
- if (!file_location.isEmpty()) {
- message += QString("<p>The requested files are %1 and need to be installed "
- "in the INCLUDE, PATH and LIBS environment as appropriate.").arg(file_location);
- }
-
- int r = QMessageBox::warning(listView()->window(), "Option not Verified",
- message + "<p>Select anyway?", "Yes", "No" );
- return r == 0;
- }
- return true;
-}
-
-void CheckListItem::displayHelp()
-{
- if (help_display) {
- help_display->setText(help_text);
- return;
- }
- QListViewItem *p = parent();
- if (p && p->rtti() == RTTI)
- ((CheckListItem*)p)->displayHelp();
-}
-
-void CheckListItem::setOn(bool on)
-{
- if (on && (type() == RadioButton || type() == CheckBox) && !testAndWarn())
- return;
- QCheckListItem::setOn(on);
-
- SetupWizardImpl* wizard = qobject_cast<SetupWizardImpl*>(listView()->window());
- if (wizard && listView()->isVisible() && listView()->updatesEnabled())
- wizard->optionClicked(this);
-}
-
-void CheckListItem::activate()
-{
- displayHelp();
- QCheckListItem::activate();
-}
-
-void CheckListItem::setOpen(bool on)
-{
- if (on && listView()->isVisible()) {
- if (!testAndWarn())
- return;
- displayHelp();
- }
- QCheckListItem::setOpen(on);
-}
-
-void CheckListItem::setCritical(bool on)
-{
- if (critical == on)
- return;
-
- critical = on;
- repaint();
-}
-
-void CheckListItem::paintCell( QPainter *p, const QColorGroup & cg, int column, int width, int alignment )
-{
- QColorGroup group(cg);
- if (critical)
- group.setColor(QColorGroup::Text, red);
- QCheckListItem::paintCell(p, group, column, width, alignment);
-}
-
-
-
-void SetupWizardImpl::setStaticEnabled( bool se )
-{
- bool enterprise = licenseInfo[ "PRODUCTS" ] == "qt-enterprise";
- if ( se ) {
- if ( accOn->isOn() ) {
- accOn->setOn( false );
- accOff->setOn( true );
- }
- if ( bigCodecsOff->isOn() ) {
- bigCodecsOn->setOn( true );
- bigCodecsOff->setOn( false );
- }
- if ( mngPlugin->isOn() ) {
- mngDirect->setOn( true );
- mngPlugin->setOn( false );
- mngOff->setOn( false );
- }
- if ( pngPlugin->isOn() ) {
- pngDirect->setOn( true );
- pngPlugin->setOn( false );
- pngOff->setOn( false );
- }
- if ( jpegPlugin->isOn() ) {
- jpegDirect->setOn( true );
- jpegPlugin->setOn( false );
- jpegOff->setOn( false );
- }
- if ( sgiPlugin->isOn() ) {
- sgiPlugin->setOn( false );
- sgiDirect->setOn( true );
- }
- if ( cdePlugin->isOn() ) {
- cdePlugin->setOn( false );
- cdeDirect->setOn( true );
- }
- if ( motifplusPlugin->isOn() ) {
- motifplusPlugin->setOn( false );
- motifplusDirect->setOn( true );
- }
- if ( motifPlugin->isOn() ) {
- motifPlugin->setOn( false );
- motifDirect->setOn( true );
- }
- if ( platinumPlugin->isOn() ) {
- platinumPlugin->setOn( false );
- platinumDirect->setOn( true );
- }
- if ( xpPlugin->isOn() ) {
- xpPlugin->setOn( false );
- xpOff->setOn( true );
- }
- if ( enterprise ) {
- if ( mysqlPlugin->isOn() ) {
- mysqlPlugin->setOn( false );
- mysqlDirect->setOn( true );
- }
- if ( ociPlugin->isOn() ) {
- ociPlugin->setOn( false );
- ociDirect->setOn( true );
- }
- if ( odbcPlugin->isOn() ) {
- odbcPlugin->setOn( false );
- odbcDirect->setOn( true );
- }
- if ( psqlPlugin->isOn() ) {
- psqlPlugin->setOn( false );
- psqlDirect->setOn( true );
- }
- if ( tdsPlugin->isOn() ) {
- tdsPlugin->setOn( false );
- tdsDirect->setOn( true );
- }
- if ( db2Plugin->isOn() ) {
- db2Plugin->setOn( false );
- db2Direct->setOn( true );
- }
- if ( sqlitePlugin->isOn() ) {
- sqlitePlugin->setOn( false );
- sqliteDirect->setOn( true );
- }
- if ( ibasePlugin->isOn() ) {
- ibasePlugin->setOn( false );
- ibaseDirect->setOn( true );
- }
- }
- accOn->setEnabled( false );
- bigCodecsOff->setEnabled( false );
- mngPlugin->setEnabled( false );
- pngPlugin->setEnabled( false );
- jpegPlugin->setEnabled( false );
- sgiPlugin->setEnabled( false );
- cdePlugin->setEnabled( false );
- motifPlugin->setEnabled( false );
- motifplusPlugin->setEnabled( false );
- motifPlugin->setEnabled( false );
- platinumPlugin->setEnabled( false );
- xpPlugin->setEnabled( false );
- if ( enterprise ) {
- mysqlPlugin->setEnabled( false );
- ociPlugin->setEnabled( false );
- odbcPlugin->setEnabled( false );
- psqlPlugin->setEnabled( false );
- tdsPlugin->setEnabled( false );
- db2Plugin->setEnabled( false );
- sqlitePlugin->setEnabled( false );
- ibasePlugin->setEnabled( false );
- }
- } else {
- accOn->setEnabled( true );
- bigCodecsOff->setEnabled( true );
- mngPlugin->setEnabled( true );
- pngPlugin->setEnabled( true );
- jpegPlugin->setEnabled( true );
- sgiPlugin->setEnabled( true );
- cdePlugin->setEnabled( true );
- motifplusPlugin->setEnabled( true );
- motifPlugin->setEnabled( true );
- platinumPlugin->setEnabled( true );
- xpPlugin->setEnabled( true );
- if ( enterprise ) {
- mysqlPlugin->setEnabled( true );
- ociPlugin->setEnabled( true );
- odbcPlugin->setEnabled( true );
- psqlPlugin->setEnabled( true );
- tdsPlugin->setEnabled( true );
- db2Plugin->setEnabled( true );
- sqlitePlugin->setEnabled( true );
- ibasePlugin->setEnabled( true );
- }
- }
- setJpegDirect( mngDirect->isOn() );
-}
-
-void SetupWizardImpl::setJpegDirect( bool jd )
-{
- // direct MNG support requires also direct JPEG support
- if ( jd ) {
- jpegOff->setOn( false );
- jpegPlugin->setOn( false );
- jpegDirect->setOn( true );
-
- jpegOff->setEnabled( false );
- jpegPlugin->setEnabled( false );
- jpegDirect->setEnabled( true );
- } else {
- jpegOff->setEnabled( true );
- if ( !staticItem->isOn() )
- jpegPlugin->setEnabled( true );
- jpegDirect->setEnabled( true );
- }
-}
-
-void SetupWizardImpl::optionClicked( CheckListItem *item )
-{
- if ( !item || item->type() != CheckListItem::RadioButton )
- return;
-
- if ( item->text(0) == "Static" && item->isOn() ) {
- setStaticEnabled( true );
- return;
- } else if ( item->text( 0 ) == "Shared" && item->isOn() ) {
- setStaticEnabled( false );
- return;
- } else if ( item==mngDirect || item==mngPlugin || item==mngOff ) {
- setJpegDirect( mngDirect->isOn() );
- } else if ( item==db2Direct && odbcDirect->isOn() ) {
- if ( odbcPlugin->isEnabled() )
- odbcPlugin->QCheckListItem::setOn(true);
- else
- odbcOff->QCheckListItem::setOn(true);
- } else if ( item==odbcDirect && db2Direct->isOn() ) {
- if ( db2Plugin->isEnabled() )
- db2Plugin->QCheckListItem::setOn(true);
- else
- db2Off->QCheckListItem::setOn(true);
- }
-}
-
-
-void SetupWizardImpl::configPageChanged()
-{
- if ( configPage->configList->isVisible() ) {
- configPage->configList->setSelected( configPage->configList->currentItem(), true );
- } else if ( configPage->advancedList->isVisible() ) {
- configPage->advancedList->setSelected( configPage->advancedList->currentItem(), true );
- }
-#if defined(EVAL) || defined(EDU) || defined(NON_COMMERCIAL)
- else if ( configPage->installList->isVisible() ) {
- configPage->installList->setSelected( configPage->installList->currentItem(), true );
- }
-#endif
-}
-
-void SetupWizardImpl::cleanDone()
-{
-#if defined(EVAL) || defined(EDU) || defined(NON_COMMERCIAL)
- prepareEnvironment();
-# if defined(Q_OS_WIN32)
- QString qtdir = QEnvironment::getEnv( "QTDIR" );
-
- // adjust the .qmake.cache
- QFile qmakeCache( qtdir + "/.qmake.cache" );
- if ( qmakeCache.open( IO_ReadOnly ) ) {
- QString content = qmakeCache.readAll();
- qmakeCache.close();
- if ( globalInformation.sysId() == GlobalInformation::Borland )
- content.replace( "C:\\QtEvaluation\\qtborland", qtdir );
- else
- content.replace( "C:\\QtEvaluation\\qtmsvc", qtdir );
-
- if ( qmakeCache.open( IO_WriteOnly ) ) {
- QTextStream ts( &qmakeCache );
- ts << content;
- qmakeCache.close();
- } else {
- logOutput( QString("Warning: can't open the .qmake.cache file for writing: %1\n").arg( qmakeCache.errorString() ) );
- }
- } else {
- logOutput( QString("Warning: can't open the .qmake.cache file for reading: %1\n").arg( qmakeCache.errorString() ) );
- }
-
- QStringList args;
- args << ( qtdir + "\\bin\\configure.exe" );
- args << "-spec";
- args << globalInformation.text(GlobalInformation::Mkspec);
- if ( globalInformation.sysId() == GlobalInformation::MSVC )
- args << "-dsp";
- else if ( globalInformation.sysId() == GlobalInformation::MSVCNET )
- args << "-vcproj";
-
- if( qWinVersion() & WV_NT_based ) {
- logOutput( "Execute configure...\n" );
- logOutput( args.join( " " ) + "\n" );
-
- configure.setWorkingDirectory( qtdir );
- configure.setArguments( args );
- // Start the configure process
- buildPage->compileProgress->setTotalSteps( int(double(filesToCompile) * 2.6) );
- buildPage->restartBuild->setText( "Stop configure" );
- buildPage->restartBuild->setEnabled( true );
- buildPage->restartBuild->show();
- buildPage->compileProgress->show();
- if( !configure.start() ) {
- logOutput( "Could not start configure process" );
- emit wizardPageFailed( indexOf(currentPage()) );
- }
- } else { // no proper process handling on DOS based systems - create a batch file instead
- logOutput( "Generating batch file...\n" );
- QDir installDir;
- if ( optionsPage )
- installDir.setPath( optionsPage->installPath->text() );
- else
- installDir.setPath( qtdir );
- QFile outFile( installDir.filePath("build.bat") );
- QTextStream outStream( &outFile );
-
- if( outFile.open( IO_WriteOnly | IO_Translate ) ) {
- if ( installDir.absPath()[1] == ':' )
- outStream << installDir.absPath().left(2) << endl;
- outStream << "cd %QTDIR%" << endl;
- outStream << args.join( " " ) << endl;
- if( !globalInformation.reconfig() ) {
- outStream << globalInformation.text(GlobalInformation::MakeTool) << endl;
- }
- outFile.close();
- }
- logOutput( "Doing the final integration steps..." );
- doIDEIntegration();
- buildPage->compileProgress->setTotalSteps( buildPage->compileProgress->totalSteps() );
- showPage( finishPage );
- }
-# elif defined(Q_OS_UNIX)
- buildPage->compileProgress->show();
- buildPage->restartBuild->show();
-
- buildPage->compileProgress->setProgress( 0 );
- buildPage->compileProgress->setTotalSteps( int(double(filesToCompile) * 1.8) );
- configDone();
-# endif
-#else
- QStringList args;
- QStringList entries;
- QSettings settings;
- QString entry;
- QStringList::Iterator it;
- QFile tmpFile;
- QTextStream tmpStream;
- bool settingsOK;
-
-# if defined(Q_OS_WIN32)
- args << ( QEnvironment::getEnv( "QTDIR" ) + "\\bin\\configure.exe" );
-# elif defined(Q_OS_UNIX)
- args << ( QEnvironment::getEnv( "QTDIR" ) + QDir::separator() + "configure" );
-# endif
-
- entry = settings.readEntry( "/Trolltech/Qt/Build", "Debug", &settingsOK );
- if ( entry == "Debug" )
- args += "-debug";
- else
- args += "-release";
-
- entry = settings.readEntry( "/Trolltech/Qt/Library", "Shared", &settingsOK );
- if ( entry == "Static" )
- args += "-static";
- else
- args += "-shared";
-
- entry = settings.readEntry( "/Trolltech/Qt/Threading", QString(), &settingsOK );
- if ( entry == "Threaded" )
- args += "-thread";
- else
- args += "-no-thread";
-
- entries = settings.readListEntry( "/Trolltech/Qt/Modules", ',', &settingsOK );
- for( it = allModules.begin(); it != allModules.end(); ++it ) {
- entry = *it;
- if ( entries.find( entry ) != entries.end() )
- args += QString( "-enable-" ) + entry;
- else
- args += QString( "-disable-") + entry;
- }
-
- entry = settings.readEntry( "/Trolltech/Qt/SQL Drivers/MySQL", "Off", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-sql-mysql";
- else if ( entry == "Plugin" )
- args += "-plugin-sql-mysql";
- else if ( entry == "Off" )
- args += "-no-sql-mysql";
-
- entry = settings.readEntry( "/Trolltech/Qt/SQL Drivers/OCI", "Off", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-sql-oci";
- else if ( entry == "Plugin" )
- args += "-plugin-sql-oci";
- else if ( entry == "Off" )
- args += "-no-sql-oci";
-
- entry = settings.readEntry( "/Trolltech/Qt/SQL Drivers/ODBC", "Off", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-sql-odbc";
- else if ( entry == "Plugin" )
- args += "-plugin-sql-odbc";
- else if ( entry == "Off" )
- args += "-no-sql-odbc";
-
- entry = settings.readEntry( "/Trolltech/Qt/SQL Drivers/PostgreSQL", "Off", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-sql-psql";
- else if ( entry == "Plugin" )
- args += "-plugin-sql-psql";
- else if ( entry == "Off" )
- args += "-no-sql-psql";
-
- entry = settings.readEntry( "/Trolltech/Qt/SQL Drivers/TDS", "Off", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-sql-tds";
- else if ( entry == "Plugin" )
- args += "-plugin-sql-tds";
- else if ( entry == "Off" )
- args += "-no-sql-tds";
-
- entry = settings.readEntry( "/Trolltech/Qt/SQL Drivers/DB2", "Off", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-sql-db2";
- else if ( entry == "Plugin" )
- args += "-plugin-sql-db2";
- else if ( entry == "Off" )
- args += "-no-sql-db2";
-
- entry = settings.readEntry( "/Trolltech/Qt/SQL Drivers/SQLite", "Off", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-sql-sqlite";
- else if ( entry == "Plugin" )
- args += "-plugin-sql-sqlite";
- else if ( entry == "Off" )
- args += "-no-sql-sqlite";
-
- entry = settings.readEntry( "/Trolltech/Qt/SQL Drivers/iBase", "Off", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-sql-ibase";
- else if ( entry == "Plugin" )
- args += "-plugin-sql-ibase";
- else if ( entry == "Off" )
- args += "-no-sql-ibase";
-
-# if defined(Q_OS_WIN32)
-//TODO: Win only, remove these options from wizard on mac?
- entry = settings.readEntry( "/Trolltech/Qt/Accessibility", "On", &settingsOK );
- if ( entry == "On" )
- args += "-accessibility";
- else
- args += "-no-accessibility";
-# endif
-
- entry = settings.readEntry( "/Trolltech/Qt/Big Textcodecs", "On", &settingsOK );
- if ( entry == "On" )
- args += "-big-codecs";
- else
- args += "-no-big-codecs";
-
- entry = settings.readEntry( "/Trolltech/Qt/Tablet Support", "Off", &settingsOK );
- if ( entry == "On" )
- args += "-tablet";
- else
- args += "-no-tablet";
-
- entries = settings.readListEntry( "/Trolltech/Qt/Advanced C++", ',', &settingsOK );
- if ( entries.contains( "STL" ) )
- args += "-stl";
- else
- args += "-no-stl";
- if ( entries.contains( "Exceptions" ) )
- args += "-exceptions";
- else
- args += "-no-exceptions";
- if ( entries.contains( "RTTI" ) )
- args += "-rtti";
- else
- args += "-no-rtti";
-
-# if defined(Q_OS_WIN32)
-//TODO: Win only, remove these options from wizard on mac?
- entry = settings.readEntry( "/Trolltech/Qt/Image Formats/PNG", "Direct", &settingsOK );
- if ( entry == "Plugin" )
- args += "-plugin-imgfmt-png";
- else if ( entry == "Direct" )
- args += "-qt-imgfmt-png";
- else if ( entry == "Off" )
- args += "-no-imgfmt-png";
- args += "-qt-png";
-
- entry = settings.readEntry( "/Trolltech/Qt/Image Formats/JPEG", "Direct", &settingsOK );
- if ( entry == "Plugin" )
- args += "-plugin-imgfmt-jpeg";
- else if ( entry == "Direct" )
- args += "-qt-imgfmt-jpeg";
- else if ( entry == "Off" )
- args += "-no-imgfmt-jpeg";
- args += "-qt-jpeg";
-
- entry = settings.readEntry( "/Trolltech/Qt/Image Formats/MNG", "Direct", &settingsOK );
- if ( entry == "Plugin" )
- args += "-plugin-imgfmt-mng";
- else if ( entry == "Direct" )
- args += "-qt-imgfmt-mng";
- else if ( entry == "Off" )
- args += "-no-imgfmt-mng";
- args += "-qt-mng";
-# endif
-
- entry = settings.readEntry( "/Trolltech/Qt/Image Formats/GIF", "Direct", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-gif";
- else if ( entry == "Off" )
- args += "-no-gif";
-
-# if defined(Q_OS_WIN32)
-//TODO: Win only, remove these options from wizard on mac?
- entry = settings.readEntry( "/Trolltech/Qt/Styles/Windows", "Direct", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-style-windows";
- else if ( entry == "Plugin" )
- args += "-plugin-style-windows";
- else if ( entry == "Off" )
- args += "-no-style-windows";
-
- entry = settings.readEntry( "/Trolltech/Qt/Styles/Windows XP", "Off", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-style-windowsxp";
- else if ( entry == "Plugin" )
- args += "-plugin-style-windowsxp";
- else if ( entry == "Off" )
- args += "-no-style-windowsxp";
-
- entry = settings.readEntry( "/Trolltech/Qt/Styles/Motif", "Plugin", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-style-motif";
- else if ( entry == "Plugin" )
- args += "-plugin-style-motif";
- else if ( entry == "Off" )
- args += "-no-style-motif";
-
- entry = settings.readEntry( "/Trolltech/Qt/Styles/Platinum", "Plugin", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-style-platinum";
- else if ( entry == "Plugin" )
- args += "-plugin-style-platinum";
- else if ( entry == "Off" )
- args += "-no-style-platinum";
-
- entry = settings.readEntry( "/Trolltech/Qt/Styles/MotifPlus", "Plugin", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-style-motifplus";
- else if ( entry == "Plugin" )
- args += "-plugin-style-motifplus";
- else if ( entry == "Off" )
- args += "-no-style-motifplus";
-
- entry = settings.readEntry( "/Trolltech/Qt/Styles/CDE", "Plugin", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-style-cde";
- else if ( entry == "Plugin" )
- args += "-plugin-style-cde";
- else if ( entry == "Off" )
- args += "-no-style-cde";
-
- entry = settings.readEntry( "/Trolltech/Qt/Styles/SGI", "Plugin", &settingsOK );
- if ( entry == "Direct" )
- args += "-qt-style-sgi";
- else if ( entry == "Plugin" )
- args += "-plugin-style-sgi";
- else if ( entry == "Off" )
- args += "-no-style-sgi";
-# endif
-
- if ( globalInformation.sysId() == GlobalInformation::MSVC ) {
- entry = settings.readEntry( "/Trolltech/Qt/DSP Generation", "On", &settingsOK );
- if ( entry == "On" )
- args += "-dsp";
- else if ( entry == "Off" )
- args += "-no-dsp";
- } else if ( globalInformation.sysId() == GlobalInformation::MSVCNET ) {
- entry = settings.readEntry( "/Trolltech/Qt/VCPROJ Generation", "On", &settingsOK );
- if ( entry == "On" )
- args += "-vcproj";
- else if ( entry == "Off" )
- args += "-no-vcproj";
- } else if ( globalInformation.sysId() != GlobalInformation::MSVC && globalInformation.sysId() == GlobalInformation::MSVCNET ) {
- args += "-no-dsp";
- args += "-no-vcproj";
- }
-
- if ( ( ( !globalInformation.reconfig() && !optionsPage->skipBuild->isChecked() )
- || ( globalInformation.reconfig() && configPage->rebuildInstallation->isChecked() ) )
-# if defined(Q_OS_WIN32)
- && qWinVersion() & WV_NT_based ) {
-# else
- ) {
-# endif
- logOutput( "Execute configure...\n" );
- logOutput( args.join( " " ) + "\n" );
-
- configure.setWorkingDirectory( QEnvironment::getEnv( "QTDIR" ) );
- configure.setArguments( args );
- // Start the configure process
- buildPage->compileProgress->setTotalSteps( int(double(filesToCompile) * 2.6) );
- buildPage->restartBuild->setText( "Stop configure" );
- buildPage->restartBuild->setEnabled( true );
- buildPage->restartBuild->show();
- buildPage->compileProgress->show();
- if( !configure.start() ) {
- logOutput( "Could not start configure process" );
- emit wizardPageFailed( indexOf(currentPage()) );
- }
- } else { // no proper process handling on DOS based systems - create a batch file instead
- logOutput( "Generating batch file...\n" );
- QDir installDir;
- if ( optionsPage )
- installDir.setPath( optionsPage->installPath->text() );
- else
- installDir.setPath( QEnvironment::getEnv( "QTDIR" ) );
- QFile outFile( installDir.filePath("build.bat") );
- QTextStream outStream( &outFile );
-
- if( outFile.open( IO_WriteOnly | IO_Translate ) ) {
- if ( installDir.absPath()[1] == ':' )
- outStream << installDir.absPath().left(2) << endl;
- outStream << "cd %QTDIR%" << endl;
-
- if ( globalInformation.reconfig() )
- outStream << globalInformation.text(GlobalInformation::MakeTool) << " clean" << endl;
-
- // There is a limitation on Windows 9x regarding the length of the
- // command line. So rather use the configure.cache than specifying
- // all configure options on the command line.
- QFile configureCache( installDir.filePath("configure.cache") );
- if( configureCache.open( IO_WriteOnly | IO_Translate ) ) {
- QTextStream confCacheStream( &configureCache );
- QStringList::Iterator it = args.begin();
- ++it; // skip args[0] (configure)
- while ( it != args.end() ) {
- confCacheStream << *it << endl;
- ++it;
- }
- configureCache.close();
- outStream << args[0] << " -redo" << endl;
- } else {
- outStream << args.join( " " ) << endl;
- }
-
- outStream << globalInformation.text(GlobalInformation::MakeTool) << endl;
- outFile.close();
- }
- logOutput( "Doing the final integration steps..." );
- // No need to redo the integration step
- if ( !globalInformation.reconfig() )
- doIDEIntegration();
- buildPage->compileProgress->setTotalSteps( buildPage->compileProgress->totalSteps() );
- showPage( finishPage );
- }
-#endif
-}
-
-void SetupWizardImpl::prepareEnvironment()
-{
- QByteArray pathBuffer;
- QStringList path;
- QString qtDir;
- int envSpec = QEnvironment::LocalEnv;
-
- if( globalInformation.reconfig() ) {
- qtDir = QEnvironment::getEnv( "QTDIR" );
- if ( configPage ) {
- configPage->currentInstallation->setText( qtDir );
- }
- }
- else {
- qtDir = QDir::toNativeSeparators( QEnvironment::getFSFileName( optionsPage->installPath->text() ) );
- }
-
-#if defined(Q_OS_WIN32)
- if( qWinVersion() & Qt::WV_NT_based ) {
- // under Windows 9x, we don't compile from the installer -- so there is
- // no need to set the local environment; and doing so, results in not
- // setting the persistent since qtDir\bin is already in the PATH
- path = QStringList::split( QRegExp("[;,]"), QEnvironment::getEnv( "PATH" ) );
- if( path.findIndex( qtDir + "\\bin" ) == -1 ) {
- path.prepend( qtDir + "\\bin" );
- QEnvironment::putEnv( "PATH", path.join( ";" ) );
- }
- }
-#elif defined(Q_OS_UNIX)
- path = QStringList::split( QRegExp("[:]"), QEnvironment::getEnv( "PATH" ) );
- if( path.findIndex( qtDir + "/bin" ) == -1 ) {
- path.prepend( qtDir + "/bin" );
- QEnvironment::putEnv( "PATH", path.join( ":" ) );
- }
- QStringList dyld = QStringList::split( QRegExp("[:]"), QEnvironment::getEnv( "DYLD_LIBRARY_PATH" ) );
- if( dyld.findIndex( qtDir + "/lib" ) == -1 ) {
- dyld.prepend( qtDir + "/lib" );
- QEnvironment::putEnv( "DYLD_LIBRARY_PATH", dyld.join( ":" ) );
- }
-#endif
-
-#if defined(Q_OS_WIN32)
- if( foldersPage && foldersPage->qtDirCheck->isChecked() ) {
- envSpec |= QEnvironment::PersistentEnv;
-/*
- if( folderGroups->currentItem() == 0 )
- envSpec |= QEnvironment::GlobalEnv;
-*/
- path.clear();
-
- if( int( qWinVersion() ) & int( Qt::WV_NT_based ) ) {
- path = QStringList::split( ';', QEnvironment::getEnv( "PATH", QEnvironment::PersistentEnv ) );
- if( path.findIndex( qtDir + "\\bin" ) == -1 ) {
- path.prepend( qtDir + "\\bin" );
- QEnvironment::putEnv( "PATH", path.join( ";" ), QEnvironment::PersistentEnv );
- }
- } else {
- if( path.findIndex( qtDir + "\\bin" ) == -1 ) {
- QEnvironment::putEnv( "PATH", qtDir + "\\bin;%PATH%", QEnvironment::PersistentEnv );
- }
- }
- }
-#elif defined(Q_OS_UNIX)
-//Persistent environment not supported
-#endif
-
- QEnvironment::putEnv( "QTDIR", qtDir, envSpec );
- if ( globalInformation.sysId() != GlobalInformation::Other )
- QEnvironment::putEnv( "QMAKESPEC", globalInformation.text(GlobalInformation::Mkspec), envSpec );
- else
- QEnvironment::putEnv( "QMAKESPEC", optionsPage->sysOtherCombo->currentText(), envSpec );
-#if defined(Q_OS_WIN32)
- if( qWinVersion() & WV_NT_based ) {
- SendNotifyMessageA( HWND_BROADCAST, WM_WININICHANGE, 0, (LPARAM)"Environment" );
- SendNotifyMessageA( HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0 );
- }
-#endif
-}
-
-void SetupWizardImpl::showPageConfig()
-{
- if (autoContTimer.isActive()) {
- autoContTimer.stop();
- timeCounter = 30;
- nextButton()->setText("Next >");
- }
-#if defined(EVAL) || defined(EDU) || defined(NON_COMMERCIAL)
- setBackEnabled( buildPage, false );
-
- static bool alreadyInitialized = false;
- if ( !alreadyInitialized ) {
- configPage->installList->setSorting( -1 );
- configPage->installList->setUpdatesEnabled(false);
-
- CheckListItem *item;
- CheckListItem *folder;
-
- folder = new CheckListItem( configPage->installList, "Database drivers" );
-
-#if !defined(NON_COMMERCIAL)
-#if !defined(Q_OS_MACX)
- item = new CheckListItem( folder, "DB2", QCheckListItem::CheckBox );
- item->addRequiredFiles("db2cli.dll");
- db2PluginInstall = item;
- db2PluginInstall->setHelpText( tr(
- "Installs the DB2 driver. This driver can "
- "be used to access DB2 databases."
- "<p><font color=\"red\">Choosing this option requires "
- "that the DB2 Client is installed and set up. "
- "The driver depends on the db2cli.dll.</font></p>"
- ), configPage->explainOption );
-
- item = new CheckListItem( folder, "TDS", QCheckListItem::CheckBox );
- item->addRequiredFiles("ntwdblib.dll");
- tdsPluginInstall = item;
- tdsPluginInstall->setHelpText( tr(
- "Installs the TDS driver to access Sybase Adaptive "
- "Server and Microsoft SQL Server (it is recommended "
- "to rather use ODBC instead of TDS where applicable). "
- "<p><font color=\"red\">Choosing this option requires "
- "that the ntwdblib.dll is available.</font></p>"
- ), configPage->explainOption );
-
- item = new CheckListItem( folder, "Oracle (OCI)", QCheckListItem::CheckBox );
- item->addRequiredFiles( "oci.dll" );
- ociPluginInstall = item;
- ociPluginInstall->setHelpText( tr(
- "<p>Installs the Oracale Call Interface (OCI) driver.</p> "
- "<p><font color=\"red\">Choosing this option requires "
- "that the Oracle Client is installed and set up. "
- "The driver depends on the oci.dll.</font></p>"
- ), configPage->explainOption );
-#endif
-
- if ( globalInformation.sysId() != GlobalInformation::Borland ) {
- // I was not able to make Postgres work with Borland
- item = new CheckListItem( folder, "PostgreSQL", QCheckListItem::CheckBox );
-#ifndef Q_OS_MACX
- item->addRequiredFiles( "libpq.dll" );
-#endif
- item->setOn( item->verify() );
- psqlPluginInstall = item;
- psqlPluginInstall->setHelpText( tr(
- "Installs the PostgreSQL 7.x driver. This driver can "
- "be used to access PostgreSQL 6 databases as well "
- "as PostgreSQL 7 databases."
-#ifdef Q_OS_MACX
- "\n\nRequires a proper PostgreSQL installation."
-#endif
- ), configPage->explainOption );
- } else {
- psqlPluginInstall = 0;
- }
-
- item = new CheckListItem( folder, "MySQL", QCheckListItem::CheckBox );
-#ifndef Q_OS_MACX
- item->addRequiredFiles( "libmySQL.dll" );
-#endif
- item->setOn( item->verify() );
- mysqlPluginInstall = item;
- mysqlPluginInstall->setHelpText( tr(
- "Installs the MySQL 3.x database driver."
-#ifdef Q_OS_MACX
- "\n\nRequires a proper MySQL installation."
-#endif
- ), configPage->explainOption );
-
-#if !defined(Q_OS_MAC)
- item = new CheckListItem( folder, "ODBC", QCheckListItem::CheckBox );
- item->setOn( findFile( "odbc32.dll" ) );
- odbcPluginInstall = item;
- odbcPluginInstall->setHelpText( tr(
- "Installs the Open Database Connectivity (ODBC) driver. "
- "This driver depends on the odbc32.dll which should be "
- "available on all modern Windows installations."
- ), configPage->explainOption );
-#endif
-#else
- item = new CheckListItem( folder, "SQLite", QCheckListItem::CheckBox );
- item->setOn( true );
- sqlitePluginInstall = item;
- sqlitePluginInstall->setHelpText( tr(
- "Installs the SQLite driver.\n"
- "This driver is an in-process SQL database "
- "driver. It is needed for some of the "
- "examples used in the book."
- ), configPage->explainOption );
-#endif
-
- configPage->installList->setUpdatesEnabled(true);
- alreadyInitialized = true;
- }
-#else
-
- prepareEnvironment();
-
- bool enterprise = licenseInfo[ "PRODUCTS" ] == "qt-enterprise";
- configPage->configList->setUpdatesEnabled(false);
- configPage->advancedList->setUpdatesEnabled(false);
-
- if( configPage->configList->childCount() ) {
- QListViewItem* current = configPage->configList->firstChild();
-
- while( current ) {
- QListViewItem* next = current->nextSibling();
- delete current;
- current = next;
- }
-
- current = configPage->advancedList->firstChild();
- while( current ) {
- QListViewItem* next = current->nextSibling();
- delete current;
- current = next;
- }
- }
- QSettings settings;
- configPage->configList->setSorting( -1 );
- configPage->advancedList->setSorting( -1 );
- CheckListItem *item;
- CheckListItem *folder;
- QStringList::Iterator it;
-
- // general
- folder = new CheckListItem ( configPage->configList, "Modules" );
- folder->setHelpText(tr("<p>Some of these modules are optional."
- "<p>You can deselect the modules that you "
- "don't require for your development."
- "<p>By default, all modules are selected."), configPage->explainOption);
- bool settingsOK;
- QStringList entries = settings.readListEntry( "/Trolltech/Qt/Modules", ',', &settingsOK );
- QStringList licensedModules = QStringList::split( " ", "network canvas table xml opengl sql" );
- for( it = licensedModules.begin(); it != licensedModules.end(); ++it ) {
- item = new CheckListItem( folder, (*it), QCheckListItem::CheckBox );
- bool on = entries.isEmpty() || entries.find( *it ) != entries.end();
- item->setOn( enterprise && on );
- item->setEnabled( enterprise );
- if ( enterprise )
- allModules << *it;
- }
-
- licensedModules = QStringList::split( " ", "iconview workspace" );
- for( it = licensedModules.begin(); it != licensedModules.end(); ++it ) {
- item = new CheckListItem( folder, (*it), QCheckListItem::CheckBox );
- bool on = entries.isEmpty() || entries.find( *it ) != entries.end();
- item->setOn( on );
- allModules << *it;
- }
-
- QStringList requiredModules = QStringList::split( " ", "styles dialogs widgets tools kernel" );
- for( it = requiredModules.begin(); it != requiredModules.end(); ++it ) {
- item = new CheckListItem( folder, (*it), QCheckListItem::CheckBox );
- bool on = entries.isEmpty() || entries.find( *it ) != entries.end();
- item->setOn( on );
- item->setEnabled( false );
- allModules << *it;
- }
-
- folder = new CheckListItem ( configPage->configList, "Threading" );
- folder->setHelpText(tr("<p>Build the Qt library with or without thread support."
- "<p>By default, threading is supported. Some classes will "
- "not be available without thread support."), configPage->explainOption);
- QString entry = settings.readEntry( "/Trolltech/Qt/Threading", "Threaded", &settingsOK );
- item = new CheckListItem( folder, "Threaded", QCheckListItem::RadioButton );
- item->setOn( entry == "Threaded" );
- item = new CheckListItem( folder, "Non-threaded", QCheckListItem::RadioButton );
- item->setOn( entry == "Non-threaded" );
- CheckListItem *singleThreaded = item;
-
- folder = new CheckListItem ( configPage->configList, "Library" );
- folder->setHelpText(tr("<p>Build a shared or a static Qt library."
- "<p>A shared Qt library makes it necessary to "
- "distribute the Qt DLL together with your software. "
- "Applications and libraries linked against a shared Qt library "
- "are small and can make use of components and plugins."
- "<p>All applications created with a static "
- "library will be at least 1.5MB big. "
- "<font color=\"red\">It is not possible to "
- "build or use any components or plugins with a "
- "static Qt library!</font>"), configPage->explainOption);
- entry = settings.readEntry( "/Trolltech/Qt/Library", "Shared", &settingsOK );
- staticItem = new CheckListItem( folder, "Static", QCheckListItem::RadioButton );
- staticItem->setOn( entry == "Static" );
- staticItem->setWarningText("<p>It will not be possible to build components "
- "or plugins if you select the static build of the Qt library."
- "<p>New features, e.g souce code editing in Qt Designer, will not "
- "be available, and you or users of your software might not be able "
- "to use all or new features, e.g. new styles.");
-
- item = new CheckListItem( folder, "Shared", QCheckListItem::RadioButton );
- item->setOn( entry == "Shared" );
- item->setWarningText("<p>Single-threaded, shared configurations "
- "may cause instabilities because of runtime "
- "library conflicts.", singleThreaded);
- singleThreaded->setWarningText("<p>Single-threaded, shared configurations "
- "may cause instabilities because of runtime "
- "library conflicts.", item);
-
- folder = new CheckListItem ( configPage->configList, "Build" );
- folder->setHelpText(tr("<p>Build a Qt library with or without debug symbols."
- "<p>Use the debug build of the Qt library to enhance "
- "debugging of your application. The release build "
- "is both smaller and faster."), configPage->explainOption);
- entry = settings.readEntry( "/Trolltech/Qt/Build", "Release", &settingsOK );
- item = new CheckListItem( folder, "Debug", QCheckListItem::RadioButton );
- item->setOn( entry == "Debug" );
- item = new CheckListItem( folder, "Release", QCheckListItem::RadioButton );
- item->setOn( entry == "Release" );
-
- // Advanced options
- if ( globalInformation.sysId() == GlobalInformation::MSVC ) {
- entry = settings.readEntry( "/Trolltech/Qt/DSP Generation", "On", &settingsOK );
- folder = new CheckListItem( configPage->advancedList, "DSP Generation" );
- folder->setHelpText(tr("qmake can generate the Visual Studio 6 project files (dsp) as well "
- "as makefiles when Qt is being configured."),
- configPage->explainOption);
- dspOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- dspOff->setOn( entry == "Off" );
- dspOn = new CheckListItem( folder, "On", QCheckListItem::RadioButton );
- dspOn->setOn( entry == "On" );
- } else if ( globalInformation.sysId() == GlobalInformation::MSVCNET ) {
- entry = settings.readEntry( "/Trolltech/Qt/VCPROJ Generation", "On", &settingsOK );
- folder = new CheckListItem( configPage->advancedList, "VCPROJ Generation" );
- folder->setHelpText(tr("qmake can generate the Visual Studio.NET project files (vcproj) as well "
- "as makefiles when Qt is being configured."),
- configPage->explainOption);
- vcprojOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- vcprojOff->setOn( entry == "Off" );
- vcprojOn = new CheckListItem( folder, "On", QCheckListItem::RadioButton );
- vcprojOn->setOn( entry == "On" );
- }
-
- CheckListItem *imfolder = new CheckListItem( configPage->advancedList, "Image Formats" );
- imfolder->setHelpText(tr("<p>Qt ships with support for a wide range of common image formats. "
- "<p>Standard formats are always included in Qt, and some more special formats "
- "can be left out from the Qt library itself and provided by a plugin instead."),
- configPage->explainOption);
-
- folder = new CheckListItem( imfolder, "GIF" );
- folder->setHelpText(tr("<p>Support for GIF images in Qt."
- "<p><font color=\"red\">If you are in a country "
- "which recognizes software patents and in which "
- "Unisys holds a patent on LZW compression and/or "
- "decompression and you want to use GIF, Unisys "
- "may require you to license the technology. Such "
- "countries include Canada, Japan, the USA, "
- "France, Germany, Italy and the UK.</font>"),
- configPage->explainOption);
- entry = settings.readEntry( "/Trolltech/Qt/Image Formats/GIF", "Off", &settingsOK );
- gifOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- gifOff->setOn( entry == "Off" );
- gifDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- gifDirect->setOn( entry == "Direct" );
-
- folder = new CheckListItem( imfolder, "MNG" );
- folder->setHelpText(tr("<p>Qt can support the \"Multiple-Image Network Graphics\" format."
- "<p>MNG support can be compiled into Qt, provided by a plugin ",
- "or turned off completely."),
- configPage->explainOption);
- entry = settings.readEntry( "/Trolltech/Qt/Image Formats/MNG", "Plugin", &settingsOK );
-#if 0
- // ### disable using system MNG for now -- please someone take a closer look
- entryPresent = settings.readEntry( "/Trolltech/Qt/Image Formats/MNG Present", "No", &settingsOK );
- mngPresent = new CheckListItem( folder, "Present", QCheckListItem::CheckBox );
- mngPresent->setOn( entry == "Yes" );
-#endif
- mngOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- mngOff->setOn( entry == "Off" );
- mngPlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- mngPlugin->setOn( entry == "Plugin" );
- mngDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- mngDirect->setOn( entry == "Direct" );
-
- folder = new CheckListItem( imfolder, "JPEG" );
- folder->setHelpText(tr("<p>Qt can support the \"Joint Photographic Experts Group\" format."
- "<p>JPEG support can be compiled into Qt, provided by a plugin ",
- "or turned off completely."),
- configPage->explainOption);
- entry = settings.readEntry( "/Trolltech/Qt/Image Formats/JPEG", "Direct", &settingsOK );
-#if 0
- // ### disable using system JPEG for now -- please someone take a closer look
- entryPresent = settings.readEntry( "/Trolltech/Qt/Image Formats/JPEG Present", "No", &settingsOK );
- jpegPresent = new CheckListItem( folder, "Present", QCheckListItem::CheckBox );
- jpegPresent->setOn( entry == "Yes" );
-#endif
- jpegOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- jpegOff->setOn( entry == "Off" );
- jpegPlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- jpegPlugin->setOn( entry == "Plugin" );
- jpegDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- jpegDirect->setOn( entry == "Direct" );
-
- folder = new CheckListItem( imfolder, "PNG" );
- folder->setHelpText(tr("<p>Qt can support the \"Portable Network Graphics\" format."
- "<p>PNG support can be compiled into Qt, provided by a plugin ",
- "or turned off completely."),
- configPage->explainOption);
- entry = settings.readEntry( "/Trolltech/Qt/Image Formats/PNG", "Direct", &settingsOK );
-#if 0
- // ### disable using system PNG for now -- please someone take a closer look
- entryPresent = settings.readEntry( "/Trolltech/Qt/Image Formats/PNG Present", "No", &settingsOK );
- pngPresent = new CheckListItem( folder, "Present", QCheckListItem::CheckBox );
- pngPresent->setOn( entry == "Yes" );
-#endif
- pngOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- pngOff->setOn( entry == "Off" );
- // PNG is required by the build system (ie. we use PNG), so don't allow it to be turned off
- pngOff->setEnabled( false );
- pngPlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- pngPlugin->setOn( entry == "Plugin" );
- pngDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- pngDirect->setOn( entry == "Direct" );
-
- CheckListItem *sqlfolder = new CheckListItem( configPage->advancedList, "Sql Drivers" );
- sqlfolder->setHelpText(tr("<p>Select the SQL Drivers you want to support."
- "<p>SQL Drivers can be built into Qt or built as plugins to be more flexible "
- "for later extensions."
- "<p><font color=#FF0000>You must have the appropriate client libraries "
- "and header files installed correctly before you can build the Qt SQL drivers.</font>"),
- configPage->explainOption);
-
- folder = new CheckListItem( sqlfolder, "iBase" );
- folder->addRequiredFiles("ibase.h");
- entry = settings.readEntry( "/Trolltech/Qt/Sql Drivers/iBase", "Off", &settingsOK );
- ibaseOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- ibaseOff->setOn( true );
- ibaseOff->setEnabled( enterprise );
- ibasePlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- ibasePlugin->setOn( entry == "Plugin" && folder->verify() && enterprise );
- ibasePlugin->setEnabled( enterprise );
- ibaseDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- ibaseDirect->setOn( entry == "Direct" && folder->verify() && enterprise );
- ibaseDirect->setEnabled( enterprise );
- if (globalInformation.sysId() == GlobalInformation::Borland)
- folder->addRequiredFiles("gds32.lib");
- else
- folder->addRequiredFiles("gds32_ms.lib");
-
- folder = new CheckListItem( sqlfolder, "DB2" );
- folder->addRequiredFiles("db2cli.lib,sqlcli1.h");
- entry = settings.readEntry( "/Trolltech/Qt/Sql Drivers/DB2", "Off", &settingsOK );
- db2Off = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- db2Off->setOn( true );
- db2Off->setEnabled( enterprise );
- db2Plugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- db2Plugin->setOn( entry == "Plugin" && folder->verify() && enterprise );
- db2Plugin->setEnabled( enterprise );
- db2Direct = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- db2Direct->setOn( entry == "Direct" && folder->verify() && enterprise );
- db2Direct->setEnabled( enterprise );
-
- folder = new CheckListItem( sqlfolder, "TDS" );
- folder->addRequiredFiles("ntwdblib.lib,sqldb.h");
- entry = settings.readEntry( "/Trolltech/Qt/Sql Drivers/TDS", "Off", &settingsOK );
- tdsOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- tdsOff->setOn( true );
- tdsOff->setEnabled( enterprise );
- tdsPlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- tdsPlugin->setOn( entry == "Plugin" && folder->verify() && enterprise );
- tdsPlugin->setEnabled( enterprise );
- tdsDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- tdsDirect->setOn( entry == "Direct" && folder->verify() && enterprise );
- tdsDirect->setEnabled( enterprise );
-
- folder = new CheckListItem( sqlfolder, "PostgreSQL" );
- folder->addRequiredFiles("libpqdll.lib,libpq-fe.h");
- entry = settings.readEntry( "/Trolltech/Qt/Sql Drivers/PostgreSQL", "Off", &settingsOK );
- psqlOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- psqlOff->setOn( true );
- psqlOff->setEnabled( enterprise );
- psqlPlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- psqlPlugin->setOn( entry == "Plugin" && folder->verify() && enterprise );
- psqlPlugin->setEnabled( enterprise );
- psqlDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- psqlDirect->setOn( entry == "Direct" && folder->verify() && enterprise );
- psqlDirect->setEnabled( enterprise );
-
- folder = new CheckListItem( sqlfolder, "OCI" );
- folder->addRequiredFiles("oci.lib,oci.h");
- entry = settings.readEntry( "/Trolltech/Qt/Sql Drivers/OCI", "Off", &settingsOK );
- ociOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- ociOff->setOn( true );
- ociOff->setEnabled( enterprise );
- ociPlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- ociPlugin->setOn( entry == "Plugin" && folder->verify() && enterprise );
- ociPlugin->setEnabled( enterprise );
- ociDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- ociDirect->setOn( entry == "Direct" && folder->verify() && enterprise );
- ociDirect->setEnabled( enterprise );
-
- folder = new CheckListItem( sqlfolder, "MySQL" );
- folder->addRequiredFiles("libmysql.lib,mysql.h");
- entry = settings.readEntry( "/Trolltech/Qt/Sql Drivers/MySQL", "Off", &settingsOK );
- mysqlOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- mysqlOff->setOn( true );
- mysqlOff->setEnabled( enterprise );
- mysqlPlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- mysqlPlugin->setOn( entry == "Plugin" && folder->verify() && enterprise );
- mysqlPlugin->setEnabled( enterprise );
- mysqlDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- mysqlDirect->setOn( entry == "Direct" && folder->verify() && enterprise );
- mysqlDirect->setEnabled( enterprise );
-
- folder = new CheckListItem( sqlfolder, "SQLite" );
- entry = settings.readEntry( "/Trolltech/Qt/Sql Drivers/SQLite", "Off", &settingsOK );
- sqliteOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- sqliteOff->setOn( true );
- sqliteOff->setEnabled( enterprise );
- sqlitePlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- sqlitePlugin->setOn( entry == "Plugin" && folder->verify() && enterprise );
- sqlitePlugin->setEnabled( enterprise );
- sqliteDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- sqliteDirect->setOn( entry == "Direct" && folder->verify() && enterprise );
- sqliteDirect->setEnabled( enterprise );
-
- folder = new CheckListItem( sqlfolder, "ODBC" );
- folder->addRequiredFiles("odbc32.lib,sql.h");
- entry = settings.readEntry( "/Trolltech/Qt/Sql Drivers/ODBC", "Off", &settingsOK );
- odbcOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- odbcOff->setOn( true );
- odbcOff->setEnabled( enterprise );
- odbcPlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- odbcPlugin->setOn( entry == "Plugin" && folder->verify() && enterprise );
- odbcPlugin->setEnabled( enterprise );
- odbcDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- odbcDirect->setOn( entry == "Direct" && folder->verify() && enterprise );
- odbcDirect->setEnabled( enterprise );
-
- CheckListItem *stfolder = new CheckListItem( configPage->advancedList, "Styles" );
- stfolder->setHelpText(tr("Select support for the various GUI styles that Qt supports." ),configPage->explainOption);
-
- folder = new CheckListItem( stfolder, "SGI" );
- entry = settings.readEntry( "/Trolltech/Qt/Styles/SGI", "Plugin", &settingsOK );
- sgiOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- sgiOff->setOn( entry == "Off" );
- sgiPlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- sgiPlugin->setOn( entry == "Plugin" );
- sgiDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- sgiDirect->setOn( entry == "Direct" );
-
- folder = new CheckListItem( stfolder, "CDE" );
- entry = settings.readEntry( "/Trolltech/Qt/Styles/CDE", "Plugin", &settingsOK );
- cdeOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- cdeOff->setOn( entry == "Off" );
- cdePlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- cdePlugin->setOn( entry == "Plugin" );
- cdeDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- cdeDirect->setOn( entry == "Direct" );
-
- folder = new CheckListItem( stfolder, "MotifPlus" );
- entry = settings.readEntry( "/Trolltech/Qt/Styles/MotifPlus", "Plugin", &settingsOK );
- motifplusOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- motifplusOff->setOn( entry == "Off" );
- motifplusPlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- motifplusPlugin->setOn( entry == "Plugin" );
- motifplusDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- motifplusDirect->setOn( entry == "Direct" );
-
- folder = new CheckListItem( stfolder, "Platinum" );
- entry = settings.readEntry( "/Trolltech/Qt/Styles/Platinum", "Plugin", &settingsOK );
- platinumOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- platinumOff->setOn( entry == "Off" );
- platinumPlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- platinumPlugin->setOn( entry == "Plugin" );
- platinumDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- platinumDirect->setOn( entry == "Direct" );
-
- folder = new CheckListItem( stfolder, "Motif" );
- entry = settings.readEntry( "/Trolltech/Qt/Styles/Motif", "Plugin", &settingsOK );
- motifOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- motifOff->setOn( entry == "Off" );
- motifPlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- motifPlugin->setOn( entry == "Plugin" );
- motifDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- motifDirect->setOn( entry == "Direct" );
-
- folder = new CheckListItem( stfolder, "Windows XP" );
- folder->addRequiredFiles("uxtheme.h");
- folder->setRequiredFileLocation("part of the Microsoft Platform SDK, which is usually available for "
- "download from the following location:"
- "<p>http://www.microsoft.com/msdownload/platformsdk/sdkupdate/<p>");
-
- entry = settings.readEntry( "/Trolltech/Qt/Styles/Windows XP", "Direct", &settingsOK );
- xpOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- xpOff->setOn( true );
- xpPlugin = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- xpPlugin->setOn( entry == "Plugin" && folder->verify() );
- xpPlugin->setEnabled( folder->verify() );
- xpDirect = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- xpDirect->setOn( entry == "Direct" && folder->verify() );
- xpDirect->setEnabled( folder->verify() );
-
- folder = new CheckListItem( stfolder, "Windows" );
- entry = settings.readEntry( "/Trolltech/Qt/Styles/Windows", "Direct", &settingsOK );
- item = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- item->setEnabled( false );
- item->setOn( entry == "Off" );
- item = new CheckListItem( folder, "Plugin", QCheckListItem::RadioButton );
- item->setEnabled( false );
- item->setOn( entry == "Plugin" );
- item = new CheckListItem( folder, "Direct", QCheckListItem::RadioButton );
- item->setOn( entry == "Direct" );
-
- entries = settings.readListEntry( "/Trolltech/Qt/Advanced C++", ',', &settingsOK );
- folder = new CheckListItem( configPage->advancedList, "Advanced C++" );
- folder->setHelpText(tr("Qt can be built with exception handling, STL support and RTTI support "
- "enabled or disabled. Qt itself doesn't use any of those features."
- "The default is to disable all advanced C++ features."),
- configPage->explainOption);
- advancedRTTI = new CheckListItem( folder, "RTTI", QCheckListItem::CheckBox );
- advancedRTTI->setOn( entries.contains( "RTTI" ) );
- advancedExceptions = new CheckListItem( folder, "Exceptions", QCheckListItem::CheckBox );
- advancedExceptions->setOn( entries.contains( "Exceptions" ) );
- advancedSTL = new CheckListItem( folder, "STL", QCheckListItem::CheckBox );
- advancedSTL->setOn( entries.contains( "STL" ) );
-
- folder = new CheckListItem( configPage->advancedList, "Tablet Support" );
- folder->addRequiredFiles("wintab.h,wintab.lib");
- folder->setRequiredFileLocation("available at http://www.pointing.com/FTP.HTM");
- folder->setHelpText(tr("Qt can support the Wacom brand tablet device."), configPage->explainOption);
- entry = settings.readEntry( "/Trolltech/Qt/Tablet Support", "Off", &settingsOK );
- tabletOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- tabletOff->setOn( true );
- tabletOn = new CheckListItem( folder, "On", QCheckListItem::RadioButton );
- tabletOn->setOn( entry == "On" && folder->verify() );
-
- folder = new CheckListItem( configPage->advancedList, "Accessibility" );
- folder->setHelpText(tr("<p>Accessibility means making software usable and accessible to a wide "
- "range of users, including those with disabilities."
- "This feature is only available with a shared Qt library."),
- configPage->explainOption);
- entry = settings.readEntry( "/Trolltech/Qt/Accessibility", "On", &settingsOK );
- accOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- accOff->setOn( entry == "Off" );
- accOn = new CheckListItem( folder, "On", QCheckListItem::RadioButton );
- accOn->setOn( entry == "On" );
-
- entry = settings.readEntry( "/Trolltech/Qt/Big Textcodecs", "On", &settingsOK );
- folder = new CheckListItem( configPage->advancedList, "Big Textcodecs" );
- folder->setHelpText(tr("Textcodecs provide translations between text encodings. For "
- "languages and script systems with many characters it is necessary "
- "to have big data tables that provide the translation. Those codecs "
- "can be left out of the Qt library and will be loaded on demand.\n"
- "Having the codecs in a plugin is not available with a static Qt "
- "library."), configPage->explainOption);
- bigCodecsOff = new CheckListItem( folder, "Off", QCheckListItem::RadioButton );
- bigCodecsOff->setOn( entry == "Off" );
- bigCodecsOn = new CheckListItem( folder, "On", QCheckListItem::RadioButton );
- bigCodecsOn->setOn( entry == "On" );
-
- setStaticEnabled( staticItem->isOn() );
- setJpegDirect( mngDirect->isOn() );
-
- configPage->configList->setUpdatesEnabled(true);
- configPage->advancedList->setUpdatesEnabled(true);
-
- // Needed to force the scrollbars to appear on Windows 9x...
- QListViewItem *dummy = new QListViewItem(configPage->configList, "Dummy Item");
- delete dummy;
-
- setBackEnabled( buildPage, false );
-#endif
-}
-
-void SetupWizardImpl::showPageBuild()
-{
- autoContTimer.stop();
- nextButton()->setText( "Next >" );
- saveSettings();
-
-#if defined(Q_OS_WIN32)
- if( globalInformation.reconfig() && configPage->rebuildInstallation->isChecked() && qWinVersion() & WV_NT_based ) {
- QStringList args;
-
- buildPage->compileProgress->hide();
- buildPage->restartBuild->hide();
-
- args << globalInformation.text(GlobalInformation::MakeTool) << "clean";
- logOutput( "Starting cleaning process" );
- connect( &cleaner, SIGNAL( processExited() ), this, SLOT( cleanDone() ) );
- connect( &cleaner, SIGNAL( readyReadStdout() ), this, SLOT( readCleanerOutput() ) );
- connect( &cleaner, SIGNAL( readyReadStderr() ), this, SLOT( readCleanerError() ) );
- cleaner.setWorkingDirectory( QEnvironment::getEnv( "QTDIR" ) );
- cleaner.setArguments( args );
- if( !cleaner.start() ) {
- logOutput( "Could not start cleaning process" );
- emit wizardPageFailed( indexOf(currentPage()) );
- }
- } else
-#endif
- cleanDone(); // We're not doing a reconfig, so skip the clean step
-
-}
-
-static bool verifyHelper(QListView *listview, bool result)
-{
- QListViewItemIterator it(listview);
- while (it.current()) {
- QListViewItem *item = it.current();
- ++it;
- if (item->rtti() != CheckListItem::RTTI)
- continue;
-
- CheckListItem *checkItem = (CheckListItem*)item;
- if (!checkItem->isOn())
- continue;
-
- bool r = checkItem->verify();
- checkItem->setCritical(!r);
- if (result) result = r;
- }
- return result;
-}
-
-bool SetupWizardImpl::verifyConfig()
-{
- bool result = true;
-#if !defined(EVAL) && !defined(EDU) && !defined(NON_COMMERCIAL)
- result = verifyHelper(configPage->configList, result);
- result = verifyHelper(configPage->advancedList, result);
-#endif
- return result;
-}
diff --git a/util/install/win/shell.cpp b/util/install/win/shell.cpp
deleted file mode 100644
index b1303a7..0000000
--- a/util/install/win/shell.cpp
+++ /dev/null
@@ -1,472 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "shell.h"
-#include "environment.h"
-#include "dialogs/folderdlgimpl.h"
-#include <qnamespace.h>
-#include <qdir.h>
-#include <qlibrary.h>
-#if defined(Q_OS_WIN32)
-#include <windows.h>
-#include <shlobj.h>
-#else
-#include <sys/param.h>
-#include <sys/mount.h>
-#endif
-
-static const char* folder_closed_xpm[]={
- "16 16 9 1",
- "g c #808080",
- "b c #c0c000",
- "e c #c0c0c0",
- "# c #000000",
- "c c #ffff00",
- ". c None",
- "a c #585858",
- "f c #a0a0a4",
- "d c #ffffff",
- "..###...........",
- ".#abc##.........",
- ".#daabc#####....",
- ".#ddeaabbccc#...",
- ".#dedeeabbbba...",
- ".#edeeeeaaaab#..",
- ".#deeeeeeefe#ba.",
- ".#eeeeeeefef#ba.",
- ".#eeeeeefeff#ba.",
- ".#eeeeefefff#ba.",
- ".##geefeffff#ba.",
- "...##gefffff#ba.",
- ".....##fffff#ba.",
- ".......##fff#b##",
- ".........##f#b##",
- "...........####."
-};
-
-static const char* folder_open_xpm[]={
- "16 16 11 1",
- "# c #000000",
- "g c #c0c0c0",
- "e c #303030",
- "a c #ffa858",
- "b c #808080",
- "d c #a0a0a4",
- "f c #585858",
- "c c #ffdca8",
- "h c #dcdcdc",
- "i c #ffffff",
- ". c None",
- "....#ab##.......",
- "....###.........",
- "....#acab####...",
- "###.#acccccca#..",
- "#ddefaaaccccca#.",
- "#bdddbaaaacccab#",
- ".eddddbbaaaacab#",
- ".#bddggdbbaaaab#",
- "..edgdggggbbaab#",
- "..#bgggghghdaab#",
- "...ebhggghicfab#",
- "....#edhhiiidab#",
- "......#egiiicfb#",
- "........#egiibb#",
- "..........#egib#",
- "............#ee#"
-};
-
-static const char* file_xpm []={
- "16 16 7 1",
- "# c #000000",
- "b c #ffffff",
- "e c #000000",
- "d c #404000",
- "c c #c0c000",
- "a c #ffffc0",
- ". c None",
- "................",
- ".........#......",
- "......#.#a##....",
- ".....#b#bbba##..",
- "....#b#bbbabbb#.",
- "...#b#bba##bb#..",
- "..#b#abb#bb##...",
- ".#a#aab#bbbab##.",
- "#a#aaa#bcbbbbbb#",
- "#ccdc#bcbbcbbb#.",
- ".##c#bcbbcabb#..",
- "...#acbacbbbe...",
- "..#aaaacaba#....",
- "...##aaaaa#.....",
- ".....##aa#......",
- ".......##......."
-};
-
-static const char* info_xpm[] = {
- "16 16 6 1",
- "# c #0000ff",
- "a c #6868ff",
- "b c #d0d0ff",
- "c c #ffffff",
- "- c #000000",
- ". c none",
- ".....------.....",
- "...--######--...",
- "..-###acca###-..",
- ".-####cccc####-.",
- ".-####acca####-.",
- "-##############-",
- "-######bcc#####-",
- "-####ccccc#####-",
- "-#####cccc#####-",
- "-#####cccc#####-",
- "-#####cccc#####-",
- ".-####cccc####-.",
- ".-###cccccc###-.",
- "..-##########-..",
- "...--#######-...",
- ".....------....."
-};
-
-static QPixmap* closedImage = NULL;
-static QPixmap* openImage = NULL;
-static QPixmap* fileImage = NULL;
-static QPixmap* infoImage = NULL;
-
-#if defined(Q_OS_WIN32)
-typedef BOOL (WINAPI *PtrSHGetPathFromIDListW)(LPITEMIDLIST,LPWSTR);
-static PtrSHGetPathFromIDListW ptrSHGetPathFromIDListW = 0;
-
-static void resolveLibs()
-{
- static bool triedResolve = false;
-
- if ( !triedResolve ) {
- triedResolve = true;
- if( int( qWinVersion() ) & int( Qt::WV_NT_based ) ) {
- QLibrary lib("shell32");
- lib.setAutoUnload( false );
- ptrSHGetPathFromIDListW = (PtrSHGetPathFromIDListW) lib.resolve( "SHGetPathFromIDListW" );
- }
- }
-}
-#endif
-
-WinShell::WinShell()
-{
-#if defined(Q_OS_WIN32)
- HRESULT hr;
- LPITEMIDLIST item;
-#endif
-
- localProgramsFolderName.clear();
- commonProgramsFolderName.clear();
- windowsFolderName.clear();
-
-#if defined(Q_OS_WIN32)
- resolveLibs();
- if( ptrSHGetPathFromIDListW && int( qWinVersion() ) & int( Qt::WV_NT_based ) ) {
- ushort buffer[MAX_PATH];
- if( SUCCEEDED( hr = SHGetSpecialFolderLocation( NULL, CSIDL_PROGRAMS, &item ) ) ) {
- if( ptrSHGetPathFromIDListW( item, (wchar_t*) buffer ) ) {
- localProgramsFolderName = QString::fromUcs2( buffer );
- if( SUCCEEDED( hr = SHGetSpecialFolderLocation( NULL, CSIDL_COMMON_PROGRAMS, &item ) ) ) {
- if( ptrSHGetPathFromIDListW( item, (wchar_t*) buffer ) )
- commonProgramsFolderName = QString::fromUcs2( buffer );
- else
- qDebug( "Could not get name of common programs folder" );
- }
- else
- qDebug( "Could not get common programs folder location" );
-
- if( GetWindowsDirectoryW( (wchar_t*) buffer, MAX_PATH ) )
- windowsFolderName = QString::fromUcs2( buffer );
- else
- qDebug( "Could not get Windows directory" );
- }
- else
- qDebug( "Could not get name of programs folder" );
- }
- else
- qDebug( "Could not get programs folder location" );
- }
- else {
- QByteArray buffer( MAX_PATH );
- if( SUCCEEDED( hr = SHGetSpecialFolderLocation( NULL, CSIDL_PROGRAMS, &item ) ) ) {
- if( SHGetPathFromIDListA( item, buffer.data() ) ) {
- localProgramsFolderName = buffer.data();
- commonProgramsFolderName = buffer.data();
- }
- else
- qDebug( "Could not get name of programs folder" );
- }
- else
- qDebug( "Could not get programs folder location" );
- }
-#endif
-
- closedImage = new QPixmap( folder_closed_xpm );
- openImage = new QPixmap( folder_open_xpm );
- fileImage = new QPixmap( file_xpm );
- infoImage = new QPixmap( info_xpm );
-}
-
-WinShell::~WinShell()
-{
-}
-
-QString WinShell::selectFolder( QString folderName, bool common )
-{
- QStringList folders;
- FolderDlgImpl dlg;
-
- if( common )
- dlg.setup( commonProgramsFolderName, folderName );
- else
- dlg.setup( localProgramsFolderName, folderName );
-
- if( dlg.exec() ) {
- return dlg.getFolderName();
- }
- else
- return folderName;
-}
-
-QString WinShell::createFolder( QString folderName, bool common )
-{
- QDir folderDir;
- QString folderPath;
-
- if( common )
- folderPath = commonProgramsFolderName + QString( "\\" ) + folderName;
- else
- folderPath = localProgramsFolderName + QString( "\\" ) + folderName;
-
- folderDir.setPath( folderPath );
-
- if( !folderDir.exists( folderPath ) )
- if( !createDir( folderPath ) )
- return QString();
-
- return folderPath;
-}
-
-
-#if defined(Q_OS_WIN32)
-HRESULT WinShell::createShortcut( QString folderName, bool, QString shortcutName, QString target, QString description, QString arguments, QString wrkDir )
-{
- IPersistFile* linkFile;
- HRESULT hr;
-
- // Add .lnk to shortcut name if needed
- if( shortcutName.right( 4 ) != ".lnk" )
- shortcutName += ".lnk";
-
- folderName = QEnvironment::getFSFileName( folderName );
- if( int( qWinVersion() ) & int( Qt::WV_NT_based ) ) {
- IShellLinkW* link;
- if( SUCCEEDED( hr = CoCreateInstance( CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLinkW, (void**)&link ) ) ) {
- if( SUCCEEDED( hr = link->QueryInterface( IID_IPersistFile, (void**)&linkFile ) ) ) {
- link->SetPath( (const wchar_t*) target.ucs2() );
- QString _wrkDir = wrkDir;
- if( !_wrkDir.length() ) {
- _wrkDir = QDir::toNativeSeparators( target );
- // remove the filename
- int pos = _wrkDir.findRev( '\\' );
- if ( pos > 0 )
- _wrkDir = _wrkDir.left( pos );
- else
- _wrkDir = "";
- }
-
- link->SetWorkingDirectory( (const wchar_t*) _wrkDir.ucs2() );
- if( description.length() )
- link->SetDescription( (const wchar_t*) description.ucs2() );
- if( arguments.length() )
- link->SetArguments( (const wchar_t*) arguments.ucs2() );
-
- hr = linkFile->Save( (const wchar_t*) QString( folderName + QString( "\\" ) + shortcutName ).ucs2(), false );
-
- linkFile->Release();
- }
- else
- qDebug( "Could not get link file interface" );
-
- link->Release();
- }
- else
- qDebug( "Could not instantiate link object" );
- }
- else {
- IShellLinkA* link;
- if( SUCCEEDED( hr = CoCreateInstance( CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLinkA, (void**)&link ) ) ) {
- if( SUCCEEDED( hr = link->QueryInterface( IID_IPersistFile, (void**)&linkFile ) ) ) {
- link->SetPath( target.local8Bit().data() );
- QString wrkDir = QDir::toNativeSeparators( target );
-
- // remove the filename
- int pos = wrkDir.findRev( '\\' );
- if ( pos > 0 )
- wrkDir = wrkDir.left( pos );
- else
- wrkDir = "";
-
- link->SetWorkingDirectory( wrkDir );
- if( description.length() )
- link->SetDescription( description.local8Bit() );
- if( arguments.length() )
- link->SetArguments( arguments.local8Bit() );
-
- hr = linkFile->Save( (const wchar_t*) QString( folderName + QString( "\\" ) + shortcutName ).ucs2(), false );
-
- linkFile->Release();
- }
- else
- qDebug( "Could not get link file interface" );
-
- link->Release();
- }
- else
- qDebug( "Could not instantiate link object" );
- }
-
- return hr;
-}
-#endif
-
-#if defined(Q_OS_WIN32)
-void WinShell::createInternetShortcut( QString folderName, bool, QString shortcutName, QString url )
-{
- // Add .url to shortcut name if needed
- if( shortcutName.right( 4 ) != ".url" )
- shortcutName += ".url";
-
- // ### maybe we should use some Microsoft API instead (IShellLink, e.g.)?
- QDir dir( folderName );
- QFile f( dir.filePath( shortcutName ) );
- if ( f.open( IO_WriteOnly | IO_Translate ) ) {
- QTextStream ts( &f );
- ts << "[InternetShortcut]" << endl
- << "URL=" << url;
- }
-}
-#endif
-
-bool WinShell::createDir( QString fullPath )
-{
- QStringList hierarchy = QStringList::split( QString( "\\" ), fullPath );
- QString pathComponent, tmpPath;
- QDir dirTmp;
- bool success;
-
- for( QStringList::Iterator it = hierarchy.begin(); it != hierarchy.end(); ++it ) {
- pathComponent = *it + "\\";
- tmpPath += pathComponent;
- success = dirTmp.mkdir( tmpPath );
- }
- return success;
-}
-
-QPixmap* WinShell::getClosedFolderImage()
-{
- return closedImage;
-}
-
-QPixmap* WinShell::getOpenFolderImage()
-{
- return openImage;
-}
-
-QPixmap* WinShell::getFileImage()
-{
- return fileImage;
-}
-
-QPixmap* WinShell::getInfoImage()
-{
- return infoImage;
-}
-
-#if defined(Q_OS_WIN32)
-QString WinShell::OLESTR2QString( LPOLESTR str )
-{
- QString tmp;
-
- for( int i = 0; str[ i ]; i++ )
- tmp += QChar( str[ i ] );
-
- return tmp;
-}
-#endif
-
-/*!
- Returns the free space for the directory. The space is returned in bytes,
- and should only be considered valid for this particular directory.
-*/
-#if defined(Q_OS_WIN32)
-ULARGE_INTEGER WinShell::dirFreeSpace( QString dirPath )
-{
- QString drive = dirPath.left( dirPath.find( '\\' ) );
- ULARGE_INTEGER freeSpace;
-
- freeSpace.QuadPart = 0;
-
- if( GetProcAddress( GetModuleHandleA( "kernel32.dll" ), "GetDiskFreeSpaceExA" ) ) {
- ULARGE_INTEGER ulBytesAvailable, ulBytesTotal;
- if( GetDiskFreeSpaceExA( drive.local8Bit(), &ulBytesAvailable, &ulBytesTotal, NULL ) )
- freeSpace = ulBytesAvailable;
- }
- else if( GetProcAddress( GetModuleHandleA( "kernel32.dll" ), "GetDiskFreeSpaceA" ) ) {
- DWORD dwSPC, dwBPS, dwClusters, dwTotalClusters;
- if( GetDiskFreeSpaceA( drive.local8Bit(), &dwSPC, &dwBPS, &dwClusters, &dwTotalClusters ) )
- freeSpace.QuadPart = dwSPC * dwBPS * dwClusters;
- }
- return freeSpace;
-}
-#elif defined(Q_OS_MAC)
-long WinShell::dirFreeSpace( QString dirPath )
-{
- struct statfs buf;
- if (statfs( dirPath.local8Bit(), &buf ) != -1)
- return buf.f_bavail * buf.f_bsize;
- return 0;
-}
-#endif
-
diff --git a/util/install/win/shell.h b/util/install/win/shell.h
deleted file mode 100644
index 4d5f9af..0000000
--- a/util/install/win/shell.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef SHELL_H
-#define SHELL_H
-
-#include <qstring.h>
-#include <qstringlist.h>
-#include <qpixmap.h>
-#if defined(Q_OS_WIN32)
-#include <windows.h>
-#include <shlobj.h>
-#endif
-
-class WinShell
-{
-public:
- WinShell();
- ~WinShell();
-
-private:
- bool createDir( QString fullPath );
-#if defined(Q_OS_WIN32)
- QString OLESTR2QString( LPOLESTR str );
-#endif
-public:
- QString localProgramsFolderName;
- QString commonProgramsFolderName;
- QString windowsFolderName;
- QString selectFolder( QString folderName, bool common );
-
- QString createFolder( QString folderName, bool common );
-
-#if defined(Q_OS_WIN32)
- HRESULT createShortcut( QString folderName, bool common, QString shortcutName, QString target, QString description = QString(), QString arguments = QString(), QString wrkDir = QString() );
- void createInternetShortcut( QString folderName, bool common, QString shortcutName, QString url );
-#endif
-
- static QPixmap* getOpenFolderImage();
- static QPixmap* getClosedFolderImage();
- static QPixmap* getFileImage();
- static QPixmap* getInfoImage();
-#if defined(Q_OS_WIN32)
- static ULARGE_INTEGER dirFreeSpace( QString dirPath );
-#elif defined(Q_OS_MAC)
- static long dirFreeSpace( QString dirPath );
-#endif
-};
-
-#endif
diff --git a/util/install/win/uninstaller/quninstall.pro b/util/install/win/uninstaller/quninstall.pro
deleted file mode 100644
index c64e8d2..0000000
--- a/util/install/win/uninstaller/quninstall.pro
+++ /dev/null
@@ -1,7 +0,0 @@
-TEMPLATE = app
-CONFIG += qt
-HEADERS = ../environment.h uninstallimpl.h
-SOURCES = uninstaller.cpp ../environment.cpp uninstallimpl.cpp
-INTERFACES = uninstall.ui
-TARGET = quninstall
-DESTDIR = ../../../../dist/win/bin
diff --git a/util/install/win/uninstaller/uninstall.ui b/util/install/win/uninstaller/uninstall.ui
deleted file mode 100644
index 88f27a7..0000000
--- a/util/install/win/uninstaller/uninstall.ui
+++ /dev/null
@@ -1,167 +0,0 @@
-<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
-<class>UninstallDlg</class>
-<widget class="QDialog">
- <property name="name">
- <cstring>UninstallDlg</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>527</width>
- <height>365</height>
- </rect>
- </property>
- <property name="caption">
- <string>Uninstalling Qt</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QLabel" row="0" column="0" rowspan="2" colspan="1">
- <property name="name">
- <cstring>sideBar</cstring>
- </property>
- <property name="pixmap">
- <pixmap>image0</pixmap>
- </property>
- <property name="scaledContents">
- <bool>false</bool>
- </property>
- <property name="alignment">
- <set>AlignTop</set>
- </property>
- </widget>
- <widget class="QGroupBox" row="0" column="1">
- <property name="name">
- <cstring>progressBox</cstring>
- </property>
- <property name="title">
- <string>Uninstallation progress</string>
- </property>
- <vbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>11</number>
- </property>
- <property name="spacing">
- <number>6</number>
- </property>
- <widget class="QTextView">
- <property name="name">
- <cstring>filesDisplay</cstring>
- </property>
- <property name="font">
- <font>
- <family>Courier</family>
- </font>
- </property>
- <property name="wordWrap">
- <enum>NoWrap</enum>
- </property>
- </widget>
- </vbox>
- </widget>
- <widget class="QLayoutWidget" row="1" column="1">
- <property name="name">
- <cstring>layout2</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <spacer>
- <property name="name">
- <cstring>Spacer1</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>90</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="QPushButton">
- <property name="name">
- <cstring>cleanRegButton</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Clean Registry</string>
- </property>
- </widget>
- <widget class="QPushButton">
- <property name="name">
- <cstring>okButton</cstring>
- </property>
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>OK</string>
- </property>
- </widget>
- <spacer>
- <property name="name">
- <cstring>Spacer2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="sizeHint">
- <size>
- <width>100</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </hbox>
- </widget>
- </grid>
-</widget>
-<images>
- <image name="image0">
- <data format="XPM.GZ" length="26835">789ced5c595323bb927e3fbfa2e3e8edc6842ed8982526e601b0318bd97726e62125956df0868d59cc8df9ef93ca452e6f34f4e1ccf4c37405747fae2a293fe5a24c49ee7ffee3c7cdc9e18f7ffcf38fa7210ceffd0fdf84c18f7f84e74e67f49ffff51ffffae3cfe5a5a51ff1a7b8b1f1a3f0e7bffdf1a7811ffe8759a23f842b09af13be51bcccf78de015797e27617efe5ab13c6f05afcbf3eb09d3f3f0a0989ff7cd84f9fea360cfef879030dfef335e16f9bd172cf2c125e1f524ef6dc22cef9a62e9ff30616eff4ab0ca5f4d98efaf2a96f7af13e6fb15c122bfbf4f98fbbf532ce355669cf81c27cced9d28e6f68d132cfcec86609117b6044bff8efac7d6a43f7fc358fb0be78af9beeb09d6f1eb0bd6f1180896f6cd2ae382b467af04cbfb595bb0bcef6b84d7f579680896e7c32061e26b2f056bffbb82d53e2e222e2cebfbb02158c7635bb03c6faf1917d5febd6079df497b45ed8fdfdfd0e7c36dc2ac9f4cb0eae342b0f67f2c58ede18d319a1ff747fe541cf7772258f5779430f75767acefdb9b84d93eae0497e4fd52c2743ff4148bbedf046fc8f3649fc5241f5c0bd6f61e12e6fe1e15737b765db0b4679e12e6e797040791ff3c61baef8b8ab9bdb0c1b824fd7b8a072b056dcfef0a96f6fc4ac2ccf75531b707cf8c4bcacf254ccfbb8162f14fe92ff55f4a989fbf51cccf674dc1c2dfde26cccf9f12067d1e7604ebfd57c5c27f59b0f07119e35591cf913d940aa5c0f1213c292e6c90bc7b8c57d53e8e158bbece048b3ce12061eeef50716199da7b16acfadd502cf25c0ad6f1e7f651de22bdefac60b59f9262894f2058ed654bb1c8e7046bfb7a5ff4ebd37d89c79b8a597e77ce784dc7634fb1c8ff9e30bf7fa498df0f6b82d51eb61366794031bfefc9de578bab1b45d6c750b0c8e7cf14cbf8de2ae6f10a59c2f47e28325679a19530b7b7af58f8ae254cefc3bd60912f5414f3f3504a98fb6b286679b28e60d1bfdf51ccedd953c5dc5ea6f2a93ec85f565deaff5eb18c6f2b61eebfad58fad7e7c51e7c3b61e67fa958c6f324616acf6482351e0c1266f9de15cbfbdd84599e3ae3f582f0bd532ccfaf27ccfd51bc5d2beafb6e55b1e8b7c038bd6f13e6f79705aff27dbb9630cb73ad98db83a66090fb778aa5bf15c199d8073fefd2f325c5d25e59b03c6f2e13667b0a8ac5bf1f196fc8f86446b1f02b24ccef8f14f3fbf644b0f009f23e1464fe23fb5a5f49efbf28e6e7fd51c274df2e0996f18243c5624f8d84d93fdf05cb78002816796cc23c5ebb82753cf719abbc7ea458f8937daffbf4fe9260194fbbaa58ee737b1e94af572c7cb384f9f9a160b58fae62d1e75bc26c8f34be1b2bda7e962996f1a80b96f7dd71c22ccfabe215aa2fc263c240f6a2efeb78d6144bff4131bfef5612a6f7dd48b08ecfb26296c79c26ccf755be4cda1b32760589572f8a25de541366be65c5a2ef31e6f6453eb72af9d046c2acef55c532de5630c87c799830c7bf9162997f760567d2de9d62c947683edbf03a7efe5cb1f07d4a98c60f2e04cbf89815c5fc7cc6e3ef95af394a989fef2a16fd5e264cedfb8660198ff09230cb7fa058e66f9f30c707ab58e2db96628907db09b33cfb8a459ee384499e50535ce27af741b08eff5bc21cbf1f154b3e344c98e5bf502cfedb4f98ed6153b1f8632f61bedf129c493ed84b98fbd7f115fdda4ec29c9f14154b7c394898fd27bd2fe3c5f6e57d51fa6b24ccfdd5154b7fed8439dfeb2816ffd84e98f948ff7e4dc6f33e6196f755b1d86b53b093f84df90d94923ddd24ccf6baa698f517fa82355e9d29e6f7cd30618e17d78af97d58162cfa74a058f479a558f455562cfeb49930dbfb4031b7ef2a82459f50502cfeec12e6feb57dd127ec25ccf1f149b1e8f33d6196afa498e5f3a97fe19ffa17f99e19277b6826ccf610148b3db884f9fe9362f1cfd784599e37c5226f2161e673a098e5b535c1623f1612a6fe4e878a451e9330cbd3572ce3b79f30dbc78b62f1c76ac23c1fea7838e97f9030b7ef154bff59c27c5ffb73e28f7b09733c5e532cfdeb78d5a5bfe784d95f54debad8cb56c21c7f78fc83eadf9f2ae6f1846ac26c9f5b8a59ff9eed37a8fe602961d6cf9d6289ffe709b37e2b8ac5df2e12667b2b2a167b6b0b16fd413161f68f8e62c927d3f3228ff62ffab3a384f9be512cfc571266fe0f8a85bff627fa75278a45bff709b37e5f14cb78f512e6f1d8532cf2ed26ccf3d3b362b1f79d8479bcd6154b7cea0a16fbf08f09b37db4148bbc0f09f3fd9a62f1cfa384595e1dffbae46fd58459de03c5920fb0ff8720f1c12d2996f8b5ad58e687a384d9ff68be7125d58f3709f3fcbcaa58f4b3ac78d5d1fd75c132deaea558f2b1f78459fe8e62b18776c23cde5eb1cc27cd84e97e0682653c61a858f4aff2c8f89946c2dcff9962d17735616ebfae58fadf4b98e5bb659cc6b7af58eabf9162d15f2d611e9f65c5325f5d25cce3fd2658fc2bec2816f90b8ae579b22f17923e3a8ad78a844f05bb35ba0fbb8295df49c2cc9fc73fa83c70a658f4bf9130f77f2558ec276c26ccf70f154b7e47f6e05715670f8245dfa7c3bfefb226ff6fbe1206bdbea7afbf9bcb873c7f3b2e6389f2d7d7defbbdb94c4a19fffe2e89ff4e2e3f67b7f0b9e83d2eef51bf1f9769361f3c67be8fc9ff0e97cf58e1efcbe56bec7e372ed6d3ef803f99cdf0771d2f379e51d49a6cc0cf3dfe3408d51167bf1717dbb40dbc82c857174ef77865c22590dc863ee57f33e7f05d4cbe878b7dd091c6bf513fc42b5a4f64d8b22d7a263047d154db76f0a74bd7b7b1f9361b6b3213e2a29ed0144ebda83389c01dfb88bf9dede365488b8ddf870bca1a251e208f28355eb97b461844cf89d23f219721fe76a88ff86c7ceff9b79af7077479b224635f50d627fb6adfec08af77bb89d796ddc6ab6c2b76c756f1d35dbb67f7f1598fef1dfc665c6af610ff756f8f50c6114a7c6c4feca93db3e7f6c25eda2bba2eedb5bdc14f6eed9d5db2cbb6608bf87cb02bdfc3e4735c16cd03b939a28136f3842c4a76d5aed975947a038dcbd08f31902e439f59e38c37c164a66e47a64136e7c62dfe7d5c62eba6893ff78464c6c088da340f76605af8bb6bdaa663baa6671e4ddfe4ffc082cb08ab8179b2a766689e519f6df49f8179c17189712e4687f849dd3e7c3717bceecdab796526e60d6de3017b5ab1c18cccbbd9345b66db9449fa8a5cf359e8dd1d53256c91fdaed933fbe600a5c788877d64e44b6deca7763a34877f0797a9cf7b18938aa88f23736c4e8407a08c1f311973613e207ca2cded99537386fa79b45d8aef4d9a6f8d7dfc3e2e910deae45e6c2c5a345a16feab63cecd85b93457288bdacdce420e7936d7e6062f66738bfab9a3b79d5932cb76db144c112d4bfd9074f37d5c50cfaf631de175883a79428dac989259257d5c9bb54ff198af9fc86c9dc66260363006eedabef4e52503fa543efa152ed44acd0258fb82e200b8e4213acef33d7e9ed5ed4c71b9a127908dbd006f0b6684f6d520368dcfe6d65f995f948b7d4261026424355bd6acacd3e39e8f0855bc7684d10ebd0de91e4637a8e30cf46e62bed68833d7dfc605305a8eec1d348409cbcd32cdf298c479a620acc6ade4e23564d0b465d3c63ebf990bc5e1a8e926c6e2275b817b7b99fa372411244b1beb607a36512daec3c384eceb53fae4c8368016b4a1631ea01b638048d28b59c25fe3821cc0b46c0f7ad8cd9d30614de4b513795ce335b69647bcfa6695b31894af9f63b54eefb39759c910d48bf0137b0d037882a191b99233f158612c92f3937a0914f19d39473f6924bb998cb3636d187844b93378c6b17d81579c81f6f1eac21b8ce01d368d872d923d8ec7383aabff2832b00d65d3414b88594686b3f3540d3a6d6f9fe2d2c339be8133e3ae5d128fbf9e60b233c1a38223ba831caab08b71fb1cf630677e857d9c0563de398203a8c1211cc13132c6c7e184343a393215eac5e233a77046f99ae64e58d1fd152e1883bbd6c1395cc0738ac131285fc2a530d9812bd6075cc30ddcda77b8832558b68f508022e6cf5c6dc68aa58bd21c9906acc02b94306fde9016d76035c727d91db6b786d583c36ca013ab37bcee7f9d0be5f42bb06e2eec19ce27b9a8434c40626a1cc50d4c778d1d3970b1fa8a36d1c46b1c7d6a78c54a07301b2dda5de75d7099ccb69022a17a21406cb7ecea186d7a54c3f5a9aa7b99643266f3192e3163710dd7a45e351ae5628fbb8f4cdc03bcd88a6bd9e0dae38b183562fea31534e7429841765cc7beb9ae3d866bd74b3151a322a47efaeed1ee219b2155a59db4a2b390cbfc3827cfb65c1fedab2e79faa45d9304f0e806ee09da76e886f4fc336924c895f25264508fb646ccf8efccbd9815f74abe63a83dcea04dcab98d7b7358e5a0263be437d98c7c135ca62d0f7b7aa0d5141fad020a98d51f4b5fe319f136f61475027df7ee36cd798c38d33dc41acbdcdb81dbc2485427ddc4567beac7b6e1b63132acb8776403e4339319048fd6b1adbab2abd07a889f9275ca5fe6cda6d4a7c759b78995d6a6db99885e791b2b9b3d3772558c545df6ef311f696980ad34a256dc2e3eb3eff6dcbe3b7035db41dbddc2cfeaf6d59cba43f2c6e90c957a7447ee18ce5dc53dbb13f5405d3f9cf5fd692e512bf89eb72ddb8536565a65b2e44a9a1d53ede14edd1946eb23b29eb13ef2baf1d1e7b0b55e8c86b6e4cedd85bbb4658c4f435a8b69d8babb72d7ee862cd8cce1d2335bb612e389bb8dda1119a7d6d5e771a19991b8c4bf016739ac19c7d589915c9066007707afb680d6554f2b4b7e0e97815bc2df1db7ec0af694d6020670e48a587be13c8e36e863beea565c89e65998b90c4ab082e3e030be371745a9b95ceae358807adc75ab512b3c83249fa7fc1e67e65317d71e7aa293c3b4129bcf0407a8dd1eb5b4e9d6900979b6dd4036eb68391bf8ce3356db43388391e44733191d3ce22099983b2f8eb8f3b990a7504687b1b0e41e482bf9e842f334b60f18abcb927946af68e98aea049798eb764cc315bdc3ead1c4bc05f34be33d66a965f782b3cd7dacefb0af0a3e61139bc405c7d1f86086381a1bd15a66ed6b968be822482dd7b37d38f71945ff9d892c728dc6aaeeebb0ee1b1421984b8357c3a7b99c4629cedc1aadd2ecf8267259f5f7d842c39efa07f49b3aaf7aba1abcd98b592e64dd03dfc2ececf1e75cf29a49b27471a40ad09c8ac540d930c62fdf76719db8e63bc2a541ab0d7569ad46751bb588ba2bfb2ee52beb390b224bf3ce791be71d6cc3d47ccfdba499299f895606058d6193f178924bce4732f1e410ab15bb4e5cf2b912fd1b33c85b8cf96d9c1761721c38eff18fc40545432b2f430b7532ae4fc6d50fd271efb6644698f51d5aeffb7e60af932de73583f5266671059a63781eceb15ac8c5c4bc23fe1b73dc636a79ba468cd9d78e7f722ecf25f95b13a53ac08b2201ce1d177e680624dd0d6998ffac4b1566ec957ff62ff625b680b35419b3ecc789fc42ac0c2539c248f6352e7564136533c8e5842c23af15cecf0798d5df59e432e1191ab70efc2b45af3aeaa4847e32c8555a9c3bdae47b7189fccd8f6c912478c1faeb0533bf692ed827dae3bbdf642e7979177121a61db432e2825e799a7a555fb9a178bcedb76029e691b35cd0ba0e69a6e9da2266ffef34cf82bfcf79b4b6c9bc56fdb62fbb3249807a749b5825cdd10b0ef000e798e698cb22dfcf718933127319619e6f66b8c4569f6117eb93c8a539473387942f9cfb8adfc11a723a1bd55c987e63cdf38e1e5fb5d1b6c13cd8bef37e773a17e7c8e9b19a438f69ce9f2fe772c17a876cdda0e79fcfd14b9c59f6a1ed0f629b5098994f6256d2715564e290c958aaea4c9c35bee687b68439fd3e56270fb427d8c76a744ff492bcd41f92069750a238677c854b866dc6d5a37789f6d35c2afe08abdf3842017f4fed38e2db9477d9d3c8c41f27265593d750b4bb9a3f3117d08bb500e76d3886680de831e5296f21cbb617fef4ab5cf087b8f85e6ef548b950b58715ee1356bf8099deccde2946f2375b82f71835fcf18cb568348eda3d33170e682dbc213b7ed163defc39653aa9c214ebc49c09e7a90baa5703658d33be9f8f07c42748ad14b95c4d8d0f676203d3c5f9ed9eaca919eb13ca7a0632c7efa1846b98ade8cad8e42a66bcee62eeeb2ffd55f439aa64d016503b9e6a9b27bb8d3d68ed92e30f0dcc1eca24a7a3e83c91dde7b950d536ced963fbdb73b850e431fb36f65c8bbb326419547fc69d3e57f6a738330ee4f97c362a6bad1eb3067fe36f3d4525df31affe8e6cac473553166d1b7b48fa1b5fbef6552eb46ad2a4597f5b56c326ed1c6737b38fde4a5a20ff68989669d17acd9e3b8396afcd5421f919ea9a3c6ec92f9b4e8c1f51bba4939e39a4117cb225e132a5196c17ed81463a71996f63b19e652e34ef13177b39870b604f2835ad5c7baec089bfc3aa7c1fbd39669096e693d93a91dbd8211bdb47de7bf63166c9a8df17b2af9e6dc7b97f3e171cd92e2c7dc425f98ae694bc9a15b9948d9fcba58ff9ec1ef6cb5c62dd1e57be767d45ea135d1f9a8c5dd3ad386841d58e5027713e8a7b95b1e73eec432dd9e824976d64cf5ccc4fe6fddc7d64e2ec93b9b03773a290813ec4bdfb5eb4b1681d58b33bb71ce713ca5676644556198ded6b1cd3382b1bf87d8c137bb4e3daa295278c0438c716a03f6399f1ed13cc09f6347e7d860bb61bada66b3b381f1693f7e6e3a9c1883bc2e706317b4349ea581f16a12459fde4eaf26495388eb13b340bf7fd99ddc2da621f47a6c5f9821df91dcad8c66fc93abc5f714517a3f657b8dca3e520175bf5a539352b5601b00907685903b4f506feecdb12fac94098e47763e654bc546d4b4484b8dbb9ec57fd9a6d4bef31db38a33a769a0be6e638ba179c214f3359646314f3a3778dfc3a6513158e3e867328e482f9f729f468ed0be328f41ccf6ed7fe7ac2c6c5c66095b2b87ced32b12b00f77e036b65ac196d0b3a18d3b74d7eb7ad223fb430825e1ce631c9d7c853fe1253f1981d16bc97fa85d7c36505db6e046b77a586ac07e32ec862388baeca1ca9bab9a3dfb713316d3ce3c4bd968d0058b79cd3999f57ff2e33a572d9911f0760474ea3ed4fb8089b40d598b1bd1851a816d35d09b59db84f74845e5b8e953ace8f0781bdfe5ab8b2eda4f8eb6f40a59a7792816a65cc272fcc79f080d970b285c425ae5ea02438ba792e9355ff78dd32c7a54e3b3731bfecdb8209c976930c013f83637835cfe85371a5aee62bc8cda177de8b4759d105c5de90858c6ae4f1a84c44465ac7d8827b3374de0cc9c2c69625f6859f05da594a6b563c23cece95e2757a263272f174f66837d48d31d3e729e2483d864668ba0e9d5979c47cf001eb80be548cb9fac494c3bdbb0e0fa145eb49f35625a4d2c416dba1e34f2447ce5b24a9ce64a6813d8dcf4cb80fb938e16288cb01d6dfbdd095550765531564422f3cba17591b1cba65b70ef7b4bf9cab1931ab3f0b7dcce2dbee0ce792c1148bf1dc110712c2203c996d33b32f12239faf852156076fb2a6c435e34fb968c61c9e914dd756cc13594c75c263aea3ffbbcc75e94cc1033ef74875e4258dbe445168f813a8622edc0c2fb0075564d39f5b01ac139f9b5c9c9bcaf671705f6dc5391b7ce7335c267dc9367ccc2d56dc55e0f520e5c2b6738dd189727fd80f6f9855229f30827358c15af2912d8deb139ea7d1f71ec3bb2be227d367cad4ce62a45ccb696aacb5e87565bf1f36dd068e5a3355b1661197e90897f83d61deb04d5e2d71992c425794eb66c5be9957136b9903f49d57f41b17d751ec15d6f157710e42e1b12e88b5a35f3347762db706336b6bf36dd0982b8ca87b719e10d9682551e3d5ec5c39ffc24cab1178cfe246b9a0fd5634db75a7e6226cdb36fa57b4c93ad6352577e9dfdca5dd76555a9fad637dd2c0bf0fd11ef7423954c6b5b3c4bdc96b5a6fd17de3690f8763a52bbcc265d1fad8222e582776692ffc36ed5d731c208b404b7250735718bf57ec8169d910764235ecfa327a7cdc5fea51ce1635d742a6fbbe1af6bca319787ef59ce724cce038ecbb3e8d869fb49a4539cc022ec139ac998654f3e6aac3fcbc1d0e420d87af432bb787e60df3b322f2883ba571353766f21e3350debb6863b65272716eb733ab60f3195918d85d6ca386d1a8c12bf7f9959fcf7389b52b2c99158c66d32710d9ce622470eec6ad844388b514d52274923c9e637c88a7e87844cd4bccdeb0bdb82fbc82f19b56fd930fceea43d1921b8523db0acf188d7a93fb3b5fd40bf80e143063b6a93e9aae2beea2a59927ac692a389bbd9ceaf96bde278b3bfa8714e978cd08fbc7d8fa168e431b6b5e909c75f6d2334c58f741f4fa1a5d1336f62b5c5cc5b542df94d25afdf45e2fcd8bf612fd20b3dbd833ed286335f0403a1aa41d70a0b5aa26ce1217e1249c86b3dcf8cf6a07d984f370112e319e681696fd35bd60ff4d28842bb34911c08ca5cff9afe159c55e846b33c40a64944eb1c4d3ee9eeacf8c90818e7d05136e3063b99dcbc44cfcee873b5ba27dda8c2cb79ee7b2a8de5f74b9b6bd376f387b8fc29239c9d51ff99ec7d114f9986338c4f93e9e5a3ea7d32c2656f1a68d33c42e3e7401876119f80c703aef30e327a94dac6f8efc168e0e674b8df1ac32c9e753beefa018d78da1034fa1202795389b3126bff39776bba00f0d7b01cfa1c867aeecb6efd9edd00d2b98d91fc3b6ecc6c4eb26c76591ad617e019b7e60ce62a4744bb23ae67e89cb13edb3c4b5e3755b0e258aa6e3b596492e12a5f942bb73e863ab66151a98750e481379b9179f63ce5f96779d7d05e75e23fb152ebf2bfa697f09d089395ddc298022d67e9819718501bca6397bce72d2eea7adb06ac6275fa76bb2ea825c2d66775b7ec716ec4bfefb32bf30bf38bfc967745c0596e13cacc23bd0770fa0924e5c4df63d89afa7e49ec7587fcf5d4fa33d3fccf0c29a1dcaded02fc5319adb5e502385b8328b6c8a61dd3f41597633ccbc3a51fc293fa74eea6c71f6b2e0f31825b156dbc8ec787dff97b8c4dd2f172300fe8df39579806178cf0c5c93fd7f7c823f56fe553927fa310bba1bce17446964622fdc23c6423e3bf4933df1455706e60173ac389ff7dcb3ad650e671c97f970e9ea0b6aab8f477ad2fb75a5c9d05c7221df3a99e0819eff68af83b5551cd37a9ecb97e3d8cc7e646ccb95e10973c447f7f65336d30ca6b954e47b3f4bf0162ec3ddc4c95f5af18d7316bc99675a1b7b9895ead7b9d02ec50b7d93ad688b59b067eec8f5a4ef49df9d97edec4c31a281876318b811d6d17b31878ef50dd612c774d7114b0f712fa39b4e5dc3f770a1959718581eed10f6b12e6e6759d8c25830fe0e0c9d8d356bfe70e6b42eafcfc673b3fcc7e25b57c1857dbb8bb9705c2d7d7345d8a49569cb1e1fbfad8039f879acf778de9f94ec2bfe32c988a3017d5faf4f15ca10f38173730e711ff50933dfc9aa645e54d075166b2fc36bace4ecc8c56f89b4688770689efd80d858ca20b63d3a2c32c17e4deb23097fe57b7c5895189a6f0cd999336ff19c3f46b6badbcce2ca4b3d7df76dba7634921338c8b266768fdaa8640f98a539ac0562a555a34c7868776d296b656dd2c921f9499b7aa66f917c2b178e8a3dfd0eae3b89fbc958e33ca17e3ad0861573e4df61e0f7cc12cab20d0d5ff335cc62b6cd895f811d2c63c09d61e6d9809e8ba7a84dace0a8d2e2d34021ee15da42d6c99a188523932e8d6083f2ca6fb0b1f185759527dddcd3faa6c1eae6c4dde22721bc8417db45569829a0558cc0f8535b7667eecc744d17e5afbaa2f358b19ddb5757768ecf06d82e65f371573ceebcd6716c1ae891fd80c510f42876d573f2f7266dfe6bbe3f473319ed686696ce50b35e62ce879c4e520f58f3a0b50cfd054a5dc62abb0d4bc4009ce373e52a91ec30f08e7da073be4b74a2f881b4dfa3bff99bdb916ff6bd5c26753ca969cb67a29ae3d3d6136fcc7c92eecc9cd4fbf9b746ffba8d7dc4843e6f4e5ed3cfce709f7edf8cbf053bf1e94ffe6f8cefe52265cbc4c8d32e2e5f33e7f0e5d23548c5462bad31afefe2323b72935c663e5fc065fe08d87432339757b8f1897065f01d5ce6dbd124978fff97a485d625dafac8fabe32ce5fe1f2c1fab9997dfe6326b2b7bb405f133afa80d157e3d867b87cae8585f7276a11f120c8e3c5ed86e7f0fc9d5ce6c42133fdd4873d4c7d5f624a83dfc8e5e7e3faddd767fb9b1ec9ffcbff7fecbbafffe7f27b5e7ffef7bffff13fdcf4c93e</data>
- </image>
-</images>
-<connections>
- <connection>
- <sender>okButton</sender>
- <signal>clicked()</signal>
- <receiver>UninstallDlg</receiver>
- <slot>accept()</slot>
- </connection>
- <connection>
- <sender>cleanRegButton</sender>
- <signal>clicked()</signal>
- <receiver>UninstallDlg</receiver>
- <slot>cleanRegistry()</slot>
- </connection>
-</connections>
-<slots>
- <slot access="protected">init()</slot>
- <slot access="protected">destroy()</slot>
- <slot>cleanRegistry()</slot>
-</slots>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/util/install/win/uninstaller/uninstaller.cpp b/util/install/win/uninstaller/uninstaller.cpp
deleted file mode 100644
index 9a7c529..0000000
--- a/util/install/win/uninstaller/uninstaller.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <qapplication.h>
-#include <qlabel.h>
-#include <qdir.h>
-#include <qtextview.h>
-#include <qpushbutton.h>
-#include <qmessagebox.h>
-#include "uninstallimpl.h"
-#include "../environment.h"
-
-#ifdef Q_OS_WIN32
-#include <windows.h>
-#endif
-
-QApplication* app;
-UninstallDlg* progress;
-
-void rmDirRecursive( const QDir &dir )
-{
- const QFileInfoList* list = dir.entryInfoList( QDir::All | QDir::System | QDir::Hidden );
- if ( list ) {
- QFileInfoListIterator it( *list );
- QFileInfo* fi;
-
- while( ( fi = it.current() ) ) {
- if( ( fi->fileName() != "." ) && ( fi->fileName() != ".." ) ){
- progress->filesDisplay->append( fi->absFilePath() + "\n" );
- progress->filesDisplay->scrollToBottom();
- app->processEvents();
- if( fi->isDir() )
- rmDirRecursive( QDir(fi->absFilePath()) );
- else
- QFile::remove( fi->absFilePath() );
- }
- ++it;
- }
- }
- // Remove this dir as well
- dir.rmdir( dir.absPath() );
-}
-
-int main( int argc, char** argv )
-{
- app = new QApplication( argc, argv );
- progress = new UninstallDlgImpl( 0, 0, 0, Qt::WStyle_Customize|Qt::WStyle_NormalBorder|Qt::WStyle_Title);
-
- if( argc != 4 )
- qFatal( "Incorrect parameters" );
-
- if( !QMessageBox::information( 0,
- QString( "Uninstalling Qt %1" ).arg(argv[3]),
- QString("Are you sure you want to uninstall Qt %1?\n"
- "This will remove the directory this version\n"
- "of Qt was installed to, along with ALL its contents.").arg(argv[3]),
- "Yes", "No" ) )
- {
- progress->setCaption( QString( "Uninstalling Qt " ) + argv[ 3 ] );
- progress->show();
-
- app->setMainWidget( progress );
-
- // Delete the two directories we have written files to during the installation.
- // The OK button is disabled at this point.
- // Messages will be processed during the delete process.
-
- // Check if moc.exe exists, if not this could potentially be a
- // corrupted registry setting
-
- if ( QFile::exists( QString( argv[1] ) + QString( "\\bin\\moc.exe" ) ) )
- rmDirRecursive( QDir(argv[1]) );
- else
- QMessageBox::warning( 0, "Uninstalling failed", "Qt could not be uninstalled, you will "
- "need to remove Qt manually" );
-
- rmDirRecursive( QDir(argv[2]) );
-
- progress->okButton->setEnabled( true );
- progress->cleanRegButton->setEnabled( true );
- /*
- ** Just hang around until someone clicks the "OK" button
- */
- app->exec();
-#if defined(Q_OS_WIN32)
- QEnvironment::removeUninstall( QString( "Qt " ) + argv[ 3 ] );
- QString qtEnv = QEnvironment::getEnv( "QTDIR", QEnvironment::LocalEnv );
- QString pathEnv = QEnvironment::getEnv( "PATH", QEnvironment::PersistentEnv );
- if ( qtEnv == QString(argv[1]) )
- QEnvironment::removeEnv( "QTDIR", QEnvironment::LocalEnv | QEnvironment::PersistentEnv );
- else
- qtEnv = argv[1];
-
- qtEnv.append("\\bin;");
- pathEnv.replace( qtEnv, "" );
- QEnvironment::putEnv( "PATH", pathEnv, QEnvironment::PersistentEnv );
- if( qWinVersion() & Qt::WV_NT_based ) {
- SendNotifyMessageA( HWND_BROADCAST, WM_WININICHANGE, 0, (LPARAM)"Environment" );
- SendNotifyMessageA( HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0 );
- }
-#endif
- }
-
- return 0;
-}
diff --git a/util/install/win/uninstaller/uninstallimpl.cpp b/util/install/win/uninstaller/uninstallimpl.cpp
deleted file mode 100644
index d30358b..0000000
--- a/util/install/win/uninstaller/uninstallimpl.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
-**
-** This file is part of the utils 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
-**
-** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 3.0 requirements will be
-** met: http://www.gnu.org/copyleft/gpl.html.
-**
-** If you are unsure which license is appropriate for your use, please
-** contact the sales department at qt-sales@nokia.com.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "uninstallimpl.h"
-#include <qsettings.h>
-#include <qmessagebox.h>
-
-UninstallDlgImpl::UninstallDlgImpl( QWidget* parent, const char* name, bool modal, WindowFlags f )
- : UninstallDlg( parent, name, modal, f )
-{
-}
-
-UninstallDlgImpl::~UninstallDlgImpl()
-{
-}
-
-void UninstallDlgImpl::cleanRegistry()
-{
- cleanRegistryHelper( "/Trolltech/Qt" );
- cleanRegistryHelper( "/Trolltech/Qt Designer" );
- cleanRegistryHelper( "/Trolltech/Qt Assistant" );
- cleanRegistryHelper( "/Trolltech/Qt Linguist" );
-}
-
-void UninstallDlgImpl::cleanRegistryHelper( const QString& key )
-{
- QSettings settings;
- QStringList::Iterator it;
- QStringList keys = settings.subkeyList( key );
- for ( it = keys.begin(); it != keys.end(); ++it ) {
- cleanRegistryHelper( key + "/" + *it );
- }
- QStringList entries = settings.entryList( key );
- for ( it = entries.begin(); it != entries.end(); ++it ) {
- settings.removeEntry( key + "/" + *it );
- }
- settings.removeEntry( key + "/." );
-}
diff --git a/util/install/win/win.pro b/util/install/win/win.pro
deleted file mode 100644
index 470fa03..0000000
--- a/util/install/win/win.pro
+++ /dev/null
@@ -1,136 +0,0 @@
-TEMPLATE = app
-CONFIG += windows qt
-
-HEADERS = globalinformation.h \
- setupwizardimpl.h \
- environment.h \
- shell.h \
- resource.h \
- dialogs/folderdlgimpl.h \
- pages/pages.h \
- pages/sidedecorationimpl.h
-
-SOURCES = main.cpp \
- globalinformation.cpp \
- setupwizardimpl.cpp \
- setupwizardimpl_config.cpp \
- environment.cpp \
- shell.cpp \
- resource.cpp \
- dialogs/folderdlgimpl.cpp \
- pages/pages.cpp \
- pages/sidedecorationimpl.cpp
-
-INTERFACES = dialogs/folderdlg.ui \
- pages/buildpage.ui \
- pages/configpage.ui \
- pages/finishpage.ui \
- pages/folderspage.ui \
- pages/licenseagreementpage.ui \
- pages/licensepage.ui \
- pages/optionspage.ui \
- pages/progresspage.ui \
- pages/sidedecoration.ui \
- pages/winintropage.ui
-
-win32 {
- SOURCES += archive.cpp
- HEADERS += archive.h
-}
-
-TARGET = install
-DESTDIR = ../../../dist/win
-INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty $$QT_SOURCE_TREE/util/install/archive
-
-win32:RC_FILE = install.rc
-
-# Comment out one of the following lines to build the installer for:
-#
-# - a Qt/Windows evaluation version (eval),
-# - a Qt/Windows evaluation version that can be burned on CD and
-# distributed on tradeshows (eval-cd)
-# - the QSA evaluation version (qsa)
-# - educational version (edu)
-# - non-commercial version (noncommercial)
-#
-#CONFIG += eval
-#CONFIG += eval-cd
-#CONFIG += qsa
-#CONFIG += edu
-#CONFIG += noncommercial
-
-
-unix:LIBS += -L$$QT_BUILD_TREE/util/install/archive -larq
-win32:LIBS += ../archive/arq.lib
-INCLUDEPATH += ../keygen
-
-# We have the following dependencies on config:
-#
-# qsa -> eval
-# eval-cd -> eval
-# eval -> (none)
-# edu -> (none)
-# noncommercial -> (none)
-#
-# For the code this means that the following defines are defined:
-#
-# eval : EVAL
-# eval-cd : EVAL, EVAL_CD
-# qsa : EVAL, QSA
-# edu : EDU
-# noncommercial: NON_COMMERCIAL
-#
-
-qsa {
- CONFIG += eval
- DEFINES += QSA
-}
-
-eval-cd {
- CONFIG += eval
- DEFINES += EVAL_CD
-}
-
-eval {
- !exists($(QTEVAL)/src) {
- error(You must set the QTEVAL environment variable to the directory where you checked out //depot/qteval/main in order to be able to build the evaluation version of install.)
- }
- DEFINES += EVAL
- qsa {
- win32:RC_FILE = install-qsa.rc
- } else {
- win32:RC_FILE = install-eval.rc
- }
- mac:RC_FILE = ../../../tools/designer/app/designer.icns
- SOURCES += $(QTEVAL)/src/check-and-patch.cpp
- INCLUDEPATH += $(QTEVAL)/src
- DESTDIR = ../../../bin
-}
-
-edu {
- !exists($(QTEVAL)/src) {
- error(You must set the QTEVAL environment variable to the directory where you checked out //depot/qteval/main in order to be able to build the evaluation version of install.)
- }
- DEFINES += EDU
- win32:RC_FILE = install-edu.rc
- SOURCES += $(QTEVAL)/src/check-and-patch.cpp
- INCLUDEPATH += $(QTEVAL)/src
- DESTDIR = ../../../bin
-}
-
-noncommercial {
- !exists($(QTEVAL)/src) {
- error(You must set the QTEVAL environment variable to the directory where you checked out //depot/qteval/main in order to be able to build the evaluation version of install.)
- }
- DEFINES += NON_COMMERCIAL
- win32:RC_FILE = install-noncommercial.rc
- SOURCES += $(QTEVAL)/src/check-and-patch.cpp
- INCLUDEPATH += $(QTEVAL)/src
- DESTDIR = ../../../bin
-}
-
-mystaticconfig {
- QMAKE_LIBS_QT =
- QMAKE_LIBS_QT_THREAD =
- LIBS += ../../../lib/libqt-mt.a -lz -framework Carbon
-}
diff --git a/util/qlalr/doc/qlalr.qdocconf b/util/qlalr/doc/qlalr.qdocconf
index d97ff7d..a97ef6a 100644
--- a/util/qlalr/doc/qlalr.qdocconf
+++ b/util/qlalr/doc/qlalr.qdocconf
@@ -59,7 +59,7 @@ HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0
HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
"<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \
- "<td width=\"30%\">Copyright &copy; \$THISYEAR\$ <a href=\"trolltech.html\">Trolltech</a></td>\n" \
+ "<td width=\"30%\" align=\"left\">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \
"<td width=\"40%\" align=\"center\"><a href=\"trademarks.html\">Trademarks</a></td>\n" \
"<td width=\"30%\" align=\"right\"><div align=\"right\">Qt \\version</div></td>\n" \
"</tr></table></div></address>"
diff --git a/util/scripts/make_qfeatures_dot_h b/util/scripts/make_qfeatures_dot_h
index c434649..5ca8c88 100755
--- a/util/scripts/make_qfeatures_dot_h
+++ b/util/scripts/make_qfeatures_dot_h
@@ -2,9 +2,9 @@
#
# Usage: make_qfeatures_dot_h
#
-# Generates core/base/qfeatures.h from core/base/qfeatures.txt.
+# Generates src/corelib/global/qfeatures.h from src/corelib/global/qfeatures.txt.
#
-# The tools/qfeatures.txt file can contain redundancies, and this program
+# The qfeatures.txt file can contain redundancies, and this program
# will show them.
#
@@ -85,11 +85,42 @@ open OUT, ">$ENV{QTDIR}/src/corelib/global/qfeatures.h"
print OUT
"/****************************************************************************
**
-** Copyright (C) 1992-\$THISYEAR\$ \$TROLLTECH\$. All rights reserved.
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info\@nokia.com)
**
-** This file is part of the \$MODULE\$ of the Qt Toolkit.
+** This file is part of the QtCore module of the Qt Toolkit.
**
-** \$TROLLTECH_DUAL_LICENSE\$
+** \$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 either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** 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.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales\@nokia.com.
+** \$QT_END_LICENSE\$
**
****************************************************************************/