summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rwxr-xr-xbin/syncqt776
-rwxr-xr-xconfig.tests/unix/compile.test6
-rw-r--r--config.tests/unix/getaddrinfo/getaddrinfotest.cpp7
-rw-r--r--config.tests/unix/iconv/iconv.pro2
-rw-r--r--config.tests/unix/ipv6/ipv6test.cpp5
-rw-r--r--config.tests/unix/odbc/odbc.cpp3
-rw-r--r--config.tests/unix/odbc/odbc.pro3
-rw-r--r--config.tests/unix/psql/psql.pro2
-rw-r--r--config.tests/x11/opengl/opengl.pro3
-rwxr-xr-xconfigure136
-rw-r--r--demos/declarative/webbrowser/content/Button.qml2
-rw-r--r--demos/declarative/webbrowser/content/FlickableWebView.qml5
-rw-r--r--demos/declarative/webbrowser/webbrowser.qml2
-rw-r--r--demos/embedded/embedded.pro5
-rw-r--r--demos/embedded/fluidlauncher/config_s60/config.xml7
-rw-r--r--demos/embedded/fluidlauncher/fluidlauncher.pro13
-rw-r--r--demos/embedded/fluidlauncher/screenshots/qmlcalculator.pngbin0 -> 15455 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/qmlclocks.pngbin0 -> 12409 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/qmldialcontrol.pngbin0 -> 16811 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/qmleasing.pngbin0 -> 3453 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/qmlflickr.jpgbin0 -> 35616 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/qmlphotoviewer.jpgbin0 -> 24216 bytes
-rw-r--r--demos/embedded/fluidlauncher/screenshots/qmltwitter.jpgbin0 -> 35159 bytes
-rw-r--r--demos/embedded/qmlcalculator/deployment.pri7
-rw-r--r--demos/embedded/qmlcalculator/qmlcalculator.cpp78
-rw-r--r--demos/embedded/qmlcalculator/qmlcalculator.pro12
-rw-r--r--demos/embedded/qmlclocks/deployment.pri7
-rw-r--r--demos/embedded/qmlclocks/qmlclocks.cpp78
-rw-r--r--demos/embedded/qmlclocks/qmlclocks.pro12
-rw-r--r--demos/embedded/qmldialcontrol/deployment.pri7
-rw-r--r--demos/embedded/qmldialcontrol/qmldialcontrol.cpp66
-rw-r--r--demos/embedded/qmldialcontrol/qmldialcontrol.pro11
-rw-r--r--demos/embedded/qmleasing/deployment.pri7
-rw-r--r--demos/embedded/qmleasing/qmleasing.cpp66
-rw-r--r--demos/embedded/qmleasing/qmleasing.pro11
-rw-r--r--demos/embedded/qmlflickr/deployment.pri7
-rw-r--r--demos/embedded/qmlflickr/qmlflickr.cpp92
-rw-r--r--demos/embedded/qmlflickr/qmlflickr.pro14
-rw-r--r--demos/embedded/qmlphotoviewer/deployment.pri7
-rw-r--r--demos/embedded/qmlphotoviewer/qmlphotoviewer.cpp92
-rw-r--r--demos/embedded/qmlphotoviewer/qmlphotoviewer.pro14
-rw-r--r--demos/embedded/qmltwitter/deployment.pri7
-rw-r--r--demos/embedded/qmltwitter/qmltwitter.cpp92
-rw-r--r--demos/embedded/qmltwitter/qmltwitter.pro14
-rw-r--r--demos/qmediaplayer/qmediaplayer.pro2
-rw-r--r--demos/spectrum/app/mainwidget.h1
-rw-r--r--demos/spectrum/app/spectrum.sh41
-rw-r--r--demos/spectrum/spectrum.pro3
-rw-r--r--dist/changes-4.7.039
-rw-r--r--doc/doc.pri17
-rw-r--r--doc/src/declarative/basictypes.qdoc473
-rw-r--r--doc/src/declarative/elements.qdoc14
-rw-r--r--doc/src/declarative/globalobject.qdoc2
-rw-r--r--doc/src/declarative/pics/gridview-highlight.pngbin0 -> 11806 bytes
-rw-r--r--doc/src/declarative/pics/gridview-simple.pngbin0 -> 10149 bytes
-rw-r--r--doc/src/declarative/pics/gridview.pngbin10564 -> 0 bytes
-rw-r--r--doc/src/declarative/pics/rect-border-width.pngbin0 -> 356 bytes
-rw-r--r--doc/src/declarative/pics/repeater-modeldata.pngbin0 -> 3394 bytes
-rw-r--r--doc/src/declarative/pics/translate.pngbin0 -> 398 bytes
-rw-r--r--doc/src/declarative/pics/visualitemmodel.pngbin0 -> 347 bytes
-rw-r--r--doc/src/declarative/qml-intro.qdoc26
-rw-r--r--doc/src/examples/waitconditions.qdoc2
-rw-r--r--doc/src/howtos/openvg.qdoc5
-rw-r--r--doc/src/internationalization/linguist-manual.qdoc9
-rw-r--r--doc/src/ja_JP/development/designer-manual.qdoc175
-rw-r--r--doc/src/ja_JP/development/qmake-manual.qdoc212
-rw-r--r--doc/src/ja_JP/development/qtestlib.qdoc432
-rw-r--r--doc/src/ja_JP/examples/arrowpad.qdoc248
-rw-r--r--doc/src/ja_JP/examples/hellotr.qdoc200
-rw-r--r--doc/src/ja_JP/examples/trollprint.qdoc286
-rw-r--r--doc/src/ja_JP/getting-started/tutorials.qdoc101
-rw-r--r--doc/src/ja_JP/images/linguist-hellotr_en.pngbin0 -> 4424 bytes
-rw-r--r--doc/src/ja_JP/images/linguist-hellotr_ja.pngbin0 -> 5624 bytes
-rw-r--r--doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc72
-rw-r--r--doc/src/ja_JP/tutorials/addressbook.qdoc1070
-rw-r--r--doc/src/ja_JP/tutorials/widgets-tutorial.qdoc257
-rw-r--r--doc/src/platforms/emb-openvg.qdocinc4
-rw-r--r--doc/src/snippets/declarative/gridview/ContactModel.qml (renamed from doc/src/snippets/declarative/gridview/dummydata/ContactModel.qml)14
-rw-r--r--doc/src/snippets/declarative/gridview/gridview.qml110
-rw-r--r--doc/src/snippets/declarative/listview/highlight.qml104
-rw-r--r--doc/src/snippets/declarative/mousearea.qml119
-rw-r--r--doc/src/snippets/declarative/pathview/ContactModel.qml (renamed from doc/src/snippets/declarative/pathview/dummydata/MenuModel.qml)9
-rw-r--r--doc/src/snippets/declarative/pathview/pathattributes.qml13
-rw-r--r--doc/src/snippets/declarative/pathview/pathview.qml22
-rw-r--r--doc/src/snippets/declarative/pathview/pics/qtlogo.png (renamed from doc/src/snippets/declarative/pathview/pics/qtlogo-64.png)bin2991 -> 2991 bytes
-rw-r--r--doc/src/snippets/declarative/rect-border-width.qml (renamed from doc/src/snippets/declarative/drag.qml)23
-rw-r--r--doc/src/snippets/declarative/repeater-modeldata.qml (renamed from doc/src/snippets/declarative/mouseregion.qml)31
-rw-r--r--doc/src/template/images/arrow_down.pngbin0 -> 177 bytes
-rw-r--r--doc/src/template/images/bg_ll_blank.pngbin0 -> 320 bytes
-rw-r--r--doc/src/template/images/bg_ul_blank.pngbin0 -> 304 bytes
-rw-r--r--doc/src/template/images/header_bg.pngbin0 -> 114 bytes
-rw-r--r--doc/src/template/scripts/narrow.js78
-rw-r--r--doc/src/template/scripts/superfish.js121
-rw-r--r--doc/src/template/style/OfflineStyle.css819
-rw-r--r--doc/src/template/style/narrow.css250
-rw-r--r--doc/src/template/style/superfish.css51
-rw-r--r--doc/src/template/style/superfish_skin.css83
-rw-r--r--examples/activeqt/activeqt.pro2
-rw-r--r--examples/declarative/modelviews/webview/content/FieldText.qml2
-rw-r--r--examples/declarative/sqllocalstorage/hello.qml2
-rw-r--r--examples/declarative/text/edit/edit.qml16
-rw-r--r--examples/declarative/tutorials/extending/chapter1-basics/app.qml1
-rw-r--r--examples/declarative/tutorials/extending/chapter2-methods/app.qml1
-rw-r--r--examples/declarative/tutorials/extending/chapter3-bindings/app.qml1
-rw-r--r--examples/declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml1
-rw-r--r--examples/ja_JP/linguist/hellotr/hellotr.pro13
-rw-r--r--examples/ja_JP/linguist/hellotr/main.cpp71
-rw-r--r--examples/tutorials/addressbook/part3/addressbook.cpp1
-rw-r--r--examples/tutorials/addressbook/part4/addressbook.cpp1
-rw-r--r--examples/tutorials/addressbook/part5/addressbook.cpp1
-rw-r--r--examples/tutorials/addressbook/part6/addressbook.cpp1
-rw-r--r--examples/tutorials/addressbook/part7/addressbook.cpp1
-rw-r--r--mkspecs/common/qws.conf4
-rw-r--r--mkspecs/common/symbian/symbian-mmp.conf20
-rw-r--r--mkspecs/common/symbian/symbian.conf3
-rw-r--r--mkspecs/features/qttest_p4.prf36
-rw-r--r--mkspecs/features/sis_targets.prf2
-rw-r--r--mkspecs/features/symbian/def_files.prf5
-rw-r--r--mkspecs/features/symbian/def_files_disabled.prf2
-rw-r--r--mkspecs/features/symbian/symbian_building.prf3
-rw-r--r--mkspecs/features/testcase.prf65
-rw-r--r--mkspecs/linux-g++-maemo/qmake.conf3
-rw-r--r--mkspecs/linux-icc/qmake.conf23
-rw-r--r--mkspecs/modules/qt_webkit_version.pri2
-rw-r--r--mkspecs/unsupported/win32-g++-cross/qmake.conf101
-rw-r--r--mkspecs/unsupported/win32-g++-cross/qplatformdefs.h42
-rw-r--r--qmake/generators/mac/pbuilder_pbx.cpp6
-rw-r--r--qmake/generators/metamakefile.cpp11
-rw-r--r--qmake/generators/symbian/symbian_makefile.h2
-rw-r--r--qmake/generators/symbian/symbiancommon.cpp38
-rw-r--r--qmake/generators/symbian/symbiancommon.h2
-rw-r--r--qmake/generators/symbian/symmake.cpp35
-rw-r--r--qmake/generators/symbian/symmake.h2
-rw-r--r--qmake/generators/win32/mingw_make.cpp7
-rw-r--r--qmake/generators/win32/msvc_objectmodel.cpp6
-rw-r--r--qmake/qmake.pri2
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp8
-rw-r--r--src/3rdparty/javascriptcore/WebKit.pri2
-rw-r--r--src/3rdparty/phonon/mmf/abstractaudioeffect.cpp2
-rw-r--r--src/3rdparty/phonon/mmf/abstractaudioeffect.h4
-rw-r--r--src/3rdparty/phonon/mmf/audiooutput.cpp3
-rw-r--r--src/3rdparty/phonon/mmf/bassboost.cpp1
-rw-r--r--src/3rdparty/phonon/mmf/effectfactory.cpp5
-rw-r--r--src/3rdparty/phonon/mmf/loudness.cpp1
-rw-r--r--src/3rdparty/webkit/.tag2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/ChangeLog15
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h4
-rw-r--r--src/3rdparty/webkit/VERSION2
-rw-r--r--src/3rdparty/webkit/WebCore/ChangeLog232
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.gypi2
-rw-r--r--src/3rdparty/webkit/WebCore/WebCore.pro52
-rw-r--r--src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp18
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp12
-rw-r--r--src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h1
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp30
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.h1
-rw-r--r--src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.idl3
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameView.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/page/FrameView.h3
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollView.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollView.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp1
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp25
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/NetworkStateNotifier.h9
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/qt/NetworkStateNotifierQt.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp10
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm (renamed from src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp)5
-rw-r--r--src/3rdparty/webkit/WebKit.pri2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/ChangeLog66
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp6
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qtwebkit-bridge.qdoc425
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc5
-rw-r--r--src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp83
-rw-r--r--src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri (renamed from src/3rdparty/webkit/WebKit/qt/qtwebkit_version.pri)0
-rw-r--r--src/activeqt/container/container.pro2
-rw-r--r--src/activeqt/control/control.pro4
-rw-r--r--src/corelib/global/qconfig-medium.h3
-rw-r--r--src/corelib/global/qconfig-minimal.h3
-rw-r--r--src/corelib/global/qconfig-small.h3
-rw-r--r--src/corelib/global/qendian.h24
-rw-r--r--src/corelib/global/qfeatures.h3
-rw-r--r--src/corelib/global/qfeatures.txt6
-rw-r--r--src/corelib/global/qnamespace.h18
-rw-r--r--src/corelib/global/qnamespace.qdoc19
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp10
-rw-r--r--src/corelib/io/qresource.cpp2
-rw-r--r--src/corelib/kernel/qabstractitemmodel.cpp92
-rw-r--r--src/corelib/kernel/qcoreevent.h8
-rw-r--r--src/corelib/kernel/qeventdispatcher_glib.cpp3
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian.cpp4
-rw-r--r--src/corelib/kernel/qeventdispatcher_win.cpp4
-rw-r--r--src/corelib/kernel/qtranslator.cpp2
-rw-r--r--src/corelib/tools/qhash.h9
-rw-r--r--src/corelib/tools/qmap.h9
-rw-r--r--src/corelib/tools/qstring.cpp13
-rw-r--r--src/corelib/tools/tools.pri5
-rw-r--r--src/declarative/QmlChanges.txt1
-rw-r--r--src/declarative/debugger/qdeclarativedebugtrace_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp25
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflipable.cpp10
-rw-r--r--src/declarative/graphicsitems/qdeclarativegridview.cpp185
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimage.cpp5
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimage_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativeitem.cpp6
-rw-r--r--src/declarative/graphicsitems/qdeclarativelayoutitem.cpp5
-rw-r--r--src/declarative/graphicsitems/qdeclarativelistview.cpp37
-rw-r--r--src/declarative/graphicsitems/qdeclarativeloader.cpp50
-rw-r--r--src/declarative/graphicsitems/qdeclarativemousearea.cpp59
-rw-r--r--src/declarative/graphicsitems/qdeclarativepath.cpp7
-rw-r--r--src/declarative/graphicsitems/qdeclarativepathview.cpp13
-rw-r--r--src/declarative/graphicsitems/qdeclarativepositioners.cpp101
-rw-r--r--src/declarative/graphicsitems/qdeclarativerectangle.cpp18
-rw-r--r--src/declarative/graphicsitems/qdeclarativerepeater.cpp14
-rw-r--r--src/declarative/graphicsitems/qdeclarativescalegrid.cpp5
-rw-r--r--src/declarative/graphicsitems/qdeclarativetext.cpp4
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextedit.cpp193
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextedit_p.h15
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextedit_p_p.h12
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextinput.cpp192
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextinput_p.h22
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextinput_p_p.h11
-rw-r--r--src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp6
-rw-r--r--src/declarative/qml/qdeclarativecontext_p.h2
-rw-r--r--src/declarative/qml/qdeclarativeengine.cpp34
-rw-r--r--src/declarative/qml/qdeclarativepropertycache_p.h2
-rw-r--r--src/declarative/qml/qdeclarativeworkerscript.cpp6
-rw-r--r--src/declarative/util/qdeclarativeanimation.cpp23
-rw-r--r--src/declarative/util/qdeclarativefontloader.cpp31
-rw-r--r--src/declarative/util/qdeclarativepackage_p.h2
-rw-r--r--src/declarative/util/qdeclarativepropertychanges.cpp19
-rw-r--r--src/declarative/util/qdeclarativesmoothedanimation.cpp2
-rw-r--r--src/declarative/util/qdeclarativesmoothedanimation_p_p.h2
-rw-r--r--src/declarative/util/qdeclarativestate_p.h2
-rw-r--r--src/declarative/util/qdeclarativetimeline_p_p.h8
-rw-r--r--src/declarative/util/qdeclarativetimer.cpp23
-rw-r--r--src/declarative/util/qdeclarativetransitionmanager_p_p.h2
-rw-r--r--src/gui/embedded/qwsmanager_qws.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp31
-rw-r--r--src/gui/graphicsview/qgraphicsitem.h4
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h2
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp22
-rw-r--r--src/gui/graphicsview/qgraphicsscene.h2
-rw-r--r--src/gui/graphicsview/qgraphicsscene_p.h2
-rw-r--r--src/gui/graphicsview/qgraphicsview.cpp4
-rw-r--r--src/gui/image/image.pri14
-rw-r--r--src/gui/image/qiconloader.cpp16
-rw-r--r--src/gui/image/qimage.cpp2
-rw-r--r--src/gui/image/qpixmap.cpp14
-rw-r--r--src/gui/image/qpixmap_x11.cpp6
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_s60.cpp41
-rw-r--r--src/gui/kernel/qapplication.cpp27
-rw-r--r--src/gui/kernel/qapplication.h2
-rw-r--r--src/gui/kernel/qapplication_p.h9
-rw-r--r--src/gui/kernel/qapplication_s60.cpp27
-rw-r--r--src/gui/kernel/qapplication_win.cpp52
-rw-r--r--src/gui/kernel/qapplication_x11.cpp2
-rw-r--r--src/gui/kernel/qcocoaview_mac.mm10
-rw-r--r--src/gui/kernel/qevent.cpp5
-rw-r--r--src/gui/kernel/qevent.h4
-rw-r--r--src/gui/kernel/qevent_p.h3
-rw-r--r--src/gui/kernel/qeventdispatcher_mac.mm2
-rw-r--r--src/gui/kernel/qgesture.cpp4
-rw-r--r--src/gui/kernel/qgesture.h4
-rw-r--r--src/gui/kernel/qgesture_p.h4
-rw-r--r--src/gui/kernel/qgesturemanager.cpp13
-rw-r--r--src/gui/kernel/qgesturemanager_p.h4
-rw-r--r--src/gui/kernel/qgesturerecognizer.cpp4
-rw-r--r--src/gui/kernel/qgesturerecognizer.h4
-rw-r--r--src/gui/kernel/qkeysequence.cpp30
-rw-r--r--src/gui/kernel/qmacgesturerecognizer_mac.mm4
-rw-r--r--src/gui/kernel/qmacgesturerecognizer_mac_p.h4
-rw-r--r--src/gui/kernel/qstandardgestures.cpp7
-rw-r--r--src/gui/kernel/qstandardgestures_p.h4
-rw-r--r--src/gui/kernel/qwidget.cpp68
-rw-r--r--src/gui/kernel/qwidget.h4
-rw-r--r--src/gui/kernel/qwidget_mac.mm4
-rw-r--r--src/gui/kernel/qwidget_p.h49
-rw-r--r--src/gui/kernel/qwidget_s60.cpp10
-rw-r--r--src/gui/kernel/qwidget_win.cpp2
-rw-r--r--src/gui/kernel/qwinnativepangesturerecognizer_win.cpp4
-rw-r--r--src/gui/kernel/qwinnativepangesturerecognizer_win_p.h34
-rw-r--r--src/gui/painting/painting.pri9
-rw-r--r--src/gui/painting/qbackingstore.cpp6
-rw-r--r--src/gui/painting/qbrush.cpp7
-rw-r--r--src/gui/painting/qdrawutil.cpp5
-rw-r--r--src/gui/painting/qpaintengine_x11.cpp7
-rw-r--r--src/gui/painting/qpainter.cpp31
-rw-r--r--src/gui/statemachine/qguistatemachine.cpp2
-rw-r--r--src/gui/styles/qcommonstyle.cpp4
-rw-r--r--src/gui/styles/qgtkpainter.cpp51
-rw-r--r--src/gui/styles/qgtkstyle.cpp59
-rw-r--r--src/gui/styles/qplastiquestyle.cpp37
-rw-r--r--src/gui/styles/qs60style.cpp9
-rw-r--r--src/gui/styles/qstylesheetstyle.cpp2
-rw-r--r--src/gui/styles/qwindowsstyle.cpp5
-rw-r--r--src/gui/text/qfontdatabase_s60.cpp76
-rw-r--r--src/gui/text/qfontengine_ft.cpp15
-rw-r--r--src/gui/text/qfontengine_ft_p.h1
-rw-r--r--src/gui/text/qfontengine_s60.cpp172
-rw-r--r--src/gui/text/qfontengine_s60_p.h25
-rw-r--r--src/gui/text/qstatictext.cpp37
-rw-r--r--src/gui/text/qstatictext_p.h7
-rw-r--r--src/gui/text/qtextcursor.cpp87
-rw-r--r--src/gui/text/qtextcursor.h6
-rw-r--r--src/gui/text/qtextcursor_p.h3
-rw-r--r--src/gui/text/qtextdocumentlayout.cpp58
-rw-r--r--src/gui/text/qtextlayout.cpp4
-rw-r--r--src/gui/text/qtextoption.cpp10
-rw-r--r--src/gui/text/qtextoption.h2
-rw-r--r--src/gui/text/text.pri3
-rw-r--r--src/gui/widgets/qabstractscrollarea.cpp8
-rw-r--r--src/gui/widgets/qplaintextedit.cpp2
-rw-r--r--src/gui/widgets/qprogressbar.h6
-rw-r--r--src/imports/gestures/plugin.cpp3
-rw-r--r--src/imports/gestures/qdeclarativegesturearea.cpp4
-rw-r--r--src/imports/gestures/qdeclarativegesturearea_p.h4
-rw-r--r--src/imports/qimportbase.pri1
-rw-r--r--src/imports/webkit/qdeclarativewebview.cpp3
-rw-r--r--src/imports/webkit/qdeclarativewebview_p.h4
-rw-r--r--src/network/access/access.pri7
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp9
-rw-r--r--src/network/bearer/qnetworkconfigmanager_p.cpp6
-rw-r--r--src/network/ssl/qsslcertificate.cpp23
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp33
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h3
-rw-r--r--src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp5
-rw-r--r--src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h1
-rw-r--r--src/opengl/qgl.cpp73
-rw-r--r--src/opengl/qgl.h4
-rw-r--r--src/opengl/qgl_p.h36
-rw-r--r--src/opengl/qgl_x11.cpp3
-rw-r--r--src/opengl/qglframebufferobject.cpp30
-rw-r--r--src/opengl/qglframebufferobject.h2
-rw-r--r--src/openvg/qpaintengine_vg.cpp45
-rw-r--r--src/plugins/bearer/corewlan/qcorewlanengine.mm25
-rw-r--r--src/plugins/bearer/symbian/3_1/3_1.pro4
-rw-r--r--src/plugins/bearer/symbian/3_2/3_2.pro12
-rw-r--r--src/plugins/bearer/symbian/symbian.pri30
-rw-r--r--src/plugins/bearer/symbian/symbian.pro42
-rw-r--r--src/plugins/bearer/symbian/symbian_3/symbian_3.pro14
-rw-r--r--src/plugins/imageformats/jpeg/jpeg.pro7
-rw-r--r--src/plugins/imageformats/mng/mng.pro16
-rw-r--r--src/plugins/imageformats/tiff/tiff.pro21
-rw-r--r--src/plugins/s60/s60pluginbase.pri17
-rw-r--r--src/plugins/sqldrivers/psql/psql.pro4
-rw-r--r--src/qbase.pri3
-rw-r--r--src/s60installs/bwins/QtDeclarativeu.def38
-rw-r--r--src/s60installs/bwins/QtGuiu.def8
-rw-r--r--src/s60installs/eabi/QtDeclarativeu.def39
-rw-r--r--src/s60installs/eabi/QtGuiu.def6
-rw-r--r--src/s60installs/qsymbianbearer.qtplugin1
-rw-r--r--src/s60installs/qt.iby15
-rw-r--r--src/s60installs/qt.svg106
-rw-r--r--src/s60installs/s60installs.pro99
-rw-r--r--src/sql/drivers/drivers.pri20
-rw-r--r--src/sql/drivers/odbc/qsql_odbc.cpp4
-rw-r--r--src/svg/svg.pro6
-rw-r--r--src/tools/bootstrap/bootstrap.pri5
-rw-r--r--src/tools/bootstrap/bootstrap.pro4
-rw-r--r--src/winmain/winmain.pro4
-rw-r--r--tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp48
-rw-r--r--tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp122
-rw-r--r--tests/auto/declarative/qdeclarativetextinput/data/positionAt.qml8
-rw-r--r--tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp181
-rw-r--r--tests/auto/declarative/qdeclarativeviewer/data/orientation.qml17
-rw-r--r--tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp4
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml3
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml3
-rw-r--r--tests/auto/gestures/tst_gestures.cpp232
-rw-r--r--tests/auto/linguist/lconvert/data/test20.ts12
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/cmdline_order/a.h42
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/cmdline_order/b.h44
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/cmdline_order/lupdatecmd1
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/cmdline_order/project.ts.result20
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt4
-rw-r--r--tests/auto/maketestselftest/checktest/checktest.pro7
-rw-r--r--tests/auto/maketestselftest/checktest/main.cpp99
-rw-r--r--tests/auto/maketestselftest/maketestselftest.pro9
-rw-r--r--tests/auto/maketestselftest/test/test.pro18
-rw-r--r--tests/auto/maketestselftest/tst_maketestselftest.cpp79
-rw-r--r--tests/auto/qapplication/tst_qapplication.cpp19
-rw-r--r--tests/auto/qfontmetrics/tst_qfontmetrics.cpp13
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp1
-rw-r--r--tests/auto/qhash/tst_qhash.cpp20
-rw-r--r--tests/auto/qmap/tst_qmap.cpp20
-rw-r--r--tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp77
-rw-r--r--tests/auto/qprocess/testProcessEOF/testProcessEOF.pro2
-rw-r--r--tests/auto/qsqldriver/qsqldriver.pro2
-rw-r--r--tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro2
-rw-r--r--tests/auto/qsslcertificate/more-certificates/cert-large-serial-number.pem14
-rw-r--r--tests/auto/qsslcertificate/tst_qsslcertificate.cpp13
-rw-r--r--tests/auto/qstatictext/tst_qstatictext.cpp7
-rw-r--r--tests/auto/qstring/tst_qstring.cpp33
-rw-r--r--tests/auto/qtcpserver/crashingServer/crashingServer.pro2
-rw-r--r--tests/auto/qtextcursor/tst_qtextcursor.cpp8
-rw-r--r--tests/auto/qtextformat/tst_qtextformat.cpp5
-rw-r--r--tests/auto/qtextlayout/tst_qtextlayout.cpp9
-rw-r--r--tests/auto/qtextodfwriter/tst_qtextodfwriter.cpp9
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp264
-rw-r--r--tests/auto/xmlpatternsxqts/tst_suitetest.cpp4
-rw-r--r--tools/activeqt/testcon/testcon.pro2
-rw-r--r--tools/assistant/lib/fulltextsearch/fulltextsearch.pro2
-rw-r--r--tools/configure/configure.pro2
-rw-r--r--tools/configure/configureapp.cpp4
-rw-r--r--tools/configure/configureapp.h1
-rw-r--r--tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp10
-rw-r--r--tools/designer/src/components/signalsloteditor/signalsloteditorwindow.h2
-rw-r--r--tools/linguist/lconvert/main.cpp8
-rw-r--r--tools/linguist/lrelease/main.cpp23
-rw-r--r--tools/linguist/lupdate/cpp.cpp124
-rw-r--r--tools/linguist/lupdate/java.cpp40
-rw-r--r--tools/linguist/lupdate/main.cpp91
-rw-r--r--tools/linguist/lupdate/qscript.cpp22
-rw-r--r--tools/linguist/lupdate/qscript.g24
-rw-r--r--tools/linguist/phrasebooks/hungarian.qph752
-rw-r--r--tools/linguist/shared/po.cpp83
-rw-r--r--tools/linguist/shared/profileevaluator.cpp6
-rw-r--r--tools/linguist/shared/qm.cpp4
-rw-r--r--tools/linguist/shared/translator.cpp23
-rw-r--r--tools/linguist/shared/translator.h2
-rw-r--r--tools/qdoc3/htmlgenerator.cpp85
-rw-r--r--tools/qdoc3/node.cpp6
-rw-r--r--tools/qdoc3/test/assistant.qdocconf2
-rw-r--r--tools/qdoc3/test/designer.qdocconf2
-rw-r--r--tools/qdoc3/test/images/bg_l.pngbin0 -> 100 bytes
-rw-r--r--tools/qdoc3/test/images/bg_l_blank.pngbin0 -> 84 bytes
-rw-r--r--tools/qdoc3/test/images/bg_r.pngbin0 -> 96 bytes
-rw-r--r--tools/qdoc3/test/images/box_bg.pngbin0 -> 89 bytes
-rw-r--r--tools/qdoc3/test/images/breadcrumb.pngbin0 -> 134 bytes
-rw-r--r--tools/qdoc3/test/images/bullet_dn.pngbin0 -> 230 bytes
-rw-r--r--tools/qdoc3/test/images/bullet_gt.pngbin0 -> 124 bytes
-rw-r--r--tools/qdoc3/test/images/bullet_sq.pngbin0 -> 74 bytes
-rw-r--r--tools/qdoc3/test/images/bullet_up.pngbin0 -> 253 bytes
-rw-r--r--tools/qdoc3/test/images/feedbackground.pngbin0 -> 263 bytes
-rw-r--r--tools/qdoc3/test/images/horBar.pngbin0 -> 2807 bytes
-rw-r--r--tools/qdoc3/test/images/page.pngbin0 -> 3102 bytes
-rw-r--r--tools/qdoc3/test/images/page_bg.pngbin0 -> 84 bytes
-rw-r--r--tools/qdoc3/test/images/sprites-combined.pngbin0 -> 62534 bytes
-rw-r--r--tools/qdoc3/test/linguist.qdocconf4
-rw-r--r--tools/qdoc3/test/qdeclarative.qdocconf2
-rw-r--r--tools/qdoc3/test/qmake.qdocconf2
-rw-r--r--tools/qdoc3/test/qt-api-only_ja_JP.qdocconf30
-rw-r--r--tools/qdoc3/test/qt-build-docs.qdocconf3
-rw-r--r--tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf110
-rw-r--r--tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf52
-rw-r--r--tools/qdoc3/test/qt-defines.qdocconf53
-rw-r--r--tools/qdoc3/test/qt-html-templates.qdocconf55
-rw-r--r--tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf178
-rw-r--r--tools/qdoc3/test/qt.qdocconf18
-rw-r--r--tools/qdoc3/test/qt_ja_JP.qdocconf125
-rw-r--r--tools/qdoc3/test/qt_zh_CN.qdocconf45
-rw-r--r--tools/qml/deviceorientation.cpp2
-rw-r--r--tools/qml/deviceorientation.h9
-rw-r--r--tools/qml/deviceorientation_maemo.cpp12
-rw-r--r--tools/qml/qmlruntime.cpp82
-rw-r--r--tools/qml/qmlruntime.h9
-rw-r--r--translations/assistant_hu.ts693
-rwxr-xr-xtranslations/check-ts.pl85
-rw-r--r--translations/check-ts.xq3
-rw-r--r--translations/designer_hu.ts3020
-rw-r--r--translations/linguist_hu.ts1012
-rw-r--r--translations/qt_de.ts477
-rw-r--r--translations/qt_help_hu.ts237
-rw-r--r--translations/qt_hu.ts8426
-rw-r--r--translations/qt_ja.ts (renamed from translations/qt_ja_JP.ts)0
-rw-r--r--translations/qtconfig_hu.ts627
-rw-r--r--translations/qvfb_hu.ts175
-rw-r--r--translations/translations.pri7
-rw-r--r--util/s60theme/main.cpp4
-rw-r--r--util/s60theme/s60themeconvert.cpp25
482 files changed, 22567 insertions, 8230 deletions
diff --git a/.gitignore b/.gitignore
index 4e3b130..f187b23 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,7 @@ examples/*/*/*
!examples/*/*/README
examples/*/*/*[.]app
!examples/declarative/*
+!examples/ja_JP/*/*
demos/*/*
!demos/spectrum/*
demos/spectrum/bin
@@ -205,7 +206,7 @@ bld.inf
*.loc
!s60main.rss
*.pkg
-plugin_commonU.def
+plugin_commonu.def
*.qtplugin
*.sis
*.sisx
diff --git a/bin/syncqt b/bin/syncqt
index 71f2eab..f499bbc 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -146,12 +146,12 @@ sub shouldMasterInclude {
return 0 if(basename($iheader) =~ /qconfig/);
if(open(F, "<$iheader")) {
while(<F>) {
- chomp;
- return 0 if(/^\#pragma qt_no_master_include$/);
- }
- close(F);
+ chomp;
+ return 0 if(/^\#pragma qt_no_master_include$/);
+ }
+ close(F);
} else {
- return 0;
+ return 0;
}
return 1;
}
@@ -168,17 +168,17 @@ sub classNames {
my @ret;
my ($iheader) = @_;
if(basename($iheader) eq "qglobal.h") {
- push @ret, "QtGlobal";
+ push @ret, "QtGlobal";
} elsif(basename($iheader) eq "qendian.h") {
- push @ret, "QtEndian";
+ push @ret, "QtEndian";
} elsif(basename($iheader) eq "qconfig.h") {
push @ret, "QtConfig";
} elsif(basename($iheader) eq "qplugin.h") {
- push @ret, "QtPlugin";
+ push @ret, "QtPlugin";
} elsif(basename($iheader) eq "qalgorithms.h") {
- push @ret, "QtAlgorithms";
+ push @ret, "QtAlgorithms";
} elsif(basename($iheader) eq "qcontainerfwd.h") {
- push @ret, "QtContainerFwd";
+ push @ret, "QtContainerFwd";
} elsif(basename($iheader) eq "qdebug.h") {
push @ret, "QtDebug";
} elsif(basename($iheader) eq "qevent.h") {
@@ -186,7 +186,7 @@ sub classNames {
} elsif(basename($iheader) eq "qnamespace.h") {
push @ret, "Qt"
} elsif(basename($iheader) eq "qssl.h") {
- push @ret, "QSsl";
+ push @ret, "QSsl";
} elsif(basename($iheader) eq "qtest.h") {
push @ret, "QTest"
} elsif(basename($iheader) eq "qtconcurrentmap.h") {
@@ -204,7 +204,7 @@ sub classNames {
while(<F>) {
my $line = $_;
chomp $line;
- chop $line if ($line =~ /\r$/);
+ chop $line if ($line =~ /\r$/);
if($line =~ /^\#/) {
if($line =~ /\\$/) {
while($line = <F>) {
@@ -212,18 +212,18 @@ sub classNames {
last unless($line =~ /\\$/);
}
}
- return @ret if($line =~ m/^#pragma qt_sync_stop_processing/);
+ return @ret if($line =~ m/^#pragma qt_sync_stop_processing/);
push(@ret, "$1") if($line =~ m/^#pragma qt_class\(([^)]*)\)[\r\n]*$/);
- $line = 0;
+ $line = 0;
}
- if($line) {
+ if($line) {
$line =~ s,//.*$,,; #remove c++ comments
- $line .= ";" if($line =~ m/^Q_[A-Z_]*\(.*\)[\r\n]*$/); #qt macro
- $line .= ";" if($line =~ m/^QT_(BEGIN|END)_HEADER[\r\n]*$/); #qt macro
- $line .= ";" if($line =~ m/^QT_(BEGIN|END)_NAMESPACE[\r\n]*$/); #qt macro
- $line .= ";" if($line =~ m/^QT_MODULE\(.*\)[\r\n]*$/); # QT_MODULE macro
+ $line .= ";" if($line =~ m/^Q_[A-Z_]*\(.*\)[\r\n]*$/); #qt macro
+ $line .= ";" if($line =~ m/^QT_(BEGIN|END)_HEADER[\r\n]*$/); #qt macro
+ $line .= ";" if($line =~ m/^QT_(BEGIN|END)_NAMESPACE[\r\n]*$/); #qt macro
+ $line .= ";" if($line =~ m/^QT_MODULE\(.*\)[\r\n]*$/); # QT_MODULE macro
$parsable .= " " . $line;
- }
+ }
}
close(F);
}
@@ -259,7 +259,7 @@ sub classNames {
$i = $i2 if($end eq ";");
$last_definition = $i + 1;
last BLOCK;
- }
+ }
}
}
}
@@ -267,42 +267,42 @@ sub classNames {
} elsif($character eq ";") {
$definition = substr($parsable, $last_definition, $i - $last_definition + 1);
$last_definition = $i + 1;
- } elsif($character eq "}") {
- # a naked } must be a namespace ending
- # if it's not a namespace, it's eaten by the loop above
- pop @namespaces;
- $last_definition = $i + 1;
- }
+ } elsif($character eq "}") {
+ # a naked } must be a namespace ending
+ # if it's not a namespace, it's eaten by the loop above
+ pop @namespaces;
+ $last_definition = $i + 1;
+ }
- if (substr($parsable, $last_definition, $i - $last_definition + 1) =~ m/ namespace ([^ ]*) /
- && substr($parsable, $i+1, 1) eq "{") {
- push @namespaces, $1;
+ if (substr($parsable, $last_definition, $i - $last_definition + 1) =~ m/ namespace ([^ ]*) /
+ && substr($parsable, $i+1, 1) eq "{") {
+ push @namespaces, $1;
- # Eat the opening { so that the condensing loop above doesn't see it
- $i++;
- $last_definition = $i + 1;
- }
+ # Eat the opening { so that the condensing loop above doesn't see it
+ $i++;
+ $last_definition = $i + 1;
+ }
if($definition) {
- $definition =~ s=[\n\r]==g;
+ $definition =~ s=[\n\r]==g;
my @symbols;
if($definition =~ m/^ *typedef *.*\(\*([^\)]*)\)\(.*\);$/) {
- push @symbols, $1;
+ push @symbols, $1;
} elsif($definition =~ m/^ *typedef +(.*) +([^ ]*);$/) {
- push @symbols, $2;
+ push @symbols, $2;
} elsif($definition =~ m/^ *(template *<.*> *)?(class|struct) +([^ ]* +)?([^<\s]+) ?(<[^>]*> ?)?\s*((,|:)\s*(public|protected|private) *.*)? *\{\}$/) {
- push @symbols, $4;
+ push @symbols, $4;
} elsif($definition =~ m/^ *Q_DECLARE_.*ITERATOR\((.*)\);$/) {
- push @symbols, "Q" . $1 . "Iterator";
- push @symbols, "QMutable" . $1 . "Iterator";
- }
+ push @symbols, "Q" . $1 . "Iterator";
+ push @symbols, "QMutable" . $1 . "Iterator";
+ }
- foreach (@symbols) {
- my $symbol = $_;
- $symbol = (join("::", @namespaces) . "::" . $symbol) if (scalar @namespaces);
- push @ret, $symbol
- if ($symbol =~ /^Q[^:]*$/ # no-namespace, starting with Q
- || $symbol =~ /^Phonon::/); # or in the Phonon namespace
+ foreach (@symbols) {
+ my $symbol = $_;
+ $symbol = (join("::", @namespaces) . "::" . $symbol) if (scalar @namespaces);
+ push @ret, $symbol
+ if ($symbol =~ /^Q[^:]*$/ # no-namespace, starting with Q
+ || $symbol =~ /^Phonon::/); # or in the Phonon namespace
}
}
}
@@ -453,37 +453,37 @@ sub copyFile
$filecontents = <I>;
close I;
if ( open(I, "< " . $ifile) ) {
- local $/;
- binmode I;
- $ifilecontents = <I>;
- close I;
- $copy = fileCompare($file, $ifile);
- $knowdiff = 0,
+ local $/;
+ binmode I;
+ $ifilecontents = <I>;
+ close I;
+ $copy = fileCompare($file, $ifile);
+ $knowdiff = 0,
} else {
- $copy = -1;
- $knowdiff = 1;
+ $copy = -1;
+ $knowdiff = 1;
}
if ( $knowdiff || ($filecontents ne $ifilecontents) ) {
- if ( $copy > 0 ) {
- my $file_dir = dirname($file);
- mkpath $file_dir, !$quiet unless(-e "$file_dir");
- open(O, "> " . $file) || die "Could not open $file for writing (no write permission?)";
- local $/;
- binmode O;
- print O $ifilecontents;
- close O;
- return 1;
- } elsif ( $copy < 0 ) {
- my $ifile_dir = dirname($ifile);
- mkpath $ifile_dir, !$quiet unless(-e "$ifile_dir");
- open(O, "> " . $ifile) || die "Could not open $ifile for writing (no write permission?)";
- local $/;
- binmode O;
- print O $filecontents;
- close O;
- return 1;
- }
+ if ( $copy > 0 ) {
+ my $file_dir = dirname($file);
+ mkpath $file_dir, !$quiet unless(-e "$file_dir");
+ open(O, "> " . $file) || die "Could not open $file for writing (no write permission?)";
+ local $/;
+ binmode O;
+ print O $ifilecontents;
+ close O;
+ return 1;
+ } elsif ( $copy < 0 ) {
+ my $ifile_dir = dirname($ifile);
+ mkpath $ifile_dir, !$quiet unless(-e "$ifile_dir");
+ open(O, "> " . $ifile) || die "Could not open $ifile for writing (no write permission?)";
+ local $/;
+ binmode O;
+ print O $filecontents;
+ close O;
+ return 1;
+ }
}
return 0;
}
@@ -568,37 +568,37 @@ while ( @ARGV ) {
#parse
my $arg = shift @ARGV;
if ("$arg" eq "-h" || "$arg" eq "-help" || "$arg" eq "?") {
- $var = "show_help";
- $val = "yes";
+ $var = "show_help";
+ $val = "yes";
} elsif("$arg" eq "-copy") {
- $var = "copy";
- $val = "yes";
+ $var = "copy";
+ $val = "yes";
} elsif("$arg" eq "-o" || "$arg" eq "-outdir") {
- $var = "output";
- $val = shift @ARGV;
+ $var = "output";
+ $val = shift @ARGV;
} elsif("$arg" eq "-showonly" || "$arg" eq "-remove-stale" || "$arg" eq "-windows" ||
- "$arg" eq "-relative" || "$arg" eq "-check-includes") {
- $var = substr($arg, 1);
- $val = "yes";
+ "$arg" eq "-relative" || "$arg" eq "-check-includes") {
+ $var = substr($arg, 1);
+ $val = "yes";
} elsif("$arg" =~ /^-no-(.*)$/) {
- $var = $1;
- $val = "no";
- #these are for commandline compat
+ $var = $1;
+ $val = "no";
+ #these are for commandline compat
} elsif("$arg" eq "-inc") {
- $var = "output";
- $val = shift @ARGV;
+ $var = "output";
+ $val = shift @ARGV;
} elsif("$arg" eq "-module") {
- $var = "module";
- $val = shift @ARGV;
+ $var = "module";
+ $val = shift @ARGV;
} elsif("$arg" eq "-separate-module") {
- $var = "separate-module";
- $val = shift @ARGV;
+ $var = "separate-module";
+ $val = shift @ARGV;
} elsif("$arg" eq "-show") {
- $var = "showonly";
- $val = "yes";
+ $var = "showonly";
+ $val = "yes";
} elsif("$arg" eq "-quiet") {
- $var = "quiet";
- $val = "yes";
+ $var = "quiet";
+ $val = "yes";
} elsif("$arg" eq "-base-dir") {
# skip, it's been dealt with at the top of the file
shift @ARGV;
@@ -607,54 +607,54 @@ while ( @ARGV ) {
#do something
if(!$var || "$var" eq "show_help") {
- print "Unknown option: $arg\n\n" if(!$var);
- showUsage();
+ print "Unknown option: $arg\n\n" if(!$var);
+ showUsage();
} elsif ("$var" eq "copy") {
- if("$val" eq "yes") {
- $copy_headers++;
- } elsif($showonly) {
- $copy_headers--;
- }
+ if("$val" eq "yes") {
+ $copy_headers++;
+ } elsif($showonly) {
+ $copy_headers--;
+ }
} elsif ("$var" eq "showonly") {
- if("$val" eq "yes") {
- $showonly++;
- } elsif($showonly) {
- $showonly--;
- }
+ if("$val" eq "yes") {
+ $showonly++;
+ } elsif($showonly) {
+ $showonly--;
+ }
} elsif ("$var" eq "quiet") {
- if("$val" eq "yes") {
- $quiet++;
- } elsif($quiet) {
- $quiet--;
- }
+ if("$val" eq "yes") {
+ $quiet++;
+ } elsif($quiet) {
+ $quiet--;
+ }
} elsif ("$var" eq "check-includes") {
- if("$val" eq "yes") {
- $check_includes++;
- } elsif($check_includes) {
- $check_includes--;
- }
+ if("$val" eq "yes") {
+ $check_includes++;
+ } elsif($check_includes) {
+ $check_includes--;
+ }
} elsif ("$var" eq "remove-stale") {
- if("$val" eq "yes") {
- $remove_stale++;
- } elsif($remove_stale) {
- $remove_stale--;
- }
+ if("$val" eq "yes") {
+ $remove_stale++;
+ } elsif($remove_stale) {
+ $remove_stale--;
+ }
} elsif ("$var" eq "windows") {
- if("$val" eq "yes") {
- $force_win++;
- } elsif($force_win) {
- $force_win--;
- }
+ if("$val" eq "yes") {
+ $force_win++;
+ } elsif($force_win) {
+ $force_win--;
+ }
} elsif ("$var" eq "relative") {
- if("$val" eq "yes") {
- $force_relative++;
- } elsif($force_relative) {
- $force_relative--;
- }
+ if("$val" eq "yes") {
+ $force_relative++;
+ } elsif($force_relative) {
+ $force_relative--;
+ }
} elsif ("$var" eq "module") {
- print "module :$val:\n" unless $quiet;
- die "No such module: $val" unless(defined $modules{$val});
- push @modules_to_sync, $val;
+ print "module :$val:\n" unless $quiet;
+ die "No such module: $val" unless(defined $modules{$val});
+ push @modules_to_sync, $val;
} elsif ("$var" eq "separate-module") {
my ($module, $prodir, $headerdir) = split(/:/, $val);
$modules{$module} = $prodir;
@@ -663,16 +663,16 @@ while ( @ARGV ) {
$create_uic_class_map = 0;
$create_private_headers = 0;
} elsif ("$var" eq "output") {
- my $outdir = $val;
- if(checkRelative($outdir)) {
- $out_basedir = getcwd();
- chomp $out_basedir;
- $out_basedir .= "/" . $outdir;
- } else {
- $out_basedir = $outdir;
- }
- # \ -> /
- $out_basedir =~ s=\\=/=g;
+ my $outdir = $val;
+ if(checkRelative($outdir)) {
+ $out_basedir = getcwd();
+ chomp $out_basedir;
+ $out_basedir .= "/" . $outdir;
+ } else {
+ $out_basedir = $outdir;
+ }
+ # \ -> /
+ $out_basedir =~ s=\\=/=g;
}
}
@modules_to_sync = keys(%modules) if($#modules_to_sync == -1);
@@ -681,6 +681,7 @@ $isunix = checkUnix; #cache checkUnix
# create path
mkpath "$out_basedir/include", !$quiet;
+mkpath "$out_basedir/include/Qt", !$quiet;
my @ignore_headers = ();
my $class_lib_map_contents = "";
@@ -689,6 +690,7 @@ my @ignore_for_include_check = ( "qatomic.h" );
my @ignore_for_qt_begin_header_check = ( "qiconset.h", "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qt_windows.h" );
my @ignore_for_qt_begin_namespace_check = ( "qconfig.h", "qconfig-dist.h", "qconfig-large.h", "qconfig-medium.h", "qconfig-minimal.h", "qconfig-small.h", "qfeatures.h", "qatomic_arch.h", "qatomic_windowsce.h", "qt_windows.h", "qatomic_macosx.h" );
my @ignore_for_qt_module_check = ( "$modules{QtCore}/arch", "$modules{QtCore}/global", "$modules{QtSql}/drivers", "$modules{QtTest}", "$modules{QtDesigner}", "$modules{QtUiTools}", "$modules{QtDBus}", "$modules{phonon}" );
+my %colliding_headers = ();
foreach (@modules_to_sync) {
#iteration info
@@ -708,77 +710,77 @@ foreach (@modules_to_sync) {
#get dependencies
if(-e "$dir/" . basename($dir) . ".pro") {
- if(open(F, "<$dir/" . basename($dir) . ".pro")) {
- while(<F>) {
- my $line = $_;
- chomp $line;
- if($line =~ /^ *QT *\+?= *([^\r\n]*)/) {
- foreach(split(/ /, "$1")) {
- $master_contents .= "#include <QtCore/QtCore>\n" if("$_" eq "core");
- $master_contents .= "#include <QtGui/QtGui>\n" if("$_" eq "gui");
- $master_contents .= "#include <QtNetwork/QtNetwork>\n" if("$_" eq "network");
- $master_contents .= "#include <QtSvg/QtSvg>\n" if("$_" eq "svg");
- $master_contents .= "#include <QtDeclarative/QtDeclarative>\n" if("$_" eq "declarative");
- $master_contents .= "#include <QtScript/QtScript>\n" if("$_" eq "script");
- $master_contents .= "#include <QtScriptTools/QtScriptTools>\n" if("$_" eq "scripttools");
- $master_contents .= "#include <Qt3Support/Qt3Support>\n" if("$_" eq "qt3support");
- $master_contents .= "#include <QtSql/QtSql>\n" if("$_" eq "sql");
- $master_contents .= "#include <QtXml/QtXml>\n" if("$_" eq "xml");
- $master_contents .= "#include <QtXmlPatterns/QtXmlPatterns>\n" if("$_" eq "xmlpatterns");
- $master_contents .= "#include <QtOpenGL/QtOpenGL>\n" if("$_" eq "opengl");
- $master_contents .= "#include <QtOpenVG/QtOpenVG>\n" if("$_" eq "openvg");
- }
- }
- }
- close(F);
- }
+ if(open(F, "<$dir/" . basename($dir) . ".pro")) {
+ while(<F>) {
+ my $line = $_;
+ chomp $line;
+ if($line =~ /^ *QT *\+?= *([^\r\n]*)/) {
+ foreach(split(/ /, "$1")) {
+ $master_contents .= "#include <QtCore/QtCore>\n" if("$_" eq "core");
+ $master_contents .= "#include <QtGui/QtGui>\n" if("$_" eq "gui");
+ $master_contents .= "#include <QtNetwork/QtNetwork>\n" if("$_" eq "network");
+ $master_contents .= "#include <QtSvg/QtSvg>\n" if("$_" eq "svg");
+ $master_contents .= "#include <QtDeclarative/QtDeclarative>\n" if("$_" eq "declarative");
+ $master_contents .= "#include <QtScript/QtScript>\n" if("$_" eq "script");
+ $master_contents .= "#include <QtScriptTools/QtScriptTools>\n" if("$_" eq "scripttools");
+ $master_contents .= "#include <Qt3Support/Qt3Support>\n" if("$_" eq "qt3support");
+ $master_contents .= "#include <QtSql/QtSql>\n" if("$_" eq "sql");
+ $master_contents .= "#include <QtXml/QtXml>\n" if("$_" eq "xml");
+ $master_contents .= "#include <QtXmlPatterns/QtXmlPatterns>\n" if("$_" eq "xmlpatterns");
+ $master_contents .= "#include <QtOpenGL/QtOpenGL>\n" if("$_" eq "opengl");
+ $master_contents .= "#include <QtOpenVG/QtOpenVG>\n" if("$_" eq "openvg");
+ }
+ }
+ }
+ close(F);
+ }
}
#remove the old files
if($remove_stale) {
- my @subdirs = ("$out_basedir/include/$lib");
- foreach (@subdirs) {
- my $subdir = "$_";
- if (opendir DIR, "$subdir") {
- while(my $t = readdir(DIR)) {
- my $file = "$subdir/$t";
- if(-d "$file") {
- push @subdirs, "$file" unless($t eq "." || $t eq "..");
- } else {
- my @files = ("$file");
- #push @files, "$out_basedir/include/Qt/$t" if(-e "$out_basedir/include/Qt/$t");
- foreach (@files) {
- my $file = $_;
- my $remove_file = 0;
- if(open(F, "<$file")) {
- while(<F>) {
- my $line = $_;
- chomp $line;
- if($line =~ /^\#include \"([^\"]*)\"$/) {
- my $include = $1;
- $include = $subdir . "/" . $include unless(substr($include, 0, 1) eq "/");
- $remove_file = 1 unless(-e "$include");
- } else {
- $remove_file = 0;
- last;
- }
- }
- close(F);
- unlink "$file" if($remove_file);
- }
- }
- }
- }
- closedir DIR;
+ my @subdirs = ("$out_basedir/include/$lib");
+ foreach (@subdirs) {
+ my $subdir = "$_";
+ if (opendir DIR, "$subdir") {
+ while(my $t = readdir(DIR)) {
+ my $file = "$subdir/$t";
+ if(-d "$file") {
+ push @subdirs, "$file" unless($t eq "." || $t eq "..");
+ } else {
+ my @files = ("$file");
+ #push @files, "$out_basedir/include/Qt/$t" if(-e "$out_basedir/include/Qt/$t");
+ foreach (@files) {
+ my $file = $_;
+ my $remove_file = 0;
+ if(open(F, "<$file")) {
+ while(<F>) {
+ my $line = $_;
+ chomp $line;
+ if($line =~ /^\#include \"([^\"]*)\"$/) {
+ my $include = $1;
+ $include = $subdir . "/" . $include unless(substr($include, 0, 1) eq "/");
+ $remove_file = 1 unless(-e "$include");
+ } else {
+ $remove_file = 0;
+ last;
+ }
+ }
+ close(F);
+ unlink "$file" if($remove_file);
+ }
+ }
+ }
+ }
+ closedir DIR;
}
- }
+ }
}
#create the new ones
foreach (split(/;/, $dir)) {
- my $current_dir = "$_";
- my $headers_dir = $current_dir;
+ my $current_dir = "$_";
+ my $headers_dir = $current_dir;
$headers_dir .= "/$pathtoheaders" if ($pathtoheaders);
#calc subdirs
my @subdirs = ($headers_dir);
@@ -787,7 +789,7 @@ foreach (@modules_to_sync) {
opendir DIR, "$subdir" or next;
while(my $t = readdir(DIR)) {
push @subdirs, "$subdir/$t" if(-d "$subdir/$t" && !($t eq ".") &&
- !($t eq "..") && !($t eq ".obj") &&
+ !($t eq "..") && !($t eq ".obj") &&
!($t eq ".moc") && !($t eq ".rcc") &&
!($t eq ".uic") && !($t eq "build"));
}
@@ -805,85 +807,105 @@ foreach (@modules_to_sync) {
$header = 0 if("$header" eq "$_");
}
if($header) {
- my $header_copies = 0;
- #figure out if it is a public header
- my $public_header = $header;
- if($public_header =~ /_p.h$/ || $public_header =~ /_pch.h$/) {
- $public_header = 0;
- } else {
- foreach (@ignore_for_master_contents) {
- $public_header = 0 if("$header" eq "$_");
- }
- }
+ my $header_copies = 0;
+ #figure out if it is a public header
+ my $public_header = $header;
+ if($public_header =~ /_p.h$/ || $public_header =~ /_pch.h$/) {
+ $public_header = 0;
+ } else {
+ foreach (@ignore_for_master_contents) {
+ $public_header = 0 if("$header" eq "$_");
+ }
+ }
my $iheader = $subdir . "/" . $header;
- my @classes = $public_header ? classNames($iheader) : ();
+ my @classes = $public_header ? classNames($iheader) : ();
if($showonly) {
print "$header [$lib]\n";
- foreach(@classes) {
- print "SYMBOL: $_\n";
- }
+ foreach(@classes) {
+ print "SYMBOL: $_\n";
+ }
} else {
- #find out all the places it goes..
- my @headers;
- if ($public_header) {
- @headers = ( "$out_basedir/include/$lib/$header" );
- push @headers, "$out_basedir/include/Qt/$header"
- if ("$lib" ne "phonon" && "$subdir" =~ /^$basedir\/src/);
+ #find out all the places it goes..
+ my @headers;
+ if ($public_header) {
+ @headers = ( "$out_basedir/include/$lib/$header" );
+
+ # write forwarding headers to include/Qt
+ if ("$lib" ne "phonon" && "$subdir" =~ /^$basedir\/src/) {
+ my $file_name = "$out_basedir/include/Qt/$header";
+ my $header_content = '';
+ if (exists $colliding_headers{$file_name}) {
+ $file_name = ">>$file_name";
+ } else {
+ $colliding_headers{$file_name} = 1;
+ $file_name = ">$file_name";
+ my $warning_msg = 'Inclusion of header files from include/Qt is deprecated.';
+ $header_content = "#ifndef QT_NO_QT_INCLUDE_WARN\n" .
+ " #if defined(__GNUC__)\n" .
+ " #pragma warning \"$warning_msg\"\n" .
+ " #elif defined(_MSC_VER)\n" .
+ " #pragma message \"WARNING: $warning_msg\"\n" .
+ " #endif\n".
+ "#endif\n\n";
+ }
+ $header_content .= '#include "' . "../$lib/$header" . "\"\n";
+ open HEADERFILE, $file_name;
+ print HEADERFILE $header_content;
+ close HEADERFILE;
+ }
- foreach(@classes) {
- my $header_base = basename($header);
- my $class = $_;
- # Strip namespaces:
- $class =~ s/^.*:://;
-# if ($class =~ m/::/) {
-# class =~ s,::,/,g;
-# }
- $class_lib_map_contents .= "QT_CLASS_LIB($_, $lib, $header_base)\n";
- $header_copies++ if(syncHeader("$out_basedir/include/$lib/$class", "$out_basedir/include/$lib/$header", 0));
+ foreach(@classes) {
+ my $header_base = basename($header);
+ my $class = $_;
+ # Strip namespaces:
+ $class =~ s/^.*:://;
+# if ($class =~ m/::/) {
+# class =~ s,::,/,g;
+# }
+ $class_lib_map_contents .= "QT_CLASS_LIB($_, $lib, $header_base)\n";
+ $header_copies++ if(syncHeader("$out_basedir/include/$lib/$class", "$out_basedir/include/$lib/$header", 0));
- # KDE-Compat headers for Phonon
- if ($lib eq "phonon") {
- $header_copies++ if (syncHeader("$out_basedir/include/phonon_compat/Phonon/$class", "$out_basedir/include/$lib/$header", 0));
- }
- }
- } elsif ($create_private_headers) {
- @headers = ( "$out_basedir/include/$lib/private/$header" );
- push @headers, "$out_basedir/include/Qt/private/$header"
- if ("$lib" ne "phonon");
- }
- foreach(@headers) { #sync them
- $header_copies++ if(syncHeader($_, $iheader, $copy_headers));
- }
+ # KDE-Compat headers for Phonon
+ if ($lib eq "phonon") {
+ $header_copies++ if (syncHeader("$out_basedir/include/phonon_compat/Phonon/$class", "$out_basedir/include/$lib/$header", 0));
+ }
+ }
+ } elsif ($create_private_headers) {
+ @headers = ( "$out_basedir/include/$lib/private/$header" );
+ }
+ foreach(@headers) { #sync them
+ $header_copies++ if(syncHeader($_, $iheader, $copy_headers));
+ }
- if($public_header) {
- #put it into the master file
- $master_contents .= "#include \"$public_header\"\n" if(shouldMasterInclude($iheader));
+ if($public_header) {
+ #put it into the master file
+ $master_contents .= "#include \"$public_header\"\n" if(shouldMasterInclude($iheader));
- #deal with the install directives
- if($public_header) {
- my $pri_install_iheader = fixPaths($iheader, $current_dir);
- foreach(@classes) {
- my $class = $_;
- # Strip namespaces:
- $class =~ s/^.*:://;
-# if ($class =~ m/::/) {
-# $class =~ s,::,/,g;
-# }
- my $class_header = fixPaths("$out_basedir/include/$lib/$class",
- $current_dir) . " ";
- $pri_install_classes .= $class_header
- unless($pri_install_classes =~ $class_header);
- }
- $pri_install_files.= "$pri_install_iheader ";;
- }
- }
- else {
- my $pri_install_iheader = fixPaths($iheader, $current_dir);
- $pri_install_pfiles.= "$pri_install_iheader ";;
- }
+ #deal with the install directives
+ if($public_header) {
+ my $pri_install_iheader = fixPaths($iheader, $current_dir);
+ foreach(@classes) {
+ my $class = $_;
+ # Strip namespaces:
+ $class =~ s/^.*:://;
+# if ($class =~ m/::/) {
+# $class =~ s,::,/,g;
+# }
+ my $class_header = fixPaths("$out_basedir/include/$lib/$class",
+ $current_dir) . " ";
+ $pri_install_classes .= $class_header
+ unless($pri_install_classes =~ $class_header);
+ }
+ $pri_install_files.= "$pri_install_iheader ";;
+ }
+ }
+ else {
+ my $pri_install_iheader = fixPaths($iheader, $current_dir);
+ $pri_install_pfiles.= "$pri_install_iheader ";;
+ }
}
- print "header created for $iheader ($header_copies)\n" if($header_copies > 0 && !$quiet);
+ print "header created for $iheader ($header_copies)\n" if($header_copies > 0 && !$quiet);
}
}
}
@@ -894,8 +916,8 @@ foreach (@modules_to_sync) {
unless($showonly) {
my @master_includes;
- push @master_includes, "$out_basedir/include/$lib/$lib";
- push @master_includes, "$out_basedir/include/phonon_compat/Phonon/Phonon" if ($lib eq "phonon");
+ push @master_includes, "$out_basedir/include/$lib/$lib";
+ push @master_includes, "$out_basedir/include/phonon_compat/Phonon/Phonon" if ($lib eq "phonon");
foreach my $master_include (@master_includes) {
#generate the "master" include file
my @tmp = split(/;/,$modules{$lib});
@@ -920,10 +942,10 @@ foreach (@modules_to_sync) {
}
#handle the headers.pri for each module
- my $headers_pri_contents = "";
- $headers_pri_contents .= "SYNCQT.HEADER_FILES = $pri_install_files\n";
- $headers_pri_contents .= "SYNCQT.HEADER_CLASSES = $pri_install_classes\n";
- $headers_pri_contents .= "SYNCQT.PRIVATE_HEADER_FILES = $pri_install_pfiles\n";
+ my $headers_pri_contents = "";
+ $headers_pri_contents .= "SYNCQT.HEADER_FILES = $pri_install_files\n";
+ $headers_pri_contents .= "SYNCQT.HEADER_CLASSES = $pri_install_classes\n";
+ $headers_pri_contents .= "SYNCQT.PRIVATE_HEADER_FILES = $pri_install_pfiles\n";
my $headers_pri_file = "$out_basedir/include/$lib/headers.pri";
if(-e "$headers_pri_file") {
open HEADERS_PRI_FILE, "<$headers_pri_file";
@@ -947,125 +969,125 @@ foreach (@modules_to_sync) {
unless($showonly || !$create_uic_class_map) {
my $class_lib_map = "$out_basedir/src/tools/uic/qclass_lib_map.h";
if(-e "$class_lib_map") {
- open CLASS_LIB_MAP, "<$class_lib_map";
- local $/;
- binmode CLASS_LIB_MAP;
- my $old_class_lib_map_contents = <CLASS_LIB_MAP>;
- close CLASS_LIB_MAP;
- $old_class_lib_map_contents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms
- $class_lib_map = 0 if($old_class_lib_map_contents eq $class_lib_map_contents);
+ open CLASS_LIB_MAP, "<$class_lib_map";
+ local $/;
+ binmode CLASS_LIB_MAP;
+ my $old_class_lib_map_contents = <CLASS_LIB_MAP>;
+ close CLASS_LIB_MAP;
+ $old_class_lib_map_contents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms
+ $class_lib_map = 0 if($old_class_lib_map_contents eq $class_lib_map_contents);
}
if($class_lib_map) {
- my $class_lib_map_dir = dirname($class_lib_map);
- mkpath $class_lib_map_dir, !$quiet;
- open CLASS_LIB_MAP, ">$class_lib_map";
- print CLASS_LIB_MAP "$class_lib_map_contents";
- close CLASS_LIB_MAP;
+ my $class_lib_map_dir = dirname($class_lib_map);
+ mkpath $class_lib_map_dir, !$quiet;
+ open CLASS_LIB_MAP, ">$class_lib_map";
+ print CLASS_LIB_MAP "$class_lib_map_contents";
+ close CLASS_LIB_MAP;
}
}
if($check_includes) {
for (keys(%modules)) {
- #iteration info
- my $lib = $_;
- my $dir = "$modules{$lib}";
- foreach (split(/;/, $dir)) {
- my $current_dir = "$_";
- #calc subdirs
- my @subdirs = ($current_dir);
- foreach (@subdirs) {
- my $subdir = "$_";
- opendir DIR, "$subdir";
- while(my $t = readdir(DIR)) {
+ #iteration info
+ my $lib = $_;
+ my $dir = "$modules{$lib}";
+ foreach (split(/;/, $dir)) {
+ my $current_dir = "$_";
+ #calc subdirs
+ my @subdirs = ($current_dir);
+ foreach (@subdirs) {
+ my $subdir = "$_";
+ opendir DIR, "$subdir";
+ while(my $t = readdir(DIR)) {
push @subdirs, "$subdir/$t" if(-d "$subdir/$t" && !($t eq ".") &&
!($t eq "..") && !($t eq ".obj") &&
!($t eq ".moc") && !($t eq ".rcc") &&
!($t eq ".uic") && !($t eq "build"));
- }
- closedir DIR;
- }
+ }
+ closedir DIR;
+ }
- foreach (@subdirs) {
- my $subdir = "$_";
+ foreach (@subdirs) {
+ my $subdir = "$_";
my $header_skip_qt_module_test = 0;
foreach(@ignore_for_qt_module_check) {
foreach (split(/;/, $_)) {
$header_skip_qt_module_test = 1 if ("$subdir" =~ /^$_/);
}
}
- my @headers = findFiles("$subdir", "^[-a-z0-9_]*\\.h\$" , 0);
- foreach (@headers) {
- my $header = "$_";
+ my @headers = findFiles("$subdir", "^[-a-z0-9_]*\\.h\$" , 0);
+ foreach (@headers) {
+ my $header = "$_";
my $header_skip_qt_begin_header_test = 0;
my $header_skip_qt_begin_namespace_test = 0;
- $header = 0 if("$header" =~ /^ui_.*.h/);
- foreach (@ignore_headers) {
- $header = 0 if("$header" eq "$_");
- }
- if($header) {
- my $public_header = $header;
- if($public_header =~ /_p.h$/ || $public_header =~ /_pch.h$/) {
- $public_header = 0;
- } else {
- foreach (@ignore_for_master_contents) {
- $public_header = 0 if("$header" eq "$_");
- }
- if($public_header) {
- foreach (@ignore_for_include_check) {
- $public_header = 0 if("$header" eq "$_");
- }
+ $header = 0 if("$header" =~ /^ui_.*.h/);
+ foreach (@ignore_headers) {
+ $header = 0 if("$header" eq "$_");
+ }
+ if($header) {
+ my $public_header = $header;
+ if($public_header =~ /_p.h$/ || $public_header =~ /_pch.h$/) {
+ $public_header = 0;
+ } else {
+ foreach (@ignore_for_master_contents) {
+ $public_header = 0 if("$header" eq "$_");
+ }
+ if($public_header) {
+ foreach (@ignore_for_include_check) {
+ $public_header = 0 if("$header" eq "$_");
+ }
foreach(@ignore_for_qt_begin_header_check) {
$header_skip_qt_begin_header_test = 1 if ("$header" eq "$_");
}
foreach(@ignore_for_qt_begin_namespace_check) {
$header_skip_qt_begin_namespace_test = 1 if ("$header" eq "$_");
}
- }
- }
+ }
+ }
- my $iheader = $subdir . "/" . $header;
- if($public_header) {
- if(open(F, "<$iheader")) {
+ my $iheader = $subdir . "/" . $header;
+ if($public_header) {
+ if(open(F, "<$iheader")) {
my $qt_module_found = 0;
- my $qt_begin_header_found = 0;
- my $qt_end_header_found = 0;
- my $qt_begin_namespace_found = 0;
- my $qt_end_namespace_found = 0;
- my $line;
- while($line = <F>) {
- chomp $line;
- my $output_line = 1;
+ my $qt_begin_header_found = 0;
+ my $qt_end_header_found = 0;
+ my $qt_begin_namespace_found = 0;
+ my $qt_end_namespace_found = 0;
+ my $line;
+ while($line = <F>) {
+ chomp $line;
+ my $output_line = 1;
if($line =~ /^ *\# *pragma (qt_no_included_check|qt_sync_stop_processing)/) {
- last;
- } elsif($line =~ /^ *\# *include/) {
- my $include = $line;
- if($line =~ /<.*>/) {
- $include =~ s,.*<(.*)>.*,$1,;
- } elsif($line =~ /".*"/) {
- $include =~ s,.*"(.*)".*,$1,;
- } else {
- $include = 0;
- }
- if($include) {
- for (keys(%modules)) {
- my $trylib = $_;
- if(-e "$out_basedir/include/$trylib/$include") {
- print "WARNING: $iheader includes $include when it should include $trylib/$include\n";
- }
- }
- }
- } elsif ($header_skip_qt_begin_header_test == 0 and $line =~ /^QT_BEGIN_HEADER\s*$/) {
- $qt_begin_header_found = 1;
- } elsif ($header_skip_qt_begin_header_test == 0 and $line =~ /^QT_END_HEADER\s*$/) {
- $qt_end_header_found = 1;
- } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_BEGIN_NAMESPACE\s*$/) {
- $qt_begin_namespace_found = 1;
- } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_END_NAMESPACE\s*$/) {
- $qt_end_namespace_found = 1;
+ last;
+ } elsif($line =~ /^ *\# *include/) {
+ my $include = $line;
+ if($line =~ /<.*>/) {
+ $include =~ s,.*<(.*)>.*,$1,;
+ } elsif($line =~ /".*"/) {
+ $include =~ s,.*"(.*)".*,$1,;
+ } else {
+ $include = 0;
+ }
+ if($include) {
+ for (keys(%modules)) {
+ my $trylib = $_;
+ if(-e "$out_basedir/include/$trylib/$include") {
+ print "WARNING: $iheader includes $include when it should include $trylib/$include\n";
+ }
+ }
+ }
+ } elsif ($header_skip_qt_begin_header_test == 0 and $line =~ /^QT_BEGIN_HEADER\s*$/) {
+ $qt_begin_header_found = 1;
+ } elsif ($header_skip_qt_begin_header_test == 0 and $line =~ /^QT_END_HEADER\s*$/) {
+ $qt_end_header_found = 1;
+ } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_BEGIN_NAMESPACE\s*$/) {
+ $qt_begin_namespace_found = 1;
+ } elsif ($header_skip_qt_begin_namespace_test == 0 and $line =~ /^QT_END_NAMESPACE\s*$/) {
+ $qt_end_namespace_found = 1;
} elsif ($header_skip_qt_module_test == 0 and $line =~ /^QT_MODULE\(.*\)\s*$/) {
$qt_module_found = 1;
}
- }
+ }
if ($header_skip_qt_begin_header_test == 0) {
if ($qt_begin_header_found == 0) {
print "WARNING: $iheader does not include QT_BEGIN_HEADER\n";
@@ -1091,13 +1113,13 @@ if($check_includes) {
print "WARNING: $iheader does not include QT_MODULE\n";
}
}
- close(F);
- }
- }
- }
- }
- }
- }
+ close(F);
+ }
+ }
+ }
+ }
+ }
+ }
}
}
diff --git a/config.tests/unix/compile.test b/config.tests/unix/compile.test
index 67a4636..99ebfd2 100755
--- a/config.tests/unix/compile.test
+++ b/config.tests/unix/compile.test
@@ -65,8 +65,10 @@ test -d "$OUTDIR/$TEST" || mkdir -p "$OUTDIR/$TEST"
cd "$OUTDIR/$TEST"
test -r Makefile && $MAKE distclean >/dev/null 2>&1
+# Make sure output from possible previous tests is gone
+rm -f "$EXE" "${EXE}.exe"
-"$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"
+"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "CONFIG-=debug_and_release" "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
@@ -74,7 +76,7 @@ else
$MAKE >/dev/null 2>&1
fi
-[ -x "$EXE" ] && SUCCESS=yes
+( [ -x "$EXE" ] || [ -x "${EXE}.exe" ] ) && SUCCESS=yes
# done
if [ "$SUCCESS" != "yes" ]; then
diff --git a/config.tests/unix/getaddrinfo/getaddrinfotest.cpp b/config.tests/unix/getaddrinfo/getaddrinfotest.cpp
index 0c482cc..df6ae10 100644
--- a/config.tests/unix/getaddrinfo/getaddrinfotest.cpp
+++ b/config.tests/unix/getaddrinfo/getaddrinfotest.cpp
@@ -42,9 +42,16 @@
/* Sample program for configure to test for getaddrinfo on the unix
platform. we check for all structures and functions required. */
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef __MINGW32__
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#else
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
+#endif
int main()
{
diff --git a/config.tests/unix/iconv/iconv.pro b/config.tests/unix/iconv/iconv.pro
index 8cdc776..d642da2 100644
--- a/config.tests/unix/iconv/iconv.pro
+++ b/config.tests/unix/iconv/iconv.pro
@@ -1,3 +1,3 @@
SOURCES = iconv.cpp
CONFIG -= qt dylib app_bundle
-mac:LIBS += -liconv
+mac|win32-g++*:LIBS += -liconv
diff --git a/config.tests/unix/ipv6/ipv6test.cpp b/config.tests/unix/ipv6/ipv6test.cpp
index 4fb27f2..4243f2d 100644
--- a/config.tests/unix/ipv6/ipv6test.cpp
+++ b/config.tests/unix/ipv6/ipv6test.cpp
@@ -46,9 +46,14 @@ platforms. We check for the required IPv6 data structures. */
#define _HPUX_SOURCE
#endif
+#ifdef __MINGW32__
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#else
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
+#endif
int main()
{
diff --git a/config.tests/unix/odbc/odbc.cpp b/config.tests/unix/odbc/odbc.cpp
index 32602c0..98f3571 100644
--- a/config.tests/unix/odbc/odbc.cpp
+++ b/config.tests/unix/odbc/odbc.cpp
@@ -39,6 +39,9 @@
**
****************************************************************************/
+#ifdef __MINGW32__
+#include <windows.h>
+#endif
#include <sql.h>
#include <sqlext.h>
diff --git a/config.tests/unix/odbc/odbc.pro b/config.tests/unix/odbc/odbc.pro
index c588ede..06a548f 100644
--- a/config.tests/unix/odbc/odbc.pro
+++ b/config.tests/unix/odbc/odbc.pro
@@ -1,4 +1,5 @@
SOURCES = odbc.cpp
CONFIG -= qt dylib
mac:CONFIG -= app_bundle
-LIBS += -lodbc
+win32-g++*:LIBS += -lodbc32
+else:LIBS += -lodbc
diff --git a/config.tests/unix/psql/psql.pro b/config.tests/unix/psql/psql.pro
index 64bb3d6..38bfb3e 100644
--- a/config.tests/unix/psql/psql.pro
+++ b/config.tests/unix/psql/psql.pro
@@ -1,4 +1,4 @@
SOURCES = psql.cpp
CONFIG -= qt dylib
mac:CONFIG -= app_bundle
-LIBS += -lpq
+LIBS *= -lpq
diff --git a/config.tests/x11/opengl/opengl.pro b/config.tests/x11/opengl/opengl.pro
index 432bd8d..5fd41d3 100644
--- a/config.tests/x11/opengl/opengl.pro
+++ b/config.tests/x11/opengl/opengl.pro
@@ -7,4 +7,5 @@ for(p, QMAKE_LIBDIR_OPENGL) {
}
CONFIG -= qt
-LIBS += -lGL -lGLU
+win32-g++*:LIBS += -lopengl32
+else:LIBS += -lGL -lGLU
diff --git a/configure b/configure
index 0111f51..f61ac6c 100755
--- a/configure
+++ b/configure
@@ -779,6 +779,7 @@ RPATH_FLAGS=
l_FLAGS=
QCONFIG_FLAGS=
XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++" or "symbian/linux-gcce"
+XPLATFORM_MINGW=no # Whether target platform is MinGW (win32-g++*)
PLATFORM=$QMAKESPEC
QT_CROSS_COMPILE=no
OPT_CONFIRM_LICENSE=no
@@ -1326,7 +1327,9 @@ while [ "$#" -gt 0 ]; do
fi
;;
arch)
- if [ "$PLATFORM_MAC" = "yes" ]; then
+ # if this is a Mac then "windows" probably means
+ # we are cross-compiling for MinGW
+ if [ "$PLATFORM_MAC" = "yes" ] && [ "$VAL" != "windows" ]; then
CFG_MAC_ARCHS="$CFG_MAC_ARCHS $VAL"
else
CFG_ARCH=$VAL
@@ -1444,6 +1447,7 @@ while [ "$#" -gt 0 ]; do
;;
xplatform)
XPLATFORM="$VAL"
+ case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
;;
debug-and-release)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
@@ -2201,9 +2205,11 @@ minimal|small|medium|large|full)
;;
*)
# not known to be sufficient for anything
- if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ]; then
+ if [ '!' -f "$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h" ] && [ '!' -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
echo >&2 "Error: configuration file not found:"
echo >&2 " $relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h"
+ echo >&2 " or"
+ echo >&2 " `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"`"
OPT_HELP=yes
fi
esac
@@ -2576,9 +2582,13 @@ if [ -z "$PLATFORM" ]; then
"
;;
SunOS:5*)
- #PLATFORM=solaris-g++
- PLATFORM=solaris-cc
- #PLATFORM=solaris-cc64
+ if [ "$XPLATFORM_MINGW" = "yes" ]; then
+ PLATFORM="solaris-g++"
+ else
+ #PLATFORM=solaris-g++
+ PLATFORM=solaris-cc
+ #PLATFORM=solaris-cc64
+ fi
PLATFORM_NOTES="
- Also available for Solaris: solaris-g++ solaris-cc-64
"
@@ -2648,6 +2658,9 @@ else
fi
[ -z "$XPLATFORM" ] && XPLATFORM="$PLATFORM"
+
+case `basename "$XPLATFORM"` in win32-g++*) XPLATFORM_MINGW=yes;; esac
+
if [ -d "$PLATFORM" ]; then
QMAKESPEC="$PLATFORM"
else
@@ -2920,6 +2933,8 @@ if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then
CFG_ARCH="$CFG_EMBEDDED"
;;
esac
+elif [ "$XPLATFORM_MINGW" = "yes" ]; then
+ [ -z "$CFG_ARCH" ] && CFG_ARCH="windows"
elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then
CFG_ARCH=$CFG_HOST_ARCH
fi
@@ -3201,15 +3216,25 @@ fi
#prefix
if [ -z "$QT_INSTALL_PREFIX" ]; then
- if [ "$CFG_DEV" = "yes" ]; then
- QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
- elif [ "$PLATFORM_QWS" = "yes" ]; then
- QT_INSTALL_PREFIX="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}"
- if [ "$PLATFORM" != "$XPLATFORM" ]; then
- QT_INSTALL_PREFIX="${QT_INSTALL_PREFIX}-${CFG_ARCH}"
+ if [ -d "$EPOCROOT" ]; then
+ case "$XPLATFORM" in *symbian*)
+ QT_INSTALL_PREFIX="$EPOCROOT/epoc32/"
+ QT_INSTALL_LIBS="$EPOCROOT/epoc32/release/armv5/lib/"
+ ;;
+ esac
+ fi
+
+ if [ -z "$QT_INSTALL_PREFIX" ]; then # still empty
+ if [ "$CFG_DEV" = "yes" ]; then
+ QT_INSTALL_PREFIX="$outpath" # In Development, we use sandboxed builds by default
+ elif [ "$PLATFORM_QWS" = "yes" ]; then
+ QT_INSTALL_PREFIX="/usr/local/Trolltech/QtEmbedded-${QT_VERSION}"
+ if [ "$PLATFORM" != "$XPLATFORM" ]; then
+ QT_INSTALL_PREFIX="${QT_INSTALL_PREFIX}-${CFG_ARCH}"
+ fi
+ else
+ QT_INSTALL_PREFIX="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION
fi
- else
- QT_INSTALL_PREFIX="/usr/local/Trolltech/Qt-${QT_VERSION}" # the default install prefix is /usr/local/Trolltech/Qt-$QT_VERSION
fi
fi
QT_INSTALL_PREFIX=`"$relpath/config.tests/unix/makeabs" "$QT_INSTALL_PREFIX"`
@@ -4075,6 +4100,8 @@ elif [ "$PLATFORM_MAC" = "yes" ]; then
Platform="Qt for Mac OS X"
elif echo "$XPLATFORM" | grep "symbian" > /dev/null ; then
Platform="Qt for Symbian"
+elif [ "$XPLATFORM_MINGW" = "yes" ]; then
+ Platform="Qt for Windows"
elif [ '!' -z "`getQMakeConf \"$XQMAKESPEC\" | grep QMAKE_LIBS_X11 | awk '{print $3;}'`" ]; then
PLATFORM_X11=yes
Platform="Qt for Linux/X11"
@@ -4656,7 +4683,7 @@ if [ "$CFG_IWMMXT" = "yes" ]; then
fi
# detect neon support
-if ([ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ]) && [ "${CFG_NEON}" = "auto" ]; then
+if ( [ "$CFG_ARCH" = "arm" ] || [ "$CFG_ARCH" = "armv6" ] ) && [ "${CFG_NEON}" = "auto" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/neon "neon" $L_FLAGS $I_FLAGS $l_FLAGS "-mfpu=neon"; then
CFG_NEON=yes
else
@@ -4686,6 +4713,8 @@ if [ "$CFG_ZLIB" = "auto" ]; then
fi
fi
+[ "$XPLATFORM_MINGW" = "yes" ] && QMakeVar add styles "windowsxp windowsvista"
+
case "$XPLATFORM" in *symbian*)
QMakeVar set styles "windows s60" #overwrite previous default
CFG_LIBFREETYPE=no
@@ -4885,12 +4914,15 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
;;
psql)
if [ "$CFG_SQL_psql" != "no" ]; then
- if "$WHICH" pg_config >/dev/null 2>&1; then
+ # Be careful not to use native pg_config when cross building.
+ if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then
QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null`
QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null`
fi
[ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL"
[ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL"
+ # But, respect PSQL_LIBS if set
+ [ -z "$PSQL_LIBS" ] || QT_LFLAGS_PSQL="$PSQL_LIBS"
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_CONFIG_TEST_COMMANDLINE; then
if [ "$CFG_SQL_psql" = "auto" ]; then
CFG_SQL_psql=plugin
@@ -4912,7 +4944,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do
;;
odbc)
if [ "$CFG_SQL_odbc" != "no" ]; then
- if [ "$PLATFORM_MAC" != "yes" ] && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
+ if ( [ "$PLATFORM_MAC" != "yes" ] || [ "$XPLATFORM_MINGW" = "yes" ] ) && "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/unix/odbc "ODBC" $L_FLAGS $I_FLAGS $l_FLAGS $MAC_CONFIG_TEST_COMMANDLINE; then
if [ "$CFG_SQL_odbc" = "auto" ]; then
CFG_SQL_odbc=plugin
fi
@@ -5178,6 +5210,7 @@ if [ "$PLATFORM_MAC" = "yes" -a ! -z "$QT_NAMESPACE" ]; then
QT_NAMESPACE_MAC_CRC=`"$mactests/crc.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/mac/crc $QT_NAMESPACE $L_FLAGS $I_FLAGS $l_FLAGS`
fi
+# X11/QWS
if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
# auto-detect Glib support
@@ -5342,7 +5375,7 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
fi
fi # X11/QWS
-# x11
+# X11
if [ "$PLATFORM_X11" = "yes" ]; then
x11tests="$relpath/config.tests/x11"
X11TESTS_FLAGS=
@@ -5363,7 +5396,10 @@ if [ "$PLATFORM_X11" = "yes" ]; then
echo " QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in ${XQMAKESPEC}."
exit 1
fi
+fi
+# X11/MINGW OpenGL
+if [ "$PLATFORM_X11" = "yes" -o "$XPLATFORM_MINGW" = "yes" ]; then
# auto-detect OpenGL support (es1 = OpenGL ES 1.x Common, es2 = OpenGL ES 2.x)
if [ "$CFG_GUI" = "no" ]; then
if [ "$CFG_OPENGL" = "auto" ]; then
@@ -5459,7 +5495,10 @@ if [ "$PLATFORM_X11" = "yes" ]; then
echo "OpenGL Graphics System is disabled due to missing OpenGL support..."
CFG_GRAPHICS_SYSTEM=default
fi
+fi # X11/MINGW OpenGL
+# X11
+if [ "$PLATFORM_X11" = "yes" ]; then
# auto-detect Xcursor support
if [ "$CFG_XCURSOR" != "no" ]; then
if "$unixtests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/x11/xcursor "Xcursor" $L_FLAGS $I_FLAGS $l_FLAGS $X11TESTS_FLAGS; then
@@ -5822,14 +5861,12 @@ if [ "$PLATFORM_QWS" = "yes" ]; then
fi
if [ "${screen}" = "directfb" ] && [ "${CFG_CONFIGURE_EXIT_ON_ERROR}" = "yes" ]; then
- if [ -n "$PKG_CONFIG" ]; then
- if $PKG_CONFIG --exists directfb 2>/dev/null; then
- QT_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
- QT_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
- elif directfb-config --version >/dev/null 2>&1; then
- QT_CFLAGS_DIRECTFB=`directfb-config --cflags 2>/dev/null`
- QT_LIBS_DIRECTFB=`directfb-config --libs 2>/dev/null`
- fi
+ if test -n "$PKG_CONFIG" && "$PKG_CONFIG" --exists directfb 2>/dev/null; then
+ QT_CFLAGS_DIRECTFB=`$PKG_CONFIG --cflags directfb 2>/dev/null`
+ QT_LIBS_DIRECTFB=`$PKG_CONFIG --libs directfb 2>/dev/null`
+ elif directfb-config --version >/dev/null 2>&1; then
+ QT_CFLAGS_DIRECTFB=`directfb-config --cflags 2>/dev/null`
+ QT_LIBS_DIRECTFB=`directfb-config --libs 2>/dev/null`
fi
# QMake variables set here override those in the mkspec. Therefore we only set the variables here if they are not zero.
@@ -5907,9 +5944,12 @@ if [ "$PLATFORM_X11" = "yes" -o "$PLATFORM_QWS" = "yes" ]; then
fi
fi
+[ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_PHONON" != "no" ] && CFG_PHONON="yes"
+
# freetype support
[ "x$CFG_EMBEDDED" != "xno" ] && CFG_LIBFREETYPE="$CFG_QWS_FREETYPE"
[ "x$PLATFORM_MAC" = "xyes" ] && CFG_LIBFREETYPE=no
+[ "$XPLATFORM_MINGW" = "yes" ] && [ "$CFG_LIBFREETYPE" = "auto" ] && 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 $MAC_CONFIG_TEST_COMMANDLINE; then
CFG_LIBFREETYPE=system
@@ -5919,7 +5959,9 @@ if [ "$CFG_LIBFREETYPE" = "auto" ]; then
fi
if [ "$CFG_ENDIAN" = "auto" ]; then
- if [ "$PLATFORM_MAC" = "yes" ]; then
+ if [ "$XPLATFORM_MINGW" = "yes" ]; then
+ CFG_ENDIAN="Q_LITTLE_ENDIAN"
+ elif [ "$PLATFORM_MAC" = "yes" ]; then
true #leave as auto
elif [ "$XPLATFORM" = "symbian-sbsv2" ]; then
CFG_ENDIAN="Q_LITTLE_ENDIAN"
@@ -6245,6 +6287,11 @@ if [ "$CFG_AUDIO_BACKEND" = "auto" ]; then
fi
fi
+if [ "$CFG_LARGEFILE" != "yes" ] && [ "$XPLATFORM_MINGW" = "yes" ]; then
+ echo "Warning: largefile support cannot be disabled for win32."
+ CFG_LARGEFILE="yes"
+fi
+
#-------------------------------------------------------------------------------
# ask for all that hasn't been auto-detected or specified in the arguments
#-------------------------------------------------------------------------------
@@ -6347,6 +6394,9 @@ if [ "$PLATFORM_MAC" = "yes" ]; then
fi
fi
+# but disable Cocoa if cross-building for mingw
+[ "$XPLATFORM_MINGW" = "yes" ] && CFG_MAC_COCOA="no"
+
# set the global Mac deployment target. This is overridden on an arch-by-arch basis
# in some cases, see code further down
case "$PLATFORM,$CFG_MAC_COCOA" in
@@ -6485,7 +6535,7 @@ QMakeVar set OBJECTS_DIR ".obj/$QMAKE_OUTDIR"
QMakeVar set MOC_DIR ".moc/$QMAKE_OUTDIR"
QMakeVar set RCC_DIR ".rcc/$QMAKE_OUTDIR"
QMakeVar set UI_DIR ".uic/$QMAKE_OUTDIR"
-if [ "$CFG_LARGEFILE" = "yes" ]; then
+if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
QMAKE_CONFIG="$QMAKE_CONFIG largefile"
fi
if [ "$CFG_STL" = "no" ]; then
@@ -6601,7 +6651,7 @@ else
fi
-if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM" != "win32-g++" ]; then
+if [ "x$PLATFORM_MAC" = "xyes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
#On Mac we implicitly link against libz, so we
#never use the 3rdparty stuff.
[ "$CFG_ZLIB" = "yes" ] && CFG_ZLIB="system"
@@ -6740,6 +6790,12 @@ if [ "$CFG_EXCEPTIONS" != "no" ]; then
QTCONFIG_CONFIG="$QTCONFIG_CONFIG exceptions"
fi
+if [ "$XPLATFORM_MINGW" = "yes" ]; then
+ # mkspecs/features/win32/default_pre.prf sets "no-rtti".
+ # Follow default behavior of configure.exe by overriding with "rtti".
+ QTCONFIG_CONFIG="$QTCONFIG_CONFIG rtti"
+fi
+
if [ "$CFG_ALSA" = "yes" ]; then
QT_CONFIG="$QT_CONFIG alsa"
fi
@@ -7229,7 +7285,11 @@ full)
*)
tmpconfig="$outpath/src/corelib/global/qconfig.h.new"
echo "#ifndef QT_BOOTSTRAPPED" >"$tmpconfig"
- cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
+ if [ -f "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" ]; then
+ cat "$relpath/src/corelib/global/qconfig-$CFG_QCONFIG.h" >>"$tmpconfig"
+ elif [ -f `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` ]; then
+ cat `"$relpath/config.tests/unix/makeabs" "${CFG_QCONFIG}"` >>"$tmpconfig"
+ fi
echo "#endif" >>"$tmpconfig"
;;
esac
@@ -7329,7 +7389,7 @@ EOF
echo '/* Compile time features */' >>"$outpath/src/corelib/global/qconfig.h.new"
[ '!' -z "$LicenseKeyExt" ] && echo "#define QT_PRODUCT_LICENSEKEY \"$LicenseKeyExt\"" >>"$outpath/src/corelib/global/qconfig.h.new"
-if [ "$CFG_LARGEFILE" = "yes" ]; then
+if [ "$CFG_LARGEFILE" = "yes" ] && [ "$XPLATFORM_MINGW" != "yes" ]; then
echo "#define QT_LARGEFILE_SUPPORT 64" >>"$outpath/src/corelib/global/qconfig.h.new"
fi
@@ -7509,6 +7569,10 @@ then
fi
if [ -n "$QCONFIG_FLAGS" ]; then
+cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
+#ifndef QT_BOOTSTRAPPED
+
+EOF
for cfg in $QCONFIG_FLAGS; do
cfgd=`echo $cfg | sed 's/=.*$//'` # trim pushed 'Foo=Bar' defines
cfg=`echo $cfg | sed 's/=/ /'` # turn first '=' into a space
@@ -7541,6 +7605,10 @@ cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
EOF
fi
done
+cat >>"$outpath/src/corelib/global/qconfig.h.new" << EOF
+#endif // QT_BOOTSTRAPPED
+
+EOF
fi
if [ "$CFG_REDUCE_EXPORTS" = "yes" ]; then
@@ -7666,7 +7734,7 @@ QMAKE_LIBDIR_QT = \$\$QT_BUILD_TREE/lib
EOF
# Ensure we can link to uninistalled libraries
-if linkerSupportsFlag -rpath-link "$outpath/lib"; then
+if [ "$XPLATFORM_MINGW" != "yes" ] && linkerSupportsFlag -rpath-link "$outpath/lib"; then
echo "QMAKE_LFLAGS += -Wl,-rpath-link,\$\$QT_BUILD_TREE/lib" >> "$CACHEFILE.tmp"
fi
@@ -8025,7 +8093,7 @@ if [ "$CFG_OPENSSL" = "linked" ] && [ "$OPENSSL_LIBS" = "" ]; then
echo "NOTE: When linking against OpenSSL, you can override the default"
echo "library names through OPENSSL_LIBS."
echo "For example:"
- echo " ./configure -openssl-linked OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto'"
+ echo " OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked"
echo
fi
if [ "$PLATFORM_MAC" = "yes" ] && [ "$CFG_FRAMEWORK" = "yes" ] && [ "$CFG_DEBUG" = "yes" ] && [ "$CFG_DEBUG_RELEASE" = "no" ]; then
@@ -8204,7 +8272,9 @@ for file in .projects .projects.3; do
[ "$IN_ROOT" = "no" ] && continue
case $a in
- *winmain/winmain.pro) continue ;;
+ *winmain/winmain.pro)
+ [ "$XPLATFORM_MINGW" = "yes" ] || continue
+ SPEC=$XQMAKESPEC ;;
*s60main/s60main.pro) continue ;;
*examples/activeqt/*) continue ;;
*/qmake/qmake.pro) continue ;;
diff --git a/demos/declarative/webbrowser/content/Button.qml b/demos/declarative/webbrowser/content/Button.qml
index 976502c..4642cc7 100644
--- a/demos/declarative/webbrowser/content/Button.qml
+++ b/demos/declarative/webbrowser/content/Button.qml
@@ -49,7 +49,7 @@ Item {
Image {
id: icon; anchors.centerIn: parent
- opacity: action.enabled ? 1.0 : 0.4
+ opacity: if(action != undefined) {action.enabled ? 1.0 : 0.4} else 0
}
MouseArea {
diff --git a/demos/declarative/webbrowser/content/FlickableWebView.qml b/demos/declarative/webbrowser/content/FlickableWebView.qml
index 34e8fff..62da2ea 100644
--- a/demos/declarative/webbrowser/content/FlickableWebView.qml
+++ b/demos/declarative/webbrowser/content/FlickableWebView.qml
@@ -48,6 +48,7 @@ Flickable {
property alias progress: webView.progress
property alias url: webView.url
property alias back: webView.back
+ property alias stop: webView.stop
property alias reload: webView.reload
property alias forward: webView.forward
@@ -96,8 +97,8 @@ Flickable {
function doZoom(zoom,centerX,centerY)
{
if (centerX) {
- var sc = zoom/contentsScale;
- scaleAnim.to = zoom;
+ var sc = zoom*contentsScale;
+ scaleAnim.to = sc;
flickVX.from = flickable.contentX
flickVX.to = Math.max(0,Math.min(centerX-flickable.width/2,webView.width*sc-flickable.width))
finalX.value = flickVX.to
diff --git a/demos/declarative/webbrowser/webbrowser.qml b/demos/declarative/webbrowser/webbrowser.qml
index 36e03bf..a923c92 100644
--- a/demos/declarative/webbrowser/webbrowser.qml
+++ b/demos/declarative/webbrowser/webbrowser.qml
@@ -47,7 +47,7 @@ import "content"
Rectangle {
id: webBrowser
- property string urlString : "http://qt.nokia.com/"
+ property string urlString : "http://www.nokia.com/"
width: 800; height: 600
color: "#343434"
diff --git a/demos/embedded/embedded.pro b/demos/embedded/embedded.pro
index da764d1..a3fc72b 100644
--- a/demos/embedded/embedded.pro
+++ b/demos/embedded/embedded.pro
@@ -19,6 +19,11 @@ contains(QT_CONFIG, webkit) {
SUBDIRS += anomaly
}
+contains(QT_CONFIG, declarative) {
+ # Qml demos require DEPLOYMENT support. Therefore, only symbian.
+ symbian:SUBDIRS += qmlcalculator qmlclocks qmldialcontrol qmleasing qmlflickr qmlphotoviewer qmltwitter
+}
+
# install
sources.files = README *.pro
sources.path = $$[QT_INSTALL_DEMOS]/embedded
diff --git a/demos/embedded/fluidlauncher/config_s60/config.xml b/demos/embedded/fluidlauncher/config_s60/config.xml
index d926a4b..4f10488 100644
--- a/demos/embedded/fluidlauncher/config_s60/config.xml
+++ b/demos/embedded/fluidlauncher/config_s60/config.xml
@@ -21,6 +21,13 @@
<example filename="digiflip" name="Flipping Clock" image="screenshots/digiflip.png"/>
<example filename="qmediaplayer" name="Media Player" image="screenshots/mediaplayer.png" args="-small-screen"/>
<example filename="spectrum" name="Spectrum Analyzer" image="screenshots/spectrum.png" args="-small-screen"/>
+ <example filename="qmlcalculator" name="Qml Calculator" image="screenshots/qmlcalculator.png"/>
+ <example filename="qmlclocks" name="Qml Clocks" image="screenshots/qmlclocks.png"/>
+ <example filename="qmldialcontrol" name="Qml Dial Control" image="screenshots/qmldialcontrol.png"/>
+ <example filename="qmleasing" name="Qml Easing Curves" image="screenshots/qmleasing.png"/>
+ <example filename="qmlflickr" name="Qml flickr" image="screenshots/qmlflickr.jpg"/>
+ <example filename="qmlphotoviewer" name="Qml Photo Viewer" image="screenshots/qmlphotoviewer.jpg"/>
+ <example filename="qmltwitter" name="Qml twitter" image="screenshots/qmltwitter.jpg"/>
</demos>
<slideshow timeout="60000" interval="10000">
<imagedir dir="slides"/>
diff --git a/demos/embedded/fluidlauncher/fluidlauncher.pro b/demos/embedded/fluidlauncher/fluidlauncher.pro
index bb512d9..416e58b 100644
--- a/demos/embedded/fluidlauncher/fluidlauncher.pro
+++ b/demos/embedded/fluidlauncher/fluidlauncher.pro
@@ -2,6 +2,7 @@ TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
+VERSION = $$QT_VERSION
# Input
HEADERS += \
@@ -215,6 +216,16 @@ symbian {
$$appResourceDir(examples/script/context2d/context2d.mif)
}
+ qmldemos = qmlcalculator qmlclocks qmldialcontrol qmleasing qmlflickr qmlphotoviewer qmltwitter
+ contains(QT_CONFIG, declarative) {
+ for(qmldemo, qmldemos) {
+ executables.sources += $$QT_BUILD_TREE/demos/embedded/$${qmldemo}/$${qmldemo}.exe
+ reg_resource.sources += $$regResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}_reg.rsc)
+ resource.sources += $$appResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}.rsc)
+ mifs.sources += $$appResourceDir(demos/embedded/$${qmldemo}/$${qmldemo}.mif)
+ }
+ }
+
files.sources = $$PWD/screenshots $$PWD/slides
files.path = .
@@ -243,6 +254,8 @@ symbian {
DEPLOYMENT += config files executables viewerimages saxbookmarks reg_resource resource \
mifs desktopservices_music desktopservices_images fluidbackup
+ contains(QT_CONFIG, declarative):for(qmldemo, qmldemos):include($$QT_BUILD_TREE/demos/embedded/$${qmldemo}/deployment.pri)
+
DEPLOYMENT.installer_header = 0xA000D7CD
TARGET.EPOCHEAPSIZE = 100000 20000000
diff --git a/demos/embedded/fluidlauncher/screenshots/qmlcalculator.png b/demos/embedded/fluidlauncher/screenshots/qmlcalculator.png
new file mode 100644
index 0000000..f4218f5
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/qmlcalculator.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/qmlclocks.png b/demos/embedded/fluidlauncher/screenshots/qmlclocks.png
new file mode 100644
index 0000000..ba25a18
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/qmlclocks.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/qmldialcontrol.png b/demos/embedded/fluidlauncher/screenshots/qmldialcontrol.png
new file mode 100644
index 0000000..b8def8c
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/qmldialcontrol.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/qmleasing.png b/demos/embedded/fluidlauncher/screenshots/qmleasing.png
new file mode 100644
index 0000000..d34c2ac
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/qmleasing.png
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/qmlflickr.jpg b/demos/embedded/fluidlauncher/screenshots/qmlflickr.jpg
new file mode 100644
index 0000000..d7faabf
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/qmlflickr.jpg
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/qmlphotoviewer.jpg b/demos/embedded/fluidlauncher/screenshots/qmlphotoviewer.jpg
new file mode 100644
index 0000000..673ffc6
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/qmlphotoviewer.jpg
Binary files differ
diff --git a/demos/embedded/fluidlauncher/screenshots/qmltwitter.jpg b/demos/embedded/fluidlauncher/screenshots/qmltwitter.jpg
new file mode 100644
index 0000000..4399eea
--- /dev/null
+++ b/demos/embedded/fluidlauncher/screenshots/qmltwitter.jpg
Binary files differ
diff --git a/demos/embedded/qmlcalculator/deployment.pri b/demos/embedded/qmlcalculator/deployment.pri
new file mode 100644
index 0000000..d5078f6
--- /dev/null
+++ b/demos/embedded/qmlcalculator/deployment.pri
@@ -0,0 +1,7 @@
+qmlcalculator_src = $$PWD/../../declarative/calculator
+symbian {
+ qmlcalculator_uid3 = EA8EBD98
+ qmlcalculator_files.path = ../$$qmlcalculator_uid3
+}
+qmlcalculator_files.sources = $$qmlcalculator_src/calculator.qml $$qmlcalculator_src/Core
+DEPLOYMENT += qmlcalculator_files
diff --git a/demos/embedded/qmlcalculator/qmlcalculator.cpp b/demos/embedded/qmlcalculator/qmlcalculator.cpp
new file mode 100644
index 0000000..3030e81
--- /dev/null
+++ b/demos/embedded/qmlcalculator/qmlcalculator.cpp
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QFileInfo>
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+
+#if defined(Q_OS_SYMBIAN)
+#include <eikenv.h>
+#include <eikappui.h>
+#include <aknenv.h>
+#include <aknappui.h>
+#endif // Q_OS_SYMBIAN
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+
+ const QString mainQmlApp = QLatin1String("calculator.qml");
+ QDeclarativeView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+
+#if defined(QT_KEYPAD_NAVIGATION)
+ QApplication::setNavigationMode(Qt::NavigationModeCursorAuto);
+#endif // QT_KEYPAD_NAVIGATION
+
+#if defined(Q_OS_SYMBIAN)
+ CAknAppUi* appUi = dynamic_cast<CAknAppUi*> (CEikonEnv::Static()->AppUi());
+ TRAPD(error,
+ if (appUi)
+ appUi->SetOrientationL(CAknAppUi::EAppUiOrientationPortrait)
+ )
+ view.showFullScreen();
+#else // Q_OS_SYMBIAN
+ view.show();
+#endif // Q_OS_SYMBIAN
+
+ return application.exec();
+}
diff --git a/demos/embedded/qmlcalculator/qmlcalculator.pro b/demos/embedded/qmlcalculator/qmlcalculator.pro
new file mode 100644
index 0000000..1e71eed
--- /dev/null
+++ b/demos/embedded/qmlcalculator/qmlcalculator.pro
@@ -0,0 +1,12 @@
+!symbian:!wince*:warning("DEPLOYMENT support required. This project only works on Symbian and WinCE.")
+
+QT += declarative
+SOURCES += $$PWD/qmlcalculator.cpp
+include($$PWD/deployment.pri)
+
+symbian {
+ TARGET.UID3 = 0x$$qmlcalculator_uid3 # defined in deployment.pri
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+ LIBS += -lcone -leikcore -lavkon # Screen orientation
+}
diff --git a/demos/embedded/qmlclocks/deployment.pri b/demos/embedded/qmlclocks/deployment.pri
new file mode 100644
index 0000000..84803ec
--- /dev/null
+++ b/demos/embedded/qmlclocks/deployment.pri
@@ -0,0 +1,7 @@
+qmlclocks_src = $$PWD/../../../examples/declarative/toys/clocks
+symbian {
+ qmlclocks_uid3 = E19225B9
+ qmlclocks_files.path = ../$$qmlclocks_uid3
+}
+qmlclocks_files.sources = $$qmlclocks_src/clocks.qml $$qmlclocks_src/content
+DEPLOYMENT += qmlclocks_files
diff --git a/demos/embedded/qmlclocks/qmlclocks.cpp b/demos/embedded/qmlclocks/qmlclocks.cpp
new file mode 100644
index 0000000..d94cbdd
--- /dev/null
+++ b/demos/embedded/qmlclocks/qmlclocks.cpp
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QFileInfo>
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+
+#if defined(Q_OS_SYMBIAN)
+#include <eikenv.h>
+#include <eikappui.h>
+#include <aknenv.h>
+#include <aknappui.h>
+#endif // Q_OS_SYMBIAN
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+
+ const QString mainQmlApp = QLatin1String("clocks.qml");
+ QDeclarativeView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+
+#if defined(QT_KEYPAD_NAVIGATION)
+ QApplication::setNavigationMode(Qt::NavigationModeCursorAuto);
+#endif // QT_KEYPAD_NAVIGATION
+
+#if defined(Q_OS_SYMBIAN)
+ CAknAppUi* appUi = dynamic_cast<CAknAppUi*> (CEikonEnv::Static()->AppUi());
+ TRAPD(error,
+ if (appUi)
+ appUi->SetOrientationL(CAknAppUi::EAppUiOrientationLandscape)
+ )
+ view.showFullScreen();
+#else // Q_OS_SYMBIAN
+ view.show();
+#endif // Q_OS_SYMBIAN
+
+ return application.exec();
+}
diff --git a/demos/embedded/qmlclocks/qmlclocks.pro b/demos/embedded/qmlclocks/qmlclocks.pro
new file mode 100644
index 0000000..5edfe14
--- /dev/null
+++ b/demos/embedded/qmlclocks/qmlclocks.pro
@@ -0,0 +1,12 @@
+!symbian:!wince*:warning("DEPLOYMENT support required. This project only works on Symbian and WinCE.")
+
+QT += declarative
+SOURCES += $$PWD/qmlclocks.cpp
+include($$PWD/deployment.pri)
+
+symbian {
+ TARGET.UID3 = 0x$$qmlclocks_uid3 # defined in deployment.pri
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+ LIBS += -lcone -leikcore -lavkon # Screen orientation
+}
diff --git a/demos/embedded/qmldialcontrol/deployment.pri b/demos/embedded/qmldialcontrol/deployment.pri
new file mode 100644
index 0000000..8eb39b2
--- /dev/null
+++ b/demos/embedded/qmldialcontrol/deployment.pri
@@ -0,0 +1,7 @@
+qmldialcontrol_src = $$PWD/../../../examples/declarative/ui-components/dialcontrol
+symbian {
+ qmldialcontrol_uid3 = E59A9283
+ qmldialcontrol_files.path = ../$$qmldialcontrol_uid3
+}
+qmldialcontrol_files.sources = $$qmldialcontrol_src/dialcontrol.qml $$qmldialcontrol_src/content
+DEPLOYMENT += qmldialcontrol_files
diff --git a/demos/embedded/qmldialcontrol/qmldialcontrol.cpp b/demos/embedded/qmldialcontrol/qmldialcontrol.cpp
new file mode 100644
index 0000000..311cee0
--- /dev/null
+++ b/demos/embedded/qmldialcontrol/qmldialcontrol.cpp
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QFileInfo>
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+
+ const QString mainQmlApp = QLatin1String("dialcontrol.qml");
+ QDeclarativeView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+
+#if defined(QT_KEYPAD_NAVIGATION)
+ QApplication::setNavigationMode(Qt::NavigationModeCursorAuto);
+#endif // QT_KEYPAD_NAVIGATION
+
+#if defined(Q_OS_SYMBIAN)
+ view.showFullScreen();
+#else // Q_OS_SYMBIAN
+ view.show();
+#endif // Q_OS_SYMBIAN
+
+ return application.exec();
+}
diff --git a/demos/embedded/qmldialcontrol/qmldialcontrol.pro b/demos/embedded/qmldialcontrol/qmldialcontrol.pro
new file mode 100644
index 0000000..193cf55
--- /dev/null
+++ b/demos/embedded/qmldialcontrol/qmldialcontrol.pro
@@ -0,0 +1,11 @@
+!symbian:!wince*:warning("DEPLOYMENT support required. This project only works on Symbian and WinCE.")
+
+QT += declarative
+SOURCES += $$PWD/qmldialcontrol.cpp
+include($$PWD/deployment.pri)
+
+symbian {
+ TARGET.UID3 = 0x$$qmldialcontrol_uid3 # defined in deployment.pri
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
diff --git a/demos/embedded/qmleasing/deployment.pri b/demos/embedded/qmleasing/deployment.pri
new file mode 100644
index 0000000..ddab1ba
--- /dev/null
+++ b/demos/embedded/qmleasing/deployment.pri
@@ -0,0 +1,7 @@
+qmleasing_src = $$PWD/../../../examples/declarative/animation/easing
+symbian {
+ qmleasing_uid3 = E8E8E725
+ qmleasing_files.path = ../$$qmleasing_uid3
+}
+qmleasing_files.sources = $$qmleasing_src/easing.qml
+DEPLOYMENT += qmleasing_files
diff --git a/demos/embedded/qmleasing/qmleasing.cpp b/demos/embedded/qmleasing/qmleasing.cpp
new file mode 100644
index 0000000..d326468
--- /dev/null
+++ b/demos/embedded/qmleasing/qmleasing.cpp
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QFileInfo>
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+
+ const QString mainQmlApp = QLatin1String("easing.qml");
+ QDeclarativeView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+
+#if defined(QT_KEYPAD_NAVIGATION)
+ QApplication::setNavigationMode(Qt::NavigationModeCursorAuto);
+#endif // QT_KEYPAD_NAVIGATION
+
+#if defined(Q_OS_SYMBIAN)
+ view.showFullScreen();
+#else // Q_OS_SYMBIAN
+ view.show();
+#endif // Q_OS_SYMBIAN
+
+ return application.exec();
+}
diff --git a/demos/embedded/qmleasing/qmleasing.pro b/demos/embedded/qmleasing/qmleasing.pro
new file mode 100644
index 0000000..084a880
--- /dev/null
+++ b/demos/embedded/qmleasing/qmleasing.pro
@@ -0,0 +1,11 @@
+!symbian:!wince*:warning("DEPLOYMENT support required. This project only works on Symbian and WinCE.")
+
+QT += declarative
+SOURCES += $$PWD/qmleasing.cpp
+include($$PWD/deployment.pri)
+
+symbian {
+ TARGET.UID3 = 0x$$qmleasing_uid3 # defined in deployment.pri
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
diff --git a/demos/embedded/qmlflickr/deployment.pri b/demos/embedded/qmlflickr/deployment.pri
new file mode 100644
index 0000000..aef3198
--- /dev/null
+++ b/demos/embedded/qmlflickr/deployment.pri
@@ -0,0 +1,7 @@
+qmlflickr_src = $$PWD/../../declarative/flickr
+symbian {
+ qmlflickr_uid3 = E56D5A92
+ qmlflickr_files.path = ../$$qmlflickr_uid3
+}
+qmlflickr_files.sources = $$qmlflickr_src/flickr.qml $$qmlflickr_src/common $$qmlflickr_src/mobile
+DEPLOYMENT += qmlflickr_files
diff --git a/demos/embedded/qmlflickr/qmlflickr.cpp b/demos/embedded/qmlflickr/qmlflickr.cpp
new file mode 100644
index 0000000..6f0c528
--- /dev/null
+++ b/demos/embedded/qmlflickr/qmlflickr.cpp
@@ -0,0 +1,92 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QFileInfo>
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+#include <QtDeclarative/QDeclarativeEngine>
+
+#if defined(Q_OS_SYMBIAN)
+#include <QtCore/QTextCodec>
+#include <QtCore/QTimer>
+#include "sym_iap_util.h"
+
+class QmlAppView : public QDeclarativeView
+{
+Q_OBJECT
+public:
+ QmlAppView(QWidget *parent = 0)
+ : QDeclarativeView(parent)
+ {
+ QTimer::singleShot(0, this, SLOT(setDefaultIap()));
+ }
+
+private slots:
+ void setDefaultIap()
+ {
+ qt_SetDefaultIap();
+ }
+};
+#else // Q_OS_SYMBIAN
+typedef QDeclarativeView QmlAppView;
+#endif // Q_OS_SYMBIAN
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+
+ const QString mainQmlApp = QLatin1String("flickr.qml");
+ QmlAppView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+
+#if defined(Q_OS_SYMBIAN)
+ view.showFullScreen();
+#else // Q_OS_SYMBIAN
+ view.setGeometry(QRect(100, 100, 360, 640));
+ view.show();
+#endif // Q_OS_SYMBIAN
+ return application.exec();
+}
+
+#if defined(Q_OS_SYMBIAN)
+#include "qmlflickr.moc"
+#endif // Q_OS_SYMBIAN
diff --git a/demos/embedded/qmlflickr/qmlflickr.pro b/demos/embedded/qmlflickr/qmlflickr.pro
new file mode 100644
index 0000000..e706134
--- /dev/null
+++ b/demos/embedded/qmlflickr/qmlflickr.pro
@@ -0,0 +1,14 @@
+!symbian:!wince*:warning("DEPLOYMENT support required. This project only works on Symbian and WinCE.")
+
+QT += declarative network
+SOURCES += $$PWD/qmlflickr.cpp
+include($$PWD/deployment.pri)
+
+symbian {
+ TARGET.UID3 = 0x$$qmlflickr_uid3 # defined in deployment.pri
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ INCLUDEPATH += $$QT_SOURCE_TREE/examples/network/qftp/
+ LIBS += -lesock -lcommdb -linsock # For IAP selection
+ TARGET.CAPABILITY = NetworkServices
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
diff --git a/demos/embedded/qmlphotoviewer/deployment.pri b/demos/embedded/qmlphotoviewer/deployment.pri
new file mode 100644
index 0000000..99475cc
--- /dev/null
+++ b/demos/embedded/qmlphotoviewer/deployment.pri
@@ -0,0 +1,7 @@
+qmlphotoviewer_src = $$PWD/../../declarative/photoviewer
+symbian {
+ qmlphotoviewer_uid3 = E8567E72
+ qmlphotoviewer_files.path = ../$$qmlphotoviewer_uid3
+}
+qmlphotoviewer_files.sources = $$qmlphotoviewer_src/photoviewer.qml $$qmlphotoviewer_src/PhotoViewerCore
+DEPLOYMENT += qmlphotoviewer_files
diff --git a/demos/embedded/qmlphotoviewer/qmlphotoviewer.cpp b/demos/embedded/qmlphotoviewer/qmlphotoviewer.cpp
new file mode 100644
index 0000000..7889842
--- /dev/null
+++ b/demos/embedded/qmlphotoviewer/qmlphotoviewer.cpp
@@ -0,0 +1,92 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QFileInfo>
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+#include <QtDeclarative/QDeclarativeEngine>
+
+#if defined(Q_OS_SYMBIAN)
+#include <QtCore/QTextCodec>
+#include <QtCore/QTimer>
+#include "sym_iap_util.h"
+
+class QmlAppView : public QDeclarativeView
+{
+Q_OBJECT
+public:
+ QmlAppView(QWidget *parent = 0)
+ : QDeclarativeView(parent)
+ {
+ QTimer::singleShot(0, this, SLOT(setDefaultIap()));
+ }
+
+private slots:
+ void setDefaultIap()
+ {
+ qt_SetDefaultIap();
+ }
+};
+#else // Q_OS_SYMBIAN
+typedef QDeclarativeView QmlAppView;
+#endif // Q_OS_SYMBIAN
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+
+ const QString mainQmlApp = QLatin1String("photoviewer.qml");
+ QmlAppView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+
+#if defined(Q_OS_SYMBIAN)
+ view.showFullScreen();
+#else // Q_OS_SYMBIAN
+ view.setGeometry(QRect(100, 100, 360, 640));
+ view.show();
+#endif // Q_OS_SYMBIAN
+ return application.exec();
+}
+
+#if defined(Q_OS_SYMBIAN)
+#include "qmlphotoviewer.moc"
+#endif // Q_OS_SYMBIAN
diff --git a/demos/embedded/qmlphotoviewer/qmlphotoviewer.pro b/demos/embedded/qmlphotoviewer/qmlphotoviewer.pro
new file mode 100644
index 0000000..ead5e67
--- /dev/null
+++ b/demos/embedded/qmlphotoviewer/qmlphotoviewer.pro
@@ -0,0 +1,14 @@
+!symbian:!wince*:warning("DEPLOYMENT support required. This project only works on Symbian and WinCE.")
+
+QT += declarative network
+SOURCES += $$PWD/qmlphotoviewer.cpp
+include($$PWD/deployment.pri)
+
+symbian {
+ TARGET.UID3 = 0x$$qmlphotoviewer_uid3 # defined in deployment.pri
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ INCLUDEPATH += $$QT_SOURCE_TREE/examples/network/qftp/
+ LIBS += -lesock -lcommdb -linsock # For IAP selection
+ TARGET.CAPABILITY = NetworkServices
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
diff --git a/demos/embedded/qmltwitter/deployment.pri b/demos/embedded/qmltwitter/deployment.pri
new file mode 100644
index 0000000..e5bd884
--- /dev/null
+++ b/demos/embedded/qmltwitter/deployment.pri
@@ -0,0 +1,7 @@
+qmltwitter_src = $$PWD/../../declarative/twitter
+symbian {
+ qmltwitter_uid3 = EEF6D468
+ qmltwitter_files.path = ../$$qmltwitter_uid3
+}
+qmltwitter_files.sources = $$qmltwitter_src/twitter.qml $$qmltwitter_src/TwitterCore
+DEPLOYMENT += qmltwitter_files
diff --git a/demos/embedded/qmltwitter/qmltwitter.cpp b/demos/embedded/qmltwitter/qmltwitter.cpp
new file mode 100644
index 0000000..e30ab24
--- /dev/null
+++ b/demos/embedded/qmltwitter/qmltwitter.cpp
@@ -0,0 +1,92 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the demonstration applications of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtCore/QFileInfo>
+#include <QtGui/QApplication>
+#include <QtDeclarative/QDeclarativeView>
+#include <QtDeclarative/QDeclarativeEngine>
+
+#if defined(Q_OS_SYMBIAN)
+#include <QtCore/QTextCodec>
+#include <QtCore/QTimer>
+#include "sym_iap_util.h"
+
+class QmlAppView : public QDeclarativeView
+{
+Q_OBJECT
+public:
+ QmlAppView(QWidget *parent = 0)
+ : QDeclarativeView(parent)
+ {
+ QTimer::singleShot(0, this, SLOT(setDefaultIap()));
+ }
+
+private slots:
+ void setDefaultIap()
+ {
+ qt_SetDefaultIap();
+ }
+};
+#else // Q_OS_SYMBIAN
+typedef QDeclarativeView QmlAppView;
+#endif // Q_OS_SYMBIAN
+
+int main(int argc, char *argv[])
+{
+ QApplication application(argc, argv);
+
+ const QString mainQmlApp = QLatin1String("twitter.qml");
+ QmlAppView view;
+ view.setSource(QUrl(mainQmlApp));
+ view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
+
+#if defined(Q_OS_SYMBIAN)
+ view.showFullScreen();
+#else // Q_OS_SYMBIAN
+ view.setGeometry(QRect(100, 100, 360, 640));
+ view.show();
+#endif // Q_OS_SYMBIAN
+ return application.exec();
+}
+
+#if defined(Q_OS_SYMBIAN)
+#include "qmltwitter.moc"
+#endif // Q_OS_SYMBIAN
diff --git a/demos/embedded/qmltwitter/qmltwitter.pro b/demos/embedded/qmltwitter/qmltwitter.pro
new file mode 100644
index 0000000..7f9be57
--- /dev/null
+++ b/demos/embedded/qmltwitter/qmltwitter.pro
@@ -0,0 +1,14 @@
+!symbian:!wince*:warning("DEPLOYMENT support required. This project only works on Symbian and WinCE.")
+
+QT += declarative network
+SOURCES += $$PWD/qmltwitter.cpp
+include($$PWD/deployment.pri)
+
+symbian {
+ TARGET.UID3 = 0x$$qmltwitter_uid3 # defined in deployment.pri
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ INCLUDEPATH += $$QT_SOURCE_TREE/examples/network/qftp/
+ LIBS += -lesock -lcommdb -linsock # For IAP selection
+ TARGET.CAPABILITY = NetworkServices
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
diff --git a/demos/qmediaplayer/qmediaplayer.pro b/demos/qmediaplayer/qmediaplayer.pro
index cfe3905..9407a81 100644
--- a/demos/qmediaplayer/qmediaplayer.pro
+++ b/demos/qmediaplayer/qmediaplayer.pro
@@ -17,7 +17,7 @@ HEADERS += mediaplayer.h
target.path = $$[QT_INSTALL_DEMOS]/qmediaplayer
sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro *.html *.doc images
-sources.path = $$[QT_INSTALL_DEMOS]/qmediaplayer qmediaplayer.pro
+sources.path = $$[QT_INSTALL_DEMOS]/qmediaplayer
INSTALLS += target sources
wince*{
diff --git a/demos/spectrum/app/mainwidget.h b/demos/spectrum/app/mainwidget.h
index b3dc352..ddab8b7 100644
--- a/demos/spectrum/app/mainwidget.h
+++ b/demos/spectrum/app/mainwidget.h
@@ -59,7 +59,6 @@ QT_FORWARD_DECLARE_CLASS(QLabel)
QT_FORWARD_DECLARE_CLASS(QPushButton)
QT_FORWARD_DECLARE_CLASS(QMenu)
QT_FORWARD_DECLARE_CLASS(QAction)
-QT_END_NAMESPACE
/**
* Main application widget, responsible for connecting the various UI
diff --git a/demos/spectrum/app/spectrum.sh b/demos/spectrum/app/spectrum.sh
index 75ad6c2..2a230ed 100644
--- a/demos/spectrum/app/spectrum.sh
+++ b/demos/spectrum/app/spectrum.sh
@@ -1,4 +1,45 @@
#!/bin/sh
+#############################################################################
+##
+## Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+## All rights reserved.
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is part of the examples of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## No Commercial Usage
+## This file contains pre-release code and may not be distributed.
+## You may use this file in accordance with the terms and conditions
+## contained in the Technology Preview License Agreement accompanying
+## this package.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 2.1 requirements
+## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## In addition, as a special exception, Nokia gives you certain additional
+## rights. These rights are described in the Nokia Qt LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## If you have questions regarding the use of this file, please contact
+## Nokia at qt-info@nokia.com.
+##
+##
+##
+##
+##
+##
+##
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
# Shell script for launching spectrum application on Unix systems other than Mac OSX
diff --git a/demos/spectrum/spectrum.pro b/demos/spectrum/spectrum.pro
index 8736ba7..a8f09de 100644
--- a/demos/spectrum/spectrum.pro
+++ b/demos/spectrum/spectrum.pro
@@ -1,4 +1,3 @@
-load(data_caging_paths)
include(spectrum.pri)
TEMPLATE = subdirs
@@ -15,6 +14,8 @@ SUBDIRS += app
TARGET = spectrum
symbian {
+ load(data_caging_paths)
+
# Create a 'make sis' rule which can be run from the top-level
include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
diff --git a/dist/changes-4.7.0 b/dist/changes-4.7.0
index dbb3add..95cff56 100644
--- a/dist/changes-4.7.0
+++ b/dist/changes-4.7.0
@@ -50,6 +50,15 @@ Third party components
QtCore
------
+ - QString
+ * Added QString(const QChar *) constructor.
+ NOTE: This is source-incompatible for the bogus QString(0) case.
+ * Removed internal but exported qt_winQString2MB() and qt_winMB2QString()
+ * Added setRawData() function (also revived the one in QByteArray)
+ * Various performance improvements
+ - QList
+ * Added reserve() function
+ * Various performance improvements
- QMetaType
* Significantly improved performance of the type() function
* [QTBUG-8235] Support QEasingCurve as a built in metatype.
@@ -295,12 +304,7 @@ Qt for Windows CE
- [QTBUG-5492] Made widgetbox-filter match on class names, too.
- Linguist
- - Linguist GUI
-
- - lupdate
-
- - lrelease
-
+ * The GNU gettext PO format support has been improved
- rcc
@@ -316,6 +320,29 @@ Qt for Windows CE
compatibility option -limit-xpm-linelength.
- qmake
+ * Removed remainder of tmake compatibility
+ * Removed remainder of mac9 mode
+ * Removed MSVC6 generator
+ * Removed makespecs for MSVC.NET and MSVC2002
+ * Deprecated -win32/-unix/-macx options, following various cleanups
+ relating to platform support. Cross-building makespecs should now
+ specify a TARGET_PLATFORM.
+ * Started to warn about use of various constructs:
+ - non-lowercased replace $$function() calls
+ - deprecated variables
+ - unescaped backslashes.
+ NOTE: You should use UNIX path separators where possible. qmake
+ will warn about unnecessary Windows path separators in the future.
+ * Removed expansion of qmake- & environment variables in some unexpected
+ cases (double expansions, command line options, etc.)
+ * Removed splitting at semicolons of literal values which were assigned
+ directly to INCLUDEPATH and DEPENDPATH
+ * Removed UNIX-specific exporting of all qmake variables to the environment
+ of subprocesses invoked via system(). You should put specific assignments
+ into the invoked shell command instead.
+ * Started to short-cut evaluation inside if() tests, consistently with
+ evaluation outside if().
+ * Added possibility to request project recursion from within a PRO file
- configure
diff --git a/doc/doc.pri b/doc/doc.pri
index 3180a61..f748f3d 100644
--- a/doc/doc.pri
+++ b/doc/doc.pri
@@ -5,9 +5,9 @@
DOCS_GENERATION_DEFINES =
GENERATOR = $$QT_BUILD_TREE/bin/qhelpgenerator
-win32:!win32-g++ {
+win32:!win32-g++* {
unixstyle = false
-} else :win32-g++:isEmpty(QMAKE_SH) {
+} else :win32-g++*:isEmpty(QMAKE_SH) {
unixstyle = false
} else {
unixstyle = true
@@ -36,9 +36,15 @@ QT_ZH_CN_DOCUMENTATION = ($$QDOC qt-api-only_zh_CN.qdocconf) && \
$$GENERATOR doc-build/html-qt_zh_CN/qt.qhp -o doc/qch/qt_zh_CN.qch \
)
-win32-g++:isEmpty(QMAKE_SH) {
+QT_JA_JP_DOCUMENTATION = ($$QDOC qt-api-only_ja_JP.qdocconf) && \
+ (cd $$QT_BUILD_TREE && \
+ $$GENERATOR doc-build/html-qt_ja_JP/qt.qhp -o doc/qch/qt_ja_JP.qch \
+ )
+
+win32-g++*:isEmpty(QMAKE_SH) {
QT_DOCUMENTATION = $$replace(QT_DOCUMENTATION, "/", "\\\\")
QT_ZH_CN_DOCUMENTATION = $$replace(QT_ZH_CN_DOCUMENTATION, "/", "\\\\")
+ QT_JA_JP_DOCUMENTATION = $$replace(QT_JA_JP_DOCUMENTATION, "/", "\\\\")
}
# Build rules:
@@ -52,6 +58,9 @@ docs.depends = sub-qdoc3 adp_docs qch_docs
docs_zh_CN.depends = docs
docs_zh_CN.commands = $$QT_ZH_CN_DOCUMENTATION
+docs_ja_JP.depends = docs
+docs_ja_JP.commands = $$QT_JA_JP_DOCUMENTATION
+
# Install rules
htmldocs.files = $$QT_BUILD_TREE/doc/html
htmldocs.path = $$[QT_INSTALL_DOCS]
@@ -67,5 +76,5 @@ docimages.path = $$[QT_INSTALL_DOCS]/src
sub-qdoc3.depends = sub-corelib sub-xml
sub-qdoc3.commands += (cd tools/qdoc3 && $(MAKE))
-QMAKE_EXTRA_TARGETS += sub-qdoc3 adp_docs qch_docs docs docs_zh_CN
+QMAKE_EXTRA_TARGETS += sub-qdoc3 adp_docs qch_docs docs docs_zh_CN docs_ja_JP
INSTALLS += htmldocs qchdocs docimages
diff --git a/doc/src/declarative/basictypes.qdoc b/doc/src/declarative/basictypes.qdoc
index 8db1c35..87dab81 100644
--- a/doc/src/declarative/basictypes.qdoc
+++ b/doc/src/declarative/basictypes.qdoc
@@ -40,322 +40,377 @@
****************************************************************************/
/*!
- \page qdeclarativebasictypes.html
- \title QML Basic Types
+ \page qdeclarativebasictypes.html
+ \title QML Basic Types
- QML has a set of primitive types, as listed below, that are used throughout
- the \l {QML Elements}.
+ QML has a set of primitive types, as listed below, that are used throughout
+ the \l {QML Elements}.
- The simpler types in this list can also be used for defining a new
- \c property in a component. See \l{Extending types from QML} for the
- list of types that can be used for custom properties.
+ Some of these types can also be used for defining
+ \c property values in QML. See \l{Extending types from QML} for the
+ list of types that can be used for \c property values.
- \annotatedlist qmlbasictypes
+ \annotatedlist qmlbasictypes
*/
/*!
- \qmlbasictype int
- \ingroup qmlbasictypes
+ \qmlbasictype int
+ \ingroup qmlbasictypes
- \brief An integer is a whole number, e.g. 0, 10, or -20.
+ \brief An integer is a whole number, e.g. 0, 10, or -20.
- An integer is a whole number, e.g. 0, 10, or -20. The possible \c
- int values range from around -2000000000 to around 2000000000,
- although most elements will only accept a reduced range (which they
- mention in their documentation).
+ An integer is a whole number, e.g. 0, 10, or -20. The possible \c
+ int values range from around -2000000000 to around 2000000000,
+ although most elements will only accept a reduced range (which they
+ mention in their documentation).
- Example:
- \qml
- Item { width: 100; height: 200 }
- \endqml
+ Example:
+ \qml
+ Item { width: 100; height: 200 }
+ \endqml
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype bool
- \ingroup qmlbasictypes
+ \qmlbasictype bool
+ \ingroup qmlbasictypes
- \brief A boolean is a binary true/false value.
+ \brief A boolean is a binary true/false value.
- A boolean is a binary true/false value.
+ A boolean is a binary true/false value.
- Example:
- \qml
- Item { focus: true; clip: false }
- \endqml
+ Example:
+ \qml
+ Item { focus: true; clip: false }
+ \endqml
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype real
- \ingroup qmlbasictypes
+ \qmlbasictype real
+ \ingroup qmlbasictypes
- \brief A real number has a decimal point, e.g. 1.2 or -29.8.
+ \brief A real number has a decimal point, e.g. 1.2 or -29.8.
- A real number has a decimal point, e.g. 1.2 or -29.8.
+ A real number has a decimal point, e.g. 1.2 or -29.8.
- Example:
- \qml
- Item { width: 100.45; height: 150.82 }
- \endqml
+ Example:
+ \qml
+ Item { width: 100.45; height: 150.82 }
+ \endqml
- \note In QML all reals are stored in single precision, \l
- {http://en.wikipedia.org/wiki/IEEE_754} {IEEE floating point}
- format.
+ \note In QML all reals are stored in single precision, \l
+ {http://en.wikipedia.org/wiki/IEEE_754} {IEEE floating point}
+ format.
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype string
- \ingroup qmlbasictypes
+ \qmlbasictype string
+ \ingroup qmlbasictypes
- \brief A string is a free form text in quotes, e.g. "Hello world!".
+ \brief A string is a free form text in quotes, e.g. "Hello world!".
- A string is a free form text in quotes, e.g. "Hello world!".
+ A string is a free form text in quotes, e.g. "Hello world!".
- Example:
- \qml
- Text { text: "Hello world!" }
- \endqml
+ Example:
+ \qml
+ Text { text: "Hello world!" }
+ \endqml
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype url
- \ingroup qmlbasictypes
+ \qmlbasictype url
+ \ingroup qmlbasictypes
- \brief A URL is a resource locator, like a file name.
+ \brief A URL is a resource locator, like a file name.
- A URL is a resource locator, like a file name. It can be either
- absolute, e.g. "http://qt.nokia.com", or relative, e.g.
- "pics/logo.png". A relative URL is resolved relative to the URL of
- the component where the URL is converted from a JavaScript string
- expression to a url property value.
+ A URL is a resource locator, like a file name. It can be either
+ absolute, e.g. "http://qt.nokia.com", or relative, e.g.
+ "pics/logo.png". A relative URL is resolved relative to the URL of
+ the component where the URL is converted from a JavaScript string
+ expression to a url property value.
- Example:
- \qml
- Image { source: "pics/logo.png" }
- \endqml
+ Example:
+ \qml
+ Image { source: "pics/logo.png" }
+ \endqml
- \raw HTML
- \endraw
+ \raw HTML
+ \endraw
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype color
- \ingroup qmlbasictypes
-
- \brief A color is a standard color name in quotes.
-
- A color is a standard color name in quotes. It is normally specified
- as an \l {http://www.w3.org/TR/SVG/types.html#ColorKeywords} {SVG
- color name}. These names include colors like "red", "green" and
- "lightsteelblue".
-
- If the color you want isn't part of this list, colors can also be
- specified in hexidecimal triplets or quads that take the form \c
- "#RRGGBB" and \c "#AARRGGBB" respectively. For example, the color
- red corresponds to a triplet of \c "#FF0000" and a slightly
- transparent blue to a quad of \c "#800000FF".
-
- Example:
- \qml
- Rectangle { color: "steelblue" }
- Rectangle { color: "#FF0000" }
- Rectangle { color: "#800000FF" }
- \endqml
-
- \sa {QML Basic Types}
+ \qmlbasictype color
+ \ingroup qmlbasictypes
+
+ \brief A color is a standard color name in quotes.
+
+ A color is a standard color name in quotes. It is normally specified
+ as an \l {http://www.w3.org/TR/SVG/types.html#ColorKeywords} {SVG
+ color name}. These names include colors like "red", "green" and
+ "lightsteelblue".
+
+ If the color you want isn't part of this list, colors can also be
+ specified in hexidecimal triplets or quads that take the form \c
+ "#RRGGBB" and \c "#AARRGGBB" respectively. For example, the color
+ red corresponds to a triplet of \c "#FF0000" and a slightly
+ transparent blue to a quad of \c "#800000FF".
+
+ Example:
+ \qml
+ Rectangle { color: "steelblue" }
+ Rectangle { color: "#FF0000" }
+ Rectangle { color: "#800000FF" }
+ \endqml
+
+ Or with the \l{Qt::rgba()}{Qt.rgba()}, \l{Qt::hsla()}{Qt.hsla()}, \l{Qt::darker()}{Qt.darker()},
+ \l{Qt::lighter()}{Qt.lighter()} or \l{Qt::tint()}{Qt.tint()} functions:
+
+ \qml
+ Rectangle { color: Qt.rgba(255, 0, 0, 1) }
+ \endqml
+
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype point
- \ingroup qmlbasictypes
+ \qmlbasictype point
+ \ingroup qmlbasictypes
+
+ \brief A point type has x and y attributes.
+
+ A \c point type has \c x and \c y attributes.
- \brief A point is specified as "x,y".
+ To create a \c point value, specify it as a "x,y" string:
- A point is specified as "x,y".
+ \qml
+ CustomObject { myPointProperty: "0,20" }
+ \endqml
- Example:
- \qml
- Widget { pos: "0,20" }
- \endqml
+ Or use the \l{Qt::point()}{Qt.point()} function:
- \sa {QML Basic Types}
+ \qml
+ CustomObject { myPointProperty: Qt.point(0, 20) }
+ \endqml
+
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype size
- \ingroup qmlbasictypes
+ \qmlbasictype size
+ \ingroup qmlbasictypes
+
+ \brief A size type has width and height attributes
+
+ A \c size type has \c width and \c height attributes.
- \brief A size is specified as "width x height".
+ For example, to read the \l {Image::sourceSize} \c size property:
- A size is specified as "width x height".
+ \qml
+ Column {
+ Image { id: image; source: "logo.png" }
+ Text { text: image.sourceSize.width + "," + image.sourceSize.height }
+ }
+ \endqml
- Example:
- \qml
- Widget { size: "150x50" }
- \endqml
+ To create a \c size value, specify it as a "width x height" string:
- \sa {QML Basic Types}
+ \qml
+ LayoutItem { preferredSize: "150x50" }
+ \endqml
+
+ Or use the \l{Qt::size()}{Qt.size()} function:
+
+ \qml
+ LayoutItem { preferredSize: Qt.size(150, 50) }
+ \endqml
+
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype rect
- \ingroup qmlbasictypes
+ \qmlbasictype rect
+ \ingroup qmlbasictypes
+
+ \brief A rect type has x, y, width and height attributes.
+
+ A \c rect type has \c x, \c y, \c width and \c height attributes.
+
+ For example, to read the \l {Item::childrenRect.x}{Item::childrenRect} \c rect property:
+ \qml
+ Rectangle {
+ width: childrenRect.width
+ height: childrenRect.height
- \brief A rect is specified as "x, y, width x height".
+ Rectangle { width: 100; height: 100 }
+ }
+ \endqml
- A rect is specified as "x, y, width x height".
+ To create a \c rect value, specify it as a "x, y, width x height" string:
- Example:
- \qml
- Widget { geometry: "50,50,100x100" }
- \endqml
+ \qml
+ CustomObject { myRectProperty: "50,50,100x100" }
+ \endqml
- \sa {QML Basic Types}
+ Or use the \l{Qt::rect()}{Qt.rect()} function:
+
+ \qml
+ CustomObject { myRectProperty: Qt.rect(50, 50, 100, 100) }
+ \endqml
+
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype date
- \ingroup qmlbasictypes
+ \qmlbasictype date
+ \ingroup qmlbasictypes
+
+ \brief A date is specified as "YYYY-MM-DD".
- \brief A date is specified as "YYYY-MM-DD".
+ To create a \c date value, specify it as a "YYYY-MM-DD" string:
- A date is specified as "YYYY-MM-DD".
+ Example:
+ \qml
+ MyDatePicker { minDate: "2000-01-01"; maxDate: "2020-12-31" }
+ \endqml
- Example:
- \qml
- DatePicker { minDate: "2000-01-01"; maxDate: "2020-12-31" }
- \endqml
+ To read a date value returned from a C++ extension class, use
+ \l{Qt::formatDate()}{Qt.formatDate()} and \l{Qt::formatDateTime()}{Qt.formatDateTime()}.
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype time
- \ingroup qmlbasictypes
+ \qmlbasictype time
+ \ingroup qmlbasictypes
- \brief A time is specified as "hh:mm:ss".
+ \brief A time is specified as "hh:mm:ss".
- A time is specified as "hh:mm:ss".
+ A time is specified as "hh:mm:ss".
- Example:
- \qml
- TimePicker { time: "14:22:15" }
- \endqml
+ Example:
+ \qml
+ MyTimePicker { time: "14:22:15" }
+ \endqml
- \sa {QML Basic Types}
+ To read a time value returned from a C++ extension class, use
+ \l{Qt::formatTime()}{Qt.formatTime()} and \l{Qt::formatDateTime()}{Qt.formatDateTime()}.
+
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype font
- \ingroup qmlbasictypes
+ \qmlbasictype font
+ \ingroup qmlbasictypes
- \brief A font type has the properties of a QFont.
+ \brief A font type has the properties of a QFont.
- A font type has the properties of a QFont. The properties are:
+ A font type has the properties of a QFont. The properties are:
- \list
- \o \c string font.family
- \o \c bool font.bold
- \o \c bool font.italic
- \o \c bool font.underline
- \o \c real font.pointSize
- \o \c int font.pixelSize
- \endlist
+ \list
+ \o \c string font.family
+ \o \c bool font.bold
+ \o \c bool font.italic
+ \o \c bool font.underline
+ \o \c real font.pointSize
+ \o \c int font.pixelSize
+ \endlist
- Example:
- \qml
- Text { font.family: "Helvetica"; font.pointSize: 13; font.bold: true }
- \endqml
+ Example:
+ \qml
+ Text { font.family: "Helvetica"; font.pointSize: 13; font.bold: true }
+ \endqml
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype action
- \ingroup qmlbasictypes
+ \qmlbasictype action
+ \ingroup qmlbasictypes
- \brief The action type has all the properties of QAction.
+ \brief The action type has all the properties of QAction.
- The action type has all the properties of QAction. The properties
- are:
+ The action type has all the properties of QAction. The properties
+ are:
- \list
- \o \c slot action.trigger - invoke the action
- \o \c bool action.enabled - true if the action is enabled
- \o \c string action.text - the text associated with the action
- \endlist
+ \list
+ \o \c slot action.trigger - invoke the action
+ \o \c bool action.enabled - true if the action is enabled
+ \o \c string action.text - the text associated with the action
+ \endlist
- Actions are used like this:
+ Actions are used like this:
- \qml
- MouseArea { onClicked: MyItem.myaction.trigger() }
- State { name: "enabled"; when: MyItem.myaction.enabled == true }
- Text { text: MyItem.someaction.text }
- \endqml
+ \qml
+ MouseArea { onClicked: myaction.trigger() }
+ State { name: "enabled"; when: myaction.enabled == true }
+ Text { text: someaction.text }
+ \endqml
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype list
- \ingroup qmlbasictypes
-
- \brief A list of objects.
-
- A list of objects. While not technically a basic type, QML also
- supports lists of object types. When used from QML, the engine
- automatically appends each value to the list.
-
- For example, the \l Item class contains a list property named
- children that can be used like this:
-
- \qml
- Item {
- children: [
- Item { id: child1 },
- Rectangle { id: child2 },
- Text { id: child3 }
- ]
- }
- \endqml
- \c Child1, \c Child2 and \c Child3 will all be added to the children list
- in the order in which they appear.
-
- \sa {QML Basic Types}
+ \qmlbasictype list
+ \ingroup qmlbasictypes
+
+ \brief A list of objects.
+
+ A list of objects. While not technically a basic type, QML also
+ supports lists of object types. When used from QML, the engine
+ automatically appends each value to the list.
+
+ For example, the \l Item class contains a list property named
+ children that can be used like this:
+
+ \qml
+ Item {
+ children: [
+ Item { id: child1 },
+ Rectangle { id: child2 },
+ Text { id: child3 }
+ ]
+ }
+ \endqml
+ \c child1, \c child2 and \c child3 will all be added to the children list
+ in the order in which they appear.
+
+ \sa {QML Basic Types}
*/
/*!
- \qmlbasictype vector3d
- \ingroup qmlbasictypes
+ \qmlbasictype vector3d
+ \ingroup qmlbasictypes
+
+ \brief A vector3d type has x, y, and z attributes.
- \brief A vector3d is specified as "x,y,z".
+ A \c vector3d type has \c x, \c y, and \c z attributes.
- A vector3d is specified as "x,y,z".
+ To create a \c vector3d value, specify it as a "x,y,z" string:
- \qml
- Rotation { angle: 60; axis: "0,1,0" }
- \endqml
+ \qml
+ Rotation { angle: 60; axis: "0,1,0" }
+ \endqml
- or with the \c{Qt.vector3d()} helper function:
+ or with the \l{Qt::vector3d()}{Qt.vector3d()} function:
- \qml
- Rotation { angle: 60; axis: Qt.vector3d(0, 1, 0) }
- \endqml
+ \qml
+ Rotation { angle: 60; axis: Qt.vector3d(0, 1, 0) }
+ \endqml
- or as separate \c x, \c y, and \c z components:
+ or as separate \c x, \c y, and \c z components:
- \qml
- Rotation { angle: 60; axis.x: 0; axis.y: 1; axis.z: 0 }
- \endqml
+ \qml
+ Rotation { angle: 60; axis.x: 0; axis.y: 1; axis.z: 0 }
+ \endqml
- \sa {QML Basic Types}
+ \sa {QML Basic Types}
*/
diff --git a/doc/src/declarative/elements.qdoc b/doc/src/declarative/elements.qdoc
index 574a187..aa48bcb 100644
--- a/doc/src/declarative/elements.qdoc
+++ b/doc/src/declarative/elements.qdoc
@@ -59,8 +59,8 @@ The following table lists the QML elements provided by the \l {QtDeclarative}{Qt
\o \l State
\o \l PropertyChanges
\o \l StateGroup
+\o \l StateChangeScript
\o \l ParentChange (Item-specific)
-\o \l StateChangeScript (Item-specific)
\o \l AnchorChanges (Item-specific)
\endlist
@@ -76,6 +76,7 @@ The following table lists the QML elements provided by the \l {QtDeclarative}{Qt
\o \l ParentAnimation
\o \l AnchorAnimation
\o \l SmoothedAnimation
+\o \l Vector3dAnimation
\o \l PropertyAction
\o \l ScriptAction
\o \l Transition
@@ -167,8 +168,8 @@ The following table lists the QML elements provided by the \l {QtDeclarative}{Qt
\header
\o \bold {Views}
\o \bold {Positioners}
-\o \bold {Media}
\o \bold {Effects}
+\o
\row
\o
@@ -201,13 +202,6 @@ The following table lists the QML elements provided by the \l {QtDeclarative}{Qt
\o
\list
-\o \l SoundEffect
-\o \l Audio
-\o \l Video
-\endlist
-
-\o
-\list
\o \l Particles (experimental)
\list
\o \l ParticleMotionLinear
@@ -217,4 +211,6 @@ The following table lists the QML elements provided by the \l {QtDeclarative}{Qt
\endlist
\endtable
+\o
+
*/
diff --git a/doc/src/declarative/globalobject.qdoc b/doc/src/declarative/globalobject.qdoc
index 7d4f9b9..3121e95 100644
--- a/doc/src/declarative/globalobject.qdoc
+++ b/doc/src/declarative/globalobject.qdoc
@@ -49,7 +49,7 @@ Contains all the properties of the JavaScript global object, plus:
\section1 Qt Object
-The \l{qml-qt.html}{Qt object} provides useful enums and functions from Qt, for use in all QML
+The \l{Qt}{Qt object} provides useful enums and functions from Qt, for use in all QML
files.
\section1 XMLHttpRequest
diff --git a/doc/src/declarative/pics/gridview-highlight.png b/doc/src/declarative/pics/gridview-highlight.png
new file mode 100644
index 0000000..b54af37
--- /dev/null
+++ b/doc/src/declarative/pics/gridview-highlight.png
Binary files differ
diff --git a/doc/src/declarative/pics/gridview-simple.png b/doc/src/declarative/pics/gridview-simple.png
new file mode 100644
index 0000000..a102939
--- /dev/null
+++ b/doc/src/declarative/pics/gridview-simple.png
Binary files differ
diff --git a/doc/src/declarative/pics/gridview.png b/doc/src/declarative/pics/gridview.png
deleted file mode 100644
index 3726893..0000000
--- a/doc/src/declarative/pics/gridview.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/declarative/pics/rect-border-width.png b/doc/src/declarative/pics/rect-border-width.png
new file mode 100644
index 0000000..c3c6c2c
--- /dev/null
+++ b/doc/src/declarative/pics/rect-border-width.png
Binary files differ
diff --git a/doc/src/declarative/pics/repeater-modeldata.png b/doc/src/declarative/pics/repeater-modeldata.png
new file mode 100644
index 0000000..6d8df0d
--- /dev/null
+++ b/doc/src/declarative/pics/repeater-modeldata.png
Binary files differ
diff --git a/doc/src/declarative/pics/translate.png b/doc/src/declarative/pics/translate.png
new file mode 100644
index 0000000..baf58b0
--- /dev/null
+++ b/doc/src/declarative/pics/translate.png
Binary files differ
diff --git a/doc/src/declarative/pics/visualitemmodel.png b/doc/src/declarative/pics/visualitemmodel.png
new file mode 100644
index 0000000..5e6d132
--- /dev/null
+++ b/doc/src/declarative/pics/visualitemmodel.png
Binary files differ
diff --git a/doc/src/declarative/qml-intro.qdoc b/doc/src/declarative/qml-intro.qdoc
index 64a4949..848e094 100644
--- a/doc/src/declarative/qml-intro.qdoc
+++ b/doc/src/declarative/qml-intro.qdoc
@@ -864,49 +864,49 @@ paused, and reaching the end of the media. They allow the developer to connect,
some QML that will handle this event.
-\section1 Analyzing An Example: Dial
+\section1 Analyzing An Example: Dial Control
-In the Qt \e {examples/declarative/toys} folder you will find a folder
-\e {dial} which contains the \e dial example.
+In the Qt \e {examples/declarative/ui-components} folder you will find a folder
+\e {dialcontrol} which contains the \e dialcontrol example.
\image qml-dial.png "QML Dial example with Slider"
In essence this small application has a sliding bar that you can slide using
a mouse, and a graphical dial that responds to the position of the slider.
-The code for the example is in two parts: Dial.qml and dial-example.qml.
+The code for the example is in two parts: Dial.qml and dialcontrol.qml.
-\e {Dial.qml} can be found in the \e content sub-directory. It defines a Dial
+\e {Dial.qml} can be found in the \e content sub-directory. It defines a \c Dial
component similar to an odometer. Eventually, the example will hook up a slider
component so that moving the slider will change the position of a needle on the
dial.
-The code for the Dial, identified by the name of the file, contains four images
+The code for the \c Dial, identified by the name of the file, contains four images
in overlapping order: the background (numbers and divisions), the shadow of the
needle, the needle itself, and finally the 'glass' overlay (containing
transparent layers).
-The needle_shadow.png image has a Rotation assigned to the \e transform
+The \c needle_shadow.png image has a \l Rotation assigned to the \e transform
attribute of the \l Image. The rotation is set to match the angle of the needle
image angle value \e {needleRotation.angle}. Both the needle and the
needle_shadow have the same default \e x and \e y values but the rotation origin
for the needle is slightly different so that a shadow will be evident as the
needle moves.
-\snippet ../../examples/declarative/toys/dial/content/Dial.qml needle_shadow
+\snippet ../../examples/declarative/ui-components/dialcontrol/content/Dial.qml needle_shadow
And the needle
-\snippet ../../examples/declarative/toys/dial/content/Dial.qml needle
+\snippet ../../examples/declarative/ui-components/dialcontrol/content/Dial.qml needle
The final image is the overlay which simply has a position defined.
-\snippet ../../examples/declarative/toys/dial/content/Dial.qml overlay
+\snippet ../../examples/declarative/ui-components/dialcontrol/content/Dial.qml overlay
-\e {dial-example.qml} in the \e {examples/declarative/toys/dial} directory is the
+\e {dialcontrol.qml} in the \e {examples/declarative/ui-components/dialcontrol} directory is the
main file of the example. It defines the visual environment that the Dial
will fit into. Because the \e Dial component and the images live in the \e
-content sub-directory we will have to import this into \e dial-example. So the
+content sub-directory we will have to import this into \e dialcontrol.qml. So the
start of the file looks like
\code
@@ -919,7 +919,7 @@ a gray color. Inside this rectangle is our component \e Dial and a \l Rectangle.
Inside the rectangle called 'container' is another rectangle with the
interesting name 'slider'.
-\snippet ../../examples/declarative/toys/dial/dial-example.qml 0
+\snippet ../../examples/declarative/ui-components/dialcontrol/dialcontrol.qml 0
The Dial component, named 'dial, is \e anchored to the center of the main
rectangle. The \c value attribute of 'dial' is set to a value based on the
diff --git a/doc/src/examples/waitconditions.qdoc b/doc/src/examples/waitconditions.qdoc
index 1d3ff84..d4f680e 100644
--- a/doc/src/examples/waitconditions.qdoc
+++ b/doc/src/examples/waitconditions.qdoc
@@ -92,7 +92,7 @@
Together, the wait conditions, the mutex, and the \c numUsedBytes
counter ensure that the producer is never more than \c BufferSize
bytes ahead of the consumer, and that the consumer never reads
- data that the consumer hasn't generated yet.
+ data that the producer hasn't generated yet.
\section1 Producer Class
diff --git a/doc/src/howtos/openvg.qdoc b/doc/src/howtos/openvg.qdoc
index e448d9c..f4a34cd 100644
--- a/doc/src/howtos/openvg.qdoc
+++ b/doc/src/howtos/openvg.qdoc
@@ -262,7 +262,10 @@
The QVG_SCISSOR_CLIP define will disable clipping with vgMask() or
vgRenderToMask() and instead use the scissor rectangle list to perform
- clipping. Clipping with an arbitrary QPainterPath will not be supported.
+ clipping. Clipping with an arbitrary QPainterPath will need to convert
+ the path into a series of rectangles. If the number of rectangles
+ exceeds VG_MAX_SCISSOR_RECTS, then the results will not be exact.
+
The QVG_SCISSOR_CLIP define should only be used if the OpenVG engine
does not support vgMask() or vgRenderToMask().
diff --git a/doc/src/internationalization/linguist-manual.qdoc b/doc/src/internationalization/linguist-manual.qdoc
index 424dec2..4493deb 100644
--- a/doc/src/internationalization/linguist-manual.qdoc
+++ b/doc/src/internationalization/linguist-manual.qdoc
@@ -252,6 +252,9 @@
can also process Localization Interchange File Format (XLIFF)
format files; files in this format typically have file names that
end with the \c .xlf suffix.
+
+ \note The minimum supported version for XLIFF format files is
+ 1.1. XLIFF 1.0 version files are not supported.
Pass the \c -help option to \c lupdate to obtain the list of
supported options:
@@ -962,8 +965,10 @@
application.
\o \c .xlf \e {XLIFF files} \BR are human-readable XML files that adhere
to the international XML Localization Interchange File Format. \QL
- can be used to edit XLIFF files generated by other programs. For standard
- Qt projects, however, only the TS file format is used.
+ can be used to edit XLIFF files generated by other programs. However, for
+ standard Qt projects, only the TS file format is used. \note The minimum
+ supported version for XLIFF format files is 1.1. XLIFF 1.0 version files
+ are not supported.
\o QM \e {Qt message files} \BR are binary files that contain
translations used by an application at run-time. These files are
generated by \l lrelease, but can also be generated by \QL.
diff --git a/doc/src/ja_JP/development/designer-manual.qdoc b/doc/src/ja_JP/development/designer-manual.qdoc
new file mode 100644
index 0000000..585af16
--- /dev/null
+++ b/doc/src/ja_JP/development/designer-manual.qdoc
@@ -0,0 +1,175 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page designer-quick-start.html
+
+ \title Qt Designer クイックガイド
+
+ \QD を使うための基本的な手順は、以下の\bold{四つ}です。
+
+ \list 1
+ \o フォームとオブジェクトを選択する
+ \o フォームにオブジェクトを配置する
+ \o スロットにシグナルを接続する
+ \o フォームをプレビューする
+ \endlist
+
+ \image rgbController-screenshot.png
+
+ Red、Green、Blue(RGB)の値を操作するために必要なコントロールを含む
+ 小さなウィジェット(上記スクリーンショット参照)を設計する場合を想定します。
+ このウィジェットは、画像処理プログラム内のどこからでも表示できるウィジェットです。
+
+ \table
+ \row
+ \i \inlineimage designer-choosing-form.png
+ \i \bold{フォームを選択する}
+
+ \gui{新しいフォーム} ダイアログから \gui Widget を選択して開始します。
+ \endtable
+
+
+ \table
+ \row
+ \i \inlineimage rgbController-arrangement.png
+ \i \bold{フォームにウィジェットを配置する}
+
+ 3つのラベル(Label)、スピンボックス(Spin Box)、垂直方向のスライダ(Vertical Slider)をフォーム上へドラッグします。
+ ラベルの既定の文字列を変更するには、文字列をダブルクリックします。
+ 希望するレイアウトに合わせて配置します。
+ \endtable
+
+ 画像のようにこれらのウィジェットを配置するには、
+ レイアウトにウィジェットを配置する必要があります。
+ これを3つグループに対して行います。
+ まず "RED" ラベルを選択します。
+ 次に、\key Ctrl (Mac OS X では \key Command)キーを押したまま、対応するスピンボックスとスライダを選択します。
+ \gui{フォーム} メニューで、\gui{格子状に並べる}を選択します。
+
+ \table
+ \row
+ \i \inlineimage rgbController-form-gridLayout.png
+ \i \inlineimage rgbController-selectForLayout.png
+ \endtable
+
+ 他の2つのラベルに対しても、対応するスピンボックスとスライダごとにこの手順を繰り返します。
+
+ 次の手順は、これら3つのレイアウトを組み合わせて、1つの\bold{メインレイアウト}を作成することです。
+ メインレイアウトとは、トップレベルウィジェット(この場合は QWidget)のレイアウトです。
+ トップレベルウィジェットにレイアウトを配置することは重要です。
+ そうでなければ、ウィンドウをサイズ変更したときにウィンドウ上のウィジェットのサイズが変更されません。
+ レイアウトを設定するには、フォーム上の3つのレイアウト以外の任意の場所で\gui{右クリック}し、\gui{水平に並べる}を選択します。
+ または、\gui{格子状に並べる}を選択することもできます。
+ そのどちらでも同じ配置(以下を参照)で表示されます。
+
+ \image rgbController-final-layout.png
+
+ \note メインレイアウトはフォームに表示できません。
+ メインレイアウトがインストールされているかどうかを確認するには、
+ フォームをサイズ変更してみます。
+ インストールされている場合は、各ウィジェットのサイズが適宜変更されます。
+ または、\QD の \gui{Object Inspector} で確認することもできます。
+ トップレベルウィジェットにレイアウトが配置されていない場合、
+ その横に崩れたレイアウトのアイコン \inlineimage rgbController-no-toplevel-layout.png
+ が表示されます。
+
+ スライダをクリックして特定の値までドラッグするときに、
+ スピンボックスにスライダの位置を反映させます。
+ この操作を行うには、スライダの \l{QAbstractSlider::}{valueChanged()}
+ シグナルをスピンボックスの \l{QSpinBox::}{setValue()}
+ スロットに接続する必要があります。
+ また、逆方向、すなわちスピンボックスの \l{QSpinBox::}{valueChanged()}
+ シグナルをスライダの \l{QAbstractSlider::value()}{setValue()} スロットに接続する必要があります。
+
+ この操作を行うには、\key{F4} キーを押すか、\gui{編集|シグナル/スロットの編集} を選択し、
+ \gui{シグナル/スロットの編集}モードに切り替える必要があります。
+
+ \table
+ \row
+ \i \inlineimage rgbController-signalsAndSlots.png
+ \i \bold{シグナルをスロットに接続する}
+
+ スライダをクリックし、カーソルをスピンボックスまでドラッグします。
+ 以下のような \gui{シグナルスロットを設定} ダイアログがポップアップ表示されます。
+ 適切なシグナルとスロットを選択し、\gui OK をクリックします。
+ \endtable
+
+ \image rgbController-configure-connection1.png
+
+ 手順を(逆の順序で)繰り返し、
+ スピンボックスをクリックしてカーソルをスライダまでドラッグし、
+ スピンボックスの \l{QSpinBox::}{valueChanged()} シグナルを、
+ スライダの \l{QAbstractSlider::value()}{setValue()} スロットに接続します。
+
+ 以下のスクリーンショットは、適切なシグナルとスロットを選択するためのガイドとして利用できます。
+
+ \image rgbController-configure-connection2.png
+
+ RGBコントローラーの "RED" コンポーネントのオブジェクトが正常に接続されたので、
+ "GREEN" および "BLUE" コンポーネントにも同じ手順を繰り返します。
+
+ RGB値の範囲は 0 ~ 255 であるため、
+ スピンボックスとスライダを特定の範囲に制限する必要があります。
+
+ \table
+ \row
+ \i \inlineimage rgbController-property-editing.png
+ \i \bold{ウィジェットのプロパティを設定する}
+
+ 最初のスピンボックスをクリックします。
+ \gui{プロパティエディタ}に \l{QSpinBox} のプロパティが表示されます。
+ \l{QSpinBox::}{maximum} のプロパティに、"255" と入力します。
+ 次に、最初の垂直方向のスライダをクリックすると、
+ \l{QAbstractSlider} のプロパティが表示されます。
+ \l{QAbstractSlider::}{maximum} のプロパティにも、"255" と入力します。
+ 残りのスピンボックスとスライダに対しても、この処理を繰り返します。
+ \endtable
+
+ ここで、フォームをプレビューし、アプリケーションの外観を確認します。
+ この操作を行うには、\key{Ctrl + R} を押すか、
+ \gui{フォーム}メニューから\gui{プレビュー}を選択します。
+ スライダをドラッグすると、
+ スピンボックスにその値が反映されます(逆の場合も同じ)。
+ またサイズを変更し、子ウィジェットの管理に使用するレイアウトが
+ どのようにウィンドウのさまざまなサイズに対応しているか確認します。
+*/
+
diff --git a/doc/src/ja_JP/development/qmake-manual.qdoc b/doc/src/ja_JP/development/qmake-manual.qdoc
new file mode 100644
index 0000000..8c9297f
--- /dev/null
+++ b/doc/src/ja_JP/development/qmake-manual.qdoc
@@ -0,0 +1,212 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qmake-tutorial.html
+ \title qmake チュートリアル
+
+ このチュートリアルでは \c qmake の使い方を説明します。
+ このチュートリアルを読み終わったら \c qmake
+ のユーザガイドを読むことをお勧めします。
+
+ \section1 簡単な例
+
+ アプリケーションの基本的な実装は既に完了していて、
+ 次のファイルが作成されていると仮定します。
+
+ \list
+ \o hello.cpp
+ \o hello.h
+ \o main.cpp
+ \endlist
+
+ これらのファイルは Qt ディストリビューションの
+ \c{examples/qmake/tutorial} ディレクトリにあります。
+ アプリケーションの設定について知っておくべきことは、
+ それが Qt で書かれているということだけです。
+ まず、テキストエディタで \c{examples/qmake/tutorial} に
+ \c hello.pro というファイルを作成します。
+ 最初にすることは、開発プロジェクトに含まれるソースファイルとヘッダファイルを
+ \c qmake に教える行を追加することです。
+
+ ソースファイルをプロジェクトファイルに追加します。
+ これには \l{qmake Variable Reference#SOURCES}{SOURCES} 変数を使います。
+ 新しい行を作り、\c{SOURCES +=}、続いて hello.cpp を入力します。
+ つまり、以下のようになります:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 108
+
+ これを以下のようになるまでプロジェクトの各ソースファイルに対して行います:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 109
+
+ make に似たシンタックスを使いたい場合は、
+ 以下のように改行をエスケープしてすべてのファイルを 1 行に書きます:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 110
+
+ ソースファイルの一覧をプロジェクトファイルに追加しました。
+ 次にヘッダファイルを追加します。
+ ヘッダファイルはソースファイルと全く同じ方法で追加することができます。
+ ただし変数は \l{qmake Variable Reference#HEADERS}{HEADERS}
+ を使います。
+
+ これを終えると、プロジェクトファイルは以下のようになるでしょう:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 111
+
+ ターゲットの名前は自動的に設定され、
+ プロジェクトファイルと同じ名前になります。
+ ただしプラットフォームに合わせたサフィックスがつけられます。
+ 例えば、プロジェクトファイルが \c hello.pro である場合、
+ ターゲットは Windows では \c hello.exe 、Unix では \c hello になります。
+ プロジェクトファイルで別の名前を指定することもできます:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 112
+
+ 最後に \l{qmake Variable Reference#CONFIG}{CONFIG} 変数を設定します。
+ このアプリケーションは Qt アプリケーションなので \c CONFIG に
+ \c qt を追加する必要があります。
+ \c qmake は リンクの必要があるライブラリを追加し、
+ \c moc と \c uic の実行コマンドが Makefile に含まれるようにします。
+
+ 最終的なプロジェクトファイルは以下のようになります:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 113
+
+ \c qmake を使って、このアプリケーションのための Makefile を生成します。
+ プロジェクトのディレクトリでコマンドラインに次のように入力します:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 114
+
+ そして、使用するコンパイラによって \c make または \c nmake を入力します。
+
+ Visual Studio ユーザの場合、\c qmake は、以下のように
+ \c .dsp ファイルまたは \c .vcproj ファイルも作成できます:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 115
+
+ \section1 アプリケーションをデバッグできるようにする
+
+ アプリケーションのリリースバージョンはデバッグシンボルなどのデバッグ情報を含みません。
+ 開発中は、関連情報を含むアプリケーションのデバッグバージョンを作成するのが便利です。
+ これは、プロジェクトファイルの \c CONFIG 変数に \c debug
+ を追加することで簡単に実現できます。
+
+ たとえば:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 116
+
+ 直前の例と同様に、Makefile を生成するには \c qmake を使います。
+ アプリケーションをデバッグ環境で実行する際に役に立つ情報を得られるようになります。
+
+ \section1 プラットフォーム固有のソースファイルを追加する
+
+ 数時間コーディングをしていると、
+ アプリケーションにプラットフォーム固有な部分が出てきて
+ プラットフォーム固有のコードを別のファイルに分けたい場合があるかもしれません。
+ ここでは 2 つのファイル \c hellowin.cpp と \c hellounix.cpp があるとして、
+ これをプロジェクトファイルに追加します。
+ これらのファイルをそのまま \c SOURCES 変数に追加することはできません。
+ なぜなら、両方のファイルが Makefile に追加されてしまうからです。
+ \c qmake が実行されたプラットフォームにしたがって処理されるスコープを使う必要があります。
+
+ Windows 用のファイルを追加するシンプルなスコープは以下のようになります:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 117
+
+ \c qmake が Windows 上で実行されると、ソースファイルのリストに
+ \c hellowin.cpp が追加されます。
+ \c qmake が他のプラットフォームで実行された場合、この部分は無視されます。
+ 次に Unix 用ファイルのスコープを作成します。
+
+ これを終えると、プロジェクトファイルは以下のようになります:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 118
+
+ これまでと同様に、Makefile を生成するには \c qmake を使います。
+
+ \section1 ファイルが存在しない場合に qmake を中止する
+
+ 特定のファイルが存在しない場合に Makefile を作成したくない場合、
+ exists() 関数を使ってファイルが存在するかどうかを確認することができます。
+ また error() 関数を使って \c qmake の処理を中止させることができます。
+ これらの関数はスコープとして動作します。
+ 使い方はスコープの条件をこれらの関数で置き換えるだけです。
+ \c main.cpp ファイルの確認は以下のようになります :
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 119
+
+ 記号 \c{!} はテストを否定します。
+ つまり \c{exists( main.cpp )} はファイルが存在する場合に真になり、
+ \c{!exists( main.cpp )} はファイルが存在しない場合に真になります。
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 120
+
+ 前と同様に、\c qmake を実行して Makefile を生成します。
+ 仮に \c main.cpp の名前を変更すると、上記のメッセージが表示され、
+ \c qmake は処理を中止します。
+
+ \section1 複数の条件をチェックする
+
+ Windows を使っていて、
+ コマンドラインからこのアプリケーションを実行したときに
+ qDebug() の出力を見ることができるようにしたい場合、
+ アプリケーションをコンソールの設定を追加してビルドする必要があります。
+ Windows で Makefile をこの設定にするには、
+ \c CONFIG に \c console を追加します。
+ Windows で実行されていて、\e{かつ} \c CONFIG にすでに \c debug
+ がある場合にのみ \c CONFIG を追加したい場合があるかもしれません。
+ このような場合、2 つのスコープをネストさせて使います。
+ まず 1 つのスコープを作成し、その中にもう 1 つスコープを作成します。
+ そして 2 つのスコープの中に設定を書きます。例えば:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 121
+
+ ネストされたスコープはコロンを使ってつなぐことができます。
+ 最終的なプロジェクトファイルは以下のようになります:
+
+ \snippet doc/src/snippets/code/doc_src_qmake-manual.qdoc 122
+
+ 以上です。\c qmake のチュートリアルが終了しました。
+ それでは、あなたの開発プロジェクトのプロジェクトファイルを作成してみましょう。
+*/
+
diff --git a/doc/src/ja_JP/development/qtestlib.qdoc b/doc/src/ja_JP/development/qtestlib.qdoc
new file mode 100644
index 0000000..65c4c3f
--- /dev/null
+++ b/doc/src/ja_JP/development/qtestlib.qdoc
@@ -0,0 +1,432 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qtestlib-tutorial.html
+ \brief QTestLib を使ったテストの導入ガイド
+ \contentspage QTestLib マニュアル
+ \nextpage {第1章: ユニットテストの作成}{第1章}
+
+ \title QTestLib チュートリアル
+
+ このチュートリアルでは QTestLib フレームワークの機能の初歩的な使い方を説明します。
+ このチュートリアルは全5章で構成されています:
+
+ \list 1
+ \o \l {第1章: ユニットテストの作成}{ユニットテストの作成}
+ \o \l {第2章: データドリブンテスト}{データドリブンテスト}
+ \o \l {第3章: GUI イベントのシミュレート}{GUI イベントのシミュレート}
+ \o \l {第4章: GUI イベントの再現}{GUI イベントの再現}
+ \o \l {第5章: ベンチマークの作成}{ベンチマークの作成}
+ \endlist
+
+*/
+
+
+/*!
+ \example qtestlib/tutorial1
+
+ \contentspage {QTestLib チュートリアル}{目次}
+ \nextpage {第2章: データドリブンテスト}{第2章}
+
+ \title 第1章: ユニットテストの作成
+
+ 第1章では、クラスのテストを行うシンプルなユニットテストを作成して実行する方法を説明します。
+
+ \section1 テストを作成する
+
+ QString クラスの挙動をテストすると仮定しましょう。
+ まず、テスト関数を含むクラスが必要です。
+ このクラスは、 QObject を継承する必要があります:
+
+ \snippet examples/qtestlib/tutorial1/testqstring.cpp 0
+
+ QTest ヘッダーを include してください。
+ それから、テストフレームワークがテスト関数を検索して実行できるよう、
+ テスト関数を private slot として宣言する必要があります。
+
+ 次に、テスト関数を実装します。実装は以下のようになります:
+
+ \snippet doc/src/snippets/code/doc_src_qtestlib.qdoc 8
+
+ \l QVERIFY() マクロは、引数として渡される式を評価します。
+ 式が真と評価されるとテスト関数の実行が継続されます。
+ そうでなければ、エラーメッセージがテストログに追加されテスト関数の実行が停止します。
+
+ テストログに詳細情報を追加したい場合は、
+ \l QCOMPARE() マクロを代わりに使用してください:
+
+ \snippet examples/qtestlib/tutorial1/testqstring.cpp 1
+
+ 文字列が等しくない場合、両方の文字列の内容がテストログに追加され、
+ 比較に失敗した理由を直ちに確認できます。
+
+ 最後に、テストケースを実行可能にするために以下の2行が必要となります:
+
+ \snippet examples/qtestlib/tutorial1/testqstring.cpp 2
+
+ \l QTEST_MAIN() マクロは、すべてのテスト関数を実行するシンプルな
+ \c main() 関数に展開されます。
+ テストクラスの宣言と実装が \c .cpp ファイルに存在する場合、
+ Qt のメタオブジェクト機能を動作させるために、
+ 生成された moc ファイルを include する必要があります。
+
+ \section1 テストを実行する
+
+ 作成したテストを実行してみましょう。
+ テストが \c testqstring.cpp
+ として空のディレクトリに保存されていると仮定して、
+ qmake を使用してプロジェクトを作成し、makefile を生成します。
+
+ \snippet doc/src/snippets/code/doc_src_qtestlib.qdoc 9
+
+ \bold {注:} Windows をお使いの場合、 \c make を \c nmake または、
+ 任意のビルドツールに置き換えてください。
+
+ 作成した実行ファイルを実行すると、次の出力が表示されます:
+
+ \snippet doc/src/snippets/code/doc_src_qtestlib.qdoc 10
+
+ おめでとうございます!
+ QTestLib フレームワークを使用して、
+ 最初のユニットテストの作成と実行に成功しました。
+*/
+
+/*!
+ \example qtestlib/tutorial2
+
+ \previouspage {第1章: ユニットテストの作成}{第1章}
+ \contentspage {QTestLib チュートリアル}{目次}
+ \nextpage {第3章: GUI イベントのシミュレート}{第3章}
+
+ \title 第2章: データドリブンテスト
+
+ 本章ではテストを複数回、それぞれ異なるテストデータを使用して行う方法について、
+ 例を示しながら説明します。
+
+ これまでは、テストデータをテスト関数にハードコードしていました。
+ この場合、テストデータを追加した関数は以下のようになります:
+
+ \snippet doc/src/snippets/code/doc_src_qtestlib.qdoc 11
+
+ 関数が繰り返しを行うコードによって分散するのを防ぐために、
+ QTestLib はテストデータのテスト関数への追加をサポートします。
+ そのために、別の private slot をテストクラスに追加する必要があります:
+
+ \snippet examples/qtestlib/tutorial2/testqstring.cpp 0
+
+ \section1 データ関数を記述する
+
+ テスト関数に関連するデータ関数では、テスト関数と同じ関数名を使用して、
+ 末尾に \c{_data} を追加します。
+ データ関数は以下のようになります:
+
+ \snippet examples/qtestlib/tutorial2/testqstring.cpp 1
+
+ まず、 \l QTest::addColumn() 関数を使用して、
+ テストテーブルの2つの要素(テスト文字列(\c{"string"})および、
+ QString::toUpper() 関数をその文字列に適用するときに予期された結果(\c{"result"}))
+ を定義します。
+
+ 次に、 \l QTest::newRow() 関数を使用して、
+ データをテーブルに追加します。
+ それぞれのデータセットは、テストテーブルでは別々の行(Row)になります。
+
+ \l QTest::newRow() は、データセット名をその引数として受け付けます。
+ テストに失敗した場合、テストログでこのデータセット名が使用され、
+ 失敗したデータの一覧が表示されます。
+ 続いて、最初に任意の文字列(\c{"string"})を、次に
+ QString::toUpper() 関数をその文字列(\c{"string"})に適用するときに予期された結果(\c{"result"})の順に、
+ テーブル行にデータセットをストリーミングします。
+
+ テストデータとは、二次元テーブルを指します。
+ ここでは、\c string および \c result と呼ばれる2つの列と3つの行が含まれます。
+ さらに、インデックスと同様に、各行に名前を関連付けます:
+
+ \table
+ \header
+ \o index
+ \o name
+ \o string
+ \o result
+ \row
+ \o 0
+ \o all lower
+ \o "hello"
+ \o HELLO
+ \row
+ \o 1
+ \o mixed
+ \o "Hello"
+ \o HELLO
+ \row
+ \o 2
+ \o all upper
+ \o "HELLO"
+ \o HELLO
+ \endtable
+
+ \section1 テスト関数を書き換える
+
+ ここで、テスト関数の書き換えを行います:
+
+ \snippet examples/qtestlib/tutorial2/testqstring.cpp 2
+
+ TestQString::toUpper() 関数は 3 回実行されます。
+ すなわち、関連する TestQString::toUpper_data()
+ 関数で作成したテストテーブルの各エントリ毎に一度実行されます。
+
+ TestQString::toUpper() 関数では
+ まず、 \l QFETCH() マクロを使用して、データセットの2つの要素を取得します。
+ \l QFETCH() は、要素のデータタイプと要素名の、
+ 2 つの引数を取ります。
+ 次に \l QCOMPARE() マクロを使用して、テストを実行します。
+
+ このアプローチにより、テストの修正を行うことなく
+ テストに新規データを非常に簡単に追加できます。
+
+ このテストの場合も、テストケースを実行可能にするには、
+ 同様に以下の2行が必要です:
+
+ \snippet examples/qtestlib/tutorial2/testqstring.cpp 3
+
+ これまでと同様に、 \l QTEST_MAIN() マクロは
+ すべてのテスト関数を実行するシンプルな
+ \c main() 関数に展開されます。
+ テストクラスの宣言と実装が \c .cpp ファイルに存在する場合、
+ Qt のメタオブジェクト機能を動作させるために、
+ 生成された moc ファイルを include する必要があります。
+
+*/
+
+/*!
+ \example qtestlib/tutorial3
+
+ \previouspage {第2章: データドリブンテスト}{第2章}
+ \contentspage {QTestLib チュートリアル}{目次}
+ \nextpage {第4章: GUI イベントの再現}{第4章}
+
+ \title 第3章: GUI イベントのシミュレート
+
+ QTestLib にはグラフィカルユーザインターフェースをテストするための機能があります。
+ QTestLib は、ネイティブなウィンドウシステムのイベントをシミュレートする代わりに、
+ Qt の内部で使われるイベントを送信します。
+ このため、テストが実行されるコンピュータには
+ 副次的な悪影響が発生しません。
+
+ 本章では、シンプルな GUI テストを作成する方法を確認します。
+
+ \section1 GUI テストを作成する
+
+ 今回は、 QLineEdit クラスの挙動をテストすると仮定しましょう。
+ これまでと同様に、テスト関数を含むクラスが必要です:
+
+ \snippet examples/qtestlib/tutorial3/testgui.cpp 0
+
+ 唯一の違いは、 QTest だけでなく、 QtGui クラスの宣言を
+ include する必要があることです。
+
+ \snippet examples/qtestlib/tutorial3/testgui.cpp 1
+
+ テスト関数を実装する際は、最初に QLineEdit を作成します。
+ 次に、 \l QTest::keyClicks() 関数を使用して、
+ "hello world" をラインエディットに入力する操作をシミュレートします。
+
+ \note キーボードショートカットを正しくテストするには、
+ ウィジェットの表示も必要になります。
+
+ QTest::keyClicks() は、
+ ウィジェットのキーシーケンスの入力をシミュレートします。
+ 必要に応じてキーボード修飾子の指定や、
+ 各キー入力後の遅延(ミリ秒単位)を指定することができます。
+ 同様に、 QTest::keyClick() 、 QTest::keyPress() 、 QTest::keyRelease() 、
+ QTest::mouseClick() 、 QTest::mouseDClick() 、 QTest::mouseMove() 、
+ QTest::mousePress() 及び QTest::mouseRelease() 関数を使用して、
+ 関連付けられた GUI イベントをシミュレートできます。
+
+ 最後に、 \l QCOMPARE() マクロを使用して、
+ ラインエディットの文字列が正しいかどうか確認します。
+
+ これまでと同様に、
+ テストケースを実行可能にするには、
+ 以下の2行が必要です:
+
+ \snippet examples/qtestlib/tutorial3/testgui.cpp 2
+
+ QTEST_MAIN() マクロは
+ すべてのテスト関数を実行するシンプルな
+ \c main() 関数に展開されます。
+ テストクラスの宣言と実装が \c .cpp ファイルに存在する場合、
+ Qt のメタオブジェクト機能を動作させるために、
+ 生成された moc ファイルを include する必要があります。
+*/
+
+/*!
+ \example qtestlib/tutorial4
+
+ \previouspage {第3章: GUI イベントのシミュレート}{第3章}
+ \contentspage {QTestLib チュートリアル}{目次}
+ \nextpage {第5章: ベンチマークの作成}{第5章}
+
+ \title 第4章: GUI イベントの再現
+
+ 本章では、GUI イベントをシミュレートしたり、
+ あるウィジェットで一連の GUI イベントを再生したり保存したりする方法について説明します。
+
+ 一連のイベントを保存して再生するアプローチは、
+ \l{第2章: データドリブンテスト}{第2章}
+ で説明したアプローチとよく似ています。
+ 必要な変更は、テストクラスにデータ関数を追加することです:
+
+ \snippet examples/qtestlib/tutorial4/testgui.cpp 0
+
+ \section1 データ関数を記述する
+
+ これまでと同様にテスト関数に関連するデータ関数では、
+ テスト関数と同じ名前を使用して末尾に \c{_data} を追加します。
+
+ \snippet examples/qtestlib/tutorial4/testgui.cpp 1
+
+ まず、 QTest::addColumn() 関数を使用して、
+ テーブルの2つの要素(GUI イベントのリスト(\c{"events"})および、
+ QWidget のイベントのリストを適用するときに予期された結果(\c{"expected"}))を定義します。
+ 最初の要素の型は \l QTestEventList であることに注意してください。
+
+ QTestEventList では、後で使用するテストデータの保存を行うために
+ GUI イベントを読み込んだり、 QWidget ウィジェットで再生したりできます。
+
+ 現在のデータ関数で、 \l QTestEventList を2つ作成します。
+ 最初のリストには 'a' キーを一度だけ入力します。
+ QTestEventList::addKeyClick() 関数を使用して、
+ リストにイベントを追加します。
+ 次に、QTest::newRow() 関数を使用してデータセットに名前を付けて、
+ テーブルにイベントリストおよび予期された結果をストリーミングします。
+
+ 2つ目のリストには、2つのキー入力('a' に続いてバックスペース(Qt::Key_Backspace))を設定します。
+ QTestEventList::addKeyClick() を使用してリストにイベントを追加し、
+ QTest::newRow() を使用して名前を関連付けたテーブルにイベントリストおよび予期された結果を挿入します。
+
+ \section1 テスト関数を書き換える
+
+ ここで、テストの書き換えを行います:
+
+ \snippet examples/qtestlib/tutorial4/testgui.cpp 2
+
+ TestGui::testGui() 関数は2回実行されます。
+ 関連する TestGui::testGui_data()
+ 関数で作成したテストデータの各エントリ毎にそれぞれ実行されます。
+
+ まず、\l QFETCH() マクロを使用して、データセットの2つの要素を取得します。
+ \l QFETCH() は、要素のデータ型と要素名の2つの引数を取ります。
+ 次に QLineEdit を作成し、 QTestEventList::simulate() 関数を使用して
+ ウィジェットにイベントのリストを適用します。
+
+ 最後に、 QCOMPARE() マクロを使用してラインエディットの文字列が正しいかどうか確認します。
+
+ これまでと同様に、
+ テストケースを実行可能にするには、
+ 以下の2行が必要です:
+
+ \snippet examples/qtestlib/tutorial4/testgui.cpp 3
+
+ \l QTEST_MAIN() マクロは
+ すべてのテスト関数を実行するシンプルな
+ \c main() 関数に展開されます。
+ テストクラスの宣言と実装が \c .cpp ファイルに存在する場合、
+ Qt のメタオブジェクト機能を動作させるために、
+ 生成された moc ファイルを include する必要があります。
+*/
+
+/*!
+ \example qtestlib/tutorial5
+
+ \previouspage {第4章: GUI イベントの再現}{第4章}
+ \contentspage {QTestLib チュートリアル}{目次}
+
+ \title 第5章: ベンチマークの作成
+
+ 最終章となる本章では QTestLib を使ってベンチマークを作成する方法について説明します。
+
+ \section1 ベンチマークの作成
+ ベンチマークを作成するには QBENCHMARK マクロを用いてテスト関数を拡張します。
+ ベンチマークテスト関数には通常、テストの準備コードと測定するコードを含む
+ QBENCHMARK マクロが一つ含まれます。
+ QString::localeAwareCompare() のベンチマークを行う関数は以下のようになります。
+
+ \snippet examples/qtestlib/tutorial5/benchmarking.cpp 0
+
+ 測定の準備は関数の最初に行われています。
+ この時点では測定は始まっていません。
+ QBENCHMARK マクロで囲まれたブロックの中身のみが計測されます。
+ このブロックの内部は正確な測定を行うために、何度か繰り返し実行される場合があります。
+
+ \l {testlib-benchmarking-measurement}{ベンチマークの方法}(バックエンド)は何種類か用意されており、
+ コマンドライン引数から選択することが出来ます。
+
+ \section1 データ関数
+
+ データ関数は複数のデータでベンチマークを行うテストを作成するのに有用です。
+ たとえば、ロケール準拠と標準的な比較を行う場合は以下のようになります。
+
+ \snippet examples/qtestlib/tutorial5/benchmarking.cpp 1
+
+ テスト関数ではデータに従ってベンチマークする手法を決定します。
+
+ \snippet examples/qtestlib/tutorial5/benchmarking.cpp 2
+
+ "if (useLocaleCompare)" 文はそのオーバヘッドを測定対象外とするために
+ QBENCHMARK マクロのブロックの外部にあります。
+ ベンチマークの実行時にはそれぞれどちらか一つの QBENCHMARK マクロが実行されます。
+
+ \section1 外部ツール
+
+ テストデータの可視化を行うためのツールが Qt Labs Web サイトの
+ \l{qtestlib-tools} プロジェクトに含まれています。
+ そこには実行したテストの結果からパフォーマンスを比較したり、
+ パフォーマンスのWeb用グラフを作成するツールが含まれています。
+
+ それらのツールの詳細と簡単なグラフの例は
+ \l{qtestlib-tools Announcement} を参照してください。
+
+*/
+
+
+
diff --git a/doc/src/ja_JP/examples/arrowpad.qdoc b/doc/src/ja_JP/examples/arrowpad.qdoc
new file mode 100644
index 0000000..2518264
--- /dev/null
+++ b/doc/src/ja_JP/examples/arrowpad.qdoc
@@ -0,0 +1,248 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example linguist/arrowpad
+ \title サンプル: アローパッド
+
+ この例では、\e {Qt Linguist} の主なコンセプトである"文脈"について、
+ 少し詳しく取り上げて説明します。
+ また、2つ以上の言語を使用する方法についても説明します。
+
+ \image linguist-arrowpad_en.png
+
+ アプリケーションで使用可能な言語の数に制限はありませんが、
+ ここではフランス語とオランダ語の2言語の翻訳を使用します。
+ \c arrowpad.pro の関連する行は以下のとおりです。
+
+ \snippet examples/linguist/arrowpad/arrowpad.pro 0
+ \codeline
+ \snippet examples/linguist/arrowpad/arrowpad.pro 1
+
+ \c lupdate を実行すると、2つの類似したメッセージファイル
+ \c arrowpad_fr.ts と \c arrowpad_nl.ts が作成されます。
+ これらのファイルにはすべてのソーステキストとその文脈が含まれます。
+ それらのテキストは \c tr() の呼び出しを通じて翻訳対象として
+ ソースコード内でマークされているものです。
+
+ Qt アプリケーションの翻訳の詳細については、
+ \l{Qt Linguist manual}{Qt Linguist マニュアル} をご覧ください。
+
+ \section1 各行の簡単な解説
+
+ \c arrowpad.h では、 QWidget の派生クラスである \c ArrowPad
+ クラスを定義します。
+ 上記のスクリーンショットで
+ 中央の 4 つのボタンを持つウィジェットが \c ArrowPad です。
+
+ \snippet examples/linguist/arrowpad/arrowpad.h 0
+ \snippet examples/linguist/arrowpad/arrowpad.h 1
+ \snippet examples/linguist/arrowpad/arrowpad.h 2
+
+ \c lupdate を実行するとソーステキストの抽出だけでなく、
+ 文脈へのグループ化を行うことができます。
+ ソーステキストが表示されるクラスの名前が文脈となります。
+ 従って、この例では、"ArrowPad" が
+ \c ArrowPad クラスの文字列の文脈です。
+ \c Q_OBJECT のマクロは、以下の内容で
+ \c ArrowPad に \c tr(x) を定義します:
+
+ \snippet doc/src/snippets/code/doc_src_examples_arrowpad.qdoc 0
+
+ 各ソーステキストが表示されるクラスを把握しておくと、
+ \e {Qt Linguist} で論理的に関連のある文字列をグループ化することが出来ます。
+ 例えば、ダイアログ内のすべての文字列には
+ ダイアログのクラス名の文脈が含まれるため、同時に表示されます。
+ 文字列が表示される文脈によって翻訳の内容が影響を受ける場合があるため、
+ 翻訳者にとって有用な情報となります。
+ 一部の翻訳では、キーボードショートカットを変更する必要があります。
+ また、同じグループにまとめられた特定の文脈(クラス)
+ にすべてのソーステキストを含めることにより、
+ 翻訳者はコンフリクトを起こすことなく、
+ より簡単にショートカットを変更できます。
+
+ \c arrowpad.cpp で、\c ArrowPad クラスを実装します。
+
+ \snippet examples/linguist/arrowpad/arrowpad.cpp 0
+ \snippet examples/linguist/arrowpad/arrowpad.cpp 1
+ \snippet examples/linguist/arrowpad/arrowpad.cpp 2
+ \snippet examples/linguist/arrowpad/arrowpad.cpp 3
+
+ ラベルはユーザ表示可能な文字列であるため、
+ ボタンのラベルごとに \c ArrowPad::tr() を呼び出します。
+
+ \image linguist-arrowpad_en.png
+
+ \snippet examples/linguist/arrowpad/mainwindow.h 0
+ \snippet examples/linguist/arrowpad/mainwindow.h 1
+
+ 上記のスクリーンショットでは、ウィンドウ全体が \c MainWindow です。
+ これは、\c mainwindow.h ヘッダーファイルで定義します。
+ ここでも、\c MainWindow が \e {Qt Linguist} の文脈になるよう、
+ \c Q_OBJECT を使用します。
+
+ \snippet examples/linguist/arrowpad/mainwindow.cpp 0
+
+ \c MainWindow と \c mainwindow.cpp を実装する際に、
+ \c ArrowPad クラスのインスタンスを作成します。
+
+ \snippet examples/linguist/arrowpad/mainwindow.cpp 1
+
+ また、\c MainWindow::tr() を、
+ アクションおよびショートカット用に、計 2 回呼び出します。
+
+ \c tr() を使用して、言語によって異なるキーをサポートします。
+ 英語の場合、"Ctrl+Q" は Quit (終了) に適していますが、
+ オランダ語の翻訳者は "Ctrl+A" (Afsluiten の場合) を、
+ ドイツ語の翻訳者は "Strg+E" (Beenden の場合) を使うといいでしょう。
+ \key Ctrl キーショートカットを \c tr() で使用する場合は
+ 引数を 2 つ使用して、
+ ショートカットが実行する機能を2番目の引数に記述してください。
+
+ \c main.cpp で定義した標準的な \c main() 関数は、以下のようになります。
+
+ \snippet examples/linguist/arrowpad/main.cpp 2
+ \snippet examples/linguist/arrowpad/main.cpp 3
+
+ 現在のロケールに基づいて、使用する翻訳を選択します。
+ 例えば、QLocale::system() は、
+ \c LANG 環境変数の設定によって影響を受ける場合があります。
+ \c .qm メッセージファイル(および TS ファイル)の命名規則に
+ ロケールを使用すると、
+ 簡単にロケールに基づいて翻訳ファイルを選択することが
+ できるようになります。
+
+ 選択したロケールに QM メッセージファイルが存在しない場合、
+ 元のソーステキストが使用され、エラーは生成されません。
+
+ \section1 フランス語からオランダ語に翻訳する
+
+ ここでは、サンプルアプリケーションをフランス語に翻訳することから始めます。
+ \e {Qt Linguist} を起動し、\c arrowpad_fr.ts の作業を行います。
+ 2つの文脈 ("ArrowPad" および "MainWindow")
+ にグループ化された7つのソーステキスト ("\&Up", "\&Left" 等)
+ が含まれているはずです。
+
+ 次に、以下の翻訳を入力します:
+
+ \list
+ \o \c ArrowPad
+ \list
+ \o \&Up - \&Haut
+ \o \&Left - \&Gauche
+ \o \&Right - \&Droite
+ \o \&Down - \&Bas
+ \endlist
+ \o \c MainWindow
+ \list
+ \o E\&xit - \&Quitter
+ \o Ctrl+Q - Ctrl+Q
+ \o \&File - \&Fichier
+ \endlist
+ \endlist
+
+ 翻訳の入力が終わったら、 \key{Ctrl+Return} (もしくは\gui {完了にして次へ}
+ ボタン)を押すと、
+ 翻訳が完了とマークされ次のソーステキストに移動するため便利です。
+
+ ファイルを保存して、オランダ語の翻訳でも同じ手順を実行し、
+ \c arrowpad_nl.ts の作業を行います:
+
+ \list
+ \o \c ArrowPad
+ \list
+ \o \&Up - \&Omhoog
+ \o \&Left - \&Links
+ \o \&Right - \&Rechts
+ \o \&Down - Omlaa\&g
+ \endlist
+ \o \c MainWindow
+ \list
+ \o E\&xit - \&Afsluiten
+ \o Ctrl+Q - Ctrl+A
+ \o File - \&Bestand
+ \endlist
+ \endlist
+
+ \c tt1_fr.ts と \c tt1_nl.ts の翻訳ソースファイルは
+ QM ファイルに変換する必要があります。
+ 以前と同様の方法で \e {Qt Linguist} を使用して変換できますが、
+ コマンドラインツール \c lrelease を使うと
+ \e {Qt Linguist} から個々の \gui {ファイル|リリース} を読み込まなくても、
+ アプリケーションの\e{すべての} QM ァイルを作成できます。
+
+ 以下を入力します:
+
+ \snippet doc/src/snippets/code/doc_src_examples_arrowpad.qdoc 1
+
+ これにより、\c arrowpad_fr.qm と \c arrowpad_nl.qm が作成されます。
+ \c LANG 環境変数を \c fr に設定します。
+ Unix では、以下の2つのコマンドのいずれかが機能します。
+
+ \snippet doc/src/snippets/code/doc_src_examples_arrowpad.qdoc 2
+
+ Windows では、\c autoexec.bat を修正するか、以下を実行します。
+
+ \snippet doc/src/snippets/code/doc_src_examples_arrowpad.qdoc 3
+
+ プログラムを実行すると、フランス語版が表示されます:
+
+ \image linguist-arrowpad_fr.png
+
+ \c LANG=nl を設定し、オランダ語でも同じ手順を実行します。
+ これで、オランダ語版が表示されます:
+
+ \image linguist-arrowpad_nl.png
+
+ \section1 エクササイズ
+
+ \e {Qt Linguist} で未完了の翻訳を行います。
+ 例えば、各テキストのチェックマークをクリックして翻訳を未完了の状態にして保存します。
+ その後、 \c lupdate 、\c lrelease 、サンプルの順に実行します。
+ この変更がどのような影響を及ぼしましたか。
+
+ \c LANG=fr_CA (フランス語(カナダ))に設定し、
+ サンプルプログラムを再実行します。
+ \c LANG=fr の場合と同じ結果になる理由を説明してください。
+
+ オランダ語翻訳のショートカットのいずれかを変更し、
+ \e \&Bestand と \e \&Boven の競合を解消します。
+*/
diff --git a/doc/src/ja_JP/examples/hellotr.qdoc b/doc/src/ja_JP/examples/hellotr.qdoc
new file mode 100644
index 0000000..cc01b81
--- /dev/null
+++ b/doc/src/ja_JP/examples/hellotr.qdoc
@@ -0,0 +1,200 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example linguist/hellotr
+ \title サンプル: こんにちは tr()
+
+ これは、小さな Hello World プログラムを日本語に翻訳する例です。
+ 以下のスクリーンショットは英語版です。
+
+ \image linguist-hellotr_en.png
+
+ Qt アプリケーションの翻訳に関する詳細は、\l{Qt Linguist manual}
+ をご覧ください。
+
+ \section1 各行の簡単な解説
+
+ \snippet examples/ja_JP/linguist/hellotr/main.cpp 0
+
+ この行では、 QTranslator クラスの宣言を読み込みます。
+ QTranslator クラスのオブジェクトは、
+ ユーザに表示する文字列を翻訳します。
+
+ \snippet examples/ja_JP/linguist/hellotr/main.cpp 5
+
+ 親をもたない QTranslator オブジェクトを作成します。
+
+ \snippet examples/ja_JP/linguist/hellotr/main.cpp 6
+
+ プログラムで使用するソーステキストの日本語の翻訳を含む、
+ \c hellotr_ja.qm ( \c .qm というファイル拡張子は省略します)
+ と呼ばれるファイルを読み込みます。
+ ファイルが見つからなくてもエラーは発生しません。
+
+ \snippet examples/ja_JP/linguist/hellotr/main.cpp 7
+
+ \c hellotr_ja.qm の翻訳を、プログラムで使用する翻訳プールに追加します。
+
+ \snippet examples/ja_JP/linguist/hellotr/main.cpp 8
+
+ "Hello world!" を表示するプッシュボタンを作成します。
+ 検索した \c hellotr_ja.qm に "Hello world!" の翻訳が含まれている場合、
+ その翻訳が表示されます。
+ 含まれていない場合、翻訳前のテキストがそのまま表示されます。
+
+ QObject を継承するすべてのクラスには、\c tr() 関数が含まれます。
+ QObject クラスのメンバ関数内では、\c QPushButton::tr("Hello world!")
+ や \c QObject::tr("Hello world!") の代わりに、シンプルに
+ \c tr("Hello world!") を使います。
+
+ \section1 英語版のアプリケーションを実行する
+
+ 翻訳ファイル \c hellotr_ja.qm の作成が終わっていないため、
+ 以下のアプリケーションを起動したときに元の文字列が表示されます。
+
+ \image linguist-hellotr_en.png
+
+ \section1 日本語のメッセージファイルを作成する
+
+ 最初のステップは、プロジェクトのすべてのソースファイルを列挙する
+ \c hellotr.pro を作成することです。
+ プロジェクトファイルは、qmake プロジェクトファイルまたは、通常の
+ makefile である可能性があります。
+ 以下の記述を含むプロジェクトファイルを作成してください。
+
+ \snippet examples/ja_JP/linguist/hellotr/hellotr.pro 0
+ \snippet examples/ja_JP/linguist/hellotr/hellotr.pro 1
+
+ \c TRANSLATIONS は、管理するメッセージファイルを指します。
+ この例では、日本語の翻訳のみ管理します。
+
+ ファイル拡張子は、\c .qm ではなく、\c .ts であることにご注意ください。
+ \c .ts は翻訳のソースファイルのフォーマットであり、
+ アプリケーションの開発時に使用します。
+ プログラマーまたはリリースマネージャーは \c lupdate プログラムを実行し、
+ ソースコードから抽出したソーステキストを使用して
+ TS ファイルの生成と更新を行います。
+ 翻訳者は、 \e {Qt Linguist} を使用して TS ファイルの読み取りと更新を行い、
+ 翻訳の追加と編集を行います。
+
+ TS の形式は、ユーザが直接閲覧可能な XML 形式であるため、
+ 直接Eメールで送信したり、簡単にバージョン管理の対象にすることが出来ます。
+ このファイルを手動で編集する場合、XML の既定のエンコードは UTF-8 で、
+ Latin1(ISO 8859-1)ではないことに気をつけてください。
+ '\oslash'(ノルウェー語の o にスラッシュが付いたもの)などの
+ Latin1 文字を入力する1つの方法は、XML エンティティ "&#xf8;"
+ を使用することです。
+ これはすべての Unicode 4.0 文字に対して有効です。
+
+ 翻訳が完了したら、\c lrelease プログラムを使用して、
+ TS ファイルを QM ファイル(Qt Message ファイル)形式に変換します。
+ QM 形式は、極めて高速な検索性能を実現するようにデザインされた
+ コンパクトなライブラリ形式です。
+ \c lupdate と \c lrelease はどちらも、
+ プロジェクト全体のソースファイルとヘッダーファイル
+ (プロジェクトファイルの HEADERS および SOURCES 行で指定されている)
+ を読み取り、\c tr() 関数呼び出しの際に表示される文字列を抽出します。
+
+ \c lupdate は、メッセージファイル(この場合は \c hellotr_ja.ts)
+ の作成と更新を行い、これらをソースコードと同期させるために使用します。
+ \c lupdate にはデータの削除機能がないため、
+ \c lupdate はいつでも安全に実行できます。
+ 例えば、ソースが変更されるたびに TS ファイルが更新されるよう、
+ makefile に記述できます。
+
+ それでは、以下のように \c lupdate を実行してみましょう:
+
+ \snippet doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc 0
+
+ (\c -verbose オプションは、操作を説明するメッセージを表示するよう
+ \c lupdate に指示します。)
+ 現在のディレクトリに、以下の内容で
+ \c hellotr_ja.ts ファイルが作成されていると思います:
+
+ \snippet doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc 1
+
+ ツール (\c lupdate、 \e {Qt Linguist}、\c lrelease)
+ を使用して読み取りと更新を行うため、
+ ファイル形式を理解する必要はありません。
+
+ \section1 Qt Linguist を使用して日本語に翻訳する
+
+ XML やテキストエディタを使用して、TS ファイルを翻訳することも出来ますが、
+ ここでは \e {Qt Linguist} を使用して翻訳を行います。
+
+ \e {Qt Linguist} を起動するには、以下を入力します。
+
+ \snippet doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc 2
+
+ 左上のペインに "QPushButton" が表示されるはずです。
+ これをダブルクリックし、次に "Hello world!" をクリックして、
+ \gui Translation ペイン (ウィンドウ右中央)に
+ "こんにちは、世界!" と入力します。
+ 感嘆符(!)を忘れないように付けてください!
+
+ \gui{完了} チェックボックスをオンにして、
+ メニューバーから \gui{ファイル|保存} を選択します。
+ TS ファイルから、以下の記述がなくなります。
+
+ \snippet doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc 3
+
+ その代わりに以下が含まれます。
+
+ \snippet doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc 4
+
+ \section1 日本語版のアプリケーションを実行する
+
+ 日本語版のアプリケーションを実行する前に、
+ TS ファイルから QM ファイルを生成する必要があります。
+ QM ファイルは、\e {Qt Linguist}(単一の TS ファイルの場合)のメニューから、
+ もしくは、コマンドラインプログラム \c lrelease を使用して生成できます。
+ \c lrelease を使用する場合、
+ プロジェクトファイルに列挙されている TS ファイルごとに
+ 1 つの QM ファイルを作成することが出来ます。
+ \e {Qt Linguist} のメニューバーから \gui{ファイル|リリース} を選択し、
+ ポップアップ表示される \gui{ファイルの保存} ダイアログで\gui{保存}を選択し、
+ \c hellotr_ja.ts から \c hellotr_ja.qm を生成します。
+ 今すぐ \c hellotr プログラムを再実行してみましょう。
+ これで、ボタンに "こんにちは、世界!" と表示されます。
+
+ \image linguist-hellotr_ja.png
+*/
diff --git a/doc/src/ja_JP/examples/trollprint.qdoc b/doc/src/ja_JP/examples/trollprint.qdoc
new file mode 100644
index 0000000..1686774
--- /dev/null
+++ b/doc/src/ja_JP/examples/trollprint.qdoc
@@ -0,0 +1,286 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example linguist/trollprint
+ \title サンプル: トロールプリント
+
+ トロールプリント(Troll Print)は、
+ ユーザがプリンタの設定をするためのサンプルアプリケーションです。
+ これには、英語とポルトガル語の2つのバージョンが用意されています。
+
+ \image linguist-trollprint_10_en.png
+
+ この例では、いくつかのポルトガル語の翻訳を含む翻訳ファイル
+ \c trollprint_pt.ts を用意しました。
+
+ 同じアプリケーションの2つのバージョン、
+ Troll Print 1.0 と 1.1 をリリースすることを想定します。
+ 1つのバージョンで作成した翻訳を次のリリースで再利用する方法を習得します。
+ (このチュートリアルでは、いくつかのソースファイルの編集が必要です。
+ 新しい一時ディレクトリにすべてのファイルをコピーして、
+ ここで作業を行うのがベストでしょう。)
+
+ Qtアプリケーションの翻訳の詳細については、
+ \l{Qt Linguist manual}{Qt Linguist マニュアル} をご覧ください。
+
+ \section1 各行の簡単な解説
+
+ \c PrintPanel クラスを \c printpanel.h で宣言します。
+
+ \snippet examples/linguist/trollprint/printpanel.h 0
+
+ \c PrintPanel は QWidget の派生クラスです。
+ \c tr() が正しく動作するには、\c Q_OBJECT マクロが必要です。
+
+ 実装ファイルは \c printpanel.cpp です。
+
+ \snippet examples/linguist/trollprint/printpanel.cpp 0
+
+ Troll Print 1.0 で一部のコードがコメントアウトされています。
+ Troll Print 1.1 にバージョンアップする際に、
+ コメントから戻してください。
+
+ \snippet examples/linguist/trollprint/printpanel.cpp 1
+ \snippet examples/linguist/trollprint/printpanel.cpp 2
+
+ PrintPanel では、\c tr("Enabled") と \c tr("Disabled")
+ を2回ずつ使用することに注意してください。
+ "Enabled" と "Disabled" はどちらも同じ文脈で表示されるため、
+ \e {Qt Linguist} では、それぞれ1回目の使用に対してのみ表示され、
+ 2回目以降の使用に対しては翻訳が流用されるため表示されません。
+ これは便利な時間短縮ツールですが、ポルトガル語などの一部の言語では、
+ 2回目の使用に対して異なる翻訳が必要になります。
+ これから、\e {Qt Linguist}で、
+ すべての \c tr() に対して異なる翻訳を表示できるように設定する方法を学習します。
+
+ \c MainWindow, \c mainwindow.h はシンプルなヘッダーファイルです。
+ \c mainwindow.cpp の実装には、翻訳対象としてマークする必要のある
+ ユーザに表示するソーステキストがあります。
+
+ \snippet examples/linguist/trollprint/mainwindow.cpp 0
+
+ ウィンドウのタイトルは翻訳する必要があります。
+
+ \snippet examples/linguist/trollprint/mainwindow.cpp 1
+ \snippet examples/linguist/trollprint/mainwindow.cpp 3
+
+ また、アクションとメニューも翻訳する必要があります。
+ キーボードショートカット "Ctrl+Q" に対して使用している \c tr()
+ の第 2 引数は、このショートカットがどのような機能を有しているかを
+ 翻訳者に示す唯一の情報であることに注意してください。
+
+ \snippet examples/linguist/trollprint/main.cpp 0
+
+ \c main.cpp の \c main() 関数は、
+ \l{linguist/arrowpad}{アローパッド} の例の場合と同じになります。
+ 具体的には、現在のロケールに基づいて、翻訳ファイルを選択します。
+
+ \section1 英語とポルトガル語で Troll Print 1.0 を実行する
+
+ 既存の \c trollprint_pt.ts ファイルの翻訳を使用します。
+
+ \c LANG 環境変数を \c pt に設定して、\c trollprint を実行します。
+ QM ファイルがないため、スクリーンショットは英語版のままです。
+ ここで、\c lrelease (例: \c {lrelease trollprint.pro})を実行し、
+ サンプルを再実行します。
+ これで、ポルトガル語版(Troll Imprimir 1.0)になりました:
+
+ \image linguist-trollprint_10_pt_bad.png
+
+ 翻訳は正しく表示されていますが、誤りがあります。
+ 文法的に正しいポルトガル語では、
+ "Enabled" が2回目に使用されるときの正しい翻訳は、
+ "Ativado" ではなく "Ativadas" であり、
+ "Disabled" が2回目に翻訳されるときも、
+ 語尾を同様に変化させる必要があります。
+
+ \e {Qt Linguist} で \c trollprint_pt.ts を開くと、
+ ソースコードには "Enabled" と "Disabled" が2回ずつ使われていますが、
+ 翻訳ソースファイルでは1回ずつしか使われていません。
+ これは、\e {Qt Linguist} では、
+ ソーステキストが重複する場合は翻訳を流用することにより、
+ 翻訳者の作業を最小限に抑えようとするためです。
+ このように類似した翻訳に誤りがある場合、
+ プログラマは繰り返し使用する際に翻訳の曖昧さを排除する必要があります。
+ これは、2個の引数を取る\c tr() を使用することにより、
+ 容易に実行できます。
+
+ 実際には、翻訳者の"文脈"は変更する必要のある文字列が表示されるクラスに対するクラス名であるため、
+ どのファイルを変更すべきか簡単に特定できます。
+ この場合、ファイルは \c printpanel.cpp であり、
+ 変更すべき行は4行あります。
+ ラジオボタンの最初のペアの \c tr() 呼び出しに、2つ目の引数 "two-sided"(両面) をに追加します:
+
+ \snippet doc/src/snippets/code/doc_src_examples_trollprint.qdoc 0
+
+ そして、ラジオボタンの2番目のペアの \c tr() 呼び出しに、
+ 2つ目の引数 "colors"(色) を追加します。
+
+ \snippet doc/src/snippets/code/doc_src_examples_trollprint.qdoc 1
+
+ ここで、\c lupdate を実行し、\e {Qt Linguist} で
+ \c trollprint_pt.ts を開きます。2 つの変更個所がわかるはずです。
+
+ まず、翻訳ソースファイルには、\e{3組}の "Enabled" と
+ "Disabled" のペアが含まれています。
+ 最初のペアは、既に利用されていないテキストであることを意味する灰色になっています。
+ これは、 \c tr() 内の文字列が第二引数を追加した新たな
+ \c tr() の文字列で置き換えられたからです。
+ 2番目のペアには、"two-sided"(両面) というコメントが含まれており、
+ 3番目のペアには、"colors"(色) というコメントが含まれています。
+ これらのコメントは、\e {Qt Linguist} に
+ \gui {開発者のコメント} として表示されます。
+
+ 次に、翻訳者の作業を最小限に抑えるために、
+ 新たに使用される "Enabled" と "Disabled" の文字列に対して、
+ 訳語 "Ativado" と "Desativado" が自動的に使用されます。
+ これらの訳語は、これらの原語が2回目に使用される場合の正しい翻訳ではありません。
+ ここからが、チュートリアルの出発点です。
+
+ 2番目の "Ativado" を "Ativadas" に、
+ 2番目の "Desativado" を "Desativadas" に変更し、保存して終了します。
+ \c lrelease を実行して最新のバイナリ \c trollprint_pt.qm ファイルを作成し、
+ Troll Print (または Troll Imprimir) を実行します。
+
+ \image linguist-trollprint_10_pt_good.png
+
+ \e {Qt Linguist} では "comments" と呼ばれる
+ \c tr() 呼び出しの2つ目の引数は、
+ 同じ文脈(クラス)で発生する類似したソーステキストを識別します。
+ コメントは、たとえば Ctrl キーによるキーボードショートカットが
+ ショートカットによって実行される機能を伝達する唯一の手段である場合等に、
+ 翻訳者に情報を提供するのに便利です。
+
+ 翻訳者に情報を提供する他の手段は、
+ 翻訳の必要があるソーステキストを含むアプリケーションの
+ 特定の部分への移動方法に関する情報を提供することです。
+ これにより、翻訳者は、翻訳が表示される文脈を確認し、
+ 翻訳を検索してテストを行うことができます。
+ これは、ソースコードで \c TRANSLATOR
+ コメントを使用して行います:
+
+ \snippet doc/src/snippets/code/doc_src_examples_trollprint.qdoc 2
+
+ 一部のソースファイル、特にダイアログクラスのコメントに
+ ダイアログに到達するまでに必要な操作を記述します。
+ また、\c mainwindow.cpp や \c printpanel.cpp など、
+ 適切なサンプルファイルにこれらを追加することもできます。
+ \c lupdate を実行して \e {Qt Linguist} を起動し、
+ \c trollprint_pt.ts を読み込みます。
+ ソーステキストの一覧を参照する際に、
+ \gui{ソーステキスト}と\gui{開発者のコメント}
+ の領域に表示されるコメントを確認できます。
+
+ 特に大きなプログラムでは、翻訳者が自分の翻訳を探し、
+ それが適切かどうかを確認することが困難な場合があります。
+ コメントは役立つナビゲーション情報を提供するため、
+ 翻訳に要する時間を節約できます:
+
+ \snippet doc/src/snippets/code/doc_src_examples_trollprint.qdoc 3
+
+ \section1 Troll Print 1.1
+
+ これから、Troll Print のバージョン 1.1 のリリースの準備を行います。
+ テキストエディターを起動して、次の手順に従って変更を行ってください:
+
+ \list
+ \o \c printpanel.cpp の文字列 "\<b\>TROLL PRINT\</b\>" を引数に
+ QLabel を作成する2つの行のコメントを解除します。
+ \o ソースの変更: \c printpanel.cpp で、"2-sided" を
+ "Two-sided" に置き換えます。
+ \o \c mainwindow.cpp で、すべての "1.0" を "1.1" に置き換えます。
+ \o \c mainwindow.cpp で、著作権表示の年号を 1999-2000 に更新します。
+ \endlist
+
+ (実際のアプリケーションでは、バージョン番号と著作権表示の年号は
+ const または #define をつかって定義するでしょう。)
+
+ 終了したら、\c lupdate を実行し、\e {Qt Linguist} で
+ \c trollprint_pt.ts を開きます。以下の項目は、特別なコンテンツです:
+
+ \list
+ \o \c MainWindow
+ \list
+ \o Troll Print 1.0 - 古いテキストとして灰色でマーク
+ \o About Troll Print 1.0 - 古いテキストとして灰色でマーク
+ \o Troll Print 1.0. Copyright 1999 Software, Inc. -
+ 古いテキストとして灰色でマーク
+ \o Troll Print 1.1 - 自動的に "Troll Imprimir 1.1" に翻訳(未完了)
+ \o About Troll Print 1.1 - 自動的に "Troll Imprimir 1.1" に翻訳(未完了)
+ \o Troll Print 1.1. Copyright 1999-2000 Software,
+ Inc. - 自動的に "Troll Imprimir 1.1.
+ Copyright 1999-2000 Software, Inc." に翻訳(未完了)
+ \endlist
+ \o \c PrintPanel
+ \list
+ \o 2-sided - 古いテキストとして灰色でマーク
+ \o \<b\>TROLL PRINT\</b\> - 未翻訳のテキストとして"?"マーク
+ \o Two-sided - 未翻訳のテキストとして"?"マーク
+ \endlist
+ \endlist
+
+ \c lupdate は、修正を容易に行い、数字の処理を効率的に行うために、
+ 様々な処理を行っています。
+
+ \c MainWindow の翻訳の見直しを行います。
+ "\<b\>TROLL PRINT\</b\>" を "\<b\>TROLL IMPRIMIR\</b\>" と翻訳します。
+ "Two-sided" を翻訳する際には、\gui{フレーズと推測} の欄から
+ "2-lados" をダブルクリックして訳に選択した後に、
+ "2" を "Dois" に変更します。
+
+ 保存して終了し、\c lrelease を実行します。
+ ポルトガル語版の表示は以下のようになります:
+
+ \image linguist-trollprint_11_pt.png
+
+ \gui{Ajuda|Sobre} (\gui{Help|About}) を選択し、
+ バージョン情報ボックスを確認します。
+
+ \gui{Ajuda|Sobre Qt} (\gui{Help|About Qt}) を選択した場合、
+ 英語版のダイアログが表示されます。
+ Qt の翻訳はまだ終わっていません。
+ 詳細については、\l{Internationalization with Qt} を参照してください。
+
+ ここで、\c LANG=en を設定し、元の英語版を実行してみてください:
+
+ \image linguist-trollprint_11_en.png
+*/
diff --git a/doc/src/ja_JP/getting-started/tutorials.qdoc b/doc/src/ja_JP/getting-started/tutorials.qdoc
new file mode 100644
index 0000000..701ba88
--- /dev/null
+++ b/doc/src/ja_JP/getting-started/tutorials.qdoc
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page tutorials.html
+ \title チュートリアル
+
+ \contentspage How to Learn Qt
+ \nextpage Qt Examples
+
+ \brief Qt の学習を助けるチュートリアルやガイドの概要
+
+ \nextpage Qt Examples
+
+ Qt で提供されているこれらのチュートリアルやガイドは
+ 新たに Qt の開発を始めるユーザの良い助けとなります。
+ これらのドキュメントでは ウィジェットの基本的な使い方から始まり
+ ステップバイステップでアプリケーションの使い方を学ぶことが出来ます。
+
+ \table
+ \row
+ \o{2,1} \l{ウィジェットのチュートリアル}{\bold ウィジェット}
+ \o{2,1} \l{チュートリアル: アドレス帳}{\bold {アドレス帳}}
+ \row
+ \o \image widget-examples.png Widgets
+ \o
+ ウィジェットとレイアウトを使って GUI アプリケーションを作成する
+ 初心者向けのガイドです。
+
+ \o \image addressbook-tutorial.png AddressBook
+ \o
+ 完全な機能を持つアドレス帳アプリケーションを作成する 7 章で構成されたガイドです。
+
+ \row
+ \o{2,1} \l{Qt Designer クイックガイド}{\bold{Qt Designer}}
+ \o{2,1} \l{Qt Linguist Manual: Programmers#Tutorials}{\bold {Qt Linguist}}
+ \row
+ \o \image designer-examples.png QtDesigner
+ \o
+ \QD を使ってフォームを生成する基本的な手順を説明するクイックガイドです。
+
+ \o \image linguist-examples.png QtLinguist
+ \o
+ \l{サンプル: こんにちは tr()}{こんにちは tr()}、
+ \l{サンプル: アローパッド}{アローパッド}、
+ \l{サンプル: トロールプリント}{トロールプリント}
+ の三例を通じて翻訳の方法を説明します。
+
+ \row
+ \o{2,1} \l{QTestLib チュートリアル}{\bold QTestLib}
+ \o{2,1} \l{qmake チュートリアル}{\bold qmake}
+ \row
+ \o{2,1}
+ Qt のユニットテストフレームワークである QTestLib の機能の初歩的な使い方を説明するチュートリアルです。
+ このチュートリアルは4章で構成されています。
+
+ \o{2,1}
+ \c qmake の使い方を説明するチュートリアルです。
+ このチュートリアルを卒業した後は \l{qmake Manual}{qmake user guide}(英語)
+ を読むことをお勧めします。
+
+ \endtable
+*/
diff --git a/doc/src/ja_JP/images/linguist-hellotr_en.png b/doc/src/ja_JP/images/linguist-hellotr_en.png
new file mode 100644
index 0000000..05aa945
--- /dev/null
+++ b/doc/src/ja_JP/images/linguist-hellotr_en.png
Binary files differ
diff --git a/doc/src/ja_JP/images/linguist-hellotr_ja.png b/doc/src/ja_JP/images/linguist-hellotr_ja.png
new file mode 100644
index 0000000..d9beb01
--- /dev/null
+++ b/doc/src/ja_JP/images/linguist-hellotr_ja.png
Binary files differ
diff --git a/doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc b/doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc
new file mode 100644
index 0000000..e05cd12
--- /dev/null
+++ b/doc/src/ja_JP/snippets/code/doc_src_examples_hellotr.qdoc
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+lupdate -verbose hellotr.pro
+//! [0]
+
+
+//! [1]
+<!DOCTYPE TS><TS>
+<context>
+ <name>QPushButton</name>
+ <message>
+ <source>Hello world!</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
+//! [1]
+
+
+//! [2]
+linguist hellotr_ja.ts
+//! [2]
+
+
+//! [3]
+<translation type='unfinished'></translation>
+//! [3]
+
+
+//! [4]
+<translation>こんにちは、世界!</translation>
+//! [4]
diff --git a/doc/src/ja_JP/tutorials/addressbook.qdoc b/doc/src/ja_JP/tutorials/addressbook.qdoc
new file mode 100644
index 0000000..9fb1059
--- /dev/null
+++ b/doc/src/ja_JP/tutorials/addressbook.qdoc
@@ -0,0 +1,1070 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page tutorials-addressbook.html
+
+ \title チュートリアル: アドレス帳
+ \brief シンプルだが、完全な機能を持つアプリケーションの作成を通じた
+ GUI プログラミングへの導入。
+
+ このチュートリアルでは、Qt クロスプラットフォームフレームワークを使用した
+ GUI プログラミングの概要について説明しています。
+
+ \image addressbook-tutorial-screenshot.png
+
+ \omit
+ It doesn't cover everything; the emphasis is on teaching the programming
+ philosophy of GUI programming, and Qt's features are introduced as needed.
+ Some commonly used features are never used in this tutorial.
+ \endomit
+
+ このチュートリアルでは以下に示す Qt の基本的な機能を学ぶことが出来ます:
+
+ \list
+ \o ウィジェットとレイアウトマネージャ
+ \o コンテナクラス
+ \o シグナル/スロット
+ \o 入力デバイスと出力デバイス
+ \endlist
+
+ Qt を初めて利用する方は、最初に \l{How to Learn Qt} をご覧ください。
+
+ チュートリアルの目次:
+
+ \list 1
+ \o \l{tutorials/addressbook/part1}{ユーザインターフェースの設計}
+ \o \l{tutorials/addressbook/part2}{アドレスの追加}
+ \o \l{tutorials/addressbook/part3}{項目間のナビゲーション}
+ \o \l{tutorials/addressbook/part4}{アドレスの編集と削除}
+ \o \l{tutorials/addressbook/part5}{検索機能の追加}
+ \o \l{tutorials/addressbook/part6}{読み込みと保存}
+ \o \l{tutorials/addressbook/part7}{その他の機能}
+ \endlist
+
+ このチュートリアルのソースコードは、Qt の
+ \c examples/tutorials/addressbook ディレクトリに置かれています。
+
+ この小さなアプリケーションは本格的な最新の GUI
+ アプリケーションのようには見えませんが、
+ 複雑なアプリケーションで使用される多くの基本的な技術が採用されています。
+ このチュートリアルが終わったら、
+ メニューやツールバー、ステータスバーなどを表示する
+ 小さな GUI アプリケーションである
+ \l{mainwindows/application}{Application}
+ のサンプルをチェックすることをお勧めします。
+
+*/
+
+/*!
+ \page tutorials-addressbook-part1.html
+
+ \example tutorials/addressbook/part1
+ \title 第1章 - ユーザインターフェースのデザイン
+
+ 本チュートリアルの第1章では
+ アドレス帳アプリケーションで使用する基本的なインターフェース
+ (GUI) の設計について説明します。
+
+ GUI プログラム作成の最初のステップは、
+ ユーザインターフェースを設計することです。
+ 本章の目標は、基本的なアドレス帳アプリケーションを実装するのに必要な
+ ラベルと入力フィールドを設定することです。
+ 下図は、ここで作成しようとしているアドレス帳のスクリーンショットです。
+
+ \image addressbook-tutorial-part1-screenshot.png
+
+ ユーザがアドレス帳に名前や住所を入力できるようにするには、
+ 2つの QLabel のオブジェクトである \c nameLabel 及び \c addressLabel と、
+ 入力フィールドとして QLineEdit オブジェクトの \c nameLine と
+ QTextEdit オブジェクトの \c addressText が必要です。
+ 使用するウィジェットとその配置は下図に示してあります。
+
+ \image addressbook-tutorial-part1-labeled-screenshot.png
+
+ 以下の3つのファイルを使用してこのアドレス帳を実装します:
+
+ \list
+ \o \c{addressbook.h} - \c AddressBook クラスを宣言するファイル、
+ \o \c{addressbook.cpp} - \c AddressBook クラスを実装するファイル、
+ \o \c{main.cpp} - \c AddressBook クラスのインスタンスを持つ
+ \c main() 関数を含むファイル。
+ \endlist
+
+ \section1 Qt プログラミング - 派生クラスの作成
+
+ Qt プログラムを作成する際は、
+ 通常 Qt オブジェクトの派生クラスを作成して機能を追加します。
+ これは、カスタムウィジットや標準的なウィジェットの集合体を作成する場合の
+ 重要なコンセプトの1つです。
+ ウィジェットの挙動の拡張や変更のために派生クラスを作成することには
+ 以下のような利点があります:
+
+ \list
+ \o 仮想関数または純粋仮想関数の実装を行って要求される機能を実装できます。
+ 必要によっては基底クラスの実装にフォールバックして利用できます。
+
+ \o これにより、アプリケーションのその他の部分が
+ ユーザインターフェースの個々のウィジェットを指定する必要がないよう、
+ ユーザインターフェースの一部をクラス内にカプセル化できます。
+
+ \o 派生クラスは、同一のアプリケーションまたはライブラリに
+ 複数のカスタムウィジットを作成するために使用できます。
+ また、派生クラスのコードは、他のプロジェクトで再利用可能です。
+
+ \endlist
+
+ Qt ではアドレス帳ウィジェットを提供していないため、
+ 標準的な Qt ウィジェットクラスを継承して機能を追加します。
+ 本チュートリアルで作成する \c AddressBook クラスは、
+ 基本的なアドレス帳ウィジェットが必要な場合に再利用できます。
+
+ \section1 AddressBook クラスの宣言
+
+ \l{tutorials/addressbook/part1/addressbook.h}{\c addressbook.h}
+ ファイルは、 \c AddressBook クラスを宣言するために使用します。
+
+ ここでは \c AddressBook を QWidget の派生クラスとし、
+ コンストラクタを宣言することから始めます。
+ また、 Q_OBJECT マクロを使用して、クラスで多言語化機能及び、
+ Qt のシグナル/スロット機能が使われていることを示します。
+ ただし、現段階ではこれらの機能の全てを使わない場合もあります。
+
+ \snippet tutorials/addressbook/part1/addressbook.h class definition
+
+ クラスは、 前述した QLineEdit と QTextEdit のプライベートなインスタンス
+ \c nameLine と \c addressText の宣言を保有します。
+ 後述の章で、 \c nameLine 及び \c addressText に保存したデータが、
+ 多くのアドレス帳の機能で必要になることがわかるでしょう。
+
+ 我々が使用する QLabel オブジェクトは、
+ 一旦作成すると後で参照する必要がないため、宣言する必要はありません。
+ Qt でオブジェクトの所有権を追跡する方法については、次節で説明します。
+
+ Q_OBJECT マクロ自体は、Qt のより高度な機能を実装します。
+ ここでは、 Q_OBJECT マクロを、 \l{QObject::}{tr()} 及び
+ \l{QObject::}{connect()} 関数を使用可能にする
+ ショートカットとみなしたほうが良いでしょう。
+
+ これで、 \c addressbook.h ファイルが完成しました。
+ 次は対応する \c addressbook.cpp ファイルの実装を行います。
+
+ \section1 AddressBook クラスの実装
+
+ \c AddressBook のコンストラクタは、 \a{parent} パラメータとして
+ QWidget を受け取ります。
+ 慣例により、このパラメータを基底クラスのコンストラクタに渡します。
+ 親が複数の子を所有できるというこの所有概念は、
+ Qt でウィジェットのグループ化を行う場合に有用です。
+ 例えば、親を削除すると、親に属する子も全て削除されます。
+
+ \snippet tutorials/addressbook/part1/addressbook.cpp constructor and input fields
+
+ このコンストラクタ内で、 \c nameLine と \c addressText のインスタンスを生成し、
+ 2つのローカル QLabel オブジェクトの \c nameLabel と \c addressLabel
+ を宣言し、そのインスタンスを生成します。
+ \l{QObject::tr()}{tr()} 関数は、
+ 翻訳した文字列が存在する場合にそれを返します。
+ そうでない場合は、引数の文字列自体を返します。
+ この関数は文字列が他の言語に翻訳されるようにマークする役目を持ちます。
+ 翻訳可能な文字列を使用するたびに、マークしてください。
+
+ Qt を使用してプログラミングを行う場合、
+ レイアウトが機能する仕組みを理解していると便利です。
+ Qt は主に、以下の3つのレイアウトクラスを提供します。
+ ウィジェットの配置を処理するための QHBoxLayout 、 QVBoxLayout 及び
+ QGridLayout です。
+
+ \image addressbook-tutorial-part1-labeled-layout.png
+
+ ここでは、 QGridLayout を使って、
+ ラベルと入力フィールドを配置します。
+ QGridLayout は、有効なスペースを格子状に分割し、
+ 行/列番号により指定するセルに、ウィジェットを配置します。
+ 上図は、レイアウトセルとウィジェットの位置を示しており、
+ 以下のコードを使用して、この配置を指定します:
+
+ \snippet tutorials/addressbook/part1/addressbook.cpp layout
+
+ \c addressLabel は、追加引数として Qt::AlignTop を用いて配置されていることに注意してください。
+ これは、セル(1,0) で縦方向の中央に配置されないようにするためです。
+ Qt のレイアウトにおける基本概念については、
+ \l{Layout Management} のドキュメントをご覧ください。
+
+ ウィジェットにレイアウトオブジェクトをインストールするには、
+ ウィジェットの \l{QWidget::setLayout()}{setLayout()}
+ 関数を呼び出す必要があります。
+
+ \snippet tutorials/addressbook/part1/addressbook.cpp setting the layout
+
+ 最後に、ウィジェットのタイトルを "Simple Address Book" とします。
+
+ \section1 アプリケーションを実行する
+
+ 別のファイル \c main.cpp に、 \c main() 関数に実装します。
+ この関数内で、QApplication である \c app のインスタンスを生成します。
+ QApplication は、既定のフォントやカーソルなど
+ アプリケーションに共通な複数のリソース及び、
+ イベントループの実行に関与しています。
+ 従って、Qt を使用する全ての GUI アプリケーションでは、
+ 必ず QApplication が存在します。
+
+ \snippet tutorials/addressbook/part1/main.cpp main function
+
+ スタックに新しい \c AddressBook ウィジェットを生成し、
+ \l{QWidget::show()}{show()} 関数を呼び出して表示します。
+ ただし、ウィジェットはアプリケーションのイベントループが
+ 開始されるまで表示されません。
+ アプリケーションの \l{QApplication::}{exec()} 関数を呼び出して、
+ イベントループを開始します。
+ この関数により返された結果は、 \c main() 関数の戻り値として使用されます。
+ この時点で、スタックで \c AddressBook
+ をインスタンス化した理由が明らかになります。
+ イベントループが終了すると \c main() 関数のスコープの外に移動します。
+ それに伴って \c AddressBook 及び、
+ これに属する全ての子ウィジェットが削除されるため、
+ メモリリークを防ぐことができます。
+*/
+
+/*!
+ \page tutorials-addressbook-part2.html
+
+ \example tutorials/addressbook/part2
+ \title 第2章 - アドレスの追加
+
+ 基本的なアドレス帳アプリケーションを作成するための次の手順は、
+ ユーザからの操作を可能にすることです。
+
+ \image addressbook-tutorial-part2-add-contact.png
+
+ 新しい連絡先を追加するために、
+ ユーザがクリックするプッシュボタンを作成します。
+ また、これらの連絡先を整理して保存するために、
+ 何らかのデータ構造が必要になります。
+
+ \section1 AddressBook クラスの宣言
+
+ ラベルと入力フィールドの設定が完了しているため、
+ 連絡先を追加する際に必要なプッシュボタンを追加します。
+ \c addressbook.h ファイルに、
+ 3つの QPushButton オブジェクトを宣言し、
+ 対応する3つの public slot を作成します。
+
+ \snippet tutorials/addressbook/part2/addressbook.h slots
+
+ スロットとは特定のシグナルに応答して呼び出される関数をいいます。
+ このコンセプトについては、 \c AddressBook
+ クラスを実装する際にさらに詳細に取り上げます。
+ なお、Qt のシグナル/スロットのコンセプトの概要については、
+ \l{Signals and Slots} のドキュメントを参照してください。
+
+ 3つの QPushButton オブジェクト \c addButton 、 \c submitButton 、
+ \c cancelButton は、前章の \c nameLine と \c addressText とともに、
+ プライベート変数宣言に含まれています。
+
+ \snippet tutorials/addressbook/part2/addressbook.h pushbutton declaration
+
+ アドレス帳の連絡先を横断して表示するには、
+ 連絡先保持用のコンテナが必要です。
+ QMap のオブジェクトである \c contacts をこの目的に使用します。
+ \c contacts にはキーとして連絡先の名前 \e key
+ とそれに対応する値として連絡先の住所 \e value を格納します。
+
+ \snippet tutorials/addressbook/part2/addressbook.h remaining private variables
+
+ QString の2つのプライベートオブジェクトとして \c oldName と \c oldAddress
+ も宣言します。
+ これらのオブジェクトは、ユーザが \gui Add
+ をクリックする前に最後に表示した連絡先の名前と住所が含まれている必要があります。
+ ユーザが \gui Cancel
+ をクリックすると、最後に表示した連絡先の詳細に戻って表示することが出来ます。
+
+ \section1 AddressBook クラスの実装
+
+ \c AddressBook のコンストラクタ内で、連絡先の詳細を編集することなく
+ 表示のみを行えるよう、 \c nameLine と \c addressText
+ を読み取り専用に設定します。
+
+ \dots
+ \snippet tutorials/addressbook/part2/addressbook.cpp setting readonly 1
+ \dots
+ \snippet tutorials/addressbook/part2/addressbook.cpp setting readonly 2
+
+ 次に、プッシュボタン \c addButton 、 \c submitButton 、 \c cancelButton
+ のインスタンスを生成します。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp pushbutton declaration
+
+ \c addButton を、 \l{QPushButton::show()} 関数を呼び出して表示します。
+ \c submitButton と \c cancelButton は、
+ \l{QPushButton::hide()}{hide()} を呼び出して非表示にします。
+ これら2つのプッシュボタンはユーザが \gui Add
+ をクリックした場合にのみ表示され、後に説明する
+ \c addContact() によって処理されます。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp connecting signals and slots
+
+ 各プッシュボタンの \l{QPushButton::clicked()}{clicked()} を、
+ それぞれのスロットに接続します。
+ 下図はこれを説明したものです。
+
+ \image addressbook-tutorial-part2-signals-and-slots.png
+
+ 次に、 QVBoxLayout を使用して、
+ アドレス帳ウィジェットの右側にプッシュボタンを
+ 上下一列に配置します。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp vertical layout
+
+ \l{QBoxLayout::addStretch()}{addStretch()} 関数は、
+ プッシュボタンを等間隔に並べるのではなく、
+ ウィジェット上部に近づけて配置するために使用します。
+ 下図は、\l{QBoxLayout::addStretch()}{addStretch()} を使用した場合と、
+ 使用しない場合の違いを示しています。
+
+ \image addressbook-tutorial-part2-stretch-effects.png
+
+ 次に、\l{QGridLayout::addLayout()}{addLayout()} を使用して、
+ \c buttonLayout1 を \c mainLayout に追加します。
+ \c buttonLayout1 は \c mainLayout の子となり、
+ レイアウトが入れ子になりました。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp grid layout
+
+ レイアウトの配置は以下のようになります:
+
+ \image addressbook-tutorial-part2-labeled-layout.png
+
+ \c addContact() では、最後に表示した連絡先の詳細を、
+ \c oldName と \c oldAddress に保存します。
+ 次に、これらの入力フィールドをクリアし、読み取り専用モードを解除します。
+ \c nameLine にフォーカスをセットして、 \c submitButton と \c cancelButton を表示します。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp addContact
+
+ \c submitContact() 関数は、以下の次の3つの要素から成ります:
+
+ \list 1
+
+ \o \c nameLine 及び \c addressText から連絡先の詳細を抽出し、
+ QString オブジェクトに保存します。
+ また、ユーザが入力フィールドに何も入力せずに
+ \gui Submit をクリックしないよう確認します。
+ どちらかのフィールドが空であれば、ユーザに名前と住所の入力を求める
+ QMessageBox が表示されます。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp submitContact part1
+
+ \o 続けて、連絡先が既に存在するかどうか確認します。
+ 存在しない場合は \c contacts に連絡先を追加して QMessageBox を表示し、
+ 連絡先が追加されたことをユーザに知らせます。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp submitContact part2
+
+ 連絡先が既に存在する場合、 QMessageBox を表示し、
+ 連絡先が重複して追加されないように
+ 連絡先が存在することをユーザに知らせます。
+ \c contacts オブジェクトは、名前と住所のキー値のペアで構成されているため、
+ \e key が一意であることを確認します。
+
+ \o 上記の両方の事例に対処したら、
+ 以下のコードを使ってプッシュボタンを通常の状態に戻します:
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp submitContact part3
+
+ \endlist
+
+ 以下のスクリーンショットは、ユーザに情報メッセージを表示するために使用する
+ QMessageBox オブジェクトです。
+
+ \image addressbook-tutorial-part2-add-successful.png
+
+ \c cancel() 関数は、最後に表示した連絡先の詳細を復元して
+ \c addButton を有効にし、 \c submitButton と \c cancelButton
+ を非表示にします。
+
+ \snippet tutorials/addressbook/part2/addressbook.cpp cancel
+
+ 連絡先を追加する際の概念は、ユーザがいつでも自由に
+ \gui{送信} または \gui{キャンセル} をクリックできるようにすることです。
+ 以下のフローチャートは、この概念を詳細に説明しています:
+
+ \image addressbook-tutorial-part2-add-flowchart.png
+*/
+
+/*!
+ \page tutorials-addressbook-part3.html
+
+ \example tutorials/addressbook/part3
+ \title 第3章 - 項目間のナビゲーション
+
+ アドレス帳アプリケーションは、半分完成しました。
+ 次に表示する連絡先を変更するために、いくつかの関数を追加します。
+ しかし、最初に、これらの連絡先を保存するために使用するデータ構造の種類を決める必要があります。
+
+ 第2章では、連絡先の名前 \e key 及び、連絡先の住所 \e value
+ の鍵と値のペアで QMap を使用しました。
+ これは、この事例で使用するのに適した構造です。
+ ただし、各項目間を移動して表示するには、多少の機能拡張が必要です。
+
+ QMap を、最初の要素と最後の要素を含むすべての要素が接続された
+ 循環リストに似たデータ構造に、機能拡張します。
+ 下図はこのデータ構造を説明したものです。
+
+ \image addressbook-tutorial-part3-linkedlist.png
+
+ \section1 AddressBook クラスの宣言
+
+ アドレス帳アプリケーションにナビゲーション機能を追加するには、
+ \c AddressBook クラスに2つのスロットを追加する必要があります。
+ next() 及び \c previous() を
+ \c addressbook.h ファイルに追加します。
+
+ \snippet tutorials/addressbook/part3/addressbook.h navigation functions
+
+ また、新たに2つの QPushButton オブジェクトが必要になります。
+ プライベート変数として
+ \c nextButton と \c previousButton を宣言します。
+
+ \snippet tutorials/addressbook/part3/addressbook.h navigation pushbuttons
+
+ \section1 AddressBook クラスの実装
+
+ \c addressbook.cpp の \c AddressBook コンストラクタでは、
+ \c nextButton と \c previousButton のインスタンスを生成し
+ 初期設定で無効にします。
+ これは、アドレス帳に複数の連絡先が存在しない場合、
+ ナビゲーションを有効にしないためです。
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp navigation pushbuttons
+
+ これらのプッシュボタンを、それぞれスロットに接続します:
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp connecting navigation signals
+
+ 以下の画像は、ここで作成しようとしている
+ グラフィカルユーザインターフェースです。
+ 最終アプリケーションが完成間近であることがわかるでしょう。
+
+ \image addressbook-tutorial-part3-screenshot.png
+
+ \c next() と \c previous() では基本的な規約に従って、
+ \c nextButton を右側に、 \c previousButton を左側に配置します。
+ 直感的でわかりやすいレイアウトに仕上げるために、
+ QHBoxLayout を使用してウィジェットを横に並べて配置します:
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp navigation layout
+
+ 次に、 \c mainLayout に、QHBoxLayout のオブジェクトである
+ \c buttonLayout2 を追加します。
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp adding navigation layout
+
+ 下図は、 \c mainLayout のウィジェットの配置を示します。
+ \image addressbook-tutorial-part3-labeled-layout.png
+
+ \c addContact() 関数内部では、
+ ユーザが連絡先を追加しているときに移動しないよう、
+ これらのボタンを無効にする必要があります。
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp disabling navigation
+
+ また、 \c submitContact() 関数では、 \c contacts のサイズに応じて、
+ ナビゲーションボタン \c nextButton 及び \c previousButton を有効にします。
+ 前述のように、アドレス帳に複数の連絡先が存在しない場合は、
+ ナビゲーションを有効にできません。
+ 以下のコードは、その処理方法を示しています。
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp enabling navigation
+
+ \c cancel() 関数にも、これらの処理を含めます。
+
+ ここで、QMap のオブジェクト \c contacts を使って、
+ 循環リストをエミュレートしましょう。
+ \c next() 関数で、 \c contacts のイテレータを作成し、次に:
+
+ \list
+ \o イテレータが \c contacts の末尾にない場合は、次の項目に移動します。
+
+ \o イテレータが \c contacts の末尾にある場合は、
+ \c contacts の先頭に移動します。
+ これによって、QMap が循環リストのように機能するという印象を与えます。
+ \endlist
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp next() function
+
+ \c contacts 内の正しいオブジェクトに移動したら、
+ \c nameLine と \c addressText に内容を表示します。
+
+ 同様に、 \c previous() 関数で、 \c contacts のイテレータを作成し、次に:
+ \list
+ \o イテレータが \c contacts の末尾にある場合は、
+ 表示をクリアして戻ります。
+
+ \o イテレータが \c contacts の先頭にある場合は、末尾に移動します。
+
+ \o イテレータを直前の項目に移動します。
+ \endlist
+
+ \snippet tutorials/addressbook/part3/addressbook.cpp previous() function
+
+ もう一度、 \c contacts に現在のオブジェクトの内容を表示します。
+*/
+
+/*!
+ \page tutorials-addressbook-part4.html
+
+ \example tutorials/addressbook/part4
+ \title 第4章 - アドレスの編集と削除
+
+ 本章では、アドレス帳アプリケーションに保存されている
+ 連絡先の内容を変更する方法について説明します。
+
+ \image addressbook-tutorial-screenshot.png
+
+ ここでは、連絡先を整理して保存するだけでなく、
+ ナビゲーションが可能なアドレス帳を作成します。
+ 必要に応じて連絡先の詳細を変更できるよう、
+ 編集・削除機能を追加すると便利です。
+ ただし、列挙型書式の若干の改善が必要になります。
+ 前章では、次の2つのモードを扱いました:
+ \c AddingMode 及び \c NavigationMode -
+ ただし、これらは列挙型として定義しませんでした。
+ 代わりに、対応するボタンを手動で有効または無効にし、
+ 複数行のコードを繰り返します。
+
+ 本章では、以下のような2つの異なる値を持つ \c Mode 列挙型を定義します:
+
+ \list
+ \o \c{NavigationMode}
+ \o \c{AddingMode}
+ \o \c{EditingMode}
+ \endlist
+
+ \section1 AddressBook クラスの宣言
+
+ \c addressbook.h ファイルをアップデートし、 \c Mode 列挙型を追加します:
+
+ \snippet tutorials/addressbook/part4/addressbook.h Mode enum
+
+ また、public slot として2つの新しいスロット
+ \c editContact() 及び \c removeContact() を追加します。
+
+ \snippet tutorials/addressbook/part4/addressbook.h edit and remove slots
+
+ モードを切り替えるために、すべての QPushButton オブジェクトの
+ 有効化/無効化を制御する \c updateInterface() 関数を導入します。
+ また、前述の編集と削除を行うスロット用に、2つの新しいボタン
+ \c editButton 及び \c removeButton を追加します。
+
+ \snippet tutorials/addressbook/part4/addressbook.h updateInterface() declaration
+ \dots
+ \snippet tutorials/addressbook/part4/addressbook.h buttons declaration
+ \dots
+ \snippet tutorials/addressbook/part4/addressbook.h mode declaration
+
+ 最後に、現在のモードを保持する列挙型の \c currentMode を宣言します。
+
+ \section1 AddressBook クラスの実装
+
+ ここで、アドレス帳アプリケーションのモード変更機能を実装する必要があります。
+ アドレス帳をはじめて起動するときは、
+ メモリに連絡先が保存されていないため、
+ コンストラクタでは、 \c editButton 及び \c removeButton
+ のインスタンスの生成と無効化を行います。
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp edit and remove buttons
+
+ また、ボタンをそれぞれのスロット \c editContact() 及び \c removeContact()
+ に接続し、 \c buttonLayout1 に追加します。
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp connecting edit and remove
+ \dots
+ \snippet tutorials/addressbook/part4/addressbook.cpp adding edit and remove to the layout
+
+ \c editContact() は、モードを \c EditingMode に切り替える前に、
+ 連絡先の古い詳細情報を、 \c oldName と \c oldAddress に保存します。
+ このモードでは、 \c submitButton と \c cancelButton
+ の両方が有効になるため、ユーザは連絡先の詳細を変更し、
+ どちらか一方のボタンをクリックできます。
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp editContact() function
+
+ \c submitContact() 関数は、 \c{if-else} ステートメントにより、
+ 2つの処理に分割しています。
+ \c currentMode が \c AddingMode であるかどうかを確認します。
+ その場合、連絡先追加の処理を行います。
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp submitContact() function beginning
+ \dots
+ \snippet tutorials/addressbook/part4/addressbook.cpp submitContact() function part1
+
+ \c AddingMode でない場合、 \c currentMode が \c EditingMode
+ であるかどうか確認します。
+ その場合、 \c oldName を \c name と比較します。
+ 名前を変更した場合、 \c contacts から古い連絡先を削除し、
+ 新たに更新した連絡先を挿入します。
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp submitContact() function part2
+
+ 住所のみを変更した場合 (たとえば、 \c oldAddress は \c address と異なる)、
+ 連絡先の住所を更新します。
+ 最後に、 \c currentMode を \c NavigationMode に設定します。
+ これは、無効にしたプッシュボタンをすべて再び有効にするための重要なステップです。
+
+ アドレス帳から連絡先の削除を行う
+ \c removeContact() 関数を実装します。
+ この関数では、まず連絡先が \c contacts に存在するかどうか確認します。
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp removeContact() function
+
+ 存在する場合、ユーザに削除を確認するために、QMessageBox を表示します。
+ ユーザが確認したら、 \c previous() を呼び出して、
+ ユーザインターフェースで他の連絡先を表示できることを確認し、
+ QMap の \l{QMap::remove()}{remove()} 関数を使用して連絡先を削除します。
+ 念のため、QMessageBox を表示してユーザに知らせます。
+ この関数で使用するメッセージボックスを以下に示します:
+
+ \image addressbook-tutorial-part4-remove.png
+
+ \section2 ユーザインターフェースを更新する
+
+ 既に、 \c updateInterface() 関数が
+ 現在のモードに応じてプッシュボタンの有効化と無効化を行うための
+ 手段であることを説明しました。
+ この関数は、渡される \c mode 引数に応じて現在のモードを更新します。
+ なお、引数の値を確認する前に \c currentMode に代入しています。
+
+ このとき、それぞれのプッシュボタンは、
+ 現在のモードに応じて有効または無効になります。
+ \c AddingMode 及び \c EditingMode でのコードを以下に示します:
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp update interface() part 1
+
+ \c NavigationMode の場合、 QPushButton::setEnabled()
+ 関数のパラメータに条件を含めます。
+ これは、アドレス帳に少なくとも1つ以上の連絡先が存在する場合に、
+ \c editButton と \c removeButton が有効であることを確認するためのものです。
+ \c nextButton と \c previousButton は、
+ アドレス帳に少なくとも2つ以上の連絡先が存在する場合にのみ有効になります。
+
+ \snippet tutorials/addressbook/part4/addressbook.cpp update interface() part 2
+
+ モードの設定及び、同一関数内でのユーザインターフェースの更新を行うタスクを実行することにより、
+ アプリケーションの内部状態により
+ ユーザインターフェースが「非同期」になる可能性を防ぎます。
+*/
+
+/*!
+ \page tutorials-addressbook-part5.html
+
+ \example tutorials/addressbook/part5
+ \title 第5章 - 検索機能の追加
+
+ 本章では、アドレス帳アプリケーションの連絡先と住所を
+ 検索する方法について説明します。
+
+ \image addressbook-tutorial-part5-screenshot.png
+
+ アドレス帳アプリケーションへ連絡先の追加を繰り返すと、
+ \e Next 及び \e Previous ボタンによる連絡先のナビゲートが面倒になります。
+ この場合、\e{検索(Find)}機能を使うと、
+ 連絡先の検索をより効率的に行うことができます。
+ 上記スクリーンショットは、\e Find ボタン及び、
+ パネル上のボタンの位置を示します。
+
+ ユーザーが \e Find ボタンをクリックすると、
+ 連絡先の名前の入力を求めるダイアログを表示します。
+ Qt が提供する QDialog クラスを継承して \c FindDialog クラスを導入します。
+
+ \section1 FindDialog クラスの宣言
+
+ \image addressbook-tutorial-part5-finddialog.png
+
+ QDialog を継承するには、最初に、QDialog のヘッダーを
+ \c finddialog.h ファイルで include する必要があります。
+ また、これらのウィジェットをダイアログクラスで使用するため、
+ 前方宣言を使用して QLineEdit と QPushButton を宣言します。
+
+ \c AddressBook クラスと同様に、 \c FindDialog クラスには Q_OBJECT
+ マクロが含まれ、ダイアログが別のウィンドウとして開かれる場合でも、
+ コンストラクタは親 QWidget を取るように定義されます。
+
+ \snippet tutorials/addressbook/part5/finddialog.h FindDialog header
+
+ \c FindDialog のインスタンスを保持するクラスにより使用される
+ パブリック関数 \c getFindText() を定義します。
+ この関数を経由してユーザが入力した検索文字列を取得します。
+ また、ユーザが \gui Find ボタンをクリックしたときに検索文字列を処理するために、
+ public slot として \c findClicked() を定義します。
+
+ 最後に、\gui Find ボタンに対応するプライベート変数として \c findButton 、
+ ユーザが検索文字列を入力するラインエディット \c lineEdit 及び、
+ 後の作業で使用する検索文字列を保存するために使用する内部文字列として
+ \c findText の定義を行います。
+
+ \section1 FindDialog クラスの実装
+
+ \c FindDialog のコンストラクタ内で、プライベート変数の
+ \c lineEdit 、 \c findButton 及び \c findText を設定します。
+ QHBoxLayout を用いてウィジェットを配置します。
+
+ \snippet tutorials/addressbook/part5/finddialog.cpp constructor
+
+ シグナルをそれぞれのスロットに接続し、
+ レイアウトとウィンドウのタイトルを設定します。
+ \c findButton の \l{QPushButton::clicked()} シグナルは、
+ \c findClicked() と \l{QDialog::accept()}{accept()}
+ に接続されていることがわかります。
+ QDialog により提供される \l{QDialog::accept()}{accept()} スロットは
+ ダイアログを非表示にして、結果コードを \l{QDialog::}{Accepted}
+ に設定します。
+ この関数を使用して、 \c AddressBook の \c findContact() 関数に、
+ \c FindDialog オブジェクトが閉じていることを知らせます。
+ この論理については、 \c findContact() 関数について取り上げる際に、
+ さらに詳細に説明します。
+
+ \image addressbook-tutorial-part5-signals-and-slots.png
+
+ \c findClicked() で、ユーザが連絡先の名前を入力せずに
+ \gui Find ボタンをクリックしたかどうか確認するために
+ \c lineEdit を検証します。
+ 次に、 \c lineEdit から抽出した検索文字列を \c findText に設定します。
+ その後、 \c lineEdit のコンテンツをクリアし、ダイアログを非表示にします。
+
+ \snippet tutorials/addressbook/part5/finddialog.cpp findClicked() function
+
+ \c findText 変数用のパブリックな取得関数
+ \c getFindText() を実装します。
+ コンストラクタ及び \c findClicked() 関数でのみ
+ \c findText を直接設定するため、
+ \c getFindText() に対応する設定関数は作成しません。
+ \c getFindText() はパブリックであるため、インスタンスを生成し
+ \c FindDialog を使用するクラスは、
+ ユーザが入力して確定した検索文字列にいつでもアクセスできます。
+
+ \snippet tutorials/addressbook/part5/finddialog.cpp getFindText() function
+
+ \section1 AddressBook クラスの宣言
+
+ \c AddressBook クラス内部から \c FindDialog を使用できるよう、
+ \c addressbook.h ファイルに \c finddialog.h を含めます。
+
+ \snippet tutorials/addressbook/part5/addressbook.h include finddialog's header
+
+ これまでのところ、アドレス帳の全機能に、
+ QPushButton とそのボタンに対応するスロットが含まれています。
+ 同様に、\gui{検索(Find)}機能には、
+ \c findButton 及び \c findContact() が含まれています。
+
+ \c findButton はプライベート変数として宣言され、
+ \c findContact() 関数は public slot として宣言されます。
+
+ \snippet tutorials/addressbook/part5/addressbook.h findContact() declaration
+ \dots
+ \snippet tutorials/addressbook/part5/addressbook.h findButton declaration
+
+ 最後に、 \c FindDialog のインスタンスを参照するためのプライベート変数
+ \c dialog を宣言します。
+
+ \snippet tutorials/addressbook/part5/addressbook.h FindDialog declaration
+
+ インスタンス化されたダイアログは複数回使用します。
+ プライベート変数を使用すると、
+ クラスの複数の場所から参照できるようになります。
+
+ \section1 AddressBook クラスの実装
+
+ \c AddressBook クラスのコンストラクタ内で、
+ プライベートオブジェクトの \c findButton と \c findDialog
+ のインスタンスを生成します:
+
+ \snippet tutorials/addressbook/part5/addressbook.cpp instantiating findButton
+ \dots
+ \snippet tutorials/addressbook/part5/addressbook.cpp instantiating FindDialog
+
+ 次に、 \c findButton の \l{QPushButton::clicked()}{clicked()} シグナルを、
+ \c findContact() に接続します。
+
+ \snippet tutorials/addressbook/part5/addressbook.cpp signals and slots for find
+
+ 後は、 \c findContact() 関数のコードだけです:
+
+ \snippet tutorials/addressbook/part5/addressbook.cpp findContact() function
+
+ \c FindDialog インスタンスの \c dialog を表示することから始めます。
+ これは、ユーザが検索用に連絡先の名前を入力するためのものです。
+ ユーザがダイアログの \c findButton をクリックすると
+ ダイアログが非表示になり、結果コードが QDialog::Accepted に設定されます。
+ これにより、 \c if ステートメントが常に真になります。
+
+ 続けて、検索文字列の抽出を行います。
+ この場合、検索文字列は \c contactName で、
+ \c FindDialog の \c getFindText() 関数を使用して取得します。
+ アドレス帳に連絡先が存在する場合、直ちに表示します。
+ 存在しない場合、検索が失敗したことを示す以下の QMessageBox が表示されます。
+
+ \image addressbook-tutorial-part5-notfound.png
+*/
+
+/*!
+ \page tutorials-addressbook-part6.html
+
+ \example tutorials/addressbook/part6
+ \title 第6章 - 読み込みと保存
+
+ 本章では、アドレス帳アプリケーションの読み込みと保存処理で使用する、
+ Qt のファイル処理機能について説明します。
+
+ \image addressbook-tutorial-part6-screenshot.png
+
+ 連絡先の参照及び検索機能は便利な機能ですが、
+ 連絡先の保存と読み込みが可能になるまではアドレス帳は完成しません。
+
+ Qt は \l{Input/Output and Networking}{入出力}
+ 用のクラスを様々提供していますが、
+ 今回は簡単に組み合わせて使用できる QFile と QDataStream の2つのクラスを選択しました。
+
+ QFile のオブジェクトは、
+ 読み込みと書き込みが可能なディスク上のファイルを表します。
+ QFile は、さまざまなデバイスを表すより一般的な QIODevice クラスの派生クラスです。
+
+ QDataStream オブジェクトは、バイナリデータを QIODevice に保存して、
+ 後でもう一度取得できるようシリアライズするために使用します。
+ パラメータとしてそれぞれのデバイスを使用すると、
+ ストリームを開くのと同じくらい簡単に、 QIODevice
+ からの読み込みと書き込みを行うことができます。
+
+ \section1 AddressBook クラスの宣言
+
+ 2つの QPushButton オブジェクトの \c loadButton と \c saveButton
+ に加えて、2つの public slot の \c saveToFile() と \c loadFromFile()
+ を宣言します。
+
+ \snippet tutorials/addressbook/part6/addressbook.h save and load functions declaration
+ \dots
+ \snippet tutorials/addressbook/part6/addressbook.h save and load buttons declaration
+
+ \section1 AddressBook クラスの実装
+
+ コンストラクタで、 \c loadButton と \c saveButton のインスタンスを生成します。
+ 理想的には、プッシュボタンのラベルを、
+ "Load contacts from a file"(「ファイルから連絡先を読み込む」)及び、
+ "Save contacts to a file"(「連絡先をファイルに保存する」)
+ に設定するほうがよりユーザーフレンドリーです。
+ ただし、他のプッシュボタンのサイズを考慮して、
+ \gui{Load...}及び\gui{Save...}に設定します。
+ Qt は、 \l{QWidget::setToolTip()}{setToolTip()} を使用して
+ ツールチップを簡単に設定する方法を提供していますので、
+ 以下のコードでプッシュボタンにツールチップを設定します:
+
+ \snippet tutorials/addressbook/part6/addressbook.cpp tooltip 1
+ \dots
+ \snippet tutorials/addressbook/part6/addressbook.cpp tooltip 2
+
+ ここには記載していませんが、
+ これまで実装した他の機能のように右側のレイアウトパネル
+ \c button1Layout にプッシュボタンを追加し、
+ プッシュボタンの \l{QPushButton::clicked()}{clicked()}
+ シグナルをそれぞれのスロットに接続します。
+
+ 保存機能の場合、最初に QFileDialog::getSaveFileName() を使用して、
+ \c fileName を取得します。
+ これは、QFileDialog により提供される簡易関数で、
+ モーダルなファイルダイアログをポップアップ表示させ、
+ ユーザはファイル名を入力したり、既存の \c{.abk} ファイルを選択することが出来ます。
+ \c{.abk} ファイルは、
+ 連絡先を保存したときに作成されるアドレス帳の拡張子です。
+
+ \snippet tutorials/addressbook/part6/addressbook.cpp saveToFile() function part1
+
+ 以下のスクリーンショットのようなネイティブのファイルダイアログが表示されます:
+
+ \image addressbook-tutorial-part6-save.png
+
+ \c fileName が空ではない場合、 \c fileName を用いて
+ QFile のオブジェクト \c file を作成します。
+ QFile は QIODevice の派生クラスであるため、
+ QDataStream から使用できます。
+
+ 次に、ファイルを \l{QIODevice::}{WriteOnly} モードでオープンします。
+ オープンに失敗した場合、 QMessageBox を表示してユーザに知らせます。
+
+ \snippet tutorials/addressbook/part6/addressbook.cpp saveToFile() function part2
+
+ オープンに成功した場合、 QDataStream のインスタンス \c out を生成して、
+ 開いているファイルに書き込みます。
+ QDataStream では、同じバージョンのストリームを使用して、
+ 読み込みと書き込みを行う必要があります。
+ \c file にシリアライズする前に、
+ \l{QDataStream::Qt_4_5}{Qt 4.5で導入されたバージョン}
+ を今回使用するバージョンとして設定します。
+
+ \snippet tutorials/addressbook/part6/addressbook.cpp saveToFile() function part3
+
+ 読み込み機能の場合も QFileDialog::getOpenFileName() を使用して
+ \c fileName を取得します。
+ この関数は QFileDialog::getSaveFileName() に対応するものであり、
+ モーダルなファイルダイアログをポップアップ表示させ、
+ ユーザはファイル名を入力したり、既存の \c{.abk}
+ ファイルを選択してアドレス帳に読み込ことができます。
+
+ \snippet tutorials/addressbook/part6/addressbook.cpp loadFromFile() function part1
+
+ たとえば、 Windows では、この関数は、以下のスクリーンショットのような
+ ネイティブのファイルダイアログをポップアップ表示させます。
+
+ \image addressbook-tutorial-part6-load.png
+
+ \c fileName が空ではない場合、 QFile のオブジェクト
+ \c file を使用して、 \l{QIODevice::}{ReadOnly} モードでオープンします。
+ \c saveToFile() の実装の場合と同様に、オープンに失敗した場合は
+ QMessageBox を表示して、ユーザに知らせます。
+
+ \snippet tutorials/addressbook/part6/addressbook.cpp loadFromFile() function part2
+
+ オープンに成功した場合、
+ QDataStream のインスタンス \c in を生成して前記のようにバージョン設定を行い、
+ シリアライズしたデータを \c contacts のデータ構造に読み込みます。
+ \c contacts オブジェクトはデータが読み込まれる前に空にするので、
+ ファイルの読み込みプロセスは簡素化されます。
+ より高度な方法では、一時オブジェクトの QMap に読み込んで、
+ 重複していない連絡先を \c contacts にコピーします。
+
+ \snippet tutorials/addressbook/part6/addressbook.cpp loadFromFile() function part3
+
+ ファイルから読み込んだ連絡先を表示するには、
+ 最初に取得したデータを検証し、
+ 読み込んだファイルにアドレス帳の連絡先が実際に含まれているか確認します。
+ 含まれている場合、最初の連絡先を表示します。
+ 含まれていない場合、QMessageBox を表示して、
+ 問題があることをユーザに知らせます。
+ 最後にインターフェースを更新し、適宜
+ プッシュボタンの有効化と無効化を行います。
+*/
+
+/*!
+ \page tutorials-addressbook-part7.html
+
+ \example tutorials/addressbook/part7
+ \title 第7章 - 追加機能
+
+ 本章では、アドレス帳アプリケーションを
+ 普段の生活で便利に使用するための追加機能について説明します。
+
+ \image addressbook-tutorial-part7-screenshot.png
+
+ アドレス帳アプリケーションは、それ自体で便利ですが、
+ 他のアプリケーションとデータの交換ができればなお便利です。
+ vCard 形式は、この目的で使用可能な一般的なファイル形式です。
+ 本章では、連絡先を vCard ファイル(\c{.vcf})
+ にエクスポートできるよう、アドレス帳クライアントを拡張します。
+
+ \section1 AddressBook クラスの宣言
+
+ QPushButton のオブジェクト \c exportButton 及び、
+ 対応する public slot の \c exportAsVCard() を
+ \c addressbook.h ファイルの \c AddressBook クラスに追加します。
+
+ \snippet tutorials/addressbook/part7/addressbook.h exportAsVCard() declaration
+ \dots
+ \snippet tutorials/addressbook/part7/addressbook.h exportButton declaration
+
+ \section1 AddressBook クラスの実装
+
+ \c AddressBook のコンストラクタで、 \c exportButton の
+ \l{QPushButton::clicked()}{clicked()} シグナルを
+ \c exportAsVCard() に接続します。
+ このボタンも、右側のボタンのパネルの処理を行うレイアウトである
+ \c buttonLayout1 に追加します。
+
+ \c exportAsVCard() 関数では、
+ 連絡先の名前を \c name に抽出することから始めます。
+ \c firstName 、 \c lastName 及び \c nameList を宣言します。
+ 次に \c name を検索し、最初の空白のインデックスを取得します。
+ 空白が存在する場合、連絡先の名前を \c firstName と
+ \c lastName に分割します。
+ 次に、空白をアンダースコア ("_") に置き換えます。
+ 空白が存在しない場合は、連絡先にファーストネーム(名)
+ しか保存されていない可能性があります。
+
+ \snippet tutorials/addressbook/part7/addressbook.cpp export function part1
+
+ \c saveToFile() 関数と同様に、ユーザがファイルの場所を選択できるよう
+ ファイルダイアログを開きます。
+ 選択したファイル名を使用して、
+ 書き込みを行うための QFile のインスタンスを生成します。
+
+ ファイルを \l{QIODevice::}{WriteOnly} モードでオープンします。
+ オープンに失敗した場合、 QMessageBox を表示して、
+ 問題があることをユーザに知らせて戻ります。
+ オープンに成功した場合、 QTextStream のオブジェクト \c out へ
+ パラメータファイルを渡します。
+ QDataStream のように、QTextStream クラスは、
+ プレーンテキストファイルの読み込みと書き込みを行う機能を提供します。
+ 結果として、生成された \c{.vcf} は
+ テキストエディターで開いて編集することができます。
+
+ \snippet tutorials/addressbook/part7/addressbook.cpp export function part2
+
+ まず \c{BEGIN:VCARD} タグ、次に \c{VERSION:2.1} タグの順に
+ vCard ファイルに書き込みます。
+ 連絡先の名前は、 \c{N:} タグを使用して書き込みます。
+ vCard の "File as" プロパティを設定する \c{FN:} タグを書き込む際は、
+ 連絡先にラストネーム(姓)が含まれているかどうかを確認する必要があります。
+ 含まれている場合、 \c nameList の情報を使用して入力します。
+ 含まれていない場合、 \c firstName のみを書き込みます。
+
+ \snippet tutorials/addressbook/part7/addressbook.cpp export function part3
+
+ 続けて連絡先の住所の書き込みを行います。
+ 住所のセミコロンには、"\\" をエスケープ文字として追加する必要があります。
+ 改行はセミコロンに置き換えられ、コンマはスペースに置き換えられます。
+ 次に、 \c{ADR;HOME:;} タグ、 \c address 、
+ \c{END:VCARD} タグの順に書き込みます。
+
+ \snippet tutorials/addressbook/part7/addressbook.cpp export function part4
+
+ 最後に、vCard のエクスポートに成功したことをユーザに知らせるために、
+ QMessageBox が表示されます。
+
+ \e{vCard は、\l{http://www.imc.org}{Internet Mail Consortium} の登録商標です。}
+*/
diff --git a/doc/src/ja_JP/tutorials/widgets-tutorial.qdoc b/doc/src/ja_JP/tutorials/widgets-tutorial.qdoc
new file mode 100644
index 0000000..6a6b1a2
--- /dev/null
+++ b/doc/src/ja_JP/tutorials/widgets-tutorial.qdoc
@@ -0,0 +1,257 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page widgets-tutorial.html
+ \title ウィジェットのチュートリアル
+ \brief 本チュートリアルではウィジェットとレイアウトの基本的な使い方を説明し、それらが GUI アプリケーションの開発でどのように使われるかを説明します。
+
+ \section1 はじめに
+
+ ウィジェットは Qt によるグラフィカルユーザインターフェース(GUI)アプリケーションの基本構成要素です。
+ ボタン、ラベル、テキストエディターなどの各 GUI コンポーネントはウィジェットであり、
+ 既存のウィンドウのユーザーインタフェース内に配置したり、独立したウィンドウとして表示することができます。
+ それぞれのコンポーネントは QWidget の派生クラスとして実装されます。
+ QWidget 自体は QObject の派生クラスです。
+
+ QWidget は抽象クラスではなく、
+ 他のウィジェット用のコンテナとして使用されたり、
+ カスタムウィジェットを作る場合の基底クラスとして使用されます。
+ 他のウィジェットを配置するウィンドウとしてもよく使われます。
+
+ \l{QObject} と同様に QWidget は所有権を示すために親オブジェクトを指定して生成できるため、
+ 親オブジェクトが使用されなくなった場合には破棄されます。
+ ウィジェットではこの親子関係が他の意味も持ちます。
+ 子ウィジェットは親ウィジェットが使用する領域内に表示されます。
+ これは、ウィンドウを削除するとそのウィンドウに含まれる全てのウィジェットが自動的に破棄されることを意味します。
+
+ \section1 main 関数の記述
+
+ Qt の GUI サンプルの多くは標準的なアプリケーションの初期化コードを含む
+ \c{main.cpp} ファイルと、アプリケーションのロジックやカスタム
+ GUI コンポーネントを含むいくつかのソース/ヘッダファイルから構成されています。
+
+ \c{main.cpp} 内の典型的な \c main() 関数は以下のようになります:
+
+ \snippet doc/src/snippets/widgets-tutorial/template.cpp main.cpp body
+
+ 最初に、コマンドラインから渡される引数を渡して QApplication のオブジェクトを生成します。
+ ウィジェットを生成して表示した後、 QApplication::exec() を呼び出して Qt のイベントループを開始します。
+ この関数から戻ってくるまでアプリケーションの制御は Qt 側にて行われます。最後に、\c{main()} は QApplication::exec() から取得された値を返します。
+
+ \section1 簡単なウィジェットのサンプル
+
+ 以下の簡単なウィジェットのサンプルでは \c main() 関数の中にコードを記述しています。
+
+ \list
+ \o \l {tutorials/widgets/toplevel}{ウィンドウの作成}
+
+ \o \l {tutorials/widgets/childwidget}{子ウィジェット}
+
+ \o \l {tutorials/widgets/windowlayout}{レイアウトの利用}
+
+ \o \l {tutorials/widgets/nestedlayouts}{複雑なレイアウト}
+ \endlist
+
+ \section1 複雑なウィジェットのサンプル
+
+ \l{Widgets examples}{より高度なサンプル} の場合、ウィジェットやレイアウトのためのコードは他のファイルに記述されています。
+ 例えば、メインウインドウ用の GUI は、 QMainWindow 派生クラスのコンストラクタで作成されるでしょう。
+
+ \section1 サンプルのビルド
+
+ Qt のバイナリパッケージを取得してインストールするか、Qt を自分でコンパイルした場合には既にこのチュートリアルで説明されているサンプルはビルドされ、実行する準備ができています。
+ これらを変更し再コンパイルをしたい場合は、次の手順に従う必要があります:
+
+ \list 1
+ \o コマンドラインで、再コンパイルしたいサンプルを含むディレクトリに移動します。
+ \o \c qmake と入力し、\key{Return} キーを押します。
+ うまくいかない場合は、現在のパス内にこの実行ファイルが存在することを確認するか、
+ フルパスを指定して実行してください。
+ \o Linux/Unix および Mac OS X の場合、\c make と入力し、\key{Return} キーを押します。
+ Windows 上の Visual Studio の場合、\c nmake と入力し、\key{Return} キーを押します。
+ \endlist
+
+ 現在のディレクトリに実行ファイルが生成されます。
+ Windows では、このファイルは \c debug または \c release
+ ディレクトリに配置されているかもしれません。
+ このファイルを実行すると、作業中のサンプルコードの動作を確認できます。
+*/
+
+/*!
+ \example tutorials/widgets/toplevel
+ \title ウィジェットのチュートリアル - ウィンドウの作成
+
+ 親を持たないウィジェットを作成した場合、そのウィジェットは表示時にウィンドウ(\e{トップレベルウィジェット})として扱われます。
+ このウィジェットが必要なくなった場合にそれを破棄してくれる親ウィジェットがないため、トップレベルウィジェットの管理は開発者が行ってください。
+
+ 以下のサンプルでは QWidget を使用してウィンドウを作成し、サイズを指定して表示します:
+
+ \raw HTML
+ <table align="left" width="100%">
+ <tr class="qt-code"><td>
+ \endraw
+ \snippet tutorials/widgets/toplevel/main.cpp main program
+ \raw HTML
+ </td><td align="right">
+ \endraw
+ \inlineimage widgets-tutorial-toplevel.png
+ \raw HTML
+ </td></tr>
+ </table>
+ \endraw
+
+ 実際の GUI を作成するには、ウィンドウ内にウィジェットを配置する必要があります。
+ これは、ウィジェットのコンストラクタに QWidget のインスタンスを渡すことで実現します。
+ 詳細は本チュートリアルの次の章で示します。
+*/
+
+/*!
+ \example tutorials/widgets/childwidget
+ \title ウィジェットのチュートリアル - 子ウィジェット
+
+ 前のサンプルで作成したウィンドウに子ウィジェットを追加するために、
+ 親として \c window を子ウィジェットのコンストラクタに渡します。
+ ここでは、ウィンドウにボタンを追加し特定の場所に配置します:
+
+ \raw HTML
+ <table align="left" width="100%">
+ <tr class="qt-code"><td>
+ \endraw
+ \snippet tutorials/widgets/childwidget/main.cpp main program
+ \raw HTML
+ </td><td align="right">
+ \endraw
+ \inlineimage widgets-tutorial-childwidget.png
+ \raw HTML
+ </td></tr>
+ </table>
+ \endraw
+
+ このボタンはウィンドウの子になり、
+ ウィンドウが破棄された場合にはボタンも破棄されるでしょう。
+ ウィンドウを非表示化したり閉じた際には、自動的に破棄はされません。
+ サンプルが終了する場合には破棄されるでしょう。
+*/
+
+/*!
+ \example tutorials/widgets/windowlayout
+ \title ウィジェットのチュートリアル - レイアウトの利用
+
+ 一般的に子ウィジェットは、位置とサイズを明確に指定するのではなく、
+ レイアウトオブジェクトを使用してウィンドウ内に配置します。
+ ここでは、ラベルとラインエディットを生成し、横に並べて配置します。
+
+ \raw HTML
+ <table align="left" width="100%">
+ <tr class="qt-code"><td>
+ \endraw
+ \snippet tutorials/widgets/windowlayout/main.cpp main program
+ \raw HTML
+ </td><td align="right">
+ \endraw
+ \inlineimage widgets-tutorial-windowlayout.png
+ \raw HTML
+ </td></tr>
+ </table>
+ \endraw
+
+ 生成する \c layout オブジェクトは、 \l{QHBoxLayout::}{addWidget()} 関数を使って設定されたウィジェットの位置とサイズを管理します。
+ また、\l{QWidget::}{setLayout()} を使用してレイアウトをウィンドウに設定します。
+ レイアウトはそれ自体は目には見えない存在です。
+ レイアウトの管理対象となっているウィジェット(や他のレイアウト)に対しての効果としてのみ、その存在を確認できます。
+
+ 上記サンプルにおいて、各ウィジェットの所有権はあまり明確ではありません。
+ 親オブジェクトのない3つのウィジェットと1つのレイアウトを作成するため、
+ 空のウィンドウと、ラベルとラインエディットをそれぞれ含む別々のウィンドウが表示されるように見えるかもしれません。
+ しかし、レイアウトにラベルとラインエディットを管理するように指定すると、
+ ウィンドウにそのレイアウトを設定した際に「親の再指定」が行われるため、
+ ウィジェットおよびレイアウト自体がそのウィンドウの子になります。
+*/
+
+/*!
+ \example tutorials/widgets/nestedlayouts
+ \title ウィジェットのチュートリアル - 複雑なレイアウト
+
+ ウィジェットの中に他のウィジェットを含めることができるように、
+ レイアウトは異なるレベルでのウィジェットのグループ化にも使用されます。
+ ここではウィンドウ上部にラベルとラインエディットを隣り合わせに配置し、
+ その下に検索結果が表示されるテーブルビューを表示します。
+
+ これは、レイアウトを2つ作成して行います。\c{queryLayout} は、QLabel と QLineEdit を左右に並べて表示する QHBoxLayout です。
+ \c{mainLayout} は、\c{queryLayout} と QTableView を上下に並べて表示する QVBoxLayout です。
+
+ \raw HTML
+ <table align="left" width="100%">
+ <tr class="qt-code"><td>
+ \endraw
+ \snippet tutorials/widgets/nestedlayouts/main.cpp first part
+ \snippet tutorials/widgets/nestedlayouts/main.cpp last part
+ \raw HTML
+ </td><td align="right">
+ \endraw
+ \inlineimage widgets-tutorial-nestedlayouts.png
+ \raw HTML
+ </td></tr>
+ </table>
+ \endraw
+
+ \c{mainLayout} の \l{QBoxLayout::}{addLayout()} 関数にて追加された
+ \c{queryLayout} と \c{resultView} は追加された順番で上から並べられます。
+
+ ここでは QTableView ウィジェット \c resultView に表示されるデータを含むモデルの設定のコードは省略していますが、
+ 後ほど示します。
+
+ QHBoxLayout や QVBoxLayout と共に Qt から提供される QGridLayout および QFormLayout を使用することにより、
+ より複雑なユーザインターフェースの構築が可能になります。
+ これらのレイアウトの効果は、\l{Qt Designer} を実行して確認できます。
+
+ \section1 モデルを設定する
+
+ 上記のコードでは、レイアウトの有効利用に重点を置いていたため、
+ テーブルのデータについては示していませんでした。
+ 以下のコードで、モデルには行に対応する項目が含まれ、それぞれの行には2つの列のデータが設定されていることがわかるでしょう。
+
+ \snippet tutorials/widgets/nestedlayouts/main.cpp set up the model
+
+ モデルとビューの有効利用については、\l{Item Views Examples} および
+ \l{Model/View Programming} の概要に含まれています。
+*/
diff --git a/doc/src/platforms/emb-openvg.qdocinc b/doc/src/platforms/emb-openvg.qdocinc
index 579af67..877d70c 100644
--- a/doc/src/platforms/emb-openvg.qdocinc
+++ b/doc/src/platforms/emb-openvg.qdocinc
@@ -225,7 +225,9 @@ The QVG_NO_RENDER_TO_MASK define will disable the use of vgRenderToMask().
The QVG_SCISSOR_CLIP define will disable clipping with vgMask() or
vgRenderToMask() and instead use the scissor rectangle list to perform
-clipping. Clipping with an arbitrary QPainterPath will not be supported.
+clipping. Clipping with an arbitrary QPainterPath will need to convert
+the path into a series of rectangles. If the number of rectangles
+exceeds VG_MAX_SCISSOR_RECTS, then the results will not be exact.
The QVG_SCISSOR_CLIP define should only be used if the OpenVG engine does
not support vgMask() or vgRenderToMask().
diff --git a/doc/src/snippets/declarative/gridview/dummydata/ContactModel.qml b/doc/src/snippets/declarative/gridview/ContactModel.qml
index 1e79030..2da4660 100644
--- a/doc/src/snippets/declarative/gridview/dummydata/ContactModel.qml
+++ b/doc/src/snippets/declarative/gridview/ContactModel.qml
@@ -39,28 +39,26 @@
**
****************************************************************************/
+//![0]
import Qt 4.7
ListModel {
- id: contactModel
+
ListElement {
- name: "Bill Smith"
- number: "555 3264"
+ name: "Jim Williams"
portrait: "pics/portrait.png"
}
ListElement {
- name: "Jim Williams"
- number: "555 5673"
+ name: "John Brown"
portrait: "pics/portrait.png"
}
ListElement {
- name: "John Brown"
- number: "555 8426"
+ name: "Bill Smyth"
portrait: "pics/portrait.png"
}
ListElement {
name: "Sam Wise"
- number: "555 0473"
portrait: "pics/portrait.png"
}
}
+//![0]
diff --git a/doc/src/snippets/declarative/gridview/gridview.qml b/doc/src/snippets/declarative/gridview/gridview.qml
index 3c205bc..0b3bbf3 100644
--- a/doc/src/snippets/declarative/gridview/gridview.qml
+++ b/doc/src/snippets/declarative/gridview/gridview.qml
@@ -39,50 +39,98 @@
**
****************************************************************************/
+//![import]
import Qt 4.7
+//![import]
-//! [3]
Rectangle {
- width: 240; height: 180; color: "white"
- // ContactModel model is defined in dummydata/ContactModel.qml
- // The viewer automatically loads files in dummydata/* to assist
- // development without a real data source.
-
- // Define a delegate component. A component will be
- // instantiated for each visible item in the list.
-//! [0]
+ width: childrenRect.width; height: childrenRect.height
+
+Row {
+
+//![classdocs simple]
+GridView {
+ width: 300; height: 200
+
+ model: ContactModel {}
+ delegate: Column {
+ Image { source: portrait; anchors.horizontalCenter: parent.horizontalCenter }
+ Text { text: name; anchors.horizontalCenter: parent.horizontalCenter }
+ }
+}
+//![classdocs simple]
+
+
+//![classdocs advanced]
+Rectangle {
+ width: 300; height: 200
+
Component {
- id: delegate
+ id: contactDelegate
Item {
- id: wrapper
- width: 80; height: 78
+ width: grid.cellWidth; height: grid.cellHeight
Column {
+ anchors.fill: parent
Image { source: portrait; anchors.horizontalCenter: parent.horizontalCenter }
Text { text: name; anchors.horizontalCenter: parent.horizontalCenter }
}
}
}
-//! [0]
- // Define a highlight component. Just one of these will be instantiated
- // by each ListView and placed behind the current item.
-//! [1]
- Component {
- id: highlight
- Rectangle {
- color: "lightsteelblue"
- radius: 5
- }
- }
-//! [1]
- // The actual grid
-//! [2]
+
GridView {
- width: parent.width; height: parent.height
- model: ContactModel; delegate: delegate
+ id: grid
+ anchors.fill: parent
cellWidth: 80; cellHeight: 80
- highlight: highlight
+
+ model: ContactModel {}
+ delegate: contactDelegate
+ highlight: Rectangle { color: "lightsteelblue"; radius: 5 }
focus: true
}
-//! [2]
}
-//! [3]
+//![classdocs advanced]
+
+//![delayRemove]
+Component {
+ id: delegate
+ Item {
+ GridView.onRemove: SequentialAnimation {
+ PropertyAction { target: wrapper; property: "GridView.delayRemove"; value: true }
+ NumberAnimation { target: wrapper; property: "scale"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
+ PropertyAction { target: wrapper; property: "GridView.delayRemove"; value: false }
+ }
+ }
+}
+//![delayRemove]
+
+//![highlightFollowsCurrentItem]
+Component {
+ id: highlight
+ Rectangle {
+ width: view.cellWidth; height: view.cellHeight
+ color: "lightsteelblue"; radius: 5
+ SpringFollow on x { to: view.currentItem.x; spring: 3; damping: 0.2 }
+ SpringFollow on y { to: view.currentItem.y; spring: 3; damping: 0.2 }
+ }
+}
+
+GridView {
+ id: view
+ width: 300; height: 200
+ cellWidth: 80; cellHeight: 80
+
+ model: ContactModel {}
+ delegate: Column {
+ Image { source: portrait; anchors.horizontalCenter: parent.horizontalCenter }
+ Text { text: name; anchors.horizontalCenter: parent.horizontalCenter }
+ }
+
+ highlight: highlight
+ highlightFollowsCurrentItem: false
+ focus: true
+}
+//![highlightFollowsCurrentItem]
+
+}
+
+}
diff --git a/doc/src/snippets/declarative/listview/highlight.qml b/doc/src/snippets/declarative/listview/highlight.qml
deleted file mode 100644
index af9e95f..0000000
--- a/doc/src/snippets/declarative/listview/highlight.qml
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import Qt 4.7
-
-Rectangle {
- width: 180; height: 200; color: "white"
-
- // ContactModel model is defined in dummydata/ContactModel.qml
- // The viewer automatically loads files in dummydata/* to assist
- // development without a real data source.
-
- // Define a delegate component. A component will be
- // instantiated for each visible item in the list.
-//! [0]
- Component {
- id: delegate
- Item {
- id: wrapper
- width: 180; height: 40
- Column {
- x: 5; y: 5
- Text { text: '<b>Name:</b> ' + name }
- Text { text: '<b>Number:</b> ' + number }
- }
- // Use the ListView.isCurrentItem attached property to
- // indent the item if it is the current item.
- states: [
- State {
- name: "Current"
- when: wrapper.ListView.isCurrentItem
- PropertyChanges { target: wrapper; x: 10 }
- }
- ]
- transitions: [
- Transition { NumberAnimation { properties: "x"; duration: 200 } }
- ]
- }
- }
-//! [0]
- // Specify a highlight with custom movement. Note that autoHighlight
- // is set to false in the ListView so that we can control how the
- // highlight moves to the current item.
-//! [1]
- Component {
- id: highlight
- Rectangle {
- width: 180; height: 40
- color: "lightsteelblue"; radius: 5
- SpringFollow on y {
- to: list.currentItem.y
- spring: 3
- damping: 0.2
- }
- }
- }
- ListView {
- id: list
- width: parent.height; height: parent.height
- model: ContactModel; delegate: delegate
- highlight: highlight
- highlightFollowsCurrentItem: false
- focus: true
- }
-//! [1]
-}
diff --git a/doc/src/snippets/declarative/mousearea.qml b/doc/src/snippets/declarative/mousearea.qml
new file mode 100644
index 0000000..c6071c7
--- /dev/null
+++ b/doc/src/snippets/declarative/mousearea.qml
@@ -0,0 +1,119 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [import]
+import Qt 4.7
+//! [import]
+
+Rectangle {
+ width: childrenRect.width
+ height: childrenRect.height
+
+Row {
+
+//! [intro]
+Rectangle {
+ width: 100; height: 100
+ color: "green"
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: { parent.color = 'red' }
+ }
+}
+//! [intro]
+
+//! [intro-extended]
+Rectangle {
+ width: 100; height: 100
+ color: "green"
+
+ MouseArea {
+ anchors.fill: parent
+ acceptedButtons: Qt.LeftButton | Qt.RightButton
+ onClicked: {
+ if (mouse.button == Qt.RightButton)
+ parent.color = 'blue';
+ else
+ parent.color = 'red';
+ }
+ }
+}
+//! [intro-extended]
+
+//! [drag]
+Rectangle {
+ id: container
+ width: 600; height: 200
+
+ Image {
+ id: pic
+ source: "pics/qt.png"
+ opacity: (600.0 - pic.x) / 600
+
+ MouseArea {
+ anchors.fill: parent
+ drag.target: pic
+ drag.axis: Drag.XAxis
+ drag.minimumX: 0
+ drag.maximumX: container.width - pic.width
+ }
+ }
+}
+//! [drag]
+
+//! [mousebuttons]
+Text {
+ text: mouseArea.pressedButtons & Qt.RightButton ? "right" : ""
+ horizontalAlignment: Text.AlignHCenter
+ verticalAlignment: Text.AlignVCenter
+
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ acceptedButtons: Qt.LeftButton | Qt.RightButton
+ }
+}
+//! [mousebuttons]
+
+}
+
+}
diff --git a/doc/src/snippets/declarative/pathview/dummydata/MenuModel.qml b/doc/src/snippets/declarative/pathview/ContactModel.qml
index a52b60a..1a042a3 100644
--- a/doc/src/snippets/declarative/pathview/dummydata/MenuModel.qml
+++ b/doc/src/snippets/declarative/pathview/ContactModel.qml
@@ -39,20 +39,21 @@
**
****************************************************************************/
+//![0]
import Qt 4.7
ListModel {
- id: menuModel
ListElement {
name: "Bill Jones"
- icon: "pics/qtlogo-64.png"
+ icon: "pics/qtlogo.png"
}
ListElement {
name: "Jane Doe"
- icon: "pics/qtlogo-64.png"
+ icon: "pics/qtlogo.png"
}
ListElement {
name: "John Smith"
- icon: "pics/qtlogo-64.png"
+ icon: "pics/qtlogo.png"
}
}
+//![0]
diff --git a/doc/src/snippets/declarative/pathview/pathattributes.qml b/doc/src/snippets/declarative/pathview/pathattributes.qml
index e8d2509..3ba3b95 100644
--- a/doc/src/snippets/declarative/pathview/pathattributes.qml
+++ b/doc/src/snippets/declarative/pathview/pathattributes.qml
@@ -39,16 +39,16 @@
**
****************************************************************************/
+//! [0]
import Qt 4.7
Rectangle {
- width: 240; height: 200; color: 'white'
-//! [0]
+ width: 240; height: 200
+
//! [1]
Component {
id: delegate
Item {
- id: wrapper
width: 80; height: 80
scale: PathView.scale
opacity: PathView.opacity
@@ -59,9 +59,12 @@ Rectangle {
}
}
//! [1]
+
//! [2]
PathView {
- anchors.fill: parent; model: MenuModel; delegate: delegate
+ anchors.fill: parent
+ model: ContactModel {}
+ delegate: delegate
path: Path {
startX: 120; startY: 100
PathAttribute { name: "scale"; value: 1.0 }
@@ -73,5 +76,5 @@ Rectangle {
}
}
//! [2]
-//! [0]
}
+//! [0]
diff --git a/doc/src/snippets/declarative/pathview/pathview.qml b/doc/src/snippets/declarative/pathview/pathview.qml
index 31b793d..1669847 100644
--- a/doc/src/snippets/declarative/pathview/pathview.qml
+++ b/doc/src/snippets/declarative/pathview/pathview.qml
@@ -39,27 +39,27 @@
**
****************************************************************************/
+//! [0]
import Qt 4.7
Rectangle {
- width: 240; height: 200; color: 'white'
-//! [0]
+ width: 240; height: 200
+
//! [1]
Component {
id: delegate
- Item {
- id: wrapper
- width: 80; height: 80
- Column {
- Image { anchors.horizontalCenter: name.horizontalCenter; width: 64; height: 64; source: icon }
- Text { text: name; font.pointSize: 16}
- }
+ Column {
+ Image { anchors.horizontalCenter: name.horizontalCenter; width: 64; height: 64; source: icon }
+ Text { text: name; font.pointSize: 16 }
}
}
//! [1]
+
//! [2]
PathView {
- anchors.fill: parent; model: MenuModel; delegate: delegate
+ anchors.fill: parent
+ model: ContactModel {}
+ delegate: delegate
path: Path {
startX: 120; startY: 100
PathQuad { x: 120; y: 25; controlX: 260; controlY: 75 }
@@ -67,5 +67,5 @@ Rectangle {
}
}
//! [2]
-//! [0]
}
+//! [0]
diff --git a/doc/src/snippets/declarative/pathview/pics/qtlogo-64.png b/doc/src/snippets/declarative/pathview/pics/qtlogo.png
index 4f68e16..4f68e16 100644
--- a/doc/src/snippets/declarative/pathview/pics/qtlogo-64.png
+++ b/doc/src/snippets/declarative/pathview/pics/qtlogo.png
Binary files differ
diff --git a/doc/src/snippets/declarative/drag.qml b/doc/src/snippets/declarative/rect-border-width.qml
index 0a69574..73ce9f6 100644
--- a/doc/src/snippets/declarative/drag.qml
+++ b/doc/src/snippets/declarative/rect-border-width.qml
@@ -41,19 +41,20 @@
import Qt 4.7
-//! [0]
+//![0]
Rectangle {
- id: blurtest; width: 600; height: 200; color: "white"
- Image {
- id: pic; source: "qtlogo-64.png"; anchors.verticalCenter: parent.verticalCenter
- opacity: (600.0-pic.x) / 600;
- MouseArea {
+ width: 100; height: 100
+ color: "yellow"
+
+ Rectangle {
+ anchors.fill: parent
+ anchors.margins: 10
+ clip: true
+
+ Rectangle {
anchors.fill: parent
- drag.target: pic
- drag.axis: Drag.XAxis
- drag.minimumX: 0
- drag.maximumX: blurtest.width-pic.width
+ border.width: 1
}
}
}
-//! [0]
+//![0]
diff --git a/doc/src/snippets/declarative/mouseregion.qml b/doc/src/snippets/declarative/repeater-modeldata.qml
index a162854..3b4cc6d 100644
--- a/doc/src/snippets/declarative/mouseregion.qml
+++ b/doc/src/snippets/declarative/repeater-modeldata.qml
@@ -41,35 +41,12 @@
import Qt 4.7
-Rectangle { width: 200; height: 100
-Row {
//! [0]
-Rectangle {
- width: 100; height: 100
- color: "green"
-
- MouseArea {
- anchors.fill: parent
- onClicked: { parent.color = 'red' }
+Column {
+ Repeater {
+ model: ["apples", "oranges", "pears"]
+ Text { text: "Data: " + modelData }
}
}
//! [0]
-//! [1]
-Rectangle {
- width: 100; height: 100
- color: "green"
- MouseArea {
- anchors.fill: parent
- acceptedButtons: Qt.LeftButton | Qt.RightButton
- onClicked: {
- if (mouse.button == Qt.RightButton)
- parent.color = 'blue';
- else
- parent.color = 'red';
- }
- }
-}
-//! [1]
-}
-}
diff --git a/doc/src/template/images/arrow_down.png b/doc/src/template/images/arrow_down.png
new file mode 100644
index 0000000..9d01e97
--- /dev/null
+++ b/doc/src/template/images/arrow_down.png
Binary files differ
diff --git a/doc/src/template/images/bg_ll_blank.png b/doc/src/template/images/bg_ll_blank.png
new file mode 100644
index 0000000..95a1c45
--- /dev/null
+++ b/doc/src/template/images/bg_ll_blank.png
Binary files differ
diff --git a/doc/src/template/images/bg_ul_blank.png b/doc/src/template/images/bg_ul_blank.png
new file mode 100644
index 0000000..7051261
--- /dev/null
+++ b/doc/src/template/images/bg_ul_blank.png
Binary files differ
diff --git a/doc/src/template/images/header_bg.png b/doc/src/template/images/header_bg.png
new file mode 100644
index 0000000..a436aa6
--- /dev/null
+++ b/doc/src/template/images/header_bg.png
Binary files differ
diff --git a/doc/src/template/scripts/narrow.js b/doc/src/template/scripts/narrow.js
new file mode 100644
index 0000000..12d0ce8
--- /dev/null
+++ b/doc/src/template/scripts/narrow.js
@@ -0,0 +1,78 @@
+var narrowInit = function() {
+ /* TODO:
+ Could probably be more efficient, not hardcoding each element to be created
+ */
+ // 1: Create search form
+ var narrowSearch = $('<div id="narrowsearch"></div>');
+ var searchform = $("#qtdocsearch");
+ narrowSearch.append(searchform);
+ $("#qtdocheader .content .qtref").after(narrowSearch);
+
+ // 2: Create dropdowns
+ var narrowmenu = $('<ul id="narrowmenu" class="sf-menu"></ul>');
+
+ // Lookup
+ var lookuptext = $("#lookup h2").attr("title");
+ $("#lookup ul").removeAttr("id");
+ $("#lookup ul li").removeAttr("class");
+ $("#lookup ul li").removeAttr("style");
+ var lookupul = $("#lookup ul");
+ var lookuplist = $('<li></li>');
+ var lookuplink = $('<a href="#"></a>');
+ lookuplink.append(lookuptext);
+ lookuplist.append(lookuplink);
+ lookuplist.append(lookupul);
+ narrowmenu.append(lookuplist);
+
+ // Topics
+ var topicstext = $("#topics h2").attr("title");
+ $("#topics ul").removeAttr("id");
+ $("#topics ul li").removeAttr("class");
+ $("#topics ul li").removeAttr("style");
+ var topicsul = $("#topics ul");
+ var topicslist = $('<li></li>');
+ var topicslink = $('<a href="#"></a>');
+ topicslink.append(topicstext);
+ topicslist.append(topicslink);
+ topicslist.append(topicsul);
+ narrowmenu.append(topicslist);
+
+ // Examples
+ var examplestext = $("#examples h2").attr("title");
+ $("#examples ul").removeAttr("id");
+ $("#examples ul li").removeAttr("class");
+ $("#examples ul li").removeAttr("style");
+ var examplesul = $("#examples ul");
+ var exampleslist = $('<li></li>');
+ var exampleslink = $('<a href="#"></a>');
+ exampleslink.append(examplestext);
+ exampleslist.append(exampleslink);
+ exampleslist.append(examplesul);
+ narrowmenu.append(exampleslist);
+
+ $("#shortCut").after(narrowmenu);
+ $('ul#narrowmenu').superfish({
+ delay: 100,
+ autoArrows: false,
+ disableHI: true
+ });
+}
+
+$(document).ready(function(){
+ if ($('body').hasClass('narrow')) {
+ narrowInit();
+ }
+});
+
+$(window).bind('resize', function () {
+ if($(window).width()<600) {
+ $('body').addClass('narrow');
+
+ if ($("#narrowsearch").length == 0) {
+ narrowInit();
+ }
+ }
+ else {
+ $('body').removeClass('narrow');
+ }
+}); \ No newline at end of file
diff --git a/doc/src/template/scripts/superfish.js b/doc/src/template/scripts/superfish.js
new file mode 100644
index 0000000..c6a9c7d
--- /dev/null
+++ b/doc/src/template/scripts/superfish.js
@@ -0,0 +1,121 @@
+
+/*
+ * Superfish v1.4.8 - jQuery menu widget
+ * Copyright (c) 2008 Joel Birch
+ *
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+ *
+ * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
+ */
+
+;(function($){
+ $.fn.superfish = function(op){
+
+ var sf = $.fn.superfish,
+ c = sf.c,
+ $arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),
+ over = function(){
+ var $$ = $(this), menu = getMenu($$);
+ clearTimeout(menu.sfTimer);
+ $$.showSuperfishUl().siblings().hideSuperfishUl();
+ },
+ out = function(){
+ var $$ = $(this), menu = getMenu($$), o = sf.op;
+ clearTimeout(menu.sfTimer);
+ menu.sfTimer=setTimeout(function(){
+ o.retainPath=($.inArray($$[0],o.$path)>-1);
+ $$.hideSuperfishUl();
+ if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
+ },o.delay);
+ },
+ getMenu = function($menu){
+ var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
+ sf.op = sf.o[menu.serial];
+ return menu;
+ },
+ addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
+
+ return this.each(function() {
+ var s = this.serial = sf.o.length;
+ var o = $.extend({},sf.defaults,op);
+ o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
+ $(this).addClass([o.hoverClass,c.bcClass].join(' '))
+ .filter('li:has(ul)').removeClass(o.pathClass);
+ });
+ sf.o[s] = sf.op = o;
+
+ $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
+ if (o.autoArrows) addArrow( $('>a:first-child',this) );
+ })
+ .not('.'+c.bcClass)
+ .hideSuperfishUl();
+
+ var $a = $('a',this);
+ $a.each(function(i){
+ var $li = $a.eq(i).parents('li');
+ $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
+ });
+ o.onInit.call(this);
+
+ }).each(function() {
+ var menuClasses = [c.menuClass];
+ if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
+ $(this).addClass(menuClasses.join(' '));
+ });
+ };
+
+ var sf = $.fn.superfish;
+ sf.o = [];
+ sf.op = {};
+ sf.IE7fix = function(){
+ var o = sf.op;
+ if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
+ this.toggleClass(sf.c.shadowClass+'-off');
+ };
+ sf.c = {
+ bcClass : 'sf-breadcrumb',
+ menuClass : 'sf-js-enabled',
+ anchorClass : 'sf-with-ul',
+ arrowClass : 'sf-sub-indicator',
+ shadowClass : 'sf-shadow'
+ };
+ sf.defaults = {
+ hoverClass : 'sfHover',
+ pathClass : 'overideThisToUse',
+ pathLevels : 1,
+ delay : 800,
+ animation : {opacity:'show'},
+ speed : 'normal',
+ autoArrows : true,
+ dropShadows : true,
+ disableHI : false, // true disables hoverIntent detection
+ onInit : function(){}, // callback functions
+ onBeforeShow: function(){},
+ onShow : function(){},
+ onHide : function(){}
+ };
+ $.fn.extend({
+ hideSuperfishUl : function(){
+ var o = sf.op,
+ not = (o.retainPath===true) ? o.$path : '';
+ o.retainPath = false;
+ var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
+ .find('>ul').hide().css('visibility','hidden');
+ o.onHide.call($ul);
+ return this;
+ },
+ showSuperfishUl : function(){
+ var o = sf.op,
+ sh = sf.c.shadowClass+'-off',
+ $ul = this.addClass(o.hoverClass)
+ .find('>ul:hidden').css('visibility','visible');
+ sf.IE7fix.call($ul);
+ o.onBeforeShow.call($ul);
+ $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
+ return this;
+ }
+ });
+
+})(jQuery);
diff --git a/doc/src/template/style/OfflineStyle.css b/doc/src/template/style/OfflineStyle.css
new file mode 100644
index 0000000..ddd580a
--- /dev/null
+++ b/doc/src/template/style/OfflineStyle.css
@@ -0,0 +1,819 @@
+@media screen
+{
+ html
+ {
+ color: #000000;
+ background: #FFFFFF;
+ }
+ body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td
+ {
+ margin: 0;
+ padding: 0;
+ }
+ table
+ {
+ border-collapse: collapse;
+ border-spacing: 0;
+ }
+ fieldset, img
+ {
+ border: 0;
+ }
+ address, caption, cite, code, dfn, em, strong, th, var, optgroup
+ {
+ font-style: inherit;
+ font-weight: inherit;
+ }
+ del, ins
+ {
+ text-decoration: none;
+ }
+ li
+ {
+ list-style: none;
+ }
+ caption, th
+ {
+ text-align: left;
+ }
+ h1, h2, h3, h4, h5, h6
+ {
+ font-size: 100%;
+ }
+ q:before, q:after
+ {
+ content: '';
+ }
+ abbr, acronym
+ {
+ border: 0;
+ font-variant: normal;
+ }
+ sup
+ {
+ vertical-align: baseline;
+ }
+ sub
+ {
+ vertical-align: baseline;
+ }
+ tt, .qmlreadonly span, .qmldefault span
+ {
+ word-spacing:5px;
+ }
+ .heading
+ {
+ font: normal 600 16px/1.0 Arial;
+ }
+ .subtitle
+ {
+ font-size: 13px;
+ }
+ .small-subtitle
+ {
+ font-size: 13px;
+ }
+ legend
+ {
+ color: #000000;
+ }
+ input, button, textarea, select, optgroup, option
+ {
+ font-family: inherit;
+ font-size: inherit;
+ font-style: inherit;
+ font-weight: inherit;
+ }
+ input, button, textarea, select
+ {
+ font-size: 100%;
+ }
+ body
+ {
+ font: normal 13px/1.2 Verdana;
+ color: #363534;
+ }
+ strong
+ {
+ font-weight: bold;
+ }
+ em
+ {
+ font-style: italic;
+ }
+ a
+ {
+ color: #00732f;
+ text-decoration: none;
+ }
+ .header, .footer, .wrapper
+ {
+ /*min-width: 600px;*/
+ max-width: 1500px;
+ margin: 0 5px;
+ }
+ .wrapper
+ {
+ position:relative;
+ top:50px;
+ }
+ .wrapper .bd
+ {
+ position: relative;
+ }
+
+ .header, .footer
+ {
+ display: block;
+ clear: both;
+ overflow: hidden;
+ }
+ .header
+ {
+ height: 115px;
+ position: relative;
+ }
+
+
+ .header .qtref
+ {
+ position: absolute;
+ top: 28px;
+ left: 88px;
+ width: 302px;
+ height: 22px;
+ }
+ .header .qtref span
+ {
+ display: block;
+ height: 22px;
+ }
+ .wrap .content h1
+ {
+ font: 600 18px/1.2 Arial;
+ }
+ .wrap .content h2
+ {
+ font: 600 16px/1.2 Arial;
+ }
+ .wrap .content h3
+ {
+ font: 600 14px/1.2 Arial;
+ }
+ .wrap .content h4
+ {
+ font: 600 12px/1.2 Arial;
+ }
+
+ .wrap .content p
+ {
+ line-height: 20px;
+ padding: 5px;
+ }
+ .wrap .content table p
+ {
+ line-height: 20px;
+ padding: 0px;
+ }
+ .wrap .content ul
+ {
+ padding-left: 25px;
+ padding-top: 10px;
+ }
+ a:hover
+ {
+ color: #4c0033;
+ text-decoration: underline;
+ }
+ .content a:visited
+ {
+ color: #4c0033;
+ text-decoration: none;
+ }
+ .content a:visited:hover
+ {
+ color: #4c0033;
+ text-decoration: underline;
+ }
+
+ pre
+ {
+ border: 1px solid #DDDDDD;
+ margin: 0 20px 10px 10px;
+ padding: 20px 15px 20px 20px;
+ overflow-x: auto;
+ }
+ table, pre
+ {
+ -moz-border-radius: 7px 7px 7px 7px;
+ background-color: #F6F6F6;
+ border: 1px solid #E6E6E6;
+ border-collapse: separate;
+ font-size: 11px;
+ /*min-width: 395px;*/
+ margin-bottom: 25px;
+ display: inline-block;
+ }
+ thead
+ {
+ margin-top: 5px;
+ font:600 12px/1.2 Arial;
+ }
+ th
+ {
+ padding: 5px 15px 5px 15px;
+ background-color: #E1E1E1;
+ /* border-bottom: 1px solid #E6E6E6;*/
+ border-left: 1px solid #E6E6E6;
+ /* border-right: 1px solid #E6E6E6;*/
+ }
+ td
+ {
+ padding: 3px 15px 3px 20px;
+ /* border-left: 1px solid #E6E6E6;
+ border-right: 1px solid #E6E6E6;*/
+ }
+ tr.odd td:hover, tr.even td:hover
+ {
+ /* border-right: 1px solid #C3C3C3;
+ border-left: 1px solid #C3C3C3;*/
+ }
+
+ td.rightAlign
+ {
+ padding: 3px 15px 3px 10px;
+ }
+ table tr.odd
+ {
+ border-left: 1px solid #E6E6E6;
+ background-color: #F6F6F6;
+ color: #66666E;
+ }
+ table tr.even
+ {
+ border-left: 1px solid #E6E6E6;
+ background-color: #ffffff;
+ color: #66666E;
+ }
+ table tr.odd td:hover, table tr.even td:hover
+ {
+ background-color: #E6E6E6;
+ }
+
+ span.comment
+ {
+ color: #8B0000;
+ font-style: italic;
+ }
+ span.string, span.char
+ {
+ color: #254117;
+ }
+
+ .qmltype
+ {
+ text-align: center;
+ font-size: 160%;
+ }
+ .qmlreadonly
+ {
+ float: right;
+ color: #254117;
+ }
+
+ .qmldefault
+ {
+ float: right;
+ color: red;
+ }
+
+ .footer
+ {
+ border-top:1px solid #E5E5E5;
+ min-height: 100px;
+ color: #797775;
+ font: normal 9px/1 Verdana;
+ text-align: center;
+ padding-top: 40px;
+ margin: 0;
+ }
+
+
+ .wrap
+ {
+ margin: 0 5px 0 5px;
+ }
+ .wrap .toolbar
+ {
+ display:block;
+ }
+
+ .wrap .breadcrumb ul li
+ {
+ float: left;
+ background: url(../images/breadcrumb.png) no-repeat 0 5px;
+ padding-left: 15px;
+ margin-left: 15px;
+ font-weight: bold;
+ }
+ .wrap .breadcrumb ul li.last
+ {
+ font-weight: normal;
+ }
+ .wrap .breadcrumb ul li a
+ {
+ /* color: #363534;*/
+ color: #00732F;
+ }
+ .wrap .breadcrumb ul li.first
+ {
+ background-image: none;
+ padding-left: 0;
+ margin-left: 0;
+ }
+ .wrap .content
+ {
+ word-wrap:break-word;
+ }
+ .wrap .content li
+ {
+ padding-left: 12px;
+ background: url(../images/bullet_sq.png) no-repeat 0 5px;
+ font: normal 400 10pt/1 Verdana;
+ margin-bottom: 10px;
+ }
+
+ .offline .wrap .content
+ {
+ padding-top: 15px;
+ }
+
+ .header:after, .footer:after, .breadcrumb:after, .wrap .content:after, .group:after
+ {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+ }
+
+ hr
+ {
+ background-color: #E6E6E6;
+ border: 1px solid #E6E6E6;
+ height: 1px;
+ width: 100%;
+ text-align: left;
+ margin: 5px 0px 5px 0px;
+ }
+
+ .content .alignedsummary
+ {
+ margin: 5px;
+ width:100%;
+ }
+
+
+ .toc
+ {
+ float: right;
+ -moz-border-radius: 7px 7px 7px 7px;
+ background-color: #F6F6F6;
+ border: 1px solid #DDDDDD;
+ margin: 0 20px 10px 10px;
+ padding: 20px 15px 20px 20px;
+ height: auto;
+ width: 200px;
+ }
+
+ .toc h3, .generic a
+ {
+ font: 600 12px/1.2 Arial;
+ }
+
+ .wrap .content .toc ul
+ {
+ padding-left: 0px;
+ }
+
+
+ .wrap .content .toc .level2
+ {
+ margin-left: 15px;
+ }
+
+ .wrap .content .toc .level3
+ {
+ margin-left: 30px;
+ }
+
+ .content .toc li
+ {
+ font: normal 10px/1.2 Verdana;
+ background: url(../images/bullet_dn.png) no-repeat 0 5px;
+ }
+
+
+ .generic{
+ max-width:75%;
+ }
+ .generic td{
+ padding:0;
+ }
+
+ .generic .odd .alphaChar{
+ background-color: #F6F6F6;
+ }
+
+ .generic .even .alphaChar{
+ background-color: #FFFFFF;
+ }
+
+ .highlightedCode
+ {
+ margin:10px;
+ }
+
+ .flowList{
+ vertical-align:top;
+ }
+ .alphaChar{
+ width:100%;
+ background-color:#F6F6F6;
+ border:1px solid #E6E6E6;
+ font-size:12pt;
+ padding-left:10px;
+ margin-top:10px;
+ margin-bottom:10px;
+ }
+
+ .flowList dl{
+ }
+ .flowList dd{
+ display:inline-block;
+ margin-left:10px;
+ width:250px;
+ }
+ .wrap .content .flowList p{
+ padding:0px;
+ }
+
+ .relpage
+ {
+ -moz-border-radius: 7px 7px 7px 7px;
+ border: 1px solid #DDDDDD;
+ padding: 25px 25px;
+ clear: both;
+ }
+ .relpage ul
+ {
+ float: none;
+ padding: 15px;
+ }
+ .content .relpage li
+ {
+ font: normal 11px/1.2 Verdana;
+ }
+ h3.fn, span.fn
+ {
+ background-color: #F6F6F6;
+ border-width: 1px;
+ border-style: solid;
+ border-color: #E6E6E6;
+ font-weight: bold;
+ word-spacing:3px;
+ }
+
+ .functionIndex {
+ font-size:12pt;
+ word-spacing:10px;
+ margin-bottom:10px;
+ background-color: #F6F6F6;
+ border-width: 1px;
+ border-style: solid;
+ border-color: #E6E6E6;
+ width:100%;
+ }
+
+ .centerAlign { text-align:center;}
+ .rightAlign {text-align:right;}
+ .leftAlign {text-align:left;}
+ .topAlign{vertical-align:top }
+ .functionIndex a{display:inline-block;}
+
+ /* start index box */
+ .indexbox
+ {
+ width: 100%;
+ display:inline-block;
+ }
+
+ .indexboxcont { display: block; }
+
+ .indexboxbar
+ {
+ border-bottom:1px solid #E5E5E5;
+ margin-bottom: 25px;
+ }
+
+ .indexboxcont .section
+ {
+ display: inline-block;
+ padding:0 2% 0 1%;
+ vertical-align:top;
+ }
+
+ .indexboxcont .section {
+ float: left;
+ }
+
+ .indexboxcont .section p
+ {
+ padding-top: 20px;
+ padding-bottom: 20px;
+ }
+ .indexboxcont .sectionlist
+ {
+ display: inline-block;
+ vertical-align:top;
+ padding: 0;
+ }
+ .indexboxcont .sectionlist ul
+ {
+ margin-bottom: 20px;
+ }
+
+ .indexboxcont .sectionlist ul li
+ {
+ line-height: 12px;
+ }
+
+ .content .indexboxcont li
+ {
+ font: normal 600 13px/1 Verdana;
+ }
+
+ .indexbox a:hover, .indexbox a:visited:hover
+ {
+ color: #4c0033;
+ text-decoration: underline;
+ }
+
+ .indexbox a:visited
+ {
+ color: #00732f;
+ text-decoration: none;
+ }
+
+ .indexbox .indexIcon {
+ width: 11%;
+ }
+
+
+ .indexboxcont:after
+ {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+ }
+
+ body.offline
+ {
+ background-image: none;
+ }
+
+ .offline .footer {
+ margin: 0;
+ }
+ .offline .header
+ {
+ width: 100%;
+ margin: 0;
+ height: auto;
+ background-color: #ffffff;
+ padding: 10px 0 5px 0;
+ overflow: visible;
+ border-bottom: solid #E5E5E5 1px;
+ z-index:1;
+ position:fixed;
+ }
+
+ .offline .header .content
+ {
+ }
+ .offline .header .qtref
+ {
+ color: #00732F;
+ position: static;
+ float: left;
+ margin-left: 5px;
+ font: bold 18px/1 Arial;
+ }
+
+ .offline .header .qtref:visited
+ {
+ color: #00732F;
+ }
+ .offline .header .qtref:hover
+ {
+ color: #00732F;
+ text-decoration:none;
+ }
+ .offline .header .qtref span
+ {
+ background-image: none;
+ text-indent: 0;
+ text-decoration:none;
+ }
+
+ .offline .wrap
+ {
+ margin: 0 5px 0 5px;
+ }
+
+ .offline .wrap .toolbar
+ {
+ display:block;
+ padding-top:5px;
+ }
+
+ .offline .wrap .breadcrumb ul li {
+ font-weight: normal;
+ }
+
+ .offline .wrap .breadcrumb ul li a {
+ /*color: #44a51c;*/
+ }
+
+ .offline .wrap .breadcrumb ul li.last a {
+ /*color: #363534;*/
+ }
+
+
+
+ .narrow .indexboxcont .section {
+ width: 64%;
+ padding-left: 0;
+ }
+
+ .narrow .indexboxcont .sectionlist {
+ width: 32.5%;
+ }
+
+ .header .icon,
+ .sidebar,
+ .feedback,
+ .t_button,
+ .feedback,
+ #feedbackBox,
+ #feedback,
+ #blurpage,
+ .indexbox .indexIcon span,
+ .wrapper .hd,
+ .offline .indexbox .indexIcon,
+ .offline .header #nav-logo,
+ #offlinemenu,
+ #offlinesearch,
+ .offline .header #nav-topright,
+ .offline .header #shortCut ,
+ .offline .wrapper .hd,
+ .offline .wrapper .ft,
+ .offline .sidebar,
+ .offline .wrap .feedback
+ {
+ display:none;
+ }
+
+ /* end offline mode */
+#narrowmenu {
+ display: none;
+ float: right;
+ margin: 15px 40px 0 0;
+ font-size: 11px;
+ }
+
+ .narrow #narrowmenu {
+ display: block;
+ }
+
+ #narrowsearch{
+ display:none;
+ }
+
+ #narrowmenu ul
+ {
+ border-bottom:solid 1px #E5E5E5;
+ border-left:solid 1px #E5E5E5;
+ border-right:solid 1px #E5E5E5;
+ }
+
+ #narrowmenu a {
+ line-height: 1.1;
+ background: url(../images/arrow_down.png) no-repeat 100% 50%;
+ white-space: nowrap;
+ padding: 0 16px 0 5px;
+ }
+
+ #narrowmenu li {
+ margin-left: 20px;
+ }
+
+ #narrowmenu li li {
+ margin: 0 0 5px 0;
+ }
+
+ #narrowmenu li li a {
+ padding: 0;
+ background-image: none;
+ }
+
+ #narrowmenu li,
+ #narrowmenu li ul {
+ background-color: #fff;
+ }
+
+ #narrowmenu li ul {
+ width: auto;
+ padding: 5px;
+ margin-top:-15px;
+ }
+
+ .sf-menu li:hover ul, .sf-menu li.sfHover ul {
+ top: 1.2em;
+ }
+.sf-menu, .sf-menu * {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+.sf-menu {
+ line-height: 1.0;
+}
+.sf-menu ul {
+ position: absolute;
+ top: -999em;
+ width: 10em; /* left offset of submenus need to match (see below) */
+}
+.sf-menu ul li {
+ width: 100%;
+}
+.sf-menu li:hover {
+ visibility: inherit; /* fixes IE7 'sticky bug' */
+}
+.sf-menu li {
+ float: left;
+ position: relative;
+}
+.sf-menu a {
+ display: block;
+ position: relative;
+}
+.sf-menu li:hover ul,
+.sf-menu li.sfHover ul {
+ left: 0;
+ top: 2.5em; /* match top ul list item height */
+ z-index: 99;
+}
+ul.sf-menu li:hover li ul,
+ul.sf-menu li.sfHover li ul {
+ top: -999em;
+}
+ul.sf-menu li li:hover ul,
+ul.sf-menu li li.sfHover ul {
+ left: 10em; /* match ul width */
+ top: 0;
+}
+ul.sf-menu li li:hover li ul,
+ul.sf-menu li li.sfHover li ul {
+ top: -999em;
+}
+ul.sf-menu li li li:hover ul,
+ul.sf-menu li li li.sfHover ul {
+ left: 10em; /* match ul width */
+ top: 0;
+}
+
+}
+/* end of screen media */
+
+/* start of print media */
+
+@media print
+{
+ input, textarea, .header, .footer, .toolbar, .feedback, .wrapper .hd, .wrapper .bd .sidebar, .wrapper .ft
+ {
+ display: none;
+ background: none;
+ }
+ .content
+ {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ background: none;
+ display: block;
+ }
+}
+/* end of print media */
diff --git a/doc/src/template/style/narrow.css b/doc/src/template/style/narrow.css
new file mode 100644
index 0000000..05159aa
--- /dev/null
+++ b/doc/src/template/style/narrow.css
@@ -0,0 +1,250 @@
+ /* start narrow mode */
+
+ body.narrow
+ {
+ background-image: none;
+ }
+
+ .narrow a {
+ color: #44a51c;
+ }
+
+ .narrow .header, .narrow .header .content, .narrow .footer, .narrow .wrapper {
+ margin: 0 7px;
+ min-width: 300px;
+ }
+
+ .narrow .footer {
+ margin: 0;
+ }
+ .narrow .header
+ {
+ width: 100%;
+ margin: 0;
+ height: auto;
+ background: #fff url(../images/header_bg.png) repeat-x 0 100%;
+ padding: 10px 0 5px 0;
+ overflow: visible;
+ }
+
+ .narrow .header .content
+ {
+ }
+
+ .narrow .header #nav-logo
+ {
+ display: none;
+ }
+
+ .narrow .header .qtref
+ {
+ width: auto;
+ height: auto;
+ color: #363534;
+ position: static;
+ float: left;
+ margin-left: 25px;
+ font: bold 18px/1 Arial;
+ }
+
+ .narrow .header .qtref a
+ {
+ color: #363534;
+ }
+
+ .narrow .header .qtref span
+ {
+ background-image: none;
+ text-indent: 0;
+ }
+
+ .narrow .header #nav-topright
+ {
+ display: none;
+ }
+
+ .narrow .header #shortCut
+ {
+ clear: both;
+ font-weight: normal;
+ position: static;
+ float: left;
+ margin: 15px 0 0 25px;
+ overflow: hidden;
+ padding: 0;
+ height: auto;
+ }
+
+ .narrow .header #shortCut ul
+ {
+ float: none;
+ margin: 0;
+ width: auto;
+ font-size: 11px;
+ }
+
+ .narrow .header #shortCut ul li
+ {
+ background-image: none;
+ }
+
+ .narrow .header #shortCut ul .shortCut-topleft-active,
+ .narrow .header #shortCut ul .shortCut-topleft-inactive
+ {
+ background-image: none;
+ height: auto;
+ padding: 0;
+ width: auto;
+ }
+ .narrow .header #shortCut ul li a
+ {
+ color: #44a51c;
+ }
+
+ .narrow .wrapper .hd
+ {
+ background: url(../images/bg_ul_blank.png) no-repeat 0 0;
+ }
+
+ .narrow .wrapper .bd
+ {
+ background: url(../images/bg_l_blank.png) repeat-y 0 0;
+ }
+
+ .narrow .wrapper .ft
+ {
+ background: url(../images/bg_ll_blank.png) no-repeat 0 0;
+ }
+
+ .narrow .sidebar
+ {
+ display: none;
+ }
+
+ .narrow .wrap
+ {
+ margin: 0 5px 0 5px;
+ }
+
+ .narrow .wrap .toolbar
+ {
+ border-bottom: none;
+ }
+
+ .narrow .wrap .content
+ {
+ padding-top: 15px;
+ }
+
+ .narrow .wrap .feedback
+ {
+ display: none;
+ }
+
+ .narrow .wrap .breadcrumb ul li {
+ font-weight: normal;
+ }
+
+ .narrow .wrap .breadcrumb ul li a {
+ color: #44a51c;
+ }
+
+ .narrow .wrap .breadcrumb ul li.last a {
+ color: #363534;
+ }
+
+ #narrowsearch {
+ display: none;
+ }
+
+ .narrow #narrowsearch {
+ display: block;
+ float: right;
+ margin-right: 25px;
+ _position: relative;
+ }
+
+ .narrow #narrowsearch fieldset {
+ _position: absolute;
+ _margin-top: -1px;
+ }
+
+ .narrow #narrowsearch {
+ background: url("http://doc.qt.nokia.com/prototype/html/images/sprites-combined.png") no-repeat scroll -6px -348px transparent;
+ height: 21px;
+ padding: 2px 0 0 5px;
+ width: 167px;
+ }
+
+ .narrow #narrowsearch input {
+ border: none;
+ font: 13px/1.2 Verdana;
+ height: 19px;
+ outline: none;
+ padding: 0;
+ width: 158px;
+ *border: 1px solid #fff;
+ *height: 17px;
+ _height: 18px;
+ }
+
+ .narrow .indexbox .indexIcon {
+ display: none;
+ }
+
+ .narrow .indexboxcont .section {
+ width: 64%;
+ padding-left: 0;
+ }
+
+ .narrow .indexboxcont .sectionlist {
+ width: 32.5%;
+ }
+
+ #narrowmenu {
+ display: none;
+ float: right;
+ margin: 15px 40px 0 0;
+ font-size: 11px;
+ }
+
+ .narrow #narrowmenu {
+ display: block;
+ }
+
+ #narrowmenu a {
+ line-height: 1.1;
+ background: url(../images/arrow_down.png) no-repeat 100% 50%;
+ white-space: nowrap;
+ padding: 0 16px 0 5px;
+ }
+
+ #narrowmenu li {
+ margin-left: 20px;
+ }
+
+ #narrowmenu li li {
+ margin: 0 0 5px 0;
+ }
+
+ #narrowmenu li li a {
+ padding: 0;
+ background-image: none;
+ }
+
+ #narrowmenu li,
+ #narrowmenu li ul {
+ background-color: #fff;
+ margin-top:-1px;
+ }
+
+ #narrowmenu li ul {
+ width: auto;
+ padding: 5px;
+ }
+
+ .sf-menu li:hover ul, .sf-menu li.sfHover ul {
+ top: 1.2em;
+ }
+
+ /* end narrow mode */
diff --git a/doc/src/template/style/superfish.css b/doc/src/template/style/superfish.css
new file mode 100644
index 0000000..0cf0f7d
--- /dev/null
+++ b/doc/src/template/style/superfish.css
@@ -0,0 +1,51 @@
+.sf-menu, .sf-menu * {
+ margin: 0;
+ padding: 0;
+ list-style: none;
+}
+.sf-menu {
+ line-height: 1.0;
+}
+.sf-menu ul {
+ position: absolute;
+ top: -999em;
+ width: 10em; /* left offset of submenus need to match (see below) */
+}
+.sf-menu ul li {
+ width: 100%;
+}
+.sf-menu li:hover {
+ visibility: inherit; /* fixes IE7 'sticky bug' */
+}
+.sf-menu li {
+ float: left;
+ position: relative;
+}
+.sf-menu a {
+ display: block;
+ position: relative;
+}
+.sf-menu li:hover ul,
+.sf-menu li.sfHover ul {
+ left: 0;
+ top: 2.5em; /* match top ul list item height */
+ z-index: 99;
+}
+ul.sf-menu li:hover li ul,
+ul.sf-menu li.sfHover li ul {
+ top: -999em;
+}
+ul.sf-menu li li:hover ul,
+ul.sf-menu li li.sfHover ul {
+ left: 10em; /* match ul width */
+ top: 0;
+}
+ul.sf-menu li li:hover li ul,
+ul.sf-menu li li.sfHover li ul {
+ top: -999em;
+}
+ul.sf-menu li li li:hover ul,
+ul.sf-menu li li li.sfHover ul {
+ left: 10em; /* match ul width */
+ top: 0;
+}
diff --git a/doc/src/template/style/superfish_skin.css b/doc/src/template/style/superfish_skin.css
new file mode 100644
index 0000000..8d84827
--- /dev/null
+++ b/doc/src/template/style/superfish_skin.css
@@ -0,0 +1,83 @@
+
+/*** DEMO SKIN ***/
+.sf-menu {
+ float: left;
+ margin-bottom: 1em;
+}
+.sf-menu a {
+ border-left: 1px solid #fff;
+ border-top: 1px solid #CFDEFF;
+ padding: .75em 1em;
+ text-decoration:none;
+}
+.sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/
+ color: #13a;
+}
+.sf-menu li {
+ background: #BDD2FF;
+}
+.sf-menu li li {
+ background: #AABDE6;
+}
+.sf-menu li li li {
+ background: #9AAEDB;
+}
+.sf-menu li:hover, .sf-menu li.sfHover,
+.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
+ background: #CFDEFF;
+ outline: 0;
+}
+
+/*** arrows **/
+.sf-menu a.sf-with-ul {
+ padding-right: 2.25em;
+ min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */
+}
+.sf-sub-indicator {
+ position: absolute;
+ display: block;
+ right: .75em;
+ top: 1.05em; /* IE6 only */
+ width: 10px;
+ height: 10px;
+ text-indent: -999em;
+ overflow: hidden;
+ background: url('../images/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
+}
+a > .sf-sub-indicator { /* give all except IE6 the correct values */
+ top: .8em;
+ background-position: 0 -100px; /* use translucent arrow for modern browsers*/
+}
+/* apply hovers to modern browsers */
+a:focus > .sf-sub-indicator,
+a:hover > .sf-sub-indicator,
+a:active > .sf-sub-indicator,
+li:hover > a > .sf-sub-indicator,
+li.sfHover > a > .sf-sub-indicator {
+ background-position: -10px -100px; /* arrow hovers for modern browsers*/
+}
+
+/* point right for anchors in subs */
+.sf-menu ul .sf-sub-indicator { background-position: -10px 0; }
+.sf-menu ul a > .sf-sub-indicator { background-position: 0 0; }
+/* apply hovers to modern browsers */
+.sf-menu ul a:focus > .sf-sub-indicator,
+.sf-menu ul a:hover > .sf-sub-indicator,
+.sf-menu ul a:active > .sf-sub-indicator,
+.sf-menu ul li:hover > a > .sf-sub-indicator,
+.sf-menu ul li.sfHover > a > .sf-sub-indicator {
+ background-position: -10px 0; /* arrow hovers for modern browsers*/
+}
+
+/*** shadows for all but IE6 ***/
+.sf-shadow ul {
+ background: url('../images/shadow.png') no-repeat bottom right;
+ padding: 0 8px 9px 0;
+ -moz-border-radius-bottomleft: 17px;
+ -moz-border-radius-topright: 17px;
+ -webkit-border-top-right-radius: 17px;
+ -webkit-border-bottom-left-radius: 17px;
+}
+.sf-shadow ul.sf-shadow-off {
+ background: transparent;
+}
diff --git a/examples/activeqt/activeqt.pro b/examples/activeqt/activeqt.pro
index 262e1a1..79d257a 100644
--- a/examples/activeqt/activeqt.pro
+++ b/examples/activeqt/activeqt.pro
@@ -11,7 +11,7 @@ contains(QT_CONFIG, opengl):SUBDIRS += opengl
# For now only the contain examples with mingw, for the others you need
# an IDL compiler
-win32-g++|wince*:SUBDIRS = webbrowser
+win32-g++*|wince*:SUBDIRS = webbrowser
# install
target.path = $$[QT_INSTALL_EXAMPLES]/activeqt
diff --git a/examples/declarative/modelviews/webview/content/FieldText.qml b/examples/declarative/modelviews/webview/content/FieldText.qml
index c9adde5..17fa4cd 100644
--- a/examples/declarative/modelviews/webview/content/FieldText.qml
+++ b/examples/declarative/modelviews/webview/content/FieldText.qml
@@ -161,8 +161,6 @@ Item {
color: "black"
readOnly: false
focus: true
- selectionStart: 0
- selectionEnd: -1
}
PropertyChanges {
target: editRegion
diff --git a/examples/declarative/sqllocalstorage/hello.qml b/examples/declarative/sqllocalstorage/hello.qml
index 0913d42..421a74c 100644
--- a/examples/declarative/sqllocalstorage/hello.qml
+++ b/examples/declarative/sqllocalstorage/hello.qml
@@ -68,4 +68,4 @@ Text {
Component.onCompleted: findGreetings()
}
-
+//![0]
diff --git a/examples/declarative/text/edit/edit.qml b/examples/declarative/text/edit/edit.qml
index 2774739..0be42e9 100644
--- a/examples/declarative/text/edit/edit.qml
+++ b/examples/declarative/text/edit/edit.qml
@@ -157,14 +157,16 @@ Rectangle {
if (editor.state == "selection" && drag != "") {
if (drag == "start") {
var pos = edit.positionAt(mouse.x+x+startHandle.width/2,mouse.y+y);
- if (edit.selectionEnd < pos)
- edit.selectionEnd = pos;
- edit.selectionStart = pos;
+ var e = edit.selectionEnd;
+ if (e < pos)
+ e = pos;
+ edit.select(pos,e);
} else if (drag == "end") {
var pos = edit.positionAt(mouse.x+x-endHandle.width/2,mouse.y+y);
- if (edit.selectionStart > pos)
- edit.selectionStart = pos;
- edit.selectionEnd = pos;
+ var s = edit.selectionStart;
+ if (s > pos)
+ s = pos;
+ edit.select(s,pos);
}
}
}
@@ -226,7 +228,7 @@ Rectangle {
height: 16
Text { anchors.centerIn: parent; text: "Deselect" }
MouseArea { anchors.fill: parent;
- onClicked: { edit.cursorPosition = edit.selectionEnd; edit.selectionStart = edit.selectionEnd; editor.state = "" } }
+ onClicked: { edit.cursorPosition = edit.selectionEnd; edit.select(edit.cursorPosition,edit.cursorPosition); editor.state = "" } }
}
}
}
diff --git a/examples/declarative/tutorials/extending/chapter1-basics/app.qml b/examples/declarative/tutorials/extending/chapter1-basics/app.qml
index 7de32f2..9af155c 100644
--- a/examples/declarative/tutorials/extending/chapter1-basics/app.qml
+++ b/examples/declarative/tutorials/extending/chapter1-basics/app.qml
@@ -55,3 +55,4 @@ Rectangle {
text: aMusician.name + " plays the " + aMusician.instrument
}
}
+//![0]
diff --git a/examples/declarative/tutorials/extending/chapter2-methods/app.qml b/examples/declarative/tutorials/extending/chapter2-methods/app.qml
index 495413f..02d33c2 100644
--- a/examples/declarative/tutorials/extending/chapter2-methods/app.qml
+++ b/examples/declarative/tutorials/extending/chapter2-methods/app.qml
@@ -57,3 +57,4 @@ Rectangle {
onClicked: aMusician.perform()
}
}
+//![0]
diff --git a/examples/declarative/tutorials/extending/chapter3-bindings/app.qml b/examples/declarative/tutorials/extending/chapter3-bindings/app.qml
index 46408cb..8bf6ecf 100644
--- a/examples/declarative/tutorials/extending/chapter3-bindings/app.qml
+++ b/examples/declarative/tutorials/extending/chapter3-bindings/app.qml
@@ -69,3 +69,4 @@ Rectangle {
}
}
}
+//![0]
diff --git a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml
index 09662d6..d76f801 100644
--- a/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml
+++ b/examples/declarative/tutorials/extending/chapter4-customPropertyTypes/app.qml
@@ -51,3 +51,4 @@ Item {
Component.onCompleted: console.log("Reddy plays the " + reddy.instrument.type)
}
+//![0]
diff --git a/examples/ja_JP/linguist/hellotr/hellotr.pro b/examples/ja_JP/linguist/hellotr/hellotr.pro
new file mode 100644
index 0000000..3846bfb
--- /dev/null
+++ b/examples/ja_JP/linguist/hellotr/hellotr.pro
@@ -0,0 +1,13 @@
+#! [0]
+SOURCES = main.cpp
+#! [0] #! [1]
+TRANSLATIONS = hellotr_ja.ts
+#! [1]
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/linguist/hellotr
+sources.files = $$SOURCES *.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/linguist/hellotr
+INSTALLS += target sources
+
+symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
diff --git a/examples/ja_JP/linguist/hellotr/main.cpp b/examples/ja_JP/linguist/hellotr/main.cpp
new file mode 100644
index 0000000..ad122e9
--- /dev/null
+++ b/examples/ja_JP/linguist/hellotr/main.cpp
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the examples of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QApplication>
+#include <QPushButton>
+//! [0]
+#include <QTranslator>
+//! [0]
+
+//! [1] //! [2]
+int main(int argc, char *argv[])
+//! [1] //! [3] //! [4]
+{
+ QApplication app(argc, argv);
+//! [3]
+
+//! [5]
+ QTranslator translator;
+//! [5] //! [6]
+ translator.load("hellotr_ja");
+//! [6] //! [7]
+ app.installTranslator(&translator);
+//! [4] //! [7]
+
+//! [8]
+ QPushButton hello(QPushButton::tr("Hello world!"));
+//! [8]
+ hello.resize(100, 30);
+
+ hello.show();
+ return app.exec();
+}
+//! [2]
diff --git a/examples/tutorials/addressbook/part3/addressbook.cpp b/examples/tutorials/addressbook/part3/addressbook.cpp
index adb87ef..28a570a 100644
--- a/examples/tutorials/addressbook/part3/addressbook.cpp
+++ b/examples/tutorials/addressbook/part3/addressbook.cpp
@@ -125,6 +125,7 @@ void AddressBook::submitContact()
if (name == "" || address == "") {
QMessageBox::information(this, tr("Empty Field"),
tr("Please enter a name and address."));
+ return;
}
if (!contacts.contains(name)) {
diff --git a/examples/tutorials/addressbook/part4/addressbook.cpp b/examples/tutorials/addressbook/part4/addressbook.cpp
index 1b7a6c4..55d551f 100644
--- a/examples/tutorials/addressbook/part4/addressbook.cpp
+++ b/examples/tutorials/addressbook/part4/addressbook.cpp
@@ -134,6 +134,7 @@ void AddressBook::submitContact()
if (name == "" || address == "") {
QMessageBox::information(this, tr("Empty Field"),
tr("Please enter a name and address."));
+ return;
}
//! [submitContact() function part1]
if (currentMode == AddingMode) {
diff --git a/examples/tutorials/addressbook/part5/addressbook.cpp b/examples/tutorials/addressbook/part5/addressbook.cpp
index 80c18c3..1b3f451 100644
--- a/examples/tutorials/addressbook/part5/addressbook.cpp
+++ b/examples/tutorials/addressbook/part5/addressbook.cpp
@@ -141,6 +141,7 @@ void AddressBook::submitContact()
if (name == "" || address == "") {
QMessageBox::information(this, tr("Empty Field"),
tr("Please enter a name and address."));
+ return;
}
if (currentMode == AddingMode) {
diff --git a/examples/tutorials/addressbook/part6/addressbook.cpp b/examples/tutorials/addressbook/part6/addressbook.cpp
index fc41190..724971c 100644
--- a/examples/tutorials/addressbook/part6/addressbook.cpp
+++ b/examples/tutorials/addressbook/part6/addressbook.cpp
@@ -147,6 +147,7 @@ void AddressBook::submitContact()
if (name == "" || address == "") {
QMessageBox::information(this, tr("Empty Field"),
tr("Please enter a name and address."));
+ return;
}
if (currentMode == AddingMode) {
diff --git a/examples/tutorials/addressbook/part7/addressbook.cpp b/examples/tutorials/addressbook/part7/addressbook.cpp
index 3ab8702..bf00298 100644
--- a/examples/tutorials/addressbook/part7/addressbook.cpp
+++ b/examples/tutorials/addressbook/part7/addressbook.cpp
@@ -149,6 +149,7 @@ void AddressBook::submitContact()
if (name == "" || address == "") {
QMessageBox::information(this, tr("Empty Field"),
tr("Please enter a name and address."));
+ return;
}
if (currentMode == AddingMode) {
diff --git a/mkspecs/common/qws.conf b/mkspecs/common/qws.conf
index 96341a7..225f0ff 100644
--- a/mkspecs/common/qws.conf
+++ b/mkspecs/common/qws.conf
@@ -14,6 +14,10 @@ QMAKE_INCDIR_X11 =
QMAKE_LIBDIR_X11 =
QMAKE_INCDIR_OPENGL =
QMAKE_LIBDIR_OPENGL =
+QMAKE_INCDIR_OPENGL_ES1 =
+QMAKE_LIBDIR_OPENGL_ES1 =
+QMAKE_INCDIR_OPENGL_ES2 =
+QMAKE_LIBDIR_OPENGL_ES2 =
QMAKE_LIBS_X11 =
QMAKE_LIBS_X11SM =
QMAKE_LIBS_OPENGL =
diff --git a/mkspecs/common/symbian/symbian-mmp.conf b/mkspecs/common/symbian/symbian-mmp.conf
index 1ab228f..5a7b2d2 100644
--- a/mkspecs/common/symbian/symbian-mmp.conf
+++ b/mkspecs/common/symbian/symbian-mmp.conf
@@ -38,14 +38,22 @@ INCLUDEPATH = \
# RVCT seems to do this automatically, but WINSCW compiler does not, so add it here.
MMP_RULES += "USERINCLUDE ."
-exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.0.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.0.sis) {
- S60_VERSION = 5.0
+exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.2.sis) {
+ S60_VERSION = 5.2 symbian3
} else {
- exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v3.2.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/series60v3.2.sis) {
- S60_VERSION = 3.2
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.1.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.1.sis) {
+ S60_VERSION = 5.1 symbian2
} else {
- S60_VERSION = 3.1
- MMP_RULES -= PAGED BYTEPAIRCOMPRESSTARGET
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v5.0.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v5.0.sis) {
+ S60_VERSION = 5.0
+ } else {
+ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/series60v3.2.sis)|exists($${EPOCROOT}epoc32/data/z/system/install/series60v3.2.sis) {
+ S60_VERSION = 3.2
+ } else {
+ S60_VERSION = 3.1
+ MMP_RULES -= PAGED BYTEPAIRCOMPRESSTARGET
+ }
+ }
}
}
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index 89034ca..b8bfd7c 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -119,13 +119,14 @@ load(symbian/platform_paths)
default_deployment.pkg_prerules += pkg_depends_webkit pkg_depends_qt pkg_platform_dependencies
-# Supports S60 3.0, 3.1, 3.2 and 5.0 by default
+# Supports S60 3.0, 3.1, 3.2, 5.0 and Symbian^3 by default
pkg_platform_dependencies = \
"; Default HW/platform dependencies" \
"[0x101F7961],0,0,0,{\"S60ProductID\"}" \
"[0x102032BE],0,0,0,{\"S60ProductID\"}" \
"[0x102752AE],0,0,0,{\"S60ProductID\"}" \
"[0x1028315F],0,0,0,{\"S60ProductID\"}" \
+ "[0x20022e6d],0,0,0,{\"S60ProductID\"}" \
" "
DEPLOYMENT += default_deployment
diff --git a/mkspecs/features/qttest_p4.prf b/mkspecs/features/qttest_p4.prf
index d2011d0..d1c7c2b 100644
--- a/mkspecs/features/qttest_p4.prf
+++ b/mkspecs/features/qttest_p4.prf
@@ -1,5 +1,5 @@
isEmpty(TEMPLATE):TEMPLATE=app
-CONFIG += qt warn_on console depend_includepath
+CONFIG += qt warn_on console depend_includepath testcase
qtAddLibrary(QtTest)
@@ -13,39 +13,5 @@ symbian:{
# prefix test binary with tst_
!contains(TARGET, ^tst_.*):TARGET = $$join(TARGET,,"tst_")
-
-check.files =
-check.path = .
-!isEmpty(DESTDIR): check.commands = cd ./$(DESTDIR) &&
-macx: check.commands += ./$(QMAKE_TARGET).app/Contents/MacOS/$(QMAKE_TARGET)
-else:unix: check.commands += ./$(QMAKE_TARGET)
-else:win32: {
- CONFIG(debug, debug|release):check.commands += $(DESTDIR_TARGET)
- else:check.commands += $(DESTDIR_TARGET)
-}
-embedded: check.commands += -qws
-QMAKE_EXTRA_TARGETS += check
-
-!debug_and_release|build_pass {
- check.depends = first
-} else {
- check.CONFIG = recursive
- # In debug and release mode, only run the test once.
- # Run debug if available, release otherwise.
- debug_and_release {
- check.target = dummy_check
- check.recurse_target = check
- debug {
- real_check.depends = debug-check
- real_check.target = check
- QMAKE_EXTRA_TARGETS += real_check
- } else {
- real_check.depends = release-check
- real_check.target = check
- QMAKE_EXTRA_TARGETS += real_check
- }
- }
-}
-
target.path += $$[QT_INSTALL_PREFIX]/tests/qt4
INSTALLS += target
diff --git a/mkspecs/features/sis_targets.prf b/mkspecs/features/sis_targets.prf
index 13ee1ad..0023b54 100644
--- a/mkspecs/features/sis_targets.prf
+++ b/mkspecs/features/sis_targets.prf
@@ -1,5 +1,5 @@
# Sis file creation
-contains(TEMPLATE, app)|!count(DEPLOYMENT, 1) {
+contains(TEMPLATE, app)|!equals(DEPLOYMENT, default_deployment) {
symbian-abld|symbian-sbsv2 {
sis_destdir =
make_cache_name = .make.cache
diff --git a/mkspecs/features/symbian/def_files.prf b/mkspecs/features/symbian/def_files.prf
index eb17402..1b8e551 100644
--- a/mkspecs/features/symbian/def_files.prf
+++ b/mkspecs/features/symbian/def_files.prf
@@ -7,7 +7,8 @@ symbian-abld|symbian-sbsv2 {
# Firstly, if the MMP_RULES already contain a defBlock variable, don't generate another one
# (this bit is slightly magic, because it depends upon everyone creating their DEFFILE statements
# in a defBlock variable; but otherwise we have to expand MMP_RULES then scan for the DEFFILE keyword)
- !contains(MMP_RULES, defBlock) {
+ # Similarly, explicit EXPORTUNFROZEN should block adding defBlock
+ !contains(MMP_RULES, defBlock):!contains(MMP_RULES, EXPORTUNFROZEN) {
# Apps are executables on Symbian, so don't have exports, and therefore don't have DEF files
# Plugins use standard DEF files, which qmake generates, so shouldn't be using these DEFFILE
# statements - they use the qmake generated statements instead
@@ -41,7 +42,7 @@ symbian-abld|symbian-sbsv2 {
}
}
-} else:contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
+} else:contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib):!contains(CONFIG, plugin) {
!isEmpty(DEF_FILE) {
defFile = $$DEF_FILE
} else {
diff --git a/mkspecs/features/symbian/def_files_disabled.prf b/mkspecs/features/symbian/def_files_disabled.prf
index 557c5e3..0344911 100644
--- a/mkspecs/features/symbian/def_files_disabled.prf
+++ b/mkspecs/features/symbian/def_files_disabled.prf
@@ -8,6 +8,6 @@ CONFIG -= def_files
!contains(TEMPLATE, app):!contains(CONFIG, plugin):!contains(CONFIG, staticlib): {
# with EXPORTUNFROZEN enabled, new exports are included in the dll and dso/lib without
# needing to run abld/sbs freeze
- MMP_RULES += EXPORTUNFROZEN
+ MMP_RULES *= EXPORTUNFROZEN
}
}
diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf
index c230272..92988aa 100644
--- a/mkspecs/features/symbian/symbian_building.prf
+++ b/mkspecs/features/symbian/symbian_building.prf
@@ -96,6 +96,9 @@ contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
QMAKE_POST_LINK = $$replace(QMAKE_POST_LINK, "^@", "")
QMAKE_POST_LINK = && $$QMAKE_POST_LINK
}
+
+ contains(CONFIG, plugin):QMAKE_ELF2E32_FLAGS += --definput=plugin_commonu.def
+
# The tee and grep at the end work around the issue that elf2e32 doesn't return non-null on error.
# The comparison of dso files is to avoid extra building of modules that depend on this dso, in
# case it has not changed.
diff --git a/mkspecs/features/testcase.prf b/mkspecs/features/testcase.prf
new file mode 100644
index 0000000..7a7c9e3
--- /dev/null
+++ b/mkspecs/features/testcase.prf
@@ -0,0 +1,65 @@
+!contains(TEMPLATE,subdirs) {
+
+check.files =
+check.path = .
+
+# If the test ends up in a different directory, we should cd to that directory.
+# Note that qmake modifies DESTDIR after this file is processed,
+# therefore, testing DESTDIR for emptiness is not sufficient.
+# Also note that in debug-and-release mode we don't want to cd into the debug/release
+# directory (e.g. if the test goes to foo/release/tst_thing.exe, we want to do
+# cd foo && release/tst_thing.exe ).
+MUNGED_DESTDIR=$$DESTDIR
+MUNGED_TARGET=$$TARGET
+win32:debug_and_release {
+ contains(DESTDIR,^release$)|contains(DESTDIR,^debug$):MUNGED_DESTDIR=
+
+ # In debug-and-release mode, the first ../ in TARGET breaks out of the debug/release
+ # subdirectory. However, since make's working directory is already outside of the
+ # debug/release subdirectory, this first ../ should be ignored when deciding if
+ # we have to change directory before running the test.
+ MUNGED_TARGET=$$replace(MUNGED_TARGET,^\\.\\./,)
+}
+!isEmpty(MUNGED_DESTDIR):!contains(MUNGED_DESTDIR,^\\./?):check.commands = cd $(DESTDIR) &&
+contains(MUNGED_TARGET,.*/.*):check.commands = cd $(DESTDIR) &&
+
+# Allow for a custom test runner script
+check.commands += $(TESTRUNNER)
+
+macx {
+ app_bundle: check.commands += ./$(QMAKE_TARGET).app/Contents/MacOS/$(QMAKE_TARGET)
+ else: check.commands += ./$(QMAKE_TARGET)
+}
+else:unix: check.commands += ./$(QMAKE_TARGET)
+else: check.commands += $(DESTDIR_TARGET)
+
+# For Qt/Embedded, run every test app as a QWS server
+embedded: check.commands += -qws
+
+# Allow for custom arguments to tests
+check.commands += $(TESTARGS)
+QMAKE_EXTRA_TARGETS *= check
+
+!debug_and_release|build_pass {
+ check.depends = first
+} else {
+ check.CONFIG = recursive
+ # In debug and release mode, only run the test once.
+ # Run debug if available, release otherwise.
+ debug_and_release {
+ check.target = dummy_check
+ check.recurse_target = check
+ debug {
+ real_check.depends = debug-check
+ real_check.target = check
+ QMAKE_EXTRA_TARGETS += real_check
+ } else {
+ real_check.depends = release-check
+ real_check.target = check
+ QMAKE_EXTRA_TARGETS += real_check
+ }
+ }
+}
+
+}
+
diff --git a/mkspecs/linux-g++-maemo/qmake.conf b/mkspecs/linux-g++-maemo/qmake.conf
index ca201bc..cced090 100644
--- a/mkspecs/linux-g++-maemo/qmake.conf
+++ b/mkspecs/linux-g++-maemo/qmake.conf
@@ -13,9 +13,6 @@ QMAKE_INCREMENTAL_STYLE = sublib
include(../common/g++.conf)
include(../common/linux.conf)
-# Work round scratchbox not having standard paths in it's default search path
-QMAKE_LFLAGS += -Wl,-rpath-link=/lib
-QMAKE_LFLAGS += -Wl,-rpath-link=/usr/lib
# Override the default lib/include directories for scratchbox:
QMAKE_INCDIR_X11 = /usr/include/X11
diff --git a/mkspecs/linux-icc/qmake.conf b/mkspecs/linux-icc/qmake.conf
index 3353180..3b26f7d 100644
--- a/mkspecs/linux-icc/qmake.conf
+++ b/mkspecs/linux-icc/qmake.conf
@@ -21,13 +21,13 @@ QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = yacc
QMAKE_YACCFLAGS = -d
-QMAKE_CFLAGS = -wd654,1572
+QMAKE_CFLAGS =
QMAKE_CFLAGS_DEPS = -M
-QMAKE_CFLAGS_WARN_ON =
+QMAKE_CFLAGS_WARN_ON = -w1 -Wcheck -wd654,1572,411,873,1125
QMAKE_CFLAGS_WARN_OFF = -w
-QMAKE_CFLAGS_RELEASE = -O2
-QMAKE_CFLAGS_DEBUG = -g
-QMAKE_CFLAGS_SHLIB = -fPIC
+QMAKE_CFLAGS_RELEASE = -O2 -falign-functions=16 -ansi-alias -fstrict-aliasing
+QMAKE_CFLAGS_DEBUG = -O0 -g
+QMAKE_CFLAGS_SHLIB = -fPIC -fno-jump-tables
QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
QMAKE_CFLAGS_YACC =
QMAKE_CFLAGS_THREAD = -D_REENTRANT
@@ -58,11 +58,12 @@ QMAKE_LINK_SHLIB = icpc
QMAKE_LFLAGS =
QMAKE_LFLAGS_RELEASE =
QMAKE_LFLAGS_DEBUG =
-QMAKE_LFLAGS_SHLIB = -shared
+QMAKE_LFLAGS_SHLIB = -shared -shared-intel
QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
-QMAKE_LFLAGS_SONAME = -Qoption,ld,-soname,
+QMAKE_LFLAGS_SONAME = -Wl,-soname,
QMAKE_LFLAGS_THREAD =
-QMAKE_LFLAGS_RPATH = -Qoption,ld,-rpath,
+QMAKE_LFLAGS_NOUNDEF = -Wl,-z,defs
+QMAKE_LFLAGS_RPATH = -Wl,-rpath,
QMAKE_LIBS =
QMAKE_LIBS_DYNLOAD = -ldl
@@ -76,7 +77,7 @@ QMAKE_LIBS_THREAD = -lpthread
QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
-QMAKE_AR = ar cqs
+QMAKE_AR = xiar cqs
QMAKE_OBJCOPY = objcopy
QMAKE_RANLIB =
@@ -99,8 +100,8 @@ QMAKE_CXXFLAGS_USE_PRECOMPILE = -pch-use ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PC
QMAKE_CXXFLAGS_PRECOMPILE = -c -pch-create ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_TEMP_OBJECT} ${QMAKE_PCH_TEMP_SOURCE}
# -Bsymbolic-functions (ld) support
-QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Qoption,ld,-Bsymbolic-functions
-QMAKE_LFLAGS_DYNAMIC_LIST = -Qoption,ld,--dynamic-list,
+QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
+QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
# Symbol visibility control
QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
diff --git a/mkspecs/modules/qt_webkit_version.pri b/mkspecs/modules/qt_webkit_version.pri
new file mode 100644
index 0000000..0370720
--- /dev/null
+++ b/mkspecs/modules/qt_webkit_version.pri
@@ -0,0 +1,2 @@
+# The version information comes from our copy of
+include($$PWD/../../src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri)
diff --git a/mkspecs/unsupported/win32-g++-cross/qmake.conf b/mkspecs/unsupported/win32-g++-cross/qmake.conf
new file mode 100644
index 0000000..e338a22
--- /dev/null
+++ b/mkspecs/unsupported/win32-g++-cross/qmake.conf
@@ -0,0 +1,101 @@
+#
+# qmake configuration for win32-g++-cross
+#
+# Written for MinGW cross building on Unix
+#
+
+MAKEFILE_GENERATOR = MINGW
+TEMPLATE = app
+CONFIG += qt warn_on release link_prl copy_dir_files debug_and_release debug_and_release_target precompile_header
+QT += core gui
+DEFINES += UNICODE QT_LARGEFILE_SUPPORT
+QMAKE_COMPILER_DEFINES += __GNUC__ WIN32
+
+QMAKE_EXT_OBJ = .o
+QMAKE_EXT_RES = _res.o
+
+QMAKE_CC = i686-pc-mingw32-gcc
+QMAKE_LEX = flex
+QMAKE_LEXFLAGS =
+QMAKE_YACC = byacc
+QMAKE_YACCFLAGS = -d
+QMAKE_CFLAGS = -pipe
+QMAKE_CFLAGS_DEPS = -M
+QMAKE_CFLAGS_WARN_ON = -Wall
+QMAKE_CFLAGS_WARN_OFF = -w
+QMAKE_CFLAGS_RELEASE = -O2
+QMAKE_CFLAGS_DEBUG = -g
+QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
+
+QMAKE_CXX = i686-pc-mingw32-g++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
+QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
+QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
+QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
+QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
+QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD
+QMAKE_CXXFLAGS_RTTI_ON = -frtti
+QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
+QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
+QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
+
+QMAKE_INCDIR =
+QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS]
+QMAKE_LIBDIR_QT = $$[QT_INSTALL_LIBS]
+
+QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
+QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
+QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
+QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+QMAKE_LINK = i686-pc-mingw32-g++
+QMAKE_LINK_C = i686-pc-mingw32-gcc
+QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
+QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads -Wl
+QMAKE_LFLAGS_EXCEPTIONS_OFF =
+QMAKE_LFLAGS_RELEASE = -Wl,-s
+QMAKE_LFLAGS_DEBUG =
+QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
+QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
+QMAKE_LFLAGS_DLL = -shared
+QMAKE_LINK_OBJECT_MAX = 10
+QMAKE_LINK_OBJECT_SCRIPT= object_script
+
+
+QMAKE_LIBS =
+QMAKE_LIBS_CORE = -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
+QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lws2_32 -lole32 -luuid -luser32 -ladvapi32
+QMAKE_LIBS_NETWORK = -lws2_32
+QMAKE_LIBS_OPENGL = -lopengl32 -lglu32 -lgdi32 -luser32
+QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
+QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
+
+QMAKE_SH = bash
+
+MINGW_IN_SHELL = 1
+QMAKE_DIR_SEP = /
+QMAKE_COPY = cp
+QMAKE_COPY_DIR = cp -r
+QMAKE_MOVE = mv
+QMAKE_DEL_FILE = rm -f
+QMAKE_MKDIR = mkdir -p
+QMAKE_DEL_DIR = rmdir
+QMAKE_SYMBOLIC_LINK = ln -s
+QMAKE_CHK_DIR_EXISTS = test -d
+
+#QMAKE_IDC = i686-pc-mingw32-idc
+QMAKE_MOC = i686-pc-mingw32-moc
+QMAKE_RCC = i686-pc-mingw32-rcc
+QMAKE_UIC = i686-pc-mingw32-uic
+
+#QMAKE_IDL = midl
+QMAKE_LIB = i686-pc-mingw32-ar -ru
+QMAKE_RC = i686-pc-mingw32-windres
+QMAKE_ZIP = zip -r -9
+
+QMAKE_STRIP = i686-pc-mingw32-strip
+QMAKE_STRIPFLAGS_LIB += --strip-unneeded
+PKG_CONFIG = i686-pc-mingw32-pkg-config
+load(qt_config)
diff --git a/mkspecs/unsupported/win32-g++-cross/qplatformdefs.h b/mkspecs/unsupported/win32-g++-cross/qplatformdefs.h
new file mode 100644
index 0000000..309e24a
--- /dev/null
+++ b/mkspecs/unsupported/win32-g++-cross/qplatformdefs.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "../../win32-g++/qplatformdefs.h"
diff --git a/qmake/generators/mac/pbuilder_pbx.cpp b/qmake/generators/mac/pbuilder_pbx.cpp
index 1a7391b..aa55f51 100644
--- a/qmake/generators/mac/pbuilder_pbx.cpp
+++ b/qmake/generators/mac/pbuilder_pbx.cpp
@@ -540,7 +540,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
<< "\t\t\t" << writeSettings("name", "Qt Qmake") << ";" << "\n"
<< "\t\t\t" << writeSettings("neededFileNames", QStringList(), SettingsAsList, 4) << ";" << "\n"
<< "\t\t\t" << writeSettings("shellPath", "/bin/sh") << ";" << "\n"
- << "\t\t\t" << writeSettings("shellScript", fixForOutput("make -C " + escapeFilePath(qmake_getpwd()) + " -f " + escapeFilePath(mkfile))) << ";" << "\n"
+ << "\t\t\t" << writeSettings("shellScript", fixForOutput("make -C " + escapeFilePath(qmake_getpwd()) + " -f '" + escapeFilePath(mkfile) + "'")) << ";" << "\n"
<< "\t\t" << "};" << "\n";
}
@@ -789,7 +789,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
<< "\t\t\t" << writeSettings("name", "Qt Preprocessors") << ";" << "\n"
<< "\t\t\t" << writeSettings("neededFileNames", fixListForOutput("QMAKE_PBX_OBJ"), SettingsAsList, 4) << ";" << "\n"
<< "\t\t\t" << writeSettings("shellPath", "/bin/sh") << ";" << "\n"
- << "\t\t\t" << writeSettings("shellScript", fixForOutput("make -C " + escapeFilePath(qmake_getpwd()) + " -f " + escapeFilePath(mkfile))) << ";" << "\n"
+ << "\t\t\t" << writeSettings("shellScript", fixForOutput("make -C " + escapeFilePath(qmake_getpwd()) + " -f '" + escapeFilePath(mkfile) + "'")) << ";" << "\n"
<< "\t\t" << "};" << "\n";
}
@@ -968,7 +968,7 @@ ProjectBuilderMakefileGenerator::writeMakeParts(QTextStream &t)
<< "\t\t\t" << writeSettings("name", "Qt Sublibs") << ";" << "\n"
<< "\t\t\t" << writeSettings("neededFileNames", QStringList(), SettingsAsList, 4) << ";" << "\n"
<< "\t\t\t" << writeSettings("shellPath", "/bin/sh") << "\n"
- << "\t\t\t" << writeSettings("shellScript", fixForOutput("make -C " + escapeFilePath(qmake_getpwd()) + " -f " + escapeFilePath(mkfile))) << ";" << "\n"
+ << "\t\t\t" << writeSettings("shellScript", fixForOutput("make -C " + escapeFilePath(qmake_getpwd()) + " -f '" + escapeFilePath(mkfile) + "'")) << ";" << "\n"
<< "\t\t" << "};" << "\n";
}
//LIBRARY BUILDPHASE
diff --git a/qmake/generators/metamakefile.cpp b/qmake/generators/metamakefile.cpp
index ad8750b..e98831d 100644
--- a/qmake/generators/metamakefile.cpp
+++ b/qmake/generators/metamakefile.cpp
@@ -529,9 +529,18 @@ MetaMakefileGenerator::modesForGenerator(const QString &gen,
*host_mode = Option::HOST_UNIX_MODE;
*target_mode = Option::TARG_UNIX_MODE;
#endif
- } else if (gen == "MSVC.NET" || gen == "MINGW" || gen == "BMAKE" || gen == "MSBUILD") {
+ } else if (gen == "MSVC.NET" || gen == "BMAKE" || gen == "MSBUILD") {
*host_mode = Option::HOST_WIN_MODE;
*target_mode = Option::TARG_WIN_MODE;
+ } else if (gen == "MINGW") {
+#if defined(Q_OS_MAC)
+ *host_mode = Option::HOST_MACX_MODE;
+#elif defined(Q_OS_UNIX)
+ *host_mode = Option::HOST_UNIX_MODE;
+#else
+ *host_mode = Option::HOST_WIN_MODE;
+#endif
+ *target_mode = Option::TARG_WIN_MODE;
} else if (gen == "PROJECTBUILDER" || gen == "XCODE") {
*host_mode = Option::HOST_MACX_MODE;
*target_mode = Option::TARG_MACX_MODE;
diff --git a/qmake/generators/symbian/symbian_makefile.h b/qmake/generators/symbian/symbian_makefile.h
index 061866a..94f0145 100644
--- a/qmake/generators/symbian/symbian_makefile.h
+++ b/qmake/generators/symbian/symbian_makefile.h
@@ -94,6 +94,8 @@ public:
}
}
+ writeCustomDefFile();
+
return T::writeMakefile(t);
}
};
diff --git a/qmake/generators/symbian/symbiancommon.cpp b/qmake/generators/symbian/symbiancommon.cpp
index aa44afc..58729d2 100644
--- a/qmake/generators/symbian/symbiancommon.cpp
+++ b/qmake/generators/symbian/symbiancommon.cpp
@@ -58,6 +58,8 @@
#define RSS_TAG_FOOTER "footer"
#define RSS_TAG_DEFAULT "default_rules" // Same as just giving rules without tag
+#define PLUGIN_COMMON_DEF_FILE_ACTUAL "plugin_commonu.def"
+
#define MANUFACTURER_NOTE_FILE "manufacturer_note.txt"
#define DEFAULT_MANUFACTURER_NOTE \
"The package is not supported for devices from this manufacturer. Please try the selfsigned " \
@@ -501,7 +503,7 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocB
// Wrapped files deployment
QString currentPath = qmake_getpwd();
QString sisName = QString("%1.sis").arg(pkgTarget);
- twf << "\"" << currentPath << "/" << sisName << "\" - \"c:\\adm\\" << sisName << "\"" << endl;
+ twf << "\"" << currentPath << "/" << sisName << "\" - \"c:\\private\\2002CCCE\\import\\" << sisName << "\"" << endl;
QString bootStrapPath = QLibraryInfo::location(QLibraryInfo::PrefixPath);
bootStrapPath.append("/smartinstaller.sis");
@@ -775,6 +777,40 @@ void SymbianCommonGenerator::readRssRules(QString &numberOfIcons,
}
}
+void SymbianCommonGenerator::writeCustomDefFile()
+{
+ if (targetType == TypePlugin && !generator->project->isActiveConfig("stdbinary")) {
+ // Create custom def file for plugin
+ QFile ft(Option::output_dir + QLatin1Char('/') + QLatin1String(PLUGIN_COMMON_DEF_FILE_ACTUAL));
+
+ if (ft.open(QIODevice::WriteOnly)) {
+ generatedFiles << ft.fileName();
+ QTextStream t(&ft);
+
+ t << "; ==============================================================================" << endl;
+ t << "; Generated by qmake (" << qmake_version() << ") (Qt " QT_VERSION_STR ") on: ";
+ t << QDateTime::currentDateTime().toString(Qt::ISODate) << endl;
+ t << "; This file is generated by qmake and should not be modified by the" << endl;
+ t << "; user." << endl;
+ t << "; Name : " PLUGIN_COMMON_DEF_FILE_ACTUAL << endl;
+ t << "; Part of : " << generator->project->values("TARGET").join(" ") << endl;
+ t << "; Description : Fixes common plugin symbols to known ordinals" << endl;
+ t << "; Version : " << endl;
+ t << ";" << endl;
+ t << "; ==============================================================================" << "\n" << endl;
+
+ t << endl;
+
+ t << "EXPORTS" << endl;
+ t << "\tqt_plugin_query_verification_data @ 1 NONAME" << endl;
+ t << "\tqt_plugin_instance @ 2 NONAME" << endl;
+ t << endl;
+ } else {
+ PRINT_FILE_CREATE_ERROR(QString(PLUGIN_COMMON_DEF_FILE_ACTUAL))
+ }
+ }
+}
+
QStringList SymbianCommonGenerator::symbianLangCodesFromTsFiles()
{
QStringList tsfiles;
diff --git a/qmake/generators/symbian/symbiancommon.h b/qmake/generators/symbian/symbiancommon.h
index 3efe5a4..dae1e4a 100644
--- a/qmake/generators/symbian/symbiancommon.h
+++ b/qmake/generators/symbian/symbiancommon.h
@@ -81,6 +81,8 @@ protected:
QString &iconFile,
QMap<QString, QStringList> &userRssRules);
+ void writeCustomDefFile();
+
QStringList symbianLangCodesFromTsFiles();
void fillQt2S60LangMapTable();
diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp
index 1006e39..6082aeb 100644
--- a/qmake/generators/symbian/symmake.cpp
+++ b/qmake/generators/symbian/symmake.cpp
@@ -55,7 +55,6 @@
#define RESOURCE_DIRECTORY_MMP "/resource/apps"
#define REGISTRATION_RESOURCE_DIRECTORY_HW "/private/10003a3f/import/apps"
#define PLUGIN_COMMON_DEF_FILE_FOR_MMP "./plugin_common.def"
-#define PLUGIN_COMMON_DEF_FILE_ACTUAL "plugin_commonu.def"
#define BLD_INF_FILENAME_LEN (sizeof(BLD_INF_FILENAME) - 1)
#define BLD_INF_RULES_BASE "BLD_INF_RULES."
@@ -264,40 +263,6 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t)
return true;
}
-void SymbianMakefileGenerator::writeCustomDefFile()
-{
- if (targetType == TypePlugin && !project->isActiveConfig("stdbinary")) {
- // Create custom def file for plugin
- QFile ft(Option::output_dir + QLatin1Char('/') + QLatin1String(PLUGIN_COMMON_DEF_FILE_ACTUAL));
-
- if (ft.open(QIODevice::WriteOnly)) {
- generatedFiles << ft.fileName();
- QTextStream t(&ft);
-
- t << "; ==============================================================================" << endl;
- t << "; Generated by qmake (" << qmake_version() << ") (Qt " QT_VERSION_STR ") on: ";
- t << QDateTime::currentDateTime().toString(Qt::ISODate) << endl;
- t << "; This file is generated by qmake and should not be modified by the" << endl;
- t << "; user." << endl;
- t << "; Name : " PLUGIN_COMMON_DEF_FILE_ACTUAL << endl;
- t << "; Part of : " << project->values("TARGET").join(" ") << endl;
- t << "; Description : Fixes common plugin symbols to known ordinals" << endl;
- t << "; Version : " << endl;
- t << ";" << endl;
- t << "; ==============================================================================" << "\n" << endl;
-
- t << endl;
-
- t << "EXPORTS" << endl;
- t << "\tqt_plugin_query_verification_data @ 1 NONAME" << endl;
- t << "\tqt_plugin_instance @ 2 NONAME" << endl;
- t << endl;
- } else {
- PRINT_FILE_CREATE_ERROR(QString(PLUGIN_COMMON_DEF_FILE_ACTUAL))
- }
- }
-}
-
void SymbianMakefileGenerator::init()
{
MakefileGenerator::init();
diff --git a/qmake/generators/symbian/symmake.h b/qmake/generators/symbian/symmake.h
index a584a9a..c5b6907 100644
--- a/qmake/generators/symbian/symmake.h
+++ b/qmake/generators/symbian/symmake.h
@@ -117,8 +117,6 @@ protected:
void writeMmpFileBinaryVersionPart(QTextStream& t);
void writeMmpFileRulesPart(QTextStream& t);
- void writeCustomDefFile();
-
void appendIfnotExist(QStringList &list, QString value);
void appendIfnotExist(QStringList &list, QStringList values);
diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp
index 0936d15..5685d6b 100644
--- a/qmake/generators/win32/mingw_make.cpp
+++ b/qmake/generators/win32/mingw_make.cpp
@@ -371,7 +371,12 @@ void MingwMakefileGenerator::writeObjectsPart(QTextStream &t)
ar_script_file += "." + var("BUILD_NAME");
}
createArObjectScriptFile(ar_script_file, var("DEST_TARGET"), project->values("OBJECTS"));
- objectsLinkLine = "ar -M < " + ar_script_file;
+ // QMAKE_LIB is used for win32, including mingw, whereas QMAKE_AR is used on Unix.
+ // Strip off any options since the ar commands will be read from file.
+ QString ar_cmd = var("QMAKE_LIB").section(" ", 0, 0);;
+ if (ar_cmd.isEmpty())
+ ar_cmd = "ar";
+ objectsLinkLine = ar_cmd + " -M < " + ar_script_file;
} else {
QString ld_script_file = var("QMAKE_LINK_OBJECT_SCRIPT") + "." + var("TARGET");
if (!var("BUILD_NAME").isEmpty()) {
diff --git a/qmake/generators/win32/msvc_objectmodel.cpp b/qmake/generators/win32/msvc_objectmodel.cpp
index 604aa8a..1e060a0 100644
--- a/qmake/generators/win32/msvc_objectmodel.cpp
+++ b/qmake/generators/win32/msvc_objectmodel.cpp
@@ -674,6 +674,12 @@ bool VCCLCompilerTool::parseOption(const char* option)
if(third == 'd')
RuntimeLibrary = rtMultiThreadedDebug;
break;
+ } else if (second == 'P') {
+ if (config->CompilerVersion >= NET2005)
+ AdditionalOptions += option;
+ else
+ warn_msg(WarnLogic, "/MP option is not supported in Visual C++ < 2005, ignoring.");
+ break;
}
found = false; break;
case 'O':
diff --git a/qmake/qmake.pri b/qmake/qmake.pri
index 6e0f8a2..a7e0ab1 100644
--- a/qmake/qmake.pri
+++ b/qmake/qmake.pri
@@ -134,7 +134,7 @@ bootstrap { #Qt code
} else:win32 {
SOURCES += qfsfileengine_win.cpp qfsfileengine_iterator_win.cpp qsettings_win.cpp
win32-msvc*:LIBS += ole32.lib advapi32.lib
- win32-g++:LIBS += -lole32 -luuid
+ win32-g++*:LIBS += -lole32 -luuid
}
qnx {
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
index 022689b..b3c229e 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
@@ -1094,6 +1094,10 @@ RVCT()
#define DEFINE_STUB_FUNCTION(rtype, op) rtype JIT_STUB cti_##op(STUB_ARGS_DECLARATION)
#endif
+#if COMPILER(GCC)
+#pragma GCC visibility push(hidden)
+#endif
+
DEFINE_STUB_FUNCTION(EncodedJSValue, op_convert_this)
{
STUB_INIT_STACK_FRAME(stackFrame);
@@ -3205,6 +3209,10 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, to_object)
return JSValue::encode(stackFrame.args[0].jsValue().toObject(callFrame));
}
+#if COMPILER(GCC)
+#pragma GCC visibility pop
+#endif
+
} // namespace JSC
#endif // ENABLE(JIT)
diff --git a/src/3rdparty/javascriptcore/WebKit.pri b/src/3rdparty/javascriptcore/WebKit.pri
index 0dd0799..9aaaa99 100644
--- a/src/3rdparty/javascriptcore/WebKit.pri
+++ b/src/3rdparty/javascriptcore/WebKit.pri
@@ -36,7 +36,7 @@ building-libs {
win32-*|wince* {
CONFIG(debug, debug|release):build_pass: QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}d
QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}$${QT_MAJOR_VERSION}
- win32-g++: LIBS += -l$$QTWEBKITLIBNAME
+ win32-g++*: LIBS += -l$$QTWEBKITLIBNAME
else: LIBS += $${QTWEBKITLIBNAME}.lib
} else {
LIBS += -lQtWebKit
diff --git a/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp b/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp
index 6cfeb76..9b64ab3 100644
--- a/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp
+++ b/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp
@@ -184,6 +184,8 @@ int AbstractAudioEffect::effectParameterChanged(
const EffectParameter &param, const QVariant &value)
{
// Default implementation
+ Q_UNUSED(param)
+ Q_UNUSED(value)
Q_ASSERT_X(false, Q_FUNC_INFO, "Effect has no parameters");
return 0;
}
diff --git a/src/3rdparty/phonon/mmf/abstractaudioeffect.h b/src/3rdparty/phonon/mmf/abstractaudioeffect.h
index d71993b..70adcf6 100644
--- a/src/3rdparty/phonon/mmf/abstractaudioeffect.h
+++ b/src/3rdparty/phonon/mmf/abstractaudioeffect.h
@@ -118,6 +118,10 @@ private:
// for each of the effects. Using this reduces repetition of boilerplate
// in the implementations of the backend effect nodes.
+#ifdef Q_CC_NOKIAX86
+# pragma warn_illtokenpasting off
+#endif
+
#define PHONON_MMF_DEFINE_EFFECT_FUNCTIONS(Effect) \
\
void Effect##::createEffect(AudioPlayer::NativePlayer *player) \
diff --git a/src/3rdparty/phonon/mmf/audiooutput.cpp b/src/3rdparty/phonon/mmf/audiooutput.cpp
index c6be20b..3588683 100644
--- a/src/3rdparty/phonon/mmf/audiooutput.cpp
+++ b/src/3rdparty/phonon/mmf/audiooutput.cpp
@@ -78,6 +78,9 @@ bool MMF::AudioOutput::setOutputDevice(int index)
{
Q_ASSERT_X(index == AudioOutputDeviceID, Q_FUNC_INFO,
"We only support one output device, with id 0");
+#ifdef QT_NO_DEBUG
+ Q_UNUSED(index)
+#endif
return true;
}
diff --git a/src/3rdparty/phonon/mmf/bassboost.cpp b/src/3rdparty/phonon/mmf/bassboost.cpp
index c7af939..67076f6 100644
--- a/src/3rdparty/phonon/mmf/bassboost.cpp
+++ b/src/3rdparty/phonon/mmf/bassboost.cpp
@@ -49,6 +49,7 @@ const char* BassBoost::description()
bool BassBoost::getParameters(CMdaAudioOutputStream *stream,
QList<EffectParameter> &parameters)
{
+ Q_UNUSED(parameters)
QScopedPointer<CBassBoost> effect;
TRAPD(err, effect.reset(CBassBoost::NewL(*stream)));
return (KErrNone == err);
diff --git a/src/3rdparty/phonon/mmf/effectfactory.cpp b/src/3rdparty/phonon/mmf/effectfactory.cpp
index c5e33d5..4643978 100644
--- a/src/3rdparty/phonon/mmf/effectfactory.cpp
+++ b/src/3rdparty/phonon/mmf/effectfactory.cpp
@@ -183,8 +183,9 @@ EffectFactory::EffectData EffectFactory::getData()
/* defaultValue */ QVariant(bool(true)));
data.m_parameters.append(param);
- if (data.m_supported = BackendNode::getParameters
- (stream.data(), data.m_parameters)) {
+ data.m_supported = BackendNode::getParameters(stream.data(),
+ data.m_parameters);
+ if (data.m_supported) {
const QString description = QCoreApplication::translate
("Phonon::MMF::EffectFactory", BackendNode::description());
data.m_descriptions.insert("name", description);
diff --git a/src/3rdparty/phonon/mmf/loudness.cpp b/src/3rdparty/phonon/mmf/loudness.cpp
index 1079a35..ca05ab0 100644
--- a/src/3rdparty/phonon/mmf/loudness.cpp
+++ b/src/3rdparty/phonon/mmf/loudness.cpp
@@ -49,6 +49,7 @@ const char* Loudness::description()
bool Loudness::getParameters(CMdaAudioOutputStream *stream,
QList<EffectParameter> &parameters)
{
+ Q_UNUSED(parameters)
QScopedPointer<CLoudness> effect;
TRAPD(err, effect.reset(CLoudness::NewL(*stream)));
return (KErrNone == err);
diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag
index 8cb0e53..09a4fe2 100644
--- a/src/3rdparty/webkit/.tag
+++ b/src/3rdparty/webkit/.tag
@@ -1 +1 @@
-f59a934694947496cedecc5256a71bff60c43c4c
+f943ead2759537527faa7f3cb057d995291663b9
diff --git a/src/3rdparty/webkit/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
index 016e0dd..d9b2987 100644
--- a/src/3rdparty/webkit/JavaScriptCore/ChangeLog
+++ b/src/3rdparty/webkit/JavaScriptCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-06-07 Benjamin Poulain <benjamin.poulain@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Crash when compiling on Snow Leopard and running on Leopard
+ https://bugs.webkit.org/show_bug.cgi?id=31403
+
+ Disable the use of pthread_setname_np and other symbols
+ when targetting Leopard.
+
+ Use the defines TARGETING_XX instead of BUILDING_ON_XX
+ for features that cannot be used before Snow Leopard.
+
+ * wtf/Platform.h:
+
2010-04-20 Csaba Osztrogonác <ossy@webkit.org>
[Qt] Unreviewed speculative buildfix for WinCE after r57882
diff --git a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
index 22fcc91..3f1ac86 100644
--- a/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
+++ b/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
@@ -43,7 +43,7 @@ CONFIG(QTDIR_build) {
}
# Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
-win32-g++ {
+win32-g++* {
TMPPATH = $$quote($$(INCLUDE))
QMAKE_INCDIR_POST += $$split(TMPPATH,";")
TMPPATH = $$quote($$(LIB))
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
index fac477e..876e60e 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
@@ -700,11 +700,11 @@
#define HAVE_SYS_TIME_H 1
#define HAVE_SYS_TIMEB_H 1
-#if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD)
+#if !defined(TARGETING_TIGER) && !defined(TARGETING_LEOPARD)
#define HAVE_DISPATCH_H 1
-#if !PLATFORM(IPHONE) && !PLATFORM(QT)
+#if !PLATFORM(IPHONE)
#define HAVE_MADV_FREE_REUSE 1
#define HAVE_MADV_FREE 1
#define HAVE_PTHREAD_SETNAME_NP 1
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index fb78e36..a19b85a 100644
--- a/src/3rdparty/webkit/VERSION
+++ b/src/3rdparty/webkit/VERSION
@@ -4,4 +4,4 @@ This is a snapshot of the Qt port of WebKit from
and has the sha1 checksum
- c58dc2f491a824ac56e31c440fcf7fe16dab09c4
+ 6db5de6d18c3ab8b74809303e4d79abacfc570a8
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog
index ff7d214..1d9d739 100644
--- a/src/3rdparty/webkit/WebCore/ChangeLog
+++ b/src/3rdparty/webkit/WebCore/ChangeLog
@@ -1,3 +1,235 @@
+2010-06-07 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix text selection drawing.
+ https://bugs.webkit.org/show_bug.cgi?id=40221
+
+ The regression was introduced in r60169.
+
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::drawTextCommon):
+
+2010-06-04 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix compilation with QT_NO_FEATURE
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ The #ifdef QT_NO_GRAPHICSEFFECT was in the wrong place, would have
+ made AC not work at all.
+
+ No new tests.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+
+2010-05-24 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix compilation with QT_NO_TEMPORARYFILE
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * platform/qt/FileSystemQt.cpp:
+ (WebCore::openTemporaryFile):
+
+2010-05-21 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation with QT_NO_GRAPHICSEFFECT
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::GraphicsLayerQtImpl::flushChanges):
+
+2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation with QT_NO_BEARERMANAGEMENT
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * platform/network/NetworkStateNotifier.h:
+ * platform/network/qt/NetworkStateNotifierQt.cpp:
+
+2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation with QT_NO_LINEEDIT
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::~RenderThemeQt):
+ (WebCore::RenderThemeQt::findFrameLineWidth):
+
+2010-06-04 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Tor Arne Vestbø.
+
+ [Qt] Compilation fails when compiling against Qt 4.7 and Qt Mobility is installed
+ https://bugs.webkit.org/show_bug.cgi?id=40116
+
+ CONFIG += mobility has the side-effect of pulling in mobility includes, which conflict
+ with Qt 4.7's bearer managenent includes and break the build.
+
+ * WebCore.pro:
+
+2010-06-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix NPAPI support on Mac OS X/Cocoa-32
+
+ qt_mac_window_for() returns a NSWindow on Cocoa, so we were
+ passing in a NSWindow instead of a WindowRef as part of the
+ NP_CGContext.
+
+ https://bugs.webkit.org/show_bug.cgi?id=38762
+
+ * WebCore.gypi: Reflect rename
+ * WebCore.pro: Reflect rename
+ * plugins/mac/PluginViewMac.cpp: Renamed to PluginViewMac.mm
+ and fix bug by getting the Carbon windowRef from the NSWindow.
+ * wscript: Reflect rename
+
+2010-06-02 Nico Weber <thakis@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Scroll events are sent twice per keypress for ports that don't have a platformWidget scrollbar
+ https://bugs.webkit.org/show_bug.cgi?id=39918
+
+ This was regressed by http://trac.webkit.org/changeset/58615 . Fix this by slightly tweaking
+ that patch.
+
+ Test: editing/input/page-up-down-scrolls.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollPositionChanged):
+ * page/FrameView.h:
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::valueChanged):
+ * platform/ScrollView.h:
+ (WebCore::ScrollView::repaintFixedElementsAfterScrolling):
+
+2010-06-02 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix make install on Symbian for headers in package builds when INSTALL_HEADERS is not defined
+
+ First we wrote inst_headers.output with $$[QT_INSTALL_HEADERS] and then
+ overwrote it with the $$INSTALL_HEADERS variant without checking if the
+ variable was set.
+
+ Fixed and cleaned up the logic of falling back to $$[QT_INSTALL_HEADERS].
+
+ * WebCore.pro:
+
+2010-06-01 No'am Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] GraphicsLayer: warnings when reloading page
+ https://bugs.webkit.org/show_bug.cgi?id=39694
+
+ Made sure recaching and masks aren't attempted on zero-size layers.
+
+ No new tests. Old tests (e.g. LayoutTests/compositing/masks) show the problem.
+
+ * platform/graphics/qt/GraphicsLayerQt.cpp:
+ (WebCore::MaskEffectQt::draw):
+ (WebCore::GraphicsLayerQtImpl::recache):
+
+2010-05-10 Rodrigo Belem <rodrigo.belem@openbossa.org>
+
+ Reviewed by Kenneth Christiansen , Simon Hausmann and Gustavo Noronha.
+
+ [Qt, Gtk] Allows build-webkit script to receive an install prefix as parameter
+ https://bugs.webkit.org/show_bug.cgi?id=26224
+
+ This patch adds the ability, in the QtWebkit build system, to change
+ the installation path.
+
+ * WebCore.pro:
+
+2010-06-01 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Fix installation of the QtWebKit module .pri file when building inside of Qt
+
+ * WebCore.pro:
+
+2010-06-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix a QtWebKit.pc corruption problem.
+ https://bugs.webkit.org/show_bug.cgi?id=36826
+
+ The problem occurs while installing QtWebKit from trunk
+ or a source package.
+
+ * WebCore.pro:
+
+2010-06-01 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Fix Symbian package dependencies of apps against QtWebKit when installing into Qt
+
+ Install the versioning qt_webkit_version.pri into $$[QMAKE_MKSPECS]/modules, which is
+ where mkspecs/features/qt.prf expects it.
+
+ * WebCore.pro:
+
+2010-05-17 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Bring CanvasRenderingContext2D's createImageData() in line with HTML5 spec
+ Added createImageData(ImageData) which returns a new ImageData with the same size as the one passed.
+ Changed createImageData(width, height) to use the absolute values of width and height.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39189
+
+ Spec link:
+ http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createimagedata
+
+ Test: fast/canvas/canvas-createImageData.html
+
+ * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+ (WebCore::JSCanvasRenderingContext2D::createImageData):
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::createImageData):
+ * html/canvas/CanvasRenderingContext2D.h:
+ * html/canvas/CanvasRenderingContext2D.idl:
+
+2010-05-16 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Properly handle invalid arguments to CanvasRenderingContext2D's getImageData() and putImageData().
+ Both should throw NOT_SUPPORTED_ERR when called with nonfinite arguments.
+ getImageData() should throw INDEX_SIZE_ERR if either width or height is 0.
+
+ https://bugs.webkit.org/show_bug.cgi?id=39175
+
+ Spec link:
+ http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation
+
+ Test: fast/canvas/canvas-getImageData-invalid.html
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::createImageData):
+ (WebCore::CanvasRenderingContext2D::getImageData):
+ (WebCore::CanvasRenderingContext2D::putImageData):
+
2010-05-31 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed by Simon Hausmann.
diff --git a/src/3rdparty/webkit/WebCore/WebCore.gypi b/src/3rdparty/webkit/WebCore/WebCore.gypi
index 1e92f1f..94a6052 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.gypi
+++ b/src/3rdparty/webkit/WebCore/WebCore.gypi
@@ -2920,7 +2920,7 @@
'plugins/gtk/xembed.h',
'plugins/mac/PluginDataMac.mm',
'plugins/mac/PluginPackageMac.cpp',
- 'plugins/mac/PluginViewMac.cpp',
+ 'plugins/mac/PluginViewMac.mm',
'plugins/qt/PluginDataQt.cpp',
'plugins/qt/PluginPackageQt.cpp',
'plugins/qt/PluginViewQt.cpp',
diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro
index 63e78a7..92082b5 100644
--- a/src/3rdparty/webkit/WebCore/WebCore.pro
+++ b/src/3rdparty/webkit/WebCore/WebCore.pro
@@ -74,7 +74,8 @@ CONFIG(QTDIR_build) {
!static: DEFINES += QT_MAKEDLL
symbian: TARGET =$$TARGET$${QT_LIBINFIX}
}
-include($$PWD/../WebKit/qt/qtwebkit_version.pri)
+moduleFile=$$PWD/../WebKit/qt/qt_webkit_version.pri
+include($$moduleFile)
VERSION = $${QT_WEBKIT_MAJOR_VERSION}.$${QT_WEBKIT_MINOR_VERSION}.$${QT_WEBKIT_PATCH_VERSION}
unix {
@@ -102,7 +103,7 @@ win32-msvc2005|win32-msvc2008:{
}
# Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
-win32-g++ {
+win32-g++* {
TMPPATH = $$quote($$(INCLUDE))
QMAKE_INCDIR_POST += $$split(TMPPATH,";")
TMPPATH = $$quote($$(LIB))
@@ -2165,7 +2166,7 @@ contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) {
mac {
SOURCES += \
plugins/mac/PluginPackageMac.cpp \
- plugins/mac/PluginViewMac.cpp
+ plugins/mac/PluginViewMac.mm
OBJECTIVE_SOURCES += \
platform/text/mac/StringImplMac.mm \
platform/mac/WebCoreNSStringExtras.mm
@@ -2495,8 +2496,12 @@ contains(DEFINES, ENABLE_QT_BEARER=1) {
SOURCES += \
platform/network/qt/NetworkStateNotifierQt.cpp
- CONFIG += mobility
- MOBILITY += bearer
+ # Bearer management is part of Qt 4.7, so don't accidentially
+ # pull in Qt Mobility when building against >= 4.7
+ !greaterThan(QT_MINOR_VERSION, 6) {
+ CONFIG += mobility
+ MOBILITY += bearer
+ }
}
contains(DEFINES, ENABLE_SVG=1) {
@@ -2840,24 +2845,45 @@ contains(DEFINES, ENABLE_SYMBIAN_DIALOG_PROVIDERS) {
include($$PWD/../WebKit/qt/Api/headers.pri)
HEADERS += $$WEBKIT_API_HEADERS
-!CONFIG(QTDIR_build) {
+CONFIG(QTDIR_build) {
+ modfile.files = $$moduleFile
+ modfile.path = $$[QMAKE_MKSPECS]/modules
+
+ INSTALLS += modfile
+} else {
exists($$OUTPUT_DIR/include/QtWebKit/classheaders.pri): include($$OUTPUT_DIR/include/QtWebKit/classheaders.pri)
WEBKIT_INSTALL_HEADERS = $$WEBKIT_API_HEADERS $$WEBKIT_CLASS_HEADERS
!symbian {
headers.files = $$WEBKIT_INSTALL_HEADERS
- headers.path = $$[QT_INSTALL_HEADERS]/QtWebKit
- target.path = $$[QT_INSTALL_LIBS]
- INSTALLS += target headers
+ !isEmpty(INSTALL_HEADERS): headers.path = $$INSTALL_HEADERS/QtWebKit
+ else: headers.path = $$[QT_INSTALL_HEADERS]/QtWebKit
+
+ !isEmpty(INSTALL_LIBS): target.path = $$INSTALL_LIBS
+ else: target.path = $$[QT_INSTALL_LIBS]
+
+ modfile.files = $$moduleFile
+ modfile.path = $$[QMAKE_MKSPECS]/modules
+
+ INSTALLS += target headers modfile
} else {
# INSTALLS is not implemented in qmake's s60 generators, copy headers manually
inst_headers.commands = $$QMAKE_COPY ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT}
inst_headers.input = WEBKIT_INSTALL_HEADERS
- inst_headers.output = $$[QT_INSTALL_HEADERS]/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+
+ !isEmpty(INSTALL_HEADERS): inst_headers.output = $$INSTALL_HEADERS/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+ else: inst_headers.output = $$[QT_INSTALL_HEADERS]/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+
QMAKE_EXTRA_COMPILERS += inst_headers
- install.depends += compiler_inst_headers_make_all
+ inst_modfile.commands = $$inst_headers.commands
+ inst_modfile.input = moduleFile
+ inst_modfile.output = $$[QMAKE_MKSPECS]/modules
+
+ QMAKE_EXTRA_COMPILERS += inst_modfile
+
+ install.depends += compiler_inst_headers_make_all compiler_inst_modfile_make_all
QMAKE_EXTRA_TARGETS += install
}
@@ -2875,7 +2901,7 @@ HEADERS += $$WEBKIT_API_HEADERS
QMAKE_PKGCONFIG_LIBDIR = $$target.path
QMAKE_PKGCONFIG_INCDIR = $$headers.path
QMAKE_PKGCONFIG_DESTDIR = pkgconfig
- lib_replace.match = $$DESTDIR
+ lib_replace.match = $$re_escape($$DESTDIR)
lib_replace.replace = $$[QT_INSTALL_LIBS]
QMAKE_PKGCONFIG_INSTALL_REPLACE += lib_replace
}
@@ -2909,7 +2935,7 @@ CONFIG(QTDIR_build) {
CONFIG += no_debug_info
}
-!win32-g++:win32:contains(QMAKE_HOST.arch, x86_64):{
+win32:!win32-g++*:contains(QMAKE_HOST.arch, x86_64):{
asm_compiler.commands = ml64 /c
asm_compiler.commands += /Fo ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
asm_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
index a271923..0254d0f 100644
--- a/src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
+++ b/src/3rdparty/webkit/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
@@ -361,6 +361,24 @@ JSValue JSCanvasRenderingContext2D::createPattern(ExecState* exec, const ArgList
return jsUndefined();
}
+JSValue JSCanvasRenderingContext2D::createImageData(ExecState* exec, const ArgList& args)
+{
+ // createImageData has two variants
+ // createImageData(ImageData)
+ // createImageData(width, height)
+ CanvasRenderingContext2D* context = static_cast<CanvasRenderingContext2D*>(impl());
+ RefPtr<ImageData> imageData = 0;
+
+ ExceptionCode ec = 0;
+ if (args.size() == 1)
+ imageData = context->createImageData(toImageData(args.at(0)), ec);
+ else if (args.size() == 2)
+ imageData = context->createImageData(args.at(0).toFloat(exec), args.at(1).toFloat(exec), ec);
+
+ setDOMException(exec, ec);
+ return toJS(exec, globalObject(), WTF::getPtr(imageData));
+}
+
JSValue JSCanvasRenderingContext2D::putImageData(ExecState* exec, const ArgList& args)
{
// putImageData has two variants
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp
index a991e8d..d97b54a 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.cpp
@@ -165,7 +165,7 @@ static const HashTableValue JSCanvasRenderingContext2DPrototypeTableValues[45] =
{ "drawImageFromRect", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsCanvasRenderingContext2DPrototypeFunctionDrawImageFromRect), (intptr_t)0 },
{ "setShadow", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsCanvasRenderingContext2DPrototypeFunctionSetShadow), (intptr_t)0 },
{ "createPattern", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsCanvasRenderingContext2DPrototypeFunctionCreatePattern), (intptr_t)0 },
- { "createImageData", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsCanvasRenderingContext2DPrototypeFunctionCreateImageData), (intptr_t)2 },
+ { "createImageData", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsCanvasRenderingContext2DPrototypeFunctionCreateImageData), (intptr_t)0 },
{ "getImageData", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsCanvasRenderingContext2DPrototypeFunctionGetImageData), (intptr_t)4 },
{ "putImageData", DontDelete|Function, (intptr_t)static_cast<NativeFunction>(jsCanvasRenderingContext2DPrototypeFunctionPutImageData), (intptr_t)0 },
{ 0, 0, 0, 0 }
@@ -1018,15 +1018,7 @@ JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionCreateImageData
if (!thisValue.inherits(&JSCanvasRenderingContext2D::s_info))
return throwError(exec, TypeError);
JSCanvasRenderingContext2D* castedThisObj = static_cast<JSCanvasRenderingContext2D*>(asObject(thisValue));
- CanvasRenderingContext2D* imp = static_cast<CanvasRenderingContext2D*>(castedThisObj->impl());
- ExceptionCode ec = 0;
- float sw = args.at(0).toFloat(exec);
- float sh = args.at(1).toFloat(exec);
-
-
- JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->createImageData(sw, sh, ec)));
- setDOMException(exec, ec);
- return result;
+ return castedThisObj->createImageData(exec, args);
}
JSValue JSC_HOST_CALL jsCanvasRenderingContext2DPrototypeFunctionGetImageData(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
diff --git a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h
index 218e455..92fabb7 100644
--- a/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h
+++ b/src/3rdparty/webkit/WebCore/generated/JSCanvasRenderingContext2D.h
@@ -61,6 +61,7 @@ public:
JSC::JSValue drawImageFromRect(JSC::ExecState*, const JSC::ArgList&);
JSC::JSValue setShadow(JSC::ExecState*, const JSC::ArgList&);
JSC::JSValue createPattern(JSC::ExecState*, const JSC::ArgList&);
+ JSC::JSValue createImageData(JSC::ExecState*, const JSC::ArgList&);
JSC::JSValue putImageData(JSC::ExecState*, const JSC::ArgList&);
protected:
static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
diff --git a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp
index 398e4d8..9cec7a9 100644
--- a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp
+++ b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.cpp
@@ -1278,14 +1278,30 @@ static PassRefPtr<ImageData> createEmptyImageData(const IntSize& size)
return data.get();
}
+PassRefPtr<ImageData> CanvasRenderingContext2D::createImageData(PassRefPtr<ImageData> imageData, ExceptionCode& ec) const
+{
+ if (!imageData) {
+ ec = NOT_SUPPORTED_ERR;
+ return 0;
+ }
+
+ IntSize size(imageData->width(), imageData->height());
+ return createEmptyImageData(size);
+}
+
PassRefPtr<ImageData> CanvasRenderingContext2D::createImageData(float sw, float sh, ExceptionCode& ec) const
{
ec = 0;
+ if (!sw || !sh) {
+ ec = INDEX_SIZE_ERR;
+ return 0;
+ }
if (!isfinite(sw) || !isfinite(sh)) {
ec = NOT_SUPPORTED_ERR;
return 0;
}
- FloatSize unscaledSize(sw, sh);
+
+ FloatSize unscaledSize(fabs(sw), fabs(sh));
IntSize scaledSize = canvas()->convertLogicalToDevice(unscaledSize);
if (scaledSize.width() < 1)
scaledSize.setWidth(1);
@@ -1301,7 +1317,15 @@ PassRefPtr<ImageData> CanvasRenderingContext2D::getImageData(float sx, float sy,
ec = SECURITY_ERR;
return 0;
}
-
+ if (!sw || !sh) {
+ ec = INDEX_SIZE_ERR;
+ return 0;
+ }
+ if (!isfinite(sx) || !isfinite(sy) || !isfinite(sw) || !isfinite(sh)) {
+ ec = NOT_SUPPORTED_ERR;
+ return 0;
+ }
+
FloatRect unscaledRect(sx, sy, sw, sh);
IntRect scaledRect = canvas()->convertLogicalToDevice(unscaledRect);
if (scaledRect.width() < 1)
@@ -1332,7 +1356,7 @@ void CanvasRenderingContext2D::putImageData(ImageData* data, float dx, float dy,
}
if (!isfinite(dx) || !isfinite(dy) || !isfinite(dirtyX) ||
!isfinite(dirtyY) || !isfinite(dirtyWidth) || !isfinite(dirtyHeight)) {
- ec = INDEX_SIZE_ERR;
+ ec = NOT_SUPPORTED_ERR;
return;
}
diff --git a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.h b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.h
index 553ffd2..2220f7e 100644
--- a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.h
+++ b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.h
@@ -178,6 +178,7 @@ namespace WebCore {
PassRefPtr<CanvasPattern> createPattern(HTMLImageElement*, const String& repetitionType, ExceptionCode&);
PassRefPtr<CanvasPattern> createPattern(HTMLCanvasElement*, const String& repetitionType, ExceptionCode&);
+ PassRefPtr<ImageData> createImageData(PassRefPtr<ImageData> imageData, ExceptionCode&) const;
PassRefPtr<ImageData> createImageData(float width, float height, ExceptionCode&) const;
PassRefPtr<ImageData> getImageData(float sx, float sy, float sw, float sh, ExceptionCode&) const;
void putImageData(ImageData*, float dx, float dy, ExceptionCode&);
diff --git a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.idl b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.idl
index f93a752..3f7ead7 100644
--- a/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.idl
+++ b/src/3rdparty/webkit/WebCore/html/canvas/CanvasRenderingContext2D.idl
@@ -105,13 +105,12 @@ module html {
[Custom] void drawImageFromRect(/* 10 */);
[Custom] void setShadow(/* 3 */);
[Custom] void createPattern(/* 2 */);
+ [Custom] ImageData createImageData(/* 3 */);
attribute [Custom] custom strokeStyle;
attribute [Custom] custom fillStyle;
// pixel manipulation
- ImageData createImageData(in float sw, in float sh)
- raises (DOMException);
ImageData getImageData(in float sx, in float sy, in float sw, in float sh)
raises(DOMException);
[Custom] void putImageData(/* in ImageData imagedata, in float dx, in float dy [, in float dirtyX, in float dirtyY, in float dirtyWidth, in float dirtyHeight] */);
diff --git a/src/3rdparty/webkit/WebCore/page/FrameView.cpp b/src/3rdparty/webkit/WebCore/page/FrameView.cpp
index 39c92de..bc0519f 100644
--- a/src/3rdparty/webkit/WebCore/page/FrameView.cpp
+++ b/src/3rdparty/webkit/WebCore/page/FrameView.cpp
@@ -1060,7 +1060,11 @@ void FrameView::setScrollPosition(const IntPoint& scrollPoint)
void FrameView::scrollPositionChanged()
{
frame()->eventHandler()->sendScrollEvent();
+ repaintFixedElementsAfterScrolling();
+}
+void FrameView::repaintFixedElementsAfterScrolling()
+{
// For fixed position elements, update widget positions and compositing layers after scrolling,
// but only if we're not inside of layout.
// FIXME: we could skip this if we knew the page had no fixed position elements.
diff --git a/src/3rdparty/webkit/WebCore/page/FrameView.h b/src/3rdparty/webkit/WebCore/page/FrameView.h
index 7119975..71e2966 100644
--- a/src/3rdparty/webkit/WebCore/page/FrameView.h
+++ b/src/3rdparty/webkit/WebCore/page/FrameView.h
@@ -139,7 +139,8 @@ public:
virtual void scrollRectIntoViewRecursively(const IntRect&);
virtual void setScrollPosition(const IntPoint&);
- virtual void scrollPositionChanged();
+ void scrollPositionChanged();
+ virtual void repaintFixedElementsAfterScrolling();
String mediaType() const;
void setMediaType(const String&);
diff --git a/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp b/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp
index e50ab55..5753e1d 100644
--- a/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/ScrollView.cpp
@@ -292,7 +292,7 @@ void ScrollView::valueChanged(Scrollbar* scrollbar)
if (scrollbarsSuppressed())
return;
- scrollPositionChanged();
+ repaintFixedElementsAfterScrolling();
scrollContents(scrollDelta);
}
diff --git a/src/3rdparty/webkit/WebCore/platform/ScrollView.h b/src/3rdparty/webkit/WebCore/platform/ScrollView.h
index 118a310..0f79fa8 100644
--- a/src/3rdparty/webkit/WebCore/platform/ScrollView.h
+++ b/src/3rdparty/webkit/WebCore/platform/ScrollView.h
@@ -303,7 +303,7 @@ private:
void updateScrollbars(const IntSize& desiredOffset);
// Called when the scroll position within this view changes. FrameView overrides this to generate repaint invalidations.
- virtual void scrollPositionChanged() {}
+ virtual void repaintFixedElementsAfterScrolling() {}
void platformInit();
void platformDestroy();
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
index b707f9d..ae1033e 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/FontQt.cpp
@@ -146,6 +146,7 @@ void Font::drawComplexText(GraphicsContext* ctx, const TextRun& run, const Float
line.draw(p, pt);
p->restore();
}
+ p->setPen(textFillPen);
line.draw(p, pt);
p->restore();
return;
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
index 02bf25e..be44fca 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/GraphicsLayerQt.cpp
@@ -43,6 +43,7 @@
namespace WebCore {
+#ifndef QT_NO_GRAPHICSEFFECT
class MaskEffectQt : public QGraphicsEffect {
public:
MaskEffectQt(QObject* parent, QGraphicsItem* maskLayer)
@@ -57,7 +58,12 @@ public:
// It's more efficient to do it this way because
// (a) we don't need the QBrush abstraction - we always end up using QGraphicsItem::paint from the mask layer
// (b) QGraphicsOpacityEffect detaches the pixmap, which is inefficient on OpenGL.
- QPixmap maskPixmap(sourceBoundingRect().toAlignedRect().size());
+ const QSize maskSize = sourceBoundingRect().toAlignedRect().size();
+ if (!maskSize.isValid() || maskSize.isEmpty()) {
+ drawSource(painter);
+ return;
+ }
+ QPixmap maskPixmap(maskSize);
// we need to do this so the pixmap would have hasAlpha()
maskPixmap.fill(Qt::transparent);
@@ -91,6 +97,7 @@ public:
QGraphicsItem* m_maskLayer;
};
+#endif // QT_NO_GRAPHICSEFFECT
class GraphicsLayerQtImpl : public QGraphicsObject {
Q_OBJECT
@@ -179,7 +186,9 @@ public:
TransformationMatrix m_transformRelativeToRootLayer;
bool m_transformAnimationRunning;
bool m_opacityAnimationRunning;
+#ifndef QT_NO_GRAPHICSEFFECT
QWeakPointer<MaskEffectQt> m_maskEffect;
+#endif
struct ContentData {
QPixmap pixmap;
@@ -294,7 +303,7 @@ const GraphicsLayerQtImpl* GraphicsLayerQtImpl::rootLayer() const
QPixmap GraphicsLayerQtImpl::recache(const QRegion& regionToUpdate)
{
- if (!m_layer->drawsContent())
+ if (!m_layer->drawsContent() || m_size.isEmpty() ||!m_size.isValid())
return QPixmap();
QRegion region = regionToUpdate;
@@ -515,6 +524,7 @@ void GraphicsLayerQtImpl::flushChanges(bool recursive, bool forceUpdateTransform
// we can't paint here, because we don't know if the mask layer
// itself is ready... we'll have to wait till this layer tries to paint
setFlag(ItemClipsChildrenToShape, m_layer->maskLayer() || m_layer->masksToBounds());
+#ifndef QT_NO_GRAPHICSEFFECT
setGraphicsEffect(0);
if (m_layer->maskLayer()) {
if (GraphicsLayerQtImpl* mask = qobject_cast<GraphicsLayerQtImpl*>(m_layer->maskLayer()->platformLayer()->toGraphicsObject())) {
@@ -522,6 +532,7 @@ void GraphicsLayerQtImpl::flushChanges(bool recursive, bool forceUpdateTransform
setGraphicsEffect(mask->m_maskEffect.data());
}
}
+#endif
}
if (m_changeMask & SizeChange) {
@@ -596,11 +607,15 @@ void GraphicsLayerQtImpl::flushChanges(bool recursive, bool forceUpdateTransform
if ((m_changeMask & ContentsOpaqueChange) && m_state.contentsOpaque != m_layer->contentsOpaque())
prepareGeometryChange();
+#ifndef QT_NO_GRAPHICSEFFECT
if (m_maskEffect)
m_maskEffect.data()->update();
- else if (m_changeMask & DisplayChange) {
- // Recache now: all the content is ready and we don't want to wait until the paint event. We only need to do this for HTML content,
- // there's no point in caching directly composited content like images or solid rectangles.
+ else
+#endif
+ if (m_changeMask & DisplayChange) {
+ // Recache now: all the content is ready and we don't want to wait until the paint event.
+ // We only need to do this for HTML content, there's no point in caching directly composited
+ // content like images or solid rectangles.
if (m_pendingContent.contentType == HTMLContentType)
recache(m_pendingContent.regionToUpdate);
update(m_pendingContent.regionToUpdate.boundingRect());
diff --git a/src/3rdparty/webkit/WebCore/platform/network/NetworkStateNotifier.h b/src/3rdparty/webkit/WebCore/platform/network/NetworkStateNotifier.h
index 781259c..d1f2db4 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/NetworkStateNotifier.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/NetworkStateNotifier.h
@@ -44,6 +44,15 @@ typedef const struct __SCDynamicStore * SCDynamicStoreRef;
#include <windows.h>
+#elif PLATFORM(QT)
+
+#include <QtCore/qglobal.h>
+
+#ifdef QT_NO_BEARERMANAGEMENT
+#undef ENABLE_QT_BEARER
+#define ENABLE_QT_BEARER 0
+#endif
+
#endif
namespace WebCore {
diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/NetworkStateNotifierQt.cpp b/src/3rdparty/webkit/WebCore/platform/network/qt/NetworkStateNotifierQt.cpp
index 52512aa..3aae92a 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/qt/NetworkStateNotifierQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/network/qt/NetworkStateNotifierQt.cpp
@@ -20,6 +20,8 @@
#include "config.h"
#include "NetworkStateNotifier.h"
+#if PLATFORM(QT) && ENABLE(QT_BEARER)
+
#include "NetworkStateNotifierPrivate.h"
#include "qnetworkconfigmanager.h"
@@ -89,4 +91,6 @@ void NetworkStateNotifier::setNetworkAccessAllowed(bool isAllowed)
} // namespace WebCore
+#endif
+
#include "moc_NetworkStateNotifierPrivate.cpp"
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp
index f9ced98..54ecbf1 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/FileSystemQt.cpp
@@ -117,6 +117,7 @@ Vector<String> listDirectory(const String& path, const String& filter)
CString openTemporaryFile(const char* prefix, PlatformFileHandle& handle)
{
+#ifndef QT_NO_TEMPORARYFILE
QTemporaryFile* tempFile = new QTemporaryFile(QLatin1String(prefix));
tempFile->setAutoRemove(false);
QFile* temp = tempFile;
@@ -124,6 +125,7 @@ CString openTemporaryFile(const char* prefix, PlatformFileHandle& handle)
handle = temp;
return String(temp->fileName()).utf8();
}
+#endif
handle = invalidPlatformFileHandle;
return CString();
}
diff --git a/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp
index 577903b..08b7aca 100644
--- a/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp
+++ b/src/3rdparty/webkit/WebCore/platform/qt/RenderThemeQt.cpp
@@ -163,7 +163,9 @@ RenderThemeQt::RenderThemeQt(Page* page)
RenderThemeQt::~RenderThemeQt()
{
delete m_fallbackStyle;
+#ifndef QT_NO_LINEEDIT
delete m_lineEdit;
+#endif
}
#if USE(QT_MOBILE_THEME)
@@ -264,11 +266,17 @@ bool RenderThemeQt::supportsControlTints() const
int RenderThemeQt::findFrameLineWidth(QStyle* style) const
{
+#ifndef QT_NO_LINEEDIT
if (!m_lineEdit)
m_lineEdit = new QLineEdit();
+#endif
QStyleOptionFrameV2 opt;
- return style->pixelMetric(QStyle::PM_DefaultFrameWidth, &opt, m_lineEdit);
+ QWidget* widget = 0;
+#ifndef QT_NO_LINEEDIT
+ widget = m_lineEdit;
+#endif
+ return style->pixelMetric(QStyle::PM_DefaultFrameWidth, &opt, widget);
}
static QRect inflateButtonRect(const QRect& originalRect, QStyle* style)
diff --git a/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp b/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm
index 1fd4676..57d74ab 100644
--- a/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm
@@ -103,9 +103,12 @@ static inline WindowRef nativeWindowFor(PlatformWidget widget)
{
#if PLATFORM(QT)
if (widget)
+#if QT_MAC_USE_COCOA
+ return static_cast<WindowRef>([qt_mac_window_for(widget) windowRef]);
+#else
return static_cast<WindowRef>(qt_mac_window_for(widget));
#endif
-#if PLATFORM(WX)
+#elif PLATFORM(WX)
if (widget)
return (WindowRef)widget->MacGetTopLevelWindowRef();
#endif
diff --git a/src/3rdparty/webkit/WebKit.pri b/src/3rdparty/webkit/WebKit.pri
index 921a6e0..fcd2891 100644
--- a/src/3rdparty/webkit/WebKit.pri
+++ b/src/3rdparty/webkit/WebKit.pri
@@ -24,7 +24,7 @@ building-libs {
win32-*|wince* {
!CONFIG(release, debug|release):build_pass: QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}d
QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}$${QT_MAJOR_VERSION}
- win32-g++: LIBS += -l$$QTWEBKITLIBNAME
+ win32-g++*: LIBS += -l$$QTWEBKITLIBNAME
else: LIBS += $${QTWEBKITLIBNAME}.lib
} else {
LIBS += -lQtWebKit
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro b/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro
index 22d4c8d..62546f6 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro
+++ b/src/3rdparty/webkit/WebKit/qt/Api/DerivedSources.pro
@@ -12,7 +12,7 @@ DOUBLE_ESCAPED_QUOTE = ""
ESCAPE = ""
win32-msvc*|symbian {
ESCAPE = "^"
-} else:win32-g++:isEmpty(QMAKE_SH) {
+} else:win32-g++*:isEmpty(QMAKE_SH) {
# MinGW's make will run makefile commands using sh, even if make
# was run from the Windows shell, if it finds sh in the path.
ESCAPE = "^"
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
index 564c6fe..2788085 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
@@ -1370,6 +1370,7 @@ void QWebPagePrivate::inputMethodEvent(QInputMethodEvent *ev)
ev->accept();
}
+#ifndef QT_NO_PROPERTIES
void QWebPagePrivate::dynamicPropertyChangeEvent(QDynamicPropertyChangeEvent* event)
{
if (event->propertyName() == "_q_viewMode") {
@@ -1424,6 +1425,7 @@ void QWebPagePrivate::dynamicPropertyChangeEvent(QDynamicPropertyChangeEvent* ev
}
#endif
}
+#endif
void QWebPagePrivate::shortcutOverrideEvent(QKeyEvent* event)
{
@@ -2808,9 +2810,11 @@ bool QWebPage::event(QEvent *ev)
d->touchEvent(static_cast<QTouchEvent*>(ev));
break;
#endif
+#ifndef QT_NO_PROPERTIES
case QEvent::DynamicPropertyChange:
d->dynamicPropertyChangeEvent(static_cast<QDynamicPropertyChangeEvent*>(ev));
break;
+#endif
default:
return QObject::event(ev);
}
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h
index 5350cd9..1b90a66 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage_p.h
@@ -112,7 +112,9 @@ public:
void inputMethodEvent(QInputMethodEvent*);
+#ifndef QT_NO_PROPERTIES
void dynamicPropertyChangeEvent(QDynamicPropertyChangeEvent*);
+#endif
void shortcutOverrideEvent(QKeyEvent*);
void leaveEvent(QEvent*);
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
index 81823f6..a5fc794 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebsettings.cpp
@@ -48,9 +48,7 @@
#include <QUrl>
#include <QFileInfo>
-#if ENABLE(QT_BEARER)
#include "NetworkStateNotifier.h"
-#endif
void QWEBKIT_EXPORT qt_networkAccessAllowed(bool isAllowed)
{
diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog
index b6cbf92..3deb9ac 100644
--- a/src/3rdparty/webkit/WebKit/qt/ChangeLog
+++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog
@@ -1,3 +1,69 @@
+2010-06-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Shinichiro Hamaji.
+
+ [Qt] Fix compilation with QT_NO_PROPERTIES
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * Api/qwebpage.cpp:
+ (QWebPage::event):
+ * Api/qwebpage_p.h:
+ * WebCoreSupport/InspectorClientQt.cpp:
+ (WebCore::InspectorClientQt::openInspectorFrontend):
+
+2010-05-17 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Fix compilation with QT_NO_COMBOBOX
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::createSelectPopup):
+ * WebCoreSupport/QtFallbackWebPopup.cpp:
+ * WebCoreSupport/QtFallbackWebPopup.h:
+
+2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Fix compilation with QT_NO_BEARERMANAGEMENT
+ https://bugs.webkit.org/show_bug.cgi?id=38324
+
+ * Api/qwebsettings.cpp:
+
+2010-03-24 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ Auto-uppercase and predictive text need to be disabled for S60 (as for maemo)
+ https://bugs.webkit.org/show_bug.cgi?id=33176
+
+ * WebCoreSupport/EditorClientQt.cpp:
+
+2010-06-01 Noam Rosenthal <noam.rosenthal@nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Add documentation to the QtWebkit bridge
+ https://bugs.webkit.org/show_bug.cgi?id=35861
+
+ This patch includes comprehensive qdoc documentation for the QtWebkit bridge.
+
+ * docs/qtwebkit-bridge.qdoc: Added.
+ * docs/qtwebkit.qdoc:
+ * docs/webkitsnippets/doc_src_qtscript.qdoc: Added.
+ * docs/webkitsnippets/qtwebkit_bridge_snippets.cpp: Added.
+ (wrapInFunction):
+
+2010-06-01 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Rename versioning .pri file to what Qt's mkspecs/features/qt.pri expects.
+
+ * qt_webkit_version.pri: Renamed from WebKit/qt/qtwebkit_version.pri.
+
2010-05-31 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed by Simon Hausmann.
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
index 4e742fc..7d1c794 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
@@ -573,8 +573,10 @@ QtAbstractWebPopup* ChromeClientQt::createSelectPopup()
{
#if defined(Q_WS_MAEMO_5)
return new QtMaemoWebPopup;
-#else
+#elif !defined(QT_NO_COMBOBOX)
return new QtFallbackWebPopup;
+#else
+ return result;
#endif
}
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
index 7b7f610..0ce6383 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
@@ -613,11 +613,11 @@ void EditorClientQt::setInputMethodState(bool active)
}
}
webPageClient->setInputMethodHint(Qt::ImhHiddenText, isPasswordField);
-#ifdef Q_WS_MAEMO_5
- // Maemo 5 MicroB Browser disables auto-uppercase and predictive text, thus, so do we.
+#if defined(Q_WS_MAEMO_5) || defined(Q_OS_SYMBIAN)
+ // disables auto-uppercase and predictive text for mobile devices
webPageClient->setInputMethodHint(Qt::ImhNoAutoUppercase, true);
webPageClient->setInputMethodHint(Qt::ImhNoPredictiveText, true);
-#endif // Q_WS_MAEMO_5
+#endif // Q_WS_MAEMO_5 || Q_OS_SYMBIAN
#endif // QT_VERSION check
webPageClient->setInputMethodEnabled(active);
}
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
index 725c5fb..2d11700 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
@@ -93,7 +93,10 @@ void InspectorClientQt::openInspectorFrontend(WebCore::InspectorController*)
// Web inspector. This is used for SDK purposes. Please keep this hook
// around and don't remove it.
// https://bugs.webkit.org/show_bug.cgi?id=35340
- QUrl inspectorUrl = inspector->property("_q_inspectorUrl").toUrl();
+ QUrl inspectorUrl;
+#ifndef QT_NO_PROPERTIES
+ inspectorUrl = inspector->property("_q_inspectorUrl").toUrl();
+#endif
if (!inspectorUrl.isValid())
inspectorUrl = QUrl("qrc:/webkit/inspector/inspector.html");
inspectorView->page()->mainFrame()->load(inspectorUrl);
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp
index 7514077..26420e5 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp
@@ -21,6 +21,8 @@
#include "config.h"
#include "QtFallbackWebPopup.h"
+#ifndef QT_NO_COMBOBOX
+
#include "HostWindow.h"
#include "PopupMenuClient.h"
#include "QWebPageClient.h"
@@ -225,3 +227,5 @@ void QtFallbackWebPopup::activeChanged(int index)
}
}
+
+#endif // QT_NO_COMBOBOX
diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h
index 62b8aea..6d2e1ff 100644
--- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h
+++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h
@@ -23,6 +23,8 @@
#include "QtAbstractWebPopup.h"
#include <QComboBox>
+#ifndef QT_NO_COMBOBOX
+
QT_BEGIN_NAMESPACE
class QGraphicsProxyWidget;
QT_END_NAMESPACE
@@ -67,4 +69,6 @@ private:
}
+#endif // QT_NO_COMBOBOX
+
#endif // QtFallbackWebPopup_h
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit-bridge.qdoc b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit-bridge.qdoc
new file mode 100644
index 0000000..4f41d29
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit-bridge.qdoc
@@ -0,0 +1,425 @@
+/*!
+ \inmodule QtWebKit
+ \page qtwebkit-bridge.html
+ \title The QtWebKit Bridge
+ \contentspage QtWebKit
+ \section1 Overview
+ \section2 The technology
+
+ The QtWebKit bridge is a mechanism that extends WebKit's JavaScript environment to access native
+ objects that are represented as QObjects. It takes advantage of the inherent introspection of the
+ \l{Qt Object Model}, which has a natural alignment to the way JavaScript worked.
+
+ For example, both JavaScript and QObjects have properties: a construct that represent a getter/setter
+ pair under one name.
+
+ \section2 Use Cases
+
+ There are two main use cases for the QtWebKit bridge. Web content in a native application, and Thin Client.
+
+ \section3 Web Content in a Native Application
+
+ This is a common use case in classic Qt application, and a design pattern used by several modern
+ applications. For example, an application that contains both a media-player, playlist manager, and
+ a music store. The playlist manager is usually best authored as a classic desktop application,
+ with the native-looking robust \l{QWidget}s helping with producing that application.
+ The media-player control, which usually looks custom, can be written using \l{The Graphics View framework}
+ or with in a declarative way with \l{QtDeclarative}. The music store, which shows dynamic content
+ from the internet, and gets modified rapidly, is best authored in HTML and maintained on the server.
+
+ With the QtWebKit bridge, that music store component can interact with native parts of the application,
+ for example, if a file needs to be saved to a specific location.
+
+ \section3 Thin Client
+
+ Another use case is using Qt as a native backend to a full web application,
+ referred to here as a thin client. In this use-case, the entire UI is driven by
+ HTML, JavaScript and CSS, and native Qt-based components are used to allow that application
+ access to native features not usually exposed to the web, or to enable helper components that
+ are best written with C++.
+
+ An example for such client is a UI for a video-on-demand service on a TV. The entire content and
+ UI can be kept on the server, served dynamically through HTTP and rendered with WebKit, with additional
+ native components for accessing hardware-specific features like extracting the list of images
+ out of the video.
+
+ \section2 Difference from Other Bridge Technologies
+
+ Of course QtWebKit is not the only bridge technology out there. NPAPI, for example,
+ is a long-time standard or web-native bridging. Due to Qt's meta-object system, full applications
+ built partially with web-technologies are much easier to develop. NPAPI, however, is more geared
+ towards cross-browser plugins, due to it being an accepted standard.
+
+ When developing a plugin for a browser, NPAPI is recommended. When developing a full application
+ that utilizes HTML-rendering, the QtWebKit bridge is recommended.
+
+ \section2 Relationship with QtScript
+
+ The QtWebKit bridge is similar to \l{QtScript}, especially to some of the features described in the
+ \l{Making Applications Scriptable} page. However, as of Qt 4.7, full QtScript API is not supported for web applications.
+ That is planned as an enhancement for future versions. You might notice that some of the features
+ described here are an exact copy of the ones described in the \l{Making Applications Scriptable} page. That is because
+ the QtWebKit bridge is a subset of that functionality, and this page tries to capture the full
+ capabilities available through the QtWebKit bridge specifically.
+
+ \section1 Accessing QObjects
+
+ \section2 Creating the link via QWebFrame
+
+ By default, no QObjects are accessible through the web environment, for security reasons.
+ To enable web content access to a native QObject, the application has to explicitly grant it access,
+ using the following call:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 0
+
+ See \l{QWebFrame::addToJavaScriptWindowObject()} for more information.
+
+ \section2 Using Signals and Slots
+
+ Qt Script adapts Qt's central \l{Signals and Slots} feature for
+ scripting. There are three principal ways to use signals and slots
+ with Qt Script:
+
+ \list
+ \i \bold{Hybrid C++/script}: C++ application code connects a
+ signal to a script function. The script function can, for example, be
+ a function that the user has typed in, or one that you have read from a
+ file. This approach is useful if you have a QObject but don't want
+ to expose the object itself to the scripting environment; you just
+ want a script to be able to define how a signal should be reacted
+ to, and leave it up to the C++ side of your application to establish
+ the connection.
+
+ \i \bold{Hybrid script/C++}: A script can connect signals and slots
+ to establish connections between pre-defined objects that the
+ application exposes to the scripting environment. In this scenario,
+ the slots themselves are still written in C++, but the definition of
+ the connections is fully dynamic (script-defined).
+
+ \i \bold{Purely script-defined}: A script can both define signal
+ handler functions (effectively "slots written in Qt Script"),
+ \e{and} set up the connections that utilize those handlers. For
+ example, a script can define a function that will handle the
+ QLineEdit::returnPressed() signal, and then connect that signal to the
+ script function.
+ \endlist
+
+ Note that QtScript functions such as qScriptConnect are unavilable in the web environment.
+
+ \section3 Signal to Function Connections
+
+ \c{connect(function)}
+
+ In this form of connection, the argument to \c{connect()} is the
+ function to connect to the signal.
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 2
+
+ The argument can be a Qt Script function, as in the above
+ example, or it can be a QObject slot, as in
+ the following example:
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 3
+
+ When the argument is a QObject slot, the argument types of the
+ signal and slot do not necessarily have to be compatible;
+ the QtWebKit bridge will, if necessary, perform conversion of the signal
+ arguments to match the argument types of the slot.
+
+ To disconnect from a signal, you invoke the signal's
+ \c{disconnect()} function, passing the function to disconnect
+ as argument:
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 4
+
+ When a script function is invoked in response to a signal, the
+ \c this object will be the Global Object.
+
+ \section3 Signal to Member Function Connections
+
+ \c{connect(thisObject, function)}
+
+ In this form of the \c{connect()} function, the first argument
+ is the object that will be bound to the variable, \c this, when
+ the function specified using the second argument is invoked.
+
+ If you have a push button in a form, you typically want to do
+ something involving the form in response to the button's
+ \c{clicked} signal; passing the form as the \c this object
+ makes sense in such a case.
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 5
+
+ To disconnect from the signal, pass the same arguments to \c{disconnect()}:
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 6
+
+ \section3 Signal to Named Member Function Connections
+
+ \c{connect(thisObject, functionName)}
+
+ In this form of the \c{connect()} function, the first argument is
+ the object that will be bound to the variable, \c this, when
+ a function is invoked in response to the signal. The second argument
+ specifies the name of a function that is connected to the signal,
+ and this refers to a member function of the object passed as the
+ first argument (\c thisObject in the above scheme).
+
+ Note that the function is resolved when the connection is made, not
+ when the signal is emitted.
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 7
+
+ To disconnect from the signal, pass the same arguments to \c{disconnect()}:
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 8
+
+ \section3 Error Handling
+
+ When \c{connect()} or \c{disconnect()} succeeds, the function will
+ return \c{undefined}; otherwise, it will throw a script exception.
+ You can obtain an error message from the resulting \c{Error} object.
+ Example:
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 9
+
+ \section3 Emitting Signals from Scripts
+
+ To emit a signal from script code, you simply invoke the signal
+ function, passing the relevant arguments:
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 10
+
+ It is currently not possible to define a new signal in a script;
+ i.e., all signals must be defined by C++ classes.
+
+ \section3 Overloaded Signals and Slots
+
+ When a signal or slot is overloaded, the QtWebKit bridge will attempt to
+ pick the right overload based on the actual types of the QScriptValue arguments
+ involved in the function invocation. For example, if your class has slots
+ \c{myOverloadedSlot(int)} and \c{myOverloadedSlot(QString)}, the following
+ script code will behave reasonably:
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 11
+
+ You can specify a particular overload by using array-style property access
+ with the \l{QMetaObject::normalizedSignature()}{normalized signature} of
+ the C++ function as the property name:
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 12
+
+ If the overloads have different number of arguments, the QtWebKit bridge will
+ pick the overload with the argument count that best matches the
+ actual number of arguments passed to the slot.
+
+ For overloaded signals, JavaScript will throw an error if you try to connect
+ to the signal by name; you have to refer to the signal with the full
+ normalized signature of the particular overload you want to connect to.
+
+ \section3 Invokable Methods
+
+ Both slots and signals are invokable from script by default. In addition, it's also
+ possible to define a method that's invokable from script without it being a signal or a slot.
+ This is especially useful for functions with return types, as slots normally do not return anything
+ (it would be meaningless to return values from a slot, as the connected signals don't handle the returned data).
+ To make a non-slot method invokable, simply add the Q_INVOKABLE macro before its definition:
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 20
+
+ \section2 Accessing Properties
+
+ The properties of the QObject are available as properties
+ of the corresponding JavaScript object. When you manipulate
+ a property in script code, the C++ get/set method for that
+ property will automatically be invoked. For example, if your
+ C++ class has a property declared as follows:
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 13
+
+ then script code can do things like the following:
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 14
+
+ \section2 Accessing Child QObjects
+
+ Every named child of the QObject (that is, for which
+ QObject::objectName() is not an empty string) is by default available as
+ a property of the JavaScript wrapper object. For example,
+ if you have a QDialog with a child widget whose \c{objectName} property is
+ \c{"okButton"}, you can access this object in script code through
+ the expression
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 15
+
+ Since \c{objectName} is itself a Q_PROPERTY, you can manipulate
+ the name in script code to, for example, rename an object:
+
+ \snippet webkitsnippets/doc_src_qtscript.qdoc 16
+
+ \section2 Data types
+
+ When calling slots, receiving signals or accessing properties, usually some payload is involved.
+ For example, a property "text" might return a \l{QString} parameter.
+ The QtWebKit bridge does the job of converting between a given JavaScript data-type, and the
+ expected or given Qt type. Each Qt type has a coresponding set of rules of how JavaScript treats it.
+
+ The data type conversions are also applicable for the data returned from non-void invokable methods.
+
+ \section3 Numbers
+
+ All Qt numeric data types are converted to or from a JavaScript number. These include int, short, float,
+ double, and the porable Qt types (qreal, qint etc). A special case is \l{QChar};
+ If a slot expects a QChar, the QtWebKit bridge would use the unicode value in case of a number,
+ or the first character in a string.
+
+ Note that non-standard (typedefed) number types are not automatically converted to
+ or from a JavaScript number - it's advised to use standard number types for signal, slots
+ and properties.
+
+ When a non-number is passed as an argument to a method or property that expects a number,
+ the appropriate JavaScript conversion function (parseInt / parseFloat) would be used.
+
+ \section3 Strings
+
+ When JavaScript accesses methods or properties that expect a \l{QString}, the QtWebKit bridge
+ will automatically convert the value to a string (if it's not already a string), using the
+ built-in JavaScript toString method.
+
+ When a QString is passed to JavaScript from a signal or a property, The QtWebKit bridge will
+ convert it into a JavaScript string.
+
+ \section3 Date & Time
+
+ Both \l{QDate}, \l{QTime} and \l{QDateTime} are automatically translated to or from the JavaScript
+ Date object. If a number is passed as an argument to a method that expects one of the date/time
+ types, the QtWebKit bridge would treat it as a timestamp. If a sting is passed, QtWebKit would
+ try different Qt date parsing functions to find the right one.
+
+ \section3 Regular Expressions
+
+ The QtWebKit bridge would automatically convert JavaScript RegEx object to a \l{QRegExp}.
+ If a string is passed to a method expecting a \l{QRegExp}, the string would be converted
+ to that \l{QRegExp}.
+
+ \section3 Lists
+
+ The QtWebKit bridge treats several types of lists in a special way: \l{QVariantList}, \l{QStringList},
+ \l{QObjectList} and \l{QList}<int>. When a slot or property expects one of those list types,
+ the QtWebKit bridge would try to convert a JavaScript array into that type, converting each of
+ the array's elements to the single-element type of the list.
+
+ The most useful type of list is perhaps \l{QVariantList}, which can be converted to from any
+ JavaScript array.
+
+ \section3 Compound (JSON) objects
+
+ JavaScript compound objects, also known as JSON objects, are variables which hold a list
+ of key-value pairs, where all the keys are strings and the values can have any type.
+ This translates very well to \l{QVariantMap}, which is nothing more than a \l{QMap} of \l{QString}
+ to \l{QVariant}.
+
+ The seamless conversion between JSON objects and \l{QVariantMap} allows for a very convenient
+ way of passing arbitrary structured data between C++ and the JavaScript environment. The native \l{QObject} has
+ to make sure that compound values are converted to \l{QVariantMap}s and \l{QVariantList}s, and JavaScript is
+ guaranteed to receive them in a meaningful way.
+
+ Note that types that are not supported by JSON, such as JavaScript functions and getters/setters,
+ are not converted.
+
+ \section3 QVariants
+
+ When a slot or property accepts a \l{QVariant}, the QtWebKit bridge would create a \l{QVariant} that best
+ matches the argument passed by JavaScript. A string, for example, would become a \l{QVariant} holding a \l{QString},
+ a normal JSON object would become a \l{QVariantMap}, and a JavaScript array would become a \l{QVariantList}.
+
+ Using \l{QVariant}s generously in C++ in that way makes C++ programming feel a bit more like JavaScript programming,
+ as it adds another level of indirection - passing \l{QVariant}s around is very flexible, as the program can figure out
+ the type of argument in runtime just like JavaScript would do, but it also takes away from the type-safety and robust
+ nature of C++. It's recommended to use \l{QVariant}s only for convenience high-level functions, and to keep most of your
+ \l{QObject}s somewhat type-safe.
+
+ \section3 QObjects
+
+ A pointer to a \l{QObject} or a \l{QWidget} can be passed as payload in signals, slots and properties. That object
+ can then be used like an object that's exposed directly; i.e. its slots can be invoked, its signals connected to etc.
+ However, this functionality is fairly limited - the type used has to be \l{QObject}* or \l{QWidget}*. If the type
+ specified is a pointer to a non-\l{QWidget} subclass of \l{QObject}, the QtWebKit bridge would not recognize it to be
+ a \l{QObject}.
+
+ In general its advised to use care when passing \l{QObject}s as arguments, as those objects don't become owned by
+ the Javascipt engine; That means that the application developer has to be extra careful not to try to access
+ \l{QObject}s that have already been deleted by the native environment.
+
+ \section3 Pixmaps and Images
+
+ \since 4.7
+
+ The QtWebKit bridge handles \l{QPixmap}s and \l{QImage}s in a special way. Since QtWebKit stores \l{QPixmap}s to
+ represent HTML images, \l{QPixmap}s coming from the native environment can be used directly inside WebKit.
+ A \l{QImage} or a \l{QPixmap} coming from the Qt environment would convert to an intermediate JavaScript object,
+ that can be represented like this:
+
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 1
+
+ The JavaScript environment can then use the pixmap it gets from Qt and display it inside the HTML environment,
+ by assigning it to an existing <img /> element using assignToHTMLImageElement. It can also use the toDataURL() function,
+ which allows using the pixmap as the src attribute of an image or as a background-image url. Note that the toDataURL()
+ function is costly and should be used with caution.
+
+ Example code:
+
+ C++:
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 2
+
+ HTML:
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 3
+
+ When a Qt object expects a \l{QImage} or a \l{QPixmap} as input, and the argument passed is an HTML image element,
+ the QtWebKit bridge would convert the pixmap assigned to that image element into a \l{QPixmap} or a \l{QImage}.
+
+ \since 4.7
+
+ \section3 QWebElement
+
+ A signal, slot or property that expects or returns a \l{QWebElement} can work seamlessly with JavaScript references
+ to DOM elements. The JavaScript environment can select DOM elements, keep them in variables, then pass them to Qt as
+ a \l{QWebElement}, and receive them back. Example:
+
+ C++:
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 4
+
+ HTML:
+ \snippet webkitsnippets/qtwebkit_bridge_snippets.cpp 5
+
+ This is specifically useful to create custom renderers or extensions to the web environment. Instead of forcing Qt
+ to select the element, the web environment already selects the element and then send the selected element directly to Qt.
+
+ Note that \l{QWebElement}s are not thread safe - an object handling them has to live in the UI thread.
+
+ \section1 Architecture issues
+
+ \section2 Limiting the Scope of the Hybrid Layer
+
+ When using QtWebKit's hybrid features, it's a common pitfall to make the API exposed to JavaScript very rich and
+ use all its features. This, however, leads to complexity and can create bugs that are hard to trace.
+ Instead, it's advisable to keep the hybrid layer small and manageable: create a gate only when
+ there's an actual need for it, i.e. there's a new native enabler that requires a direct interface
+ to the application layer. Sometimes new functionality is better handled internally in the native layer
+ or in the web layer; simplicity is your friend.
+
+ This usually becomes more apparent when the hybrid layer can create or destroy objects, or uses
+ signals slots or properties with a \l{QObject}* argument. It's advised to be very careful and to treat
+ an exposed \l{QObject} as a system - with careful attention to memory management and object ownership.
+
+ \section2 Internet Security
+
+ When exposing native object to an open web environment, it's important to understand the security
+ implications. Think whether the exposed object enables the web environment access to things that
+ shouldn't be open, and whether the web content loaded by that web page comes from a trusted. In general, when
+ exposing native QObjects that give the web environment access to private information or to functionality
+ that's potentially harmful to the client, such exposure should be balanced by limiting the web page's
+ access to trusted URLs only with HTTPS and other security measures.
+
+
+*/
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc
index c6dd550..d3f5502 100644
--- a/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc
+++ b/src/3rdparty/webkit/WebKit/qt/docs/qtwebkit.qdoc
@@ -20,8 +20,9 @@
scripted with JavaScript.
A bridge between the JavaScript execution environment and the Qt object
- model makes it possible for custom QObjects to be scripted. Integration
- with the Qt networking module enables Web pages to be transparently loaded
+ model makes it possible for custom QObjects to be scripted. For detailed
+ documentation see \l{The QtWebkit Bridge}.
+ Integration with the Qt networking module enables Web pages to be transparently loaded
from Web servers, the local file system or even the Qt resource system.
In addition to providing pure rendering features, HTML documents can be
diff --git a/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp
new file mode 100644
index 0000000..d83ab3f
--- /dev/null
+++ b/src/3rdparty/webkit/WebKit/qt/docs/webkitsnippets/qtwebkit_bridge_snippets.cpp
@@ -0,0 +1,83 @@
+
+void wrapInFunction()
+{
+
+//! [0]
+ // ...
+ QWebFrame *frame = myWebPage->mainFrame();
+ frame->addToJavaScriptWindowObject("someNameForMyObject", myObject);
+ // ...
+//! [0]
+#if 0
+ //! [1]
+ {
+ width: ...,
+ height: ...,
+ toDataURL: function() { ... },
+ assignToHTMLImageElement: function(element) { ... }
+ }
+ //! [1]
+#endif
+ //! [2]
+ class MyObject : QObject {
+ Q_OBJECT
+ Q_PROPERTY(QPixmap myPixmap READ getPixmap)
+
+ public:
+ QPixmap getPixmap() const;
+ };
+
+ /* ... */
+
+ MyObject myObject;
+ myWebPage.mainFrame()->addToJavaScriptWindowObject("myObject", &myObject);
+
+ //! [2]
+ #if 0
+ //! [3]
+ <html>
+ <head>
+ <script>
+ function loadImage() {
+ myObject.myPixmap.assignToHTMLImageElement(document.getElementById("imageElement"));
+ }
+ </script>
+ </head>
+ <body onload="loadImage()">
+ <img id="imageElement" width="300" height="200" />
+ </body>
+ </html>
+ //! [3]
+ #endif
+ //! [4]
+ class MyObject : QObject {
+ Q_OBJECT
+
+ public slots:
+ void doSomethingWithWebElement(const QWebElement&);
+ };
+
+ /* ... */
+
+ MyObject myObject;
+ myWebPage.mainFrame()->addToJavaScriptWindowObject("myObject", &myObject);
+
+ //! [4]
+ #if 0
+ //! [5]
+ <html>
+ <head>
+ <script>
+ function runExample() {
+ myObject.doSomethingWithWebElement(document.getElementById("someElement"));
+ }
+ </script>
+ </head>
+ <body onload="runExample()">
+ <span id="someElement">Text</span>
+ </body>
+ </html>
+ //! [5]
+ #endif
+}
+
diff --git a/src/3rdparty/webkit/WebKit/qt/qtwebkit_version.pri b/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri
index ffd192c..ffd192c 100644
--- a/src/3rdparty/webkit/WebKit/qt/qtwebkit_version.pri
+++ b/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri
diff --git a/src/activeqt/container/container.pro b/src/activeqt/container/container.pro
index d654f92..4c9b3a8 100644
--- a/src/activeqt/container/container.pro
+++ b/src/activeqt/container/container.pro
@@ -19,7 +19,7 @@ QTDIR_build:DESTDIR = $$QT_BUILD_TREE/lib
LIBS += -lole32 -loleaut32
!wince*:LIBS += -luser32 -lgdi32 -ladvapi32
-win32-g++:LIBS += -luuid
+win32-g++*:LIBS += -luuid
HEADERS = ../control/qaxaggregated.h \
qaxbase.h \
diff --git a/src/activeqt/control/control.pro b/src/activeqt/control/control.pro
index 44eb928..361ca29 100644
--- a/src/activeqt/control/control.pro
+++ b/src/activeqt/control/control.pro
@@ -18,11 +18,11 @@ CONFIG += qt warn_off staticlib
QTDIR_build:DESTDIR = $$QT_BUILD_TREE\\lib
DEFINES += QAX_SERVER
-win32-g++:DEFINES += QT_NEEDS_QMAIN
+win32-g++*:DEFINES += QT_NEEDS_QMAIN
win32-borland:DEFINES += QT_NEEDS_QMAIN
LIBS += -luser32 -lole32 -loleaut32 -lgdi32
-win32-g++:LIBS += -luuid
+win32-g++*:LIBS += -luuid
HEADERS = qaxaggregated.h \
qaxbindable.h \
diff --git a/src/corelib/global/qconfig-medium.h b/src/corelib/global/qconfig-medium.h
index ccd6759..6cb6c2c 100644
--- a/src/corelib/global/qconfig-medium.h
+++ b/src/corelib/global/qconfig-medium.h
@@ -213,6 +213,9 @@
#ifndef QT_NO_UNDOVIEW
# define QT_NO_UNDOVIEW
#endif
+#ifndef QT_NO_GESTURES
+# define QT_NO_GESTURES
+#endif
/* Widgets */
#ifndef QT_NO_LCDNUMBER
diff --git a/src/corelib/global/qconfig-minimal.h b/src/corelib/global/qconfig-minimal.h
index 99b16e8..c285e99 100644
--- a/src/corelib/global/qconfig-minimal.h
+++ b/src/corelib/global/qconfig-minimal.h
@@ -447,6 +447,9 @@
#ifndef QT_NO_UNDOVIEW
# define QT_NO_UNDOVIEW
#endif
+#ifndef QT_NO_GESTURES
+# define QT_NO_GESTURES
+#endif
/* Widgets */
#ifndef QT_NO_GROUPBOX
diff --git a/src/corelib/global/qconfig-small.h b/src/corelib/global/qconfig-small.h
index 1716b8d..dd74dcf 100644
--- a/src/corelib/global/qconfig-small.h
+++ b/src/corelib/global/qconfig-small.h
@@ -250,6 +250,9 @@
#ifndef QT_NO_SYSTEMTRAYICON
# define QT_NO_SYSTEMTRAYICON
#endif
+#ifndef QT_NO_GESTURES
+# define QT_NO_GESTURES
+#endif
/* Widgets */
#ifndef QT_NO_LCDNUMBER
diff --git a/src/corelib/global/qendian.h b/src/corelib/global/qendian.h
index 107854c..d53504a 100644
--- a/src/corelib/global/qendian.h
+++ b/src/corelib/global/qendian.h
@@ -44,6 +44,14 @@
#include <QtCore/qglobal.h>
+#ifdef Q_OS_LINUX
+# include <features.h>
+#endif
+
+#ifdef __GLIBC__
+#include <byteswap.h>
+#endif
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -264,6 +272,21 @@ template <> inline qint16 qFromBigEndian<qint16>(const uchar *src)
* and it is therefore a bit more convenient and in most cases more efficient.
*/
template <typename T> T qbswap(T source);
+
+#ifdef __GLIBC__
+template <> inline quint64 qbswap<quint64>(quint64 source)
+{
+ return bswap_64(source);
+}
+template <> inline quint32 qbswap<quint32>(quint32 source)
+{
+ return bswap_32(source);
+}
+template <> inline quint16 qbswap<quint16>(quint16 source)
+{
+ return bswap_16(source);
+}
+#else
template <> inline quint64 qbswap<quint64>(quint64 source)
{
return 0
@@ -292,6 +315,7 @@ template <> inline quint16 qbswap<quint16>(quint16 source)
| ((source & 0x00ff) << 8)
| ((source & 0xff00) >> 8) );
}
+#endif // __GLIBC__
// signed specializations
template <> inline qint64 qbswap<qint64>(qint64 source)
diff --git a/src/corelib/global/qfeatures.h b/src/corelib/global/qfeatures.h
index a333153..b606843 100644
--- a/src/corelib/global/qfeatures.h
+++ b/src/corelib/global/qfeatures.h
@@ -85,6 +85,9 @@
// Freetype Font Engine
//#define QT_NO_FREETYPE
+// Gesture
+//#define QT_NO_GESTURES
+
// QGroupBox
//#define QT_NO_GROUPBOX
diff --git a/src/corelib/global/qfeatures.txt b/src/corelib/global/qfeatures.txt
index 3e6af24..4d938a9 100644
--- a/src/corelib/global/qfeatures.txt
+++ b/src/corelib/global/qfeatures.txt
@@ -1185,6 +1185,12 @@ Requires: PROPERTIES
Name: State machine
SeeAlso: ???
+Feature: GESTURES
+Description: Provides a framework for gestures.
+Section: Utilities
+Requires:
+Name: Gesture
+SeeAlso: ???
# SVG
diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h
index 52a24de..a9c56f6 100644
--- a/src/corelib/global/qnamespace.h
+++ b/src/corelib/global/qnamespace.h
@@ -948,6 +948,8 @@ public:
#endif
Key_MediaNext = 0x01000083,
Key_MediaRecord = 0x01000084,
+ Key_MediaPause = 0x1000085,
+ Key_MediaTogglePlayPause = 0x1000086,
Key_HomePage = 0x01000090,
Key_Favorites = 0x01000091,
Key_Search = 0x01000092,
@@ -1090,11 +1092,15 @@ public:
Key_Context2 = 0x01100001,
Key_Context3 = 0x01100002,
Key_Context4 = 0x01100003,
- Key_Call = 0x01100004,
- Key_Hangup = 0x01100005,
+ Key_Call = 0x01100004, // set absolute state to in a call (do not toggle state)
+ Key_Hangup = 0x01100005, // set absolute state to hang up (do not toggle state)
Key_Flip = 0x01100006,
- Key_Camera = 0x01100007,
- Key_CameraFocus = 0x01100008,
+ Key_ToggleCallHangup = 0x01100007, // a toggle key for answering, or hanging up, based on current call state
+ Key_VoiceDial = 0x01100008,
+ Key_LastNumberRedial = 0x01100009,
+
+ Key_Camera = 0x01100020,
+ Key_CameraFocus = 0x01100021,
Key_unknown = 0x01ffffff
};
@@ -1720,6 +1726,7 @@ public:
};
Q_DECLARE_FLAGS(TouchPointStates, TouchPointState)
+#ifndef QT_NO_GESTURES
enum GestureState
{
NoGesture,
@@ -1749,6 +1756,7 @@ public:
IgnoredGesturesPropagateToParent = 0x04
};
Q_DECLARE_FLAGS(GestureFlags, GestureFlag)
+#endif // QT_NO_GESTURES
enum NavigationMode
{
@@ -1778,7 +1786,9 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::MatchFlags)
Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::TextInteractionFlags)
Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::InputMethodHints)
Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::TouchPointStates)
+#ifndef QT_NO_GESTURES
Q_DECLARE_OPERATORS_FOR_FLAGS(Qt::GestureFlags)
+#endif
typedef bool (*qInternalCallback)(void **);
diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc
index f71ba9d..7eae3a5 100644
--- a/src/corelib/global/qnamespace.qdoc
+++ b/src/corelib/global/qnamespace.qdoc
@@ -1317,7 +1317,7 @@
\value Key_Enter Typically located on the keypad.
\value Key_Insert
\value Key_Delete
- \value Key_Pause
+ \value Key_Pause The Pause/Break key (\note Not anything to do with pausing media)
\value Key_Print
\value Key_SysReq
\value Key_Clear
@@ -1615,12 +1615,14 @@
\value Key_BassDown
\value Key_TrebleUp
\value Key_TrebleDown
- \value Key_MediaPlay
- \value Key_MediaStop
+ \value Key_MediaPlay A key setting the state of the media player to play
+ \value Key_MediaStop A key setting the state of the media player to stop
\value Key_MediaPrevious
\omitvalue Key_MediaPrev
\value Key_MediaNext
\value Key_MediaRecord
+ \value Key_MediaPause A key setting the state of the media player to pause (\note not the pause/break key)
+ \value Key_MediaTogglePlayPause A key to toggle the play/pause state in the media player (rather than setting an absolute state)
\value Key_HomePage
\value Key_Favorites
\value Key_Search
@@ -1741,18 +1743,21 @@
\value Key_MediaLast
\value Key_unknown
- \value Key_Call
- \value Key_Camera
- \value Key_CameraFocus
+ \value Key_Call A key to answer or initiate a call (\see Key_ToggleCallHangup for a key to toggle current call state)
+ \value Key_Camera A key to activate the camera shutter
+ \value Key_CameraFocus A key to focus the camera
\value Key_Context1
\value Key_Context2
\value Key_Context3
\value Key_Context4
\value Key_Flip
- \value Key_Hangup
+ \value Key_Hangup A key to end an ongoing call (\see Key_ToggleCallHangup for a key to toggle current call state)
\value Key_No
\value Key_Select
\value Key_Yes
+ \value Key_ToggleCallHangup A key to toggle the current call state (ie. either answer, or hangup) depending on current call state
+ \value Key_VoiceDial
+ \value Key_LastNumberRedial
\value Key_Execute
\value Key_Printer
diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp
index ec49f1a..21930e1 100644
--- a/src/corelib/io/qfsfileengine_win.cpp
+++ b/src/corelib/io/qfsfileengine_win.cpp
@@ -1162,7 +1162,15 @@ bool QFSFileEnginePrivate::doStat() const
if (filePath.isEmpty())
return could_stat;
- QString fname = filePath.endsWith(QLatin1String(".lnk")) ? readLink(filePath) : filePath;
+ QString fname;
+ if(filePath.endsWith(QLatin1String(".lnk"))) {
+ fname = readLink(filePath);
+ if(fname.isEmpty())
+ return could_stat;
+ }
+ else
+ fname = filePath;
+
fname = fixIfRelativeUncPath(fname);
UINT oldmode = SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX);
diff --git a/src/corelib/io/qresource.cpp b/src/corelib/io/qresource.cpp
index 8e76e9e..ce9c57e 100644
--- a/src/corelib/io/qresource.cpp
+++ b/src/corelib/io/qresource.cpp
@@ -928,7 +928,7 @@ public:
}
};
-#if defined(Q_OS_UNIX)
+#if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN)
#define QT_USE_MMAP
#endif
diff --git a/src/corelib/kernel/qabstractitemmodel.cpp b/src/corelib/kernel/qabstractitemmodel.cpp
index 24c26b6..b0e2f48 100644
--- a/src/corelib/kernel/qabstractitemmodel.cpp
+++ b/src/corelib/kernel/qabstractitemmodel.cpp
@@ -2508,29 +2508,35 @@ bool QAbstractItemModelPrivate::allowMove(const QModelIndex &srcParent, int star
When reimplementing a subclass, this method simplifies moving
entities in your model. This method is responsible for moving
persistent indexes in the model, which you would otherwise be
- required to do yourself.
-
- Using beginMoveRows and endMoveRows is an alternative to emitting
- layoutAboutToBeChanged and layoutChanged directly along with
- changePersistentIndexes. layoutAboutToBeChanged is emitted by
- this method for compatibility reasons.
+ required to do yourself. Using beginMoveRows and endMoveRows
+ is an alternative to emitting layoutAboutToBeChanged and
+ layoutChanged directly along with changePersistentIndexes.
+ layoutAboutToBeChanged is emitted by this method for compatibility
+ reasons.
The \a sourceParent index corresponds to the parent from which the
- rows are moved; \a sourceFirst and \a sourceLast are the row
- numbers of the rows to be moved. The \a destinationParent index
- corresponds to the parent into which the rows are moved. The \a
+ rows are moved; \a sourceFirst and \a sourceLast are the first and last
+ row numbers of the rows to be moved. The \a destinationParent index
+ corresponds to the parent into which those rows are moved. The \a
destinationChild is the row to which the rows will be moved. That
is, the index at row \a sourceFirst in \a sourceParent will become
- row \a destinationChild in \a destinationParent. Its siblings will
- be moved correspondingly.
-
- Note that \a sourceParent and \a destinationParent may be the
- same, in which case you must ensure that the \a destinationChild is
- not within the range of \a sourceFirst and \a sourceLast. You
- must also ensure that you do not attempt to move a row to one of
- its own children or ancestors. This method returns false if either
- condition is true, in which case you should abort your move
- operation.
+ row \a destinationChild in \a destinationParent, followed by all other
+ rows up to \a sourceLast.
+
+ However, when moving rows down in the same parent (\a sourceParent
+ and \a destinationParent are equal), the rows will be placed before the
+ \a destinationChild index. That is, if you wish to move rows 0 and 1 so
+ they will become rows 1 and 2, \a destinationChild should be 3. In this
+ case, the new index for the source row \c i (which is between
+ \a sourceFirst and \a sourceLast) is equal to
+ \c {(destinationChild-sourceLast-1+i)}.
+
+ Note that if \a sourceParent and \a destinationParent are the same,
+ you must ensure that the \a destinationChild is not within the range
+ of \a sourceFirst and \a sourceLast + 1. You must also ensure that you
+ do not attempt to move a row to one of its own children or ancestors.
+ This method returns false if either condition is true, in which case you
+ should abort your move operation.
\table 80%
\row
@@ -2761,29 +2767,35 @@ void QAbstractItemModel::endRemoveColumns()
When reimplementing a subclass, this method simplifies moving
entities in your model. This method is responsible for moving
persistent indexes in the model, which you would otherwise be
- required to do yourself.
-
- Using beginMoveColumns and endMoveColumns is an alternative to
- emitting layoutAboutToBeChanged and layoutChanged directly along
- with changePersistentIndexes. layoutAboutToBeChanged is emitted
- by this method for compatibility reasons.
+ required to do yourself. Using beginMoveRows and endMoveRows
+ is an alternative to emitting layoutAboutToBeChanged and
+ layoutChanged directly along with changePersistentIndexes.
+ layoutAboutToBeChanged is emitted by this method for compatibility
+ reasons.
The \a sourceParent index corresponds to the parent from which the
- columns are moved; \a sourceFirst and \a sourceLast are the column
- numbers of the columns to be moved. The \a destinationParent index
- corresponds to the parent into which the columns are moved. The \a
- destinationChild is the column to which the columns will be
- moved. That is, the index at column \a sourceFirst in \a
- sourceParent will become column \a destinationChild in \a
- destinationParent. Its siblings will be moved correspondingly.
-
- Note that \a sourceParent and \a destinationParent may be the
- same, in which case you must ensure that the \a destinationChild
- is not within the range of \a sourceFirst and \a sourceLast. You
- must also ensure that you do not attempt to move a row to one of
- its own chilren or ancestors. This method returns false if either
- condition is true, in which case you should abort your move
- operation.
+ columns are moved; \a sourceFirst and \a sourceLast are the first and last
+ column numbers of the columns to be moved. The \a destinationParent index
+ corresponds to the parent into which those columns are moved. The \a
+ destinationChild is the column to which the columns will be moved. That
+ is, the index at column \a sourceFirst in \a sourceParent will become
+ column \a destinationChild in \a destinationParent, followed by all other
+ columns up to \a sourceLast.
+
+ However, when moving columns down in the same parent (\a sourceParent
+ and \a destinationParent are equal), the columnss will be placed before the
+ \a destinationChild index. That is, if you wish to move columns 0 and 1 so
+ they will become columns 1 and 2, \a destinationChild should be 3. In this
+ case, the new index for the source column \c i (which is between
+ \a sourceFirst and \a sourceLast) is equal to
+ \c {(destinationChild-sourceLast-1+i)}.
+
+ Note that if \a sourceParent and \a destinationParent are the same,
+ you must ensure that the \a destinationChild is not within the range
+ of \a sourceFirst and \a sourceLast + 1. You must also ensure that you
+ do not attempt to move a column to one of its own children or ancestors.
+ This method returns false if either condition is true, in which case you
+ should abort your move operation.
\sa endMoveColumns()
diff --git a/src/corelib/kernel/qcoreevent.h b/src/corelib/kernel/qcoreevent.h
index a20d171..9d3513a 100644
--- a/src/corelib/kernel/qcoreevent.h
+++ b/src/corelib/kernel/qcoreevent.h
@@ -275,17 +275,19 @@ public:
TouchUpdate = 195,
TouchEnd = 196,
+#ifndef QT_NO_GESTURES
NativeGesture = 197, // Internal for platform gesture support
-
+#endif
RequestSoftwareInputPanel = 199,
CloseSoftwareInputPanel = 200,
UpdateSoftKeys = 201, // Internal for compressing soft key updates
WinIdChange = 203,
+#ifndef QT_NO_GESTURES
Gesture = 198,
GestureOverride = 202,
-
+#endif
// 512 reserved for Qt Jambi's MetaCall event
// 513 reserved for Qt Jambi's DeleteOnMainThread event
@@ -327,7 +329,9 @@ private:
friend class QGraphicsView;
friend class QGraphicsViewPrivate;
friend class QGraphicsScenePrivate;
+#ifndef QT_NO_GESTURES
friend class QGestureManager;
+#endif
};
class Q_CORE_EXPORT QTimerEvent : public QEvent
diff --git a/src/corelib/kernel/qeventdispatcher_glib.cpp b/src/corelib/kernel/qeventdispatcher_glib.cpp
index fd36be4..9c1c827 100644
--- a/src/corelib/kernel/qeventdispatcher_glib.cpp
+++ b/src/corelib/kernel/qeventdispatcher_glib.cpp
@@ -246,6 +246,7 @@ struct GPostEventSource
GSource source;
QAtomicInt serialNumber;
int lastSerialNumber;
+ QEventDispatcherGlibPrivate *d;
};
static gboolean postEventSourcePrepare(GSource *s, gint *timeout)
@@ -274,6 +275,7 @@ static gboolean postEventSourceDispatch(GSource *s, GSourceFunc, gpointer)
GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
source->lastSerialNumber = source->serialNumber;
QCoreApplication::sendPostedEvents();
+ source->d->runTimersOnceWithNormalPriority();
return true; // i dunno, george...
}
@@ -313,6 +315,7 @@ QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(GMainContext *context)
postEventSource = reinterpret_cast<GPostEventSource *>(g_source_new(&postEventSourceFuncs,
sizeof(GPostEventSource)));
postEventSource->serialNumber = 1;
+ postEventSource->d = this;
g_source_set_can_recurse(&postEventSource->source, true);
g_source_attach(&postEventSource->source, mainContext);
diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp
index 1cb8455..9d8ee5a 100644
--- a/src/corelib/kernel/qeventdispatcher_symbian.cpp
+++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp
@@ -484,9 +484,9 @@ void QSelectThread::run()
} // end for
// traversed all, so update
+ updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds);
updateActivatedNotifiers(QSocketNotifier::Read, &readfds);
updateActivatedNotifiers(QSocketNotifier::Write, &writefds);
- updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds);
break;
case EINTR: // Should never occur on Symbian, but this is future proof!
@@ -496,9 +496,9 @@ void QSelectThread::run()
break;
}
} else {
+ updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds);
updateActivatedNotifiers(QSocketNotifier::Read, &readfds);
updateActivatedNotifiers(QSocketNotifier::Write, &writefds);
- updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds);
}
m_waitCond.wait(&m_mutex);
diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp
index 135ec303..cede810 100644
--- a/src/corelib/kernel/qeventdispatcher_win.cpp
+++ b/src/corelib/kernel/qeventdispatcher_win.cpp
@@ -71,10 +71,12 @@ extern uint qGlobalPostedEventsCount();
#ifndef WM_TOUCH
# define WM_TOUCH 0x0240
#endif
+#ifndef QT_NO_GESTURES
#ifndef WM_GESTURE
# define WM_GESTURE 0x0119
# define WM_GESTURENOTIFY 0x011A
#endif
+#endif // QT_NO_GESTURES
enum {
WM_QT_SOCKETNOTIFIER = WM_USER,
@@ -738,8 +740,10 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags)
|| msg.message == WM_MOUSEWHEEL
|| msg.message == WM_MOUSEHWHEEL
|| msg.message == WM_TOUCH
+#ifndef QT_NO_GESTURES
|| msg.message == WM_GESTURE
|| msg.message == WM_GESTURENOTIFY
+#endif
|| msg.message == WM_CLOSE)) {
// queue user input events for later processing
haveMessage = false;
diff --git a/src/corelib/kernel/qtranslator.cpp b/src/corelib/kernel/qtranslator.cpp
index ca54c6c..1321b14 100644
--- a/src/corelib/kernel/qtranslator.cpp
+++ b/src/corelib/kernel/qtranslator.cpp
@@ -56,7 +56,7 @@
#include "qhash.h"
#include "qtranslator_p.h"
-#if defined(Q_OS_UNIX)
+#if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN)
#define QT_USE_MMAP
#include "private/qcore_unix_p.h"
#endif
diff --git a/src/corelib/tools/qhash.h b/src/corelib/tools/qhash.h
index 3374c80..0777f06 100644
--- a/src/corelib/tools/qhash.h
+++ b/src/corelib/tools/qhash.h
@@ -931,7 +931,7 @@ public:
{ return QHash<Key, T>::insertMulti(key, value); }
inline QMultiHash &operator+=(const QMultiHash &other)
- { unite(other); return *this; }
+ { this->unite(other); return *this; }
inline QMultiHash operator+(const QMultiHash &other) const
{ QMultiHash result = *this; result += other; return result; }
@@ -1006,12 +1006,7 @@ Q_INLINE_TEMPLATE int QMultiHash<Key, T>::remove(const Key &key, const T &value)
typename QHash<Key, T>::iterator end(QHash<Key, T>::end());
while (i != end && i.key() == key) {
if (i.value() == value) {
-#if defined(Q_CC_RVCT)
- // RVCT has problems with scoping, apparently.
- i = QHash<Key, T>::erase(i);
-#else
- i = erase(i);
-#endif
+ i = this->erase(i);
++n;
} else {
++i;
diff --git a/src/corelib/tools/qmap.h b/src/corelib/tools/qmap.h
index 5696ba6..e4b73a1 100644
--- a/src/corelib/tools/qmap.h
+++ b/src/corelib/tools/qmap.h
@@ -977,7 +977,7 @@ public:
{ return QMap<Key, T>::insertMulti(key, value); }
inline QMultiMap &operator+=(const QMultiMap &other)
- { unite(other); return *this; }
+ { this->unite(other); return *this; }
inline QMultiMap operator+(const QMultiMap &other) const
{ QMultiMap result = *this; result += other; return result; }
@@ -1052,12 +1052,7 @@ Q_INLINE_TEMPLATE int QMultiMap<Key, T>::remove(const Key &key, const T &value)
typename QMap<Key, T>::iterator end(QMap<Key, T>::end());
while (i != end && !qMapLessThanKey<Key>(key, i.key())) {
if (i.value() == value) {
-#if defined(Q_CC_RVCT)
- // RVCT has problems with scoping, apparently.
- i = QMap<Key, T>::erase(i);
-#else
- i = erase(i);
-#endif
+ i = this->erase(i);
++n;
} else {
++i;
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index 6acbcec..1172a7b 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -113,7 +113,7 @@ int qFindStringBoyerMoore(const QChar *haystack, int haystackLen, int from,
static int ucstricmp(const ushort *a, const ushort *ae, const ushort *b, const ushort *be)
{
if (a == b)
- return 0;
+ return (ae - be);
if (a == 0)
return 1;
if (b == 0)
@@ -125,7 +125,7 @@ static int ucstricmp(const ushort *a, const ushort *ae, const ushort *b, const u
uint alast = 0;
uint blast = 0;
- while (a != e) {
+ while (a < e) {
// qDebug() << hex << alast << blast;
// qDebug() << hex << "*a=" << *a << "alast=" << alast << "folded=" << foldCase (*a, alast);
// qDebug() << hex << "*b=" << *b << "blast=" << blast << "folded=" << foldCase (*b, blast);
@@ -154,7 +154,7 @@ static int ucstricmp(const ushort *a, const ushort *ae, const uchar *b)
if (b == 0)
return -1;
- while (a != ae && *b) {
+ while (a < ae && *b) {
int diff = foldCase(*a) - foldCase(*b);
if ((diff))
return diff;
@@ -4640,9 +4640,12 @@ int QString::compare_helper(const QChar *data1, int length1, QLatin1String s2,
return length1;
if (cs == Qt::CaseSensitive) {
- while (uc != e && *c && *uc == *c)
+ while (uc < e && *c && *uc == *c)
uc++, c++;
+ if (uc == e)
+ return -*c;
+
return *uc - *c;
} else {
return ucstricmp(uc, e, c);
@@ -7093,7 +7096,7 @@ QString QString::fromRawData(const QChar *unicode, int size)
*/
QString &QString::setRawData(const QChar *unicode, int size)
{
- if (d->ref != 1 || d->alloc) {
+ if (d->ref != 1 || (d->data == d->array && d->alloc)) {
*this = fromRawData(unicode, size);
} else {
#ifdef QT3_SUPPORT
diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri
index 4e0ebbc..e579dd5 100644
--- a/src/corelib/tools/tools.pri
+++ b/src/corelib/tools/tools.pri
@@ -106,8 +106,9 @@ contains(QT_CONFIG, zlib) {
../3rdparty/zlib/uncompr.c \
../3rdparty/zlib/zutil.c
} else:!contains(QT_CONFIG, no-zlib) {
- unix:LIBS_PRIVATE += -lz
-# win32:LIBS += libz.lib
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
}
DEFINES += HB_EXPORT=Q_CORE_EXPORT
diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt
index 0df5f10..5735b1e 100644
--- a/src/declarative/QmlChanges.txt
+++ b/src/declarative/QmlChanges.txt
@@ -2,7 +2,6 @@
The changes below are pre Qt 4.7.0 RC
TextInput and TextEdit:
- - showInputPanelOnFocus property added
- openSoftwareInputPanel() and closeSoftwareInputPanel() functions added
Flickable:
- overShoot is replaced by boundsBehavior enumeration
diff --git a/src/declarative/debugger/qdeclarativedebugtrace_p.h b/src/declarative/debugger/qdeclarativedebugtrace_p.h
index 5ba49a8..704c49a 100644
--- a/src/declarative/debugger/qdeclarativedebugtrace_p.h
+++ b/src/declarative/debugger/qdeclarativedebugtrace_p.h
@@ -50,7 +50,7 @@ QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
class QUrl;
-class QDeclarativeDebugTrace : public QDeclarativeDebugService
+class Q_AUTOTEST_EXPORT QDeclarativeDebugTrace : public QDeclarativeDebugService
{
public:
enum EventType {
diff --git a/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp b/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp
index a05e426..261cc5c 100644
--- a/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp
@@ -72,13 +72,22 @@ QT_BEGIN_NAMESPACE
\o \image animatedimageitem.gif
\o
\qml
-Item {
- width: anim.width; height: anim.height+8
- AnimatedImage { id: anim; source: "pics/games-anim.gif" }
- Rectangle { color: "red"; width: 4; height: 8; y: anim.height
- x: (anim.width-width)*anim.currentFrame/(anim.frameCount-1)
+ import Qt 4.7
+
+ Rectangle {
+ width: animation.width; height: animation.height + 8
+
+ AnimatedImage { id: animation; source: "animation.gif" }
+
+ Rectangle {
+ property int frames: animation.frameCount
+
+ width: 4; height: 8
+ x: (animation.width - width) * animation.currentFrame / frames
+ y: animation.height
+ color: "red"
+ }
}
-}
\endqml
\endtable
*/
@@ -96,7 +105,7 @@ QDeclarativeAnimatedImage::~QDeclarativeAnimatedImage()
/*!
\qmlproperty bool AnimatedImage::paused
- This property holds whether the animated image is paused or not
+ This property holds whether the animated image is paused.
Defaults to false, and can be set to true when you want to pause.
*/
@@ -120,7 +129,7 @@ void QDeclarativeAnimatedImage::setPaused(bool pause)
}
/*!
\qmlproperty bool AnimatedImage::playing
- This property holds whether the animated image is playing or not
+ This property holds whether the animated image is playing.
Defaults to true, so as to start playing immediately.
*/
diff --git a/src/declarative/graphicsitems/qdeclarativeflipable.cpp b/src/declarative/graphicsitems/qdeclarativeflipable.cpp
index d926119..8c9d2dd 100644
--- a/src/declarative/graphicsitems/qdeclarativeflipable.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeflipable.cpp
@@ -74,7 +74,7 @@ public:
\inherits Item
Flipable is an item that can be visibly "flipped" between its front and
- back sides. It is used together with Rotation and State/Transition to
+ back sides. It is used together with \l Rotation and \l {State}/\l {Transition} to
produce a flipping effect.
Here is a Flipable that flips whenever it is clicked:
@@ -83,10 +83,12 @@ public:
\image flipable.gif
- The Rotation element is used to specify the angle and axis of the flip,
- and the State defines the changes in angle which produce the flipping
- effect. Finally, the Transition creates the animation that changes the
+ The \l Rotation element is used to specify the angle and axis of the flip,
+ and the \l State defines the changes in angle which produce the flipping
+ effect. Finally, the \l Transition creates the animation that changes the
angle over one second.
+
+ \sa {declarative/ui-components/flipable}{Flipable example}
*/
/*!
diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp
index 906f1fc..ffffc2f 100644
--- a/src/declarative/graphicsitems/qdeclarativegridview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp
@@ -904,28 +904,43 @@ void QDeclarativeGridViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
\inherits Flickable
\brief The GridView item provides a grid view of items provided by a model.
- The model is typically provided by a QAbstractListModel "C++ model object",
- but can also be created directly in QML.
+ A GridView displays data from models created from built-in QML elements like ListModel
+ and XmlListModel, or custom model classes defined in C++ that inherit from
+ QAbstractListModel.
- The items are laid out top to bottom (vertically) or left to right (horizontally)
- and may be flicked to scroll.
+ A GridView has a \l model, which defines the data to be displayed, and
+ a \l delegate, which defines how the data should be displayed. Items in a
+ GridView are laid out horizontally or vertically. Grid views are inherently flickable
+ as GridView inherits from \l Flickable.
- The below example creates a very simple grid, using a QML model.
+ For example, if there is a simple list model defined in a file \c ContactModel.qml like this:
- \image gridview.png
+ \snippet doc/src/snippets/declarative/gridview/ContactModel.qml 0
- \snippet doc/src/snippets/declarative/gridview/gridview.qml 3
+ Another component can display this model data in a GridView, like this:
- The model is defined as a ListModel using QML:
- \quotefile doc/src/snippets/declarative/gridview/dummydata/ContactModel.qml
+ \snippet doc/src/snippets/declarative/gridview/gridview.qml import
+ \codeline
+ \snippet doc/src/snippets/declarative/gridview/gridview.qml classdocs simple
+ \image gridview-simple.png
- In this case ListModel is a handy way for us to test our UI. In practice
- the model would be implemented in C++, or perhaps via a SQL data source.
+ Here, the GridView creates a \c ContactModel component for its model, and a \l Column element
+ (containing \l Image and \ Text elements) for its delegate. The view will create a new delegate
+ for each item in the model. Notice the delegate is able to access the model's \c name and
+ \c portrait data directly.
+
+ An improved grid view is shown below. The delegate is visually improved and is moved
+ into a separate \c contactDelegate component. Also, the currently selected item is highlighted
+ with a blue \l Rectangle using the \l highlight property, and \c focus is set to \c true
+ to enable keyboard navigation for the grid view.
+
+ \snippet doc/src/snippets/declarative/gridview/gridview.qml classdocs advanced
+ \image gridview-highlight.png
Delegates are instantiated as needed and may be destroyed at any time.
State should \e never be stored in a delegate.
- \bold Note that views do not enable \e clip automatically. If the view
+ \note Views do not enable \e clip automatically. If the view
is not clipped by another item or the screen, it will be necessary
to set \e {clip: true} in order to have the out of view items clipped
nicely.
@@ -971,19 +986,7 @@ QDeclarativeGridView::~QDeclarativeGridView()
The example below ensures that the animation completes before
the item is removed from the grid.
- \code
- Component {
- id: myDelegate
- Item {
- id: wrapper
- GridView.onRemove: SequentialAnimation {
- PropertyAction { target: wrapper; property: "GridView.delayRemove"; value: true }
- NumberAnimation { target: wrapper; property: "scale"; to: 0; duration: 250; easing.type: Easing.InOutQuad }
- PropertyAction { target: wrapper; property: "GridView.delayRemove"; value: false }
- }
- }
- }
- \endcode
+ \snippet doc/src/snippets/declarative/gridview/gridview.qml delayRemove
*/
/*!
@@ -1001,10 +1004,10 @@ QDeclarativeGridView::~QDeclarativeGridView()
\qmlproperty model GridView::model
This property holds the model providing data for the grid.
- The model provides a set of data that is used to create the items
- for the view. For large or dynamic datasets the model is usually
- provided by a C++ model object. The C++ model object must be a \l
- {QAbstractItemModel} subclass, a VisualModel, or a simple list.
+ The model provides the set of data that is used to create the items
+ in the view. Models can be created directly in QML using \l ListModel, \l XmlListModel
+ or \l VisualItemModel, or provided by C++ model classes. If a C++ model class is
+ used, it must be a subclass of \l QAbstractItemModel or a simple list.
\sa {qmlmodels}{Data Models}
*/
@@ -1079,11 +1082,11 @@ void QDeclarativeGridView::setModel(const QVariant &model)
that is not needed for the normal display of the delegate in a \l Loader which
can load additional elements when needed.
- Note that the GridView will layout the items based on the size of the root item
+ The GridView will layout the items based on the size of the root item
in the delegate.
- Here is an example delegate:
- \snippet doc/src/snippets/declarative/gridview/gridview.qml 0
+ \note Delegates are instantiated as needed and may be destroyed at any time.
+ State should \e never be stored in a delegate.
*/
QDeclarativeComponent *QDeclarativeGridView::delegate() const
{
@@ -1157,8 +1160,7 @@ QDeclarativeItem *QDeclarativeGridView::currentItem()
/*!
\qmlproperty Item GridView::highlightItem
- \c highlightItem holds the highlight item, which was created
- from the \l highlight component.
+ This holds the highlight item created from the \l highlight component.
The highlightItem is managed by the view unless
\l highlightFollowsCurrentItem is set to false.
@@ -1189,13 +1191,10 @@ int QDeclarativeGridView::count() const
\qmlproperty Component GridView::highlight
This property holds the component to use as the highlight.
- An instance of the highlight component will be created for each view.
- The geometry of the resultant component instance will be managed by the view
+ An instance of the highlight component is created for each view.
+ The geometry of the resulting component instance will be managed by the view
so as to stay with the current item, unless the highlightFollowsCurrentItem property is false.
- The below example demonstrates how to make a simple highlight:
- \snippet doc/src/snippets/declarative/gridview/gridview.qml 1
-
\sa highlightItem, highlightFollowsCurrentItem
*/
QDeclarativeComponent *QDeclarativeGridView::highlight() const
@@ -1218,21 +1217,14 @@ void QDeclarativeGridView::setHighlight(QDeclarativeComponent *highlight)
\qmlproperty bool GridView::highlightFollowsCurrentItem
This property sets whether the highlight is managed by the view.
- If highlightFollowsCurrentItem is true, the highlight will be moved smoothly
- to follow the current item. If highlightFollowsCurrentItem is false, the
- highlight will not be moved by the view, and must be implemented
- by the highlight component, for example:
-
- \code
- Component {
- id: myHighlight
- Rectangle {
- id: wrapper; color: "lightsteelblue"; radius: 4; width: 320; height: 60
- SpringFollow on y { source: wrapper.GridView.view.currentItem.y; spring: 3; damping: 0.2 }
- SpringFollow on x { source: wrapper.GridView.view.currentItem.x; spring: 3; damping: 0.2 }
- }
- }
- \endcode
+ If this property is true, the highlight is moved smoothly
+ to follow the current item. Otherwise, the
+ highlight is not moved by the view, and any movement must be implemented
+ by the highlight.
+
+ Here is a highlight with its motion defined by a \l {SpringFollow} item:
+
+ \snippet doc/src/snippets/declarative/gridview/gridview.qml highlightFollowsCurrentItem
*/
bool QDeclarativeGridView::highlightFollowsCurrentItem() const
{
@@ -1290,32 +1282,30 @@ void QDeclarativeGridView::setHighlightMoveDuration(int duration)
\qmlproperty real GridView::preferredHighlightEnd
\qmlproperty enumeration GridView::highlightRangeMode
- These properties set the preferred range of the highlight (current item)
- within the view.
+ These properties define the preferred range of the highlight (for the current item)
+ within the view. The \c preferredHighlightBegin value must be less than the
+ \c preferredHighlightEnd value.
- Note that this is the correct way to influence where the
- current item ends up when the view scrolls. For example, if you want the
- currently selected item to be in the middle of the list, then set the
- highlight range to be where the middle item would go. Then, when the view scrolls,
- the currently selected item will be the item at that spot. This also applies to
- when the currently selected item changes - it will scroll to within the preferred
- highlight range. Furthermore, the behaviour of the current item index will occur
- whether or not a highlight exists.
+ These properties affect the position of the current item when the view is scrolled.
+ For example, if the currently selected item should stay in the middle of the
+ view when it is scrolled, set the \c preferredHighlightBegin and
+ \c preferredHighlightEnd values to the top and bottom coordinates of where the middle
+ item would be. If the \c currentItem is changed programmatically, the view will
+ automatically scroll so that the current item is in the middle of the view.
+ Furthermore, the behavior of the current item index will occur whether or not a
+ highlight exists.
- If highlightRangeMode is set to \e GridView.ApplyRange the view will
- attempt to maintain the highlight within the range, however
- the highlight can move outside of the range at the ends of the list
- or due to a mouse interaction.
+ Valid values for \c highlightRangeMode are:
- If highlightRangeMode is set to \e GridView.StrictlyEnforceRange the highlight will never
- move outside of the range. This means that the current item will change
- if a keyboard or mouse action would cause the highlight to move
- outside of the range.
-
- The default value is \e GridView.NoHighlightRange.
-
- Note that a valid range requires preferredHighlightEnd to be greater
- than or equal to preferredHighlightBegin.
+ \list
+ \o GridView.ApplyRange - the view attempts to maintain the highlight within the range.
+ However, the highlight can move outside of the range at the ends of the view or due
+ to mouse interaction.
+ \o GridView.StrictlyEnforceRange - the highlight never moves outside of the range.
+ The current item changes if a keyboard or mouse action would cause the highlight to move
+ outside of the range.
+ \o GridView.NoHighlightRange - this is the default value.
+ \endlist
*/
qreal QDeclarativeGridView::preferredHighlightBegin() const
{
@@ -1370,10 +1360,12 @@ void QDeclarativeGridView::setHighlightRangeMode(HighlightRangeMode mode)
\qmlproperty enumeration GridView::flow
This property holds the flow of the grid.
- Possible values are \c GridView.LeftToRight (default) and \c GridView.TopToBottom.
+ Possible values:
- If \a flow is \c GridView.LeftToRight, the view will scroll vertically.
- If \a flow is \c GridView.TopToBottom, the view will scroll horizontally.
+ \list
+ \o GridView.LeftToRight (default) - Items are laid out from left to right, and the view scrolls vertically
+ \o GridView.TopToBottom - Items are laid out from top to bottom, and the view scrolls horizontally
+ \endlist
*/
QDeclarativeGridView::Flow QDeclarativeGridView::flow() const
{
@@ -1405,8 +1397,9 @@ void QDeclarativeGridView::setFlow(Flow flow)
\qmlproperty bool GridView::keyNavigationWraps
This property holds whether the grid wraps key navigation
- If this property is true then key presses to move off of one end of the grid will cause the
- selection to jump to the other side.
+ If this is true, key navigation that would move the current item selection
+ past one end of the view instead wraps around and moves the selection to
+ the other end of the view.
*/
bool QDeclarativeGridView::isWrapEnabled() const
{
@@ -1463,7 +1456,7 @@ void QDeclarativeGridView::setCacheBuffer(int buffer)
\qmlproperty int GridView::cellWidth
\qmlproperty int GridView::cellHeight
- These properties holds the width and height of each cell in the grid
+ These properties holds the width and height of each cell in the grid.
The default cell size is 100x100.
*/
@@ -1503,14 +1496,14 @@ void QDeclarativeGridView::setCellHeight(int cellHeight)
/*!
\qmlproperty enumeration GridView::snapMode
- This property determines where the view will settle following a drag or flick.
- The allowed values are:
+ This property determines how the view scrolling will settle following a drag or flick.
+ The possible values are:
\list
- \o GridView.NoSnap (default) - the view will stop anywhere within the visible area.
- \o GridView.SnapToRow - the view will settle with a row (or column for TopToBottom flow)
+ \o GridView.NoSnap (default) - the view stops anywhere within the visible area.
+ \o GridView.SnapToRow - the view settles with a row (or column for \c GridView.TopToBottom flow)
aligned with the start of the view.
- \o GridView.SnapOneRow - the view will settle no more than one row (or column for TopToBottom flow)
+ \o GridView.SnapOneRow - the view will settle no more than one row (or column for \c GridView.TopToBottom flow)
away from the first visible row at the time the mouse button is released.
This mode is particularly useful for moving one page at a time.
\endlist
@@ -1789,22 +1782,22 @@ void QDeclarativeGridView::moveCurrentIndexRight()
\a mode:
\list
- \o Beginning - position item at the top (or left for TopToBottom flow) of the view.
- \o Center- position item in the center of the view.
- \o End - position item at bottom (or right for horizontal orientation) of the view.
- \o Visible - if any part of the item is visible then take no action, otherwise
+ \o GridView.Beginning - position item at the top (or left for \c GridView.TopToBottom flow) of the view.
+ \o GridView.Center - position item in the center of the view.
+ \o GridView.End - position item at bottom (or right for horizontal orientation) of the view.
+ \o GridView.Visible - if any part of the item is visible then take no action, otherwise
bring the item into view.
- \o Contain - ensure the entire item is visible. If the item is larger than
- the view the item is positioned at the top (or left for TopToBottom flow) of the view.
+ \o GridView.Contain - ensure the entire item is visible. If the item is larger than
+ the view the item is positioned at the top (or left for \c GridView.TopToBottom flow) of the view.
\endlist
If positioning the view at the index would cause empty space to be displayed at
the beginning or end of the view, the view will be positioned at the boundary.
- It is not recommended to use contentX or contentY to position the view
+ It is not recommended to use \l {Flickable::}{contentX} or \l {Flickable::}{contentY} to position the view
at a particular index. This is unreliable since removing items from the start
of the view does not cause all other items to be repositioned.
- The correct way to bring an item into view is with positionViewAtIndex.
+ The correct way to bring an item into view is with \c positionViewAtIndex.
*/
void QDeclarativeGridView::positionViewAtIndex(int index, int mode)
{
diff --git a/src/declarative/graphicsitems/qdeclarativeimage.cpp b/src/declarative/graphicsitems/qdeclarativeimage.cpp
index 4593cf8..94240c2 100644
--- a/src/declarative/graphicsitems/qdeclarativeimage.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeimage.cpp
@@ -275,11 +275,6 @@ qreal QDeclarativeImage::paintedHeight() const
\o Image.Error - an error occurred while loading the image
\endlist
- Note that a change in the status property does not cause anything to happen
- (although it reflects what has happened with the image internally). If you wish
- to react to the change in status you need to do it yourself, for example in one
- of the following ways:
-
Use this status to provide an update or respond to the status change in some way.
For example, you could:
diff --git a/src/declarative/graphicsitems/qdeclarativeimage_p.h b/src/declarative/graphicsitems/qdeclarativeimage_p.h
index 5ea700d..fa5b2a9 100644
--- a/src/declarative/graphicsitems/qdeclarativeimage_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeimage_p.h
@@ -87,8 +87,6 @@ protected:
QDeclarativeImage(QDeclarativeImagePrivate &dd, QDeclarativeItem *parent);
void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry);
void pixmapChange();
-
-protected Q_SLOTS:
void updatePaintedGeometry();
private:
diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp
index 134bd6d..9949e65 100644
--- a/src/declarative/graphicsitems/qdeclarativeitem.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp
@@ -97,9 +97,11 @@ QT_BEGIN_NAMESPACE
The Translate object provides independent control over position in addition to the Item's x and y properties.
- The following example moves the Y axis of the Rectangles while still allowing the Row element
+ The following example moves the Y axis of the \l Rectangle elements while still allowing the \l Row element
to lay the items out as if they had not been transformed:
\qml
+ import Qt 4.7
+
Row {
Rectangle {
width: 100; height: 100
@@ -113,6 +115,8 @@ QT_BEGIN_NAMESPACE
}
}
\endqml
+
+ \image translate.png
*/
/*!
diff --git a/src/declarative/graphicsitems/qdeclarativelayoutitem.cpp b/src/declarative/graphicsitems/qdeclarativelayoutitem.cpp
index 4add66d..38d5f59 100644
--- a/src/declarative/graphicsitems/qdeclarativelayoutitem.cpp
+++ b/src/declarative/graphicsitems/qdeclarativelayoutitem.cpp
@@ -58,7 +58,10 @@ QT_BEGIN_NAMESPACE
taking its size hints into account, and you can propagate this to the other elements in your UI via anchors and bindings.
This is a QGraphicsLayoutItem subclass, and its properties merely expose the QGraphicsLayoutItem functionality to QML.
- See the QGraphicsLayoutItem documentation for further details.
+
+ The \l{declarative/cppextensions/qgraphicslayouts/layoutitem}{LayoutItem example}
+ demonstrates how a LayoutItem can be used within a \l{Graphics View Framework}{Graphics View}
+ scene.
*/
/*!
diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp
index 78c56d6..dbd1976 100644
--- a/src/declarative/graphicsitems/qdeclarativelistview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp
@@ -427,6 +427,8 @@ public:
scheduleLayout();
}
}
+ if (currentItem && currentItem->item == item)
+ updateHighlight();
if (trackedItem && trackedItem->item == item)
q->trackedPositionChanged();
}
@@ -1103,7 +1105,9 @@ void QDeclarativeListViewPrivate::updateHeader()
void QDeclarativeListViewPrivate::fixupPosition()
{
- moveReason = Other;
+ if ((haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange)
+ || snapMode != QDeclarativeListView::NoSnap)
+ moveReason = Other;
if (orient == QDeclarativeListView::Vertical)
fixupY();
else
@@ -1325,13 +1329,11 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
Another component can display this model data in a ListView, like this:
- \table
- \row
- \o \snippet doc/src/snippets/declarative/listview/listview.qml import
+ \snippet doc/src/snippets/declarative/listview/listview.qml import
\codeline
\snippet doc/src/snippets/declarative/listview/listview.qml classdocs simple
- \o \image listview-simple.png
- \endtable
+
+ \image listview-simple.png
Here, the ListView creates a \c ContactModel component for its model, and a \l Text element
for its delegate. The view will create a new \l Text component for each item in the model. Notice
@@ -1342,13 +1344,10 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
with a blue \l Rectangle using the \l highlight property, and \c focus is set to \c true
to enable keyboard navigation for the list view.
- \table
- \row
- \o \snippet doc/src/snippets/declarative/listview/listview.qml classdocs advanced
- \o \image listview-highlight.png
- \endtable
+ \snippet doc/src/snippets/declarative/listview/listview.qml classdocs advanced
+ \image listview-highlight.png
- In a ListView, delegates are instantiated as needed and may be destroyed at any time.
+ In a GridView, delegates are instantiated as needed and may be destroyed at any time.
State should \e never be stored in a delegate.
\note Views do not enable \e clip automatically. If the view
@@ -1466,13 +1465,15 @@ void QDeclarativeListView::setModel(const QVariant &model)
disconnect(d->model, SIGNAL(destroyingItem(QDeclarativeItem*)), this, SLOT(destroyingItem(QDeclarativeItem*)));
}
d->clear();
+ QDeclarativeVisualModel *oldModel = d->model;
+ d->model = 0;
d->setPosition(0);
d->modelVariant = model;
QObject *object = qvariant_cast<QObject*>(model);
QDeclarativeVisualModel *vim = 0;
if (object && (vim = qobject_cast<QDeclarativeVisualModel *>(object))) {
if (d->ownModel) {
- delete d->model;
+ delete oldModel;
d->ownModel = false;
}
d->model = vim;
@@ -1480,6 +1481,8 @@ void QDeclarativeListView::setModel(const QVariant &model)
if (!d->ownModel) {
d->model = new QDeclarativeVisualDataModel(qmlContext(this), this);
d->ownModel = true;
+ } else {
+ d->model = oldModel;
}
if (QDeclarativeVisualDataModel *dataModel = qobject_cast<QDeclarativeVisualDataModel*>(d->model))
dataModel->setModel(model);
@@ -1630,7 +1633,7 @@ int QDeclarativeListView::count() const
This property holds the component to use as the highlight.
An instance of the highlight component is created for each list.
- The geometry of the resultant component instance is managed by the list
+ The geometry of the resulting component instance is managed by the list
so as to stay with the current item, unless the highlightFollowsCurrentItem
property is false.
@@ -1663,7 +1666,7 @@ void QDeclarativeListView::setHighlight(QDeclarativeComponent *highlight)
highlight is not moved by the view, and any movement must be implemented
by the highlight.
- Here is a highlight with its motion defined by the a \l {SpringFollow} item:
+ Here is a highlight with its motion defined by a \l {SpringFollow} item:
\snippet doc/src/snippets/declarative/listview/listview.qml highlightFollowsCurrentItem
@@ -2038,8 +2041,8 @@ void QDeclarativeListView::setHighlightResizeDuration(int duration)
/*!
\qmlproperty enumeration ListView::snapMode
- This property determines where the view's scrolling behavior stops following a drag or flick.
- The allowed values are:
+ This property determines how the view scrolling will settle following a drag or flick.
+ The possible values are:
\list
\o ListView.NoSnap (default) - the view stops anywhere within the visible area.
diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp
index 4995baf..898c5a5 100644
--- a/src/declarative/graphicsitems/qdeclarativeloader.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp
@@ -115,27 +115,37 @@ void QDeclarativeLoaderPrivate::initResize()
subtree from a QML URL or Component.
Loader instantiates an item from a component. The component to
- instantiate may be specified directly by the \c sourceComponent
- property, or loaded from a URL via the \c source property.
+ instantiate may be specified directly by the \l sourceComponent
+ property, or loaded from a URL via the \l source property.
It is also an effective means of delaying the creation of a component
until it is required:
\code
+ import Qt 4.7
+
Loader { id: pageLoader }
+
Rectangle {
- MouseArea { anchors.fill: parent; onClicked: pageLoader.source = "Page1.qml" }
+ MouseArea {
+ anchors.fill: parent
+ onClicked: pageLoader.source = "Page1.qml"
+ }
}
\endcode
If the Loader source is changed, any previous items instantiated
- will be destroyed. Setting \c source to an empty string, or setting
+ will be destroyed. Setting \l source to an empty string, or setting
sourceComponent to \e undefined
will destroy the currently instantiated items, freeing resources
and leaving the Loader empty. For example:
\code
pageLoader.source = ""
+ \endcode
+
or
+
+ \code
pageLoader.sourceComponent = undefined
\endcode
@@ -340,19 +350,31 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded()
\o Loader.Error - an error occurred while loading the QML source
\endlist
- Note that a change in the status property does not cause anything to happen
- (although it reflects what has happened to the loader internally). If you wish
- to react to the change in status you need to do it yourself, for example in one
- of the following ways:
- \list
- \o Create a state, so that a state change occurs, e.g. State{name: 'loaded'; when: loader.status = Loader.Ready;}
- \o Do something inside the onLoaded signal handler, e.g. Loader{id: loader; onLoaded: console.log('Loaded');}
- \o Bind to the status variable somewhere, e.g. Text{text: if(loader.status!=Loader.Ready){'Not Loaded';}else{'Loaded';}}
- \endlist
- \sa progress
+ Use this status to provide an update or respond to the status change in some way.
+ For example, you could:
+
+ \e {Trigger a state change:}
+ \qml
+ State { name: 'loaded'; when: loader.status = Loader.Ready }
+ \endqml
+
+ \e {Implement an \c onStatusChanged signal handler:}
+ \qml
+ Loader {
+ id: loader
+ onStatusChanged: if (loader.status == Loader.Ready) console.log('Loaded')
+ }
+ \endqml
+
+ \e {Bind to the status value:}
+ \qml
+ Text { text: loader.status != Loader.Ready ? 'Not Loaded' : 'Loaded' }
+ \endqml
Note that if the source is a local file, the status will initially be Ready (or Error). While
there will be no onStatusChanged signal in that case, the onLoaded will still be invoked.
+
+ \sa progress
*/
QDeclarativeLoader::Status QDeclarativeLoader::status() const
diff --git a/src/declarative/graphicsitems/qdeclarativemousearea.cpp b/src/declarative/graphicsitems/qdeclarativemousearea.cpp
index 1947c00..6fca283 100644
--- a/src/declarative/graphicsitems/qdeclarativemousearea.cpp
+++ b/src/declarative/graphicsitems/qdeclarativemousearea.cpp
@@ -172,17 +172,21 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
A MouseArea is typically used in conjunction with a visible item,
where the MouseArea effectively 'proxies' mouse handling for that
- item. For example, we can put a MouseArea in a Rectangle that changes
- the Rectangle color to red when clicked:
- \snippet doc/src/snippets/declarative/mouseregion.qml 0
+ item. For example, we can put a MouseArea in a \l Rectangle that changes
+ the \l Rectangle color to red when clicked:
+
+ \snippet doc/src/snippets/declarative/mousearea.qml import
+ \codeline
+ \snippet doc/src/snippets/declarative/mousearea.qml intro
Many MouseArea signals pass a \l {MouseEvent}{mouse} parameter that contains
additional information about the mouse event, such as the position, button,
and any key modifiers.
- Below we have the previous
- example extended so as to give a different color when you right click.
- \snippet doc/src/snippets/declarative/mouseregion.qml 1
+ Here is an extension of the previous example that produces a different
+ color when the area is right clicked:
+
+ \snippet doc/src/snippets/declarative/mousearea.qml intro-extended
For basic key handling, see the \l {Keys}{Keys attached property}.
@@ -238,7 +242,7 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
releasing is also considered a click).
The \l {MouseEvent}{mouse} parameter provides information about the click, including the x and y
- position of the release of the click, and whether the click wasHeld.
+ position of the release of the click, and whether the click was held.
The \e accepted property of the MouseEvent parameter is ignored in this handler.
*/
@@ -262,7 +266,7 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
This handler is called when there is a release.
The \l {MouseEvent}{mouse} parameter provides information about the click, including the x and y
- position of the release of the click, and whether the click wasHeld.
+ position of the release of the click, and whether the click was held.
The \e accepted property of the MouseEvent parameter is ignored in this handler.
*/
@@ -282,7 +286,7 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
This handler is called when there is a double-click (a press followed by a release followed by a press).
The \l {MouseEvent}{mouse} parameter provides information about the click, including the x and y
- position of the release of the click, and whether the click wasHeld.
+ position of the release of the click, and whether the click was held.
The \e accepted property of the MouseEvent parameter is ignored in this handler.
*/
@@ -328,10 +332,10 @@ QDeclarativeMouseArea::~QDeclarativeMouseArea()
while a button is pressed, and will remain valid as long as the button is held
even if the mouse is moved outside the area.
- If hoverEnabled is true then these properties will be valid:
+ If hoverEnabled is true then these properties will be valid when:
\list
- \i when no button is pressed, but the mouse is within the MouseArea (containsMouse is true).
- \i if a button is pressed and held, even if it has since moved out of the area.
+ \i no button is pressed, but the mouse is within the MouseArea (containsMouse is true).
+ \i a button is pressed and held, even if it has since moved out of the area.
\endlist
The coordinates are relative to the MouseArea.
@@ -378,18 +382,7 @@ void QDeclarativeMouseArea::setEnabled(bool a)
\endlist
The code below displays "right" when the right mouse buttons is pressed:
- \code
- Text {
- text: mr.pressedButtons & Qt.RightButton ? "right" : ""
- horizontalAlignment: Text.AlignHCenter
- verticalAlignment: Text.AlignVCenter
- MouseArea {
- id: mr
- acceptedButtons: Qt.LeftButton | Qt.RightButton
- anchors.fill: parent
- }
- }
- \endcode
+ \snippet doc/src/snippets/declarative/mousearea.qml mousebuttons
\sa acceptedButtons
*/
@@ -705,7 +698,7 @@ void QDeclarativeMouseArea::setHovered(bool h)
MouseArea { acceptedButtons: Qt.LeftButton | Qt.RightButton }
\endcode
- The default is to accept the Left button.
+ The default value is \c Qt.LeftButton.
*/
Qt::MouseButtons QDeclarativeMouseArea::acceptedButtons() const
{
@@ -765,17 +758,19 @@ QDeclarativeDrag *QDeclarativeMouseArea::drag()
\qmlproperty real MouseArea::drag.minimumY
\qmlproperty real MouseArea::drag.maximumY
- drag provides a convenient way to make an item draggable.
+ \c drag provides a convenient way to make an item draggable.
\list
- \i \c target specifies the item to drag.
- \i \c active specifies if the target item is being currently dragged.
- \i \c axis specifies whether dragging can be done horizontally (Drag.XAxis), vertically (Drag.YAxis), or both (Drag.XandYAxis)
- \i the minimum and maximum properties limit how far the target can be dragged along the corresponding axes.
+ \i \c drag.target specifies the item to drag.
+ \i \c drag.active specifies if the target item is currently being dragged.
+ \i \c drag.axis specifies whether dragging can be done horizontally (\c Drag.XAxis), vertically (\c Drag.YAxis), or both (\c Drag.XandYAxis)
+ \i \c drag.minimum and \c drag.maximum limit how far the target can be dragged along the corresponding axes.
\endlist
- The following example uses drag to reduce the opacity of an image as it moves to the right:
- \snippet doc/src/snippets/declarative/drag.qml 0
+ The following example displays an image that can be dragged along the X-axis. The opacity
+ of the image is reduced when it is dragged to the right.
+
+ \snippet doc/src/snippets/declarative/mousearea.qml drag
*/
QT_END_NAMESPACE
diff --git a/src/declarative/graphicsitems/qdeclarativepath.cpp b/src/declarative/graphicsitems/qdeclarativepath.cpp
index 141a938..a904869 100644
--- a/src/declarative/graphicsitems/qdeclarativepath.cpp
+++ b/src/declarative/graphicsitems/qdeclarativepath.cpp
@@ -628,7 +628,7 @@ void QDeclarativePathLine::addToPath(QPainterPath &path)
\qml
Path {
startX: 0; startY: 0
- PathQuad x: 200; y: 0; controlX: 100; controlY: 150 }
+ PathQuad { x: 200; y: 0; controlX: 100; controlY: 150 }
}
\endqml
\endtable
@@ -713,8 +713,9 @@ void QDeclarativePathQuad::addToPath(QPainterPath &path)
Path {
startX: 20; startY: 0
PathCubic {
- x: 180; y: 0; control1X: -10; control1Y: 90
- control2X: 210; control2Y: 90
+ x: 180; y: 0
+ control1X: -10; control1Y: 90
+ control2X: 210; control2Y: 90
}
}
\endqml
diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp
index 448ec06..f58b054 100644
--- a/src/declarative/graphicsitems/qdeclarativepathview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp
@@ -310,11 +310,21 @@ void QDeclarativePathViewPrivate::regenerate()
\brief The PathView element lays out model-provided items on a path.
\inherits Item
- The model is typically provided by a QAbstractListModel "C++ model object", but can also be created directly in QML.
+ A PathView displays data from models created from built-in QML elements like ListModel
+ and XmlListModel, or custom model classes defined in C++ that inherit from
+ QAbstractListModel.
+ A ListView has a \l model, which defines the data to be displayed, and
+ a \l delegate, which defines how the data should be displayed.
The \l delegate is instantiated for each item on the \l path.
The items may be flicked to move them along the path.
+ For example, if there is a simple list model defined in a file \c ContactModel.qml like this:
+
+ \snippet doc/src/snippets/declarative/pathview/ContactModel.qml 0
+
+ This data can be represented as a PathView, like this:
+
\snippet doc/src/snippets/declarative/pathview/pathview.qml 0
\image pathview.gif
@@ -885,6 +895,7 @@ void QDeclarativePathView::setPathItemCount(int i)
if (i < 1)
i = 1;
d->pathItems = i;
+ d->updateMappedRange();
if (d->isValid() && isComponentComplete()) {
d->regenerate();
}
diff --git a/src/declarative/graphicsitems/qdeclarativepositioners.cpp b/src/declarative/graphicsitems/qdeclarativepositioners.cpp
index 8796e63..20cc46b 100644
--- a/src/declarative/graphicsitems/qdeclarativepositioners.cpp
+++ b/src/declarative/graphicsitems/qdeclarativepositioners.cpp
@@ -302,7 +302,7 @@ void QDeclarativeBasePositioner::finishApplyTransitions()
/*!
\qmlclass Column QDeclarativeColumn
\since 4.7
- \brief The Column item lines up its children vertically.
+ \brief The Column item arranges its children vertically.
\inherits Item
The Column item positions its child items so that they are vertically
@@ -346,7 +346,8 @@ Column {
will not change. If you manually change the x or y properties in script, bind
the x or y properties, use anchors on a child of a positioner, or have the
height of a child depend on the position of a child, then the
- positioner may exhibit strange behaviour.
+ positioner may exhibit strange behaviour. If you need to perform any of these
+ actions, consider positioning the items without the use of a Column.
*/
/*!
@@ -396,7 +397,7 @@ Column {
spacing is the amount in pixels left empty between each adjacent
item, and defaults to 0.
- The below example places a Grid containing a red, a blue and a
+ The below example places a \l Grid containing a red, a blue and a
green rectangle on a gray background. The area the grid positioner
occupies is colored white. The top positioner has the default of no spacing,
and the bottom positioner has its spacing set to 2.
@@ -468,17 +469,15 @@ void QDeclarativeColumn::reportConflictingAnchors()
/*!
\qmlclass Row QDeclarativeRow
\since 4.7
- \brief The Row item lines up its children horizontally.
+ \brief The Row item arranges its children horizontally.
\inherits Item
The Row item positions its child items so that they are
- horizontally aligned and not overlapping. Spacing can be added between the
- items, and a margin around all items can also be added. It also provides for
- transitions to be set when items are added, moved, or removed in the
- positioner. Adding and removing apply both to items which are deleted or have
- their position in the document changed so as to no longer be children of the
- positioner, as well as to items which have their opacity set to or from zero
- so as to appear or disappear.
+ horizontally aligned and not overlapping.
+
+ Use \l spacing to set the spacing between items in a Row, and use the
+ \l add and \l move properties to set the transitions that should be applied
+ when items are added to, removed from, or re-positioned within the Row.
The below example lays out differently shaped rectangles using a Row.
\qml
@@ -495,8 +494,8 @@ Row {
will not change. If you manually change the x or y properties in script, bind
the x or y properties, use anchors on a child of a positioner, or have the
width of a child depend on the position of a child, then the
- positioner may exhibit strange behaviour.
-
+ positioner may exhibit strange behaviour. If you need to perform any of these
+ actions, consider positioning the items without the use of a Row.
*/
/*!
\qmlproperty Transition Row::add
@@ -504,12 +503,10 @@ Row {
The transition will only be applied to the added item(s).
Positioner transitions will only affect the position (x,y) of items.
- Added can mean that either the object has been created or
- reparented, and thus is now a child or the positioner, or that the
+ An object is considered to be added to the positioner if it has been
+ created or reparented and thus is now a child or the positioner, or if the
object has had its opacity increased from zero, and thus is now
visible.
-
-
*/
/*!
\qmlproperty Transition Row::move
@@ -540,7 +537,7 @@ Row {
spacing is the amount in pixels left empty between each adjacent
item, and defaults to 0.
- The below example places a Grid containing a red, a blue and a
+ The below example places a \l Grid containing a red, a blue and a
green rectangle on a gray background. The area the grid positioner
occupies is colored white. The top positioner has the default of no spacing,
and the bottom positioner has its spacing set to 2.
@@ -610,18 +607,20 @@ void QDeclarativeRow::reportConflictingAnchors()
\inherits Item
The Grid item positions its child items so that they are
- aligned in a grid and are not overlapping. Spacing can be added
- between the items. It also provides for transitions to be set when items are
+ aligned in a grid and are not overlapping.
+
+ Spacing can be added
+ between child items. It also provides for transitions to be set when items are
added, moved, or removed in the positioner. Adding and removing apply
both to items which are deleted or have their position in the
document changed so as to no longer be children of the positioner, as
well as to items which have their opacity set to or from zero so
as to appear or disappear.
- The Grid defaults to using four columns, and as many rows as
- are necessary to fit all the child items. The number of rows
- and/or the number of columns can be constrained by setting the rows
- or columns properties. The grid positioner calculates a grid with
+ A Grid defaults to four columns, and as many rows as
+ are necessary to fit all child items. The number of rows
+ and/or the number of columns can be constrained by setting the \l rows
+ or \l columns properties. The grid positioner calculates a grid with
rectangular cells of sufficient size to hold all items, and then
places the items in the cells, going across then down, and
positioning each item at the (0,0) corner of the cell. The below
@@ -648,7 +647,8 @@ Grid {
will not change. If you manually change the x or y properties in script, bind
the x or y properties, use anchors on a child of a positioner, or have the
width or height of a child depend on the position of a child, then the
- positioner may exhibit strange behaviour.
+ positioner may exhibit strange behaviour. If you need to perform any of these
+ actions, consider positioning the items without the use of a Grid.
*/
/*!
\qmlproperty Transition Grid::add
@@ -658,12 +658,10 @@ Grid {
as that is all the positioners affect. To animate other property change
you will have to do so based on how you have changed those properties.
- Added can mean that either the object has been created or
- reparented, and thus is now a child or the positioner, or that the
+ An object is considered to be added to the positioner if it has been
+ created or reparented and thus is now a child or the positioner, or if the
object has had its opacity increased from zero, and thus is now
visible.
-
-
*/
/*!
\qmlproperty Transition Grid::move
@@ -714,18 +712,16 @@ QDeclarativeGrid::QDeclarativeGrid(QDeclarativeItem *parent) :
\qmlproperty int Grid::columns
This property holds the number of columns in the grid.
- When the columns property is set the Grid will always have
- that many columns. Note that if you do not have enough items to
- fill this many columns some columns will be of zero width.
+ If the grid does not have enough items to fill the specified
+ number of columns, some columns will be of zero width.
*/
/*!
\qmlproperty int Grid::rows
This property holds the number of rows in the grid.
- When the rows property is set the Grid will always have that
- many rows. Note that if you do not have enough items to fill this
- many rows some rows will be of zero width.
+ If the grid does not have enough items to fill the specified
+ number of rows, some rows will be of zero width.
*/
void QDeclarativeGrid::setColumns(const int columns)
@@ -750,12 +746,14 @@ void QDeclarativeGrid::setRows(const int rows)
\qmlproperty enumeration Grid::flow
This property holds the flow of the layout.
- Possible values are \c Grid.LeftToRight (default) and \c Grid.TopToBottom.
+ Possible values are:
- If \a flow is \c Grid.LeftToRight, the items are positioned next to
- to each other from left to right, then wrapped to the next line.
- If \a flow is \c Grid.TopToBottom, the items are positioned next to each
- other from top to bottom, then wrapped to the next column.
+ \list
+ \o Grid.LeftToRight (default) - Items are positioned next to
+ to each other from left to right, then wrapped to the next line.
+ \o Grid.TopToBottom - Items are positioned next to each
+ other from top to bottom, then wrapped to the next column.
+ \endlist
*/
QDeclarativeGrid::Flow QDeclarativeGrid::flow() const
{
@@ -893,14 +891,18 @@ void QDeclarativeGrid::reportConflictingAnchors()
/*!
\qmlclass Flow QDeclarativeFlow
\since 4.7
- \brief The Flow item lines up its children side by side, wrapping as necessary.
+ \brief The Flow item arranges its children side by side, wrapping as necessary.
\inherits Item
+ The Flow item positions its child items so that they are side by side and are
+ not overlapping.
+
Note that the positioner assumes that the x and y positions of its children
will not change. If you manually change the x or y properties in script, bind
the x or y properties, use anchors on a child of a positioner, or have the
width or height of a child depend on the position of a child, then the
- positioner may exhibit strange behaviour.
+ positioner may exhibit strange behaviour. If you need to perform any of these
+ actions, consider positioning the items without the use of a Flow.
*/
/*!
@@ -909,9 +911,10 @@ void QDeclarativeGrid::reportConflictingAnchors()
The transition will only be applied to the added item(s).
Positioner transitions will only affect the position (x,y) of items.
- Added can mean that either the object has been created or reparented, and thus is now a child or the positioner, or that the object has had its opacity increased from zero, and thus is now visible.
-
-
+ An object is considered to be added to the positioner if it has been
+ created or reparented and thus is now a child or the positioner, or if the
+ object has had its opacity increased from zero, and thus is now
+ visible.
*/
/*!
\qmlproperty Transition Flow::move
@@ -965,14 +968,16 @@ QDeclarativeFlow::QDeclarativeFlow(QDeclarativeItem *parent)
\qmlproperty enumeration Flow::flow
This property holds the flow of the layout.
- Possible values are \c Flow.LeftToRight (default) and \c Flow.TopToBottom.
+ Possible values are:
- If \a flow is \c Flow.LeftToRight, the items are positioned next to
+ \list
+ \o Flow.LeftToRight (default) - Items are positioned next to
to each other from left to right until the width of the Flow
is exceeded, then wrapped to the next line.
- If \a flow is \c Flow.TopToBottom, the items are positioned next to each
+ \o Flow.TopToBottom - Items are positioned next to each
other from top to bottom until the height of the Flow is exceeded,
then wrapped to the next column.
+ \endlist
*/
QDeclarativeFlow::Flow QDeclarativeFlow::flow() const
{
diff --git a/src/declarative/graphicsitems/qdeclarativerectangle.cpp b/src/declarative/graphicsitems/qdeclarativerectangle.cpp
index 301ca00..2756877 100644
--- a/src/declarative/graphicsitems/qdeclarativerectangle.cpp
+++ b/src/declarative/graphicsitems/qdeclarativerectangle.cpp
@@ -160,6 +160,8 @@ void QDeclarativeGradient::doUpdate()
You can also create rounded rectangles using the \l radius property.
\qml
+ import Qt 4.7
+
Rectangle {
width: 100
height: 100
@@ -202,8 +204,20 @@ void QDeclarativeRectangle::doUpdate()
A width of 1 creates a thin line. For no line, use a width of 0 or a transparent color.
- To keep the border smooth (rather than blurry), odd widths cause the rectangle to be painted at
- a half-pixel offset;
+ If \c border.width is an odd number, the rectangle is painted at a half-pixel offset to retain
+ border smoothness. Also, the border is rendered evenly on either side of the
+ rectangle's boundaries, and the spare pixel is rendered to the right and below the
+ rectangle (as documented for QRect rendering). This can cause unintended effects if
+ \c border.width is 1 and the rectangle is \l{Item::clip}{clipped} by a parent item:
+
+ \table
+ \row
+ \o \snippet doc/src/snippets/declarative/rect-border-width.qml 0
+ \o \image rect-border-width.png
+ \endtable
+
+ Here, the innermost rectangle's border is clipped on the bottom and right edges by its
+ parent. To avoid this, the border width can be set to two instead of one.
*/
QDeclarativePen *QDeclarativeRectangle::border()
{
diff --git a/src/declarative/graphicsitems/qdeclarativerepeater.cpp b/src/declarative/graphicsitems/qdeclarativerepeater.cpp
index 04076f8..691cfa2 100644
--- a/src/declarative/graphicsitems/qdeclarativerepeater.cpp
+++ b/src/declarative/graphicsitems/qdeclarativerepeater.cpp
@@ -80,14 +80,20 @@ QDeclarativeRepeaterPrivate::~QDeclarativeRepeaterPrivate()
The index is always exposed as an accessible \c index property.
In the case of an object or string list, the data element (of type string
or object) is available as the \c modelData property. In the case of a Qt model,
- all roles are available as named properties just like in the view classes. The
- following example shows how to use the index property inside the instantiated
- items.
+ all roles are available as named properties just like in the view classes.
- \snippet doc/src/snippets/declarative/repeater-index.qml 0
+ The following example shows how to use the \c index property inside the instantiated
+ items:
+ \snippet doc/src/snippets/declarative/repeater-index.qml 0
\image repeater-index.png
+ The repeater could also use the \c modelData property to reference the data for a
+ particular index:
+
+ \snippet doc/src/snippets/declarative/repeater-modeldata.qml 0
+ \image repeater-modeldata.png
+
Items instantiated by the Repeater are inserted, in order, as
children of the Repeater's parent. The insertion starts immediately after
the repeater's position in its parent stacking list. This is to allow
diff --git a/src/declarative/graphicsitems/qdeclarativescalegrid.cpp b/src/declarative/graphicsitems/qdeclarativescalegrid.cpp
index fe89190..a053aa0 100644
--- a/src/declarative/graphicsitems/qdeclarativescalegrid.cpp
+++ b/src/declarative/graphicsitems/qdeclarativescalegrid.cpp
@@ -130,8 +130,9 @@ QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(QIODevice *data)
int b = -1;
QString imgFile;
- while(!data->atEnd()) {
- QString line = QString::fromUtf8(data->readLine().trimmed());
+ QByteArray raw;
+ while(raw = data->readLine(), !raw.isEmpty()) {
+ QString line = QString::fromUtf8(raw.trimmed());
if (line.isEmpty() || line.startsWith(QLatin1Char('#')))
continue;
diff --git a/src/declarative/graphicsitems/qdeclarativetext.cpp b/src/declarative/graphicsitems/qdeclarativetext.cpp
index 55cef8b..f4722c3 100644
--- a/src/declarative/graphicsitems/qdeclarativetext.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetext.cpp
@@ -119,6 +119,8 @@ QSet<QUrl> QTextDocumentWithImageResources::errors;
A Text item can display both plain and rich text. For example:
\qml
+ import Qt 4.7
+
Text { text: "Hello World!"; font.family: "Helvetica"; font.pointSize: 24; color: "red" }
Text { text: "<b>Hello</b> <i>World!</i>" }
\endqml
@@ -477,6 +479,7 @@ void QDeclarativeText::setHAlign(HAlignment align)
return;
d->hAlign = align;
+ update();
emit horizontalAlignmentChanged(align);
}
@@ -493,6 +496,7 @@ void QDeclarativeText::setVAlign(VAlignment align)
return;
d->vAlign = align;
+ update();
emit verticalAlignmentChanged(align);
}
diff --git a/src/declarative/graphicsitems/qdeclarativetextedit.cpp b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
index 15cdb05..94973f2 100644
--- a/src/declarative/graphicsitems/qdeclarativetextedit.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetextedit.cpp
@@ -580,7 +580,7 @@ int QDeclarativeTextEdit::positionAt(int x, int y) const
}
/*!
- \qmlmethod int TextEdit::moveCursorSeletion(int pos)
+ \qmlmethod int TextEdit::moveCursorSelection(int pos)
Moves the cursor to \a position and updates the selection accordingly.
(To only move the cursor, set the \l cursorPosition property.)
@@ -727,12 +727,9 @@ void QDeclarativeTextEdit::loadCursorDelegate()
\qmlproperty int TextEdit::selectionStart
The cursor position before the first character in the current selection.
- Setting this and selectionEnd allows you to specify a selection in the
- text edit.
- Note that if selectionStart == selectionEnd then there is no current
- selection. If you attempt to set selectionStart to a value outside of
- the current text, selectionStart will not be changed.
+ This property is read-only. To change the selection, use select(start,end),
+ selectAll(), or selectWord().
\sa selectionEnd, cursorPosition, selectedText
*/
@@ -742,25 +739,13 @@ int QDeclarativeTextEdit::selectionStart() const
return d->control->textCursor().selectionStart();
}
-void QDeclarativeTextEdit::setSelectionStart(int s)
-{
- Q_D(QDeclarativeTextEdit);
- if(d->lastSelectionStart == s || s < 0 || s > text().length())
- return;
- d->lastSelectionStart = s;
- d->updateSelection();// Will emit the relevant signals
-}
-
/*!
\qmlproperty int TextEdit::selectionEnd
The cursor position after the last character in the current selection.
- Setting this and selectionStart allows you to specify a selection in the
- text edit.
- Note that if selectionStart == selectionEnd then there is no current
- selection. If you attempt to set selectionEnd to a value outside of
- the current text, selectionEnd will not be changed.
+ This property is read-only. To change the selection, use select(start,end),
+ selectAll(), or selectWord().
\sa selectionStart, cursorPosition, selectedText
*/
@@ -770,15 +755,6 @@ int QDeclarativeTextEdit::selectionEnd() const
return d->control->textCursor().selectionEnd();
}
-void QDeclarativeTextEdit::setSelectionEnd(int s)
-{
- Q_D(QDeclarativeTextEdit);
- if(d->lastSelectionEnd == s || s < 0 || s > text().length())
- return;
- d->lastSelectionEnd = s;
- d->updateSelection();// Will emit the relevant signals
-}
-
/*!
\qmlproperty string TextEdit::selectedText
@@ -1028,6 +1004,8 @@ void QDeclarativeTextEditPrivate::focusChanged(bool hasFocus)
}
/*!
+ \qmlmethod void TextEdit::selectAll()
+
Causes all text to be selected.
*/
void QDeclarativeTextEdit::selectAll()
@@ -1037,6 +1015,8 @@ void QDeclarativeTextEdit::selectAll()
}
/*!
+ \qmlmethod void TextEdit::selectWord()
+
Causes the word closest to the current cursor position to be selected.
*/
void QDeclarativeTextEdit::selectWord()
@@ -1048,6 +1028,36 @@ void QDeclarativeTextEdit::selectWord()
}
/*!
+ \qmlmethod void TextEdit::select(start,end)
+
+ Causes the text from \a start to \a end to be selected.
+
+ If either start or end is out of range, the selection is not changed.
+
+ After calling this, selectionStart will become the lesser
+ and selectionEnd will become the greater (regardless of the order passed
+ to this method).
+
+ \sa selectionStart, selectionEnd
+*/
+void QDeclarativeTextEdit::select(int start, int end)
+{
+ Q_D(QDeclarativeTextEdit);
+ if (start < 0 || end < 0 || start > d->text.length() || end > d->text.length())
+ return;
+ QTextCursor cursor = d->control->textCursor();
+ cursor.beginEditBlock();
+ cursor.setPosition(start, QTextCursor::MoveAnchor);
+ cursor.setPosition(end, QTextCursor::KeepAnchor);
+ cursor.endEditBlock();
+ d->control->setTextCursor(cursor);
+
+ // QTBUG-11100
+ updateSelectionMarkers();
+}
+
+#ifndef QT_NO_CLIPBOARD
+/*!
\qmlmethod TextEdit::cut()
Moves the currently selected text to the system clipboard.
@@ -1079,7 +1089,7 @@ void QDeclarativeTextEdit::paste()
Q_D(QDeclarativeTextEdit);
d->control->paste();
}
-
+#endif // QT_NO_CLIPBOARD
/*!
\overload
@@ -1097,9 +1107,15 @@ void QDeclarativeTextEdit::mousePressEvent(QGraphicsSceneMouseEvent *event)
p = p->parentItem();
}
setFocus(true);
- if (hasFocus() == hadFocus && d->showInputPanelOnFocus && !isReadOnly()) {
- // re-open input panel on press if already focused
- openSoftwareInputPanel();
+ if (d->showInputPanelOnFocus) {
+ if (hasFocus() && hadFocus && !isReadOnly()) {
+ // re-open input panel on press if already focused
+ openSoftwareInputPanel();
+ }
+ } else { // show input panel on click
+ if (hasFocus() && !hadFocus) {
+ d->clickCausedFocus = true;
+ }
}
}
if (event->type() != QEvent::GraphicsSceneMouseDoubleClick || d->selectByMouse)
@@ -1116,6 +1132,17 @@ void QDeclarativeTextEdit::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
Q_D(QDeclarativeTextEdit);
d->control->processEvent(event, QPointF(0, -d->yoff));
+ if (!d->showInputPanelOnFocus) { // input panel on click
+ if (d->focusOnPress && !isReadOnly() && boundingRect().contains(event->pos())) {
+ if (QGraphicsView * view = qobject_cast<QGraphicsView*>(qApp->focusWidget())) {
+ if (view->scene() && view->scene() == scene()) {
+ qt_widget_private(view)->handleSoftwareInputPanel(event->button(), d->clickCausedFocus);
+ }
+ }
+ }
+ }
+ d->clickCausedFocus = false;
+
if (!event->isAccepted())
QDeclarativePaintedItem::mouseReleaseEvent(event);
}
@@ -1192,9 +1219,14 @@ void QDeclarativeTextEdit::drawContents(QPainter *painter, const QRect &bounds)
void QDeclarativeTextEdit::updateImgCache(const QRectF &rf)
{
Q_D(const QDeclarativeTextEdit);
- QRect r = rf.toRect();
- if (r != QRect(0,0,INT_MAX,INT_MAX)) // Don't translate "everything"
- r = r.translated(0,d->yoff);
+ QRect r;
+ if (!rf.isValid()) {
+ r = QRect(0,0,INT_MAX,INT_MAX);
+ } else {
+ r = rf.toRect();
+ if (r != QRect(0,0,INT_MAX,INT_MAX)) // Don't translate "everything"
+ r = r.translated(0,d->yoff);
+ }
dirtyCache(r);
emit update();
}
@@ -1264,7 +1296,6 @@ void QDeclarativeTextEditPrivate::updateSelection()
QTextCursor cursor = control->textCursor();
bool startChange = (lastSelectionStart != cursor.selectionStart());
bool endChange = (lastSelectionEnd != cursor.selectionEnd());
- //### Is it worth calculating a more minimal set of movements?
cursor.beginEditBlock();
cursor.setPosition(lastSelectionStart, QTextCursor::MoveAnchor);
cursor.setPosition(lastSelectionEnd, QTextCursor::KeepAnchor);
@@ -1274,8 +1305,6 @@ void QDeclarativeTextEditPrivate::updateSelection()
q->selectionStartChanged();
if(endChange)
q->selectionEndChanged();
- startChange = (lastSelectionStart != control->textCursor().selectionStart());
- endChange = (lastSelectionEnd != control->textCursor().selectionEnd());
}
void QDeclarativeTextEdit::updateSelectionMarkers()
@@ -1361,10 +1390,14 @@ void QDeclarativeTextEditPrivate::updateDefaultTextOption()
customizing when you want the input keyboard to be shown and hidden in
your application.
- By default input panels are shown when TextEdit element gains focus and hidden
- when the focus is lost. You can disable the automatic behavior by setting the
- property showInputPanelOnFocus to false and use functions openSoftwareInputPanel()
- and closeSoftwareInputPanel() to implement the behavior you want.
+ By default the opening of input panels follows the platform style. On Symbian^1 and
+ Symbian^3 -based devices the panels are opened by clicking TextEdit and need to be
+ manually closed by the user. On other platforms the panels are automatically opened
+ when TextEdit element gains focus and closed when the focus is lost.
+
+ . You can disable the automatic behavior by setting the property \c focusOnPress to false
+ and use functions openSoftwareInputPanel() and closeSoftwareInputPanel() to implement
+ the behavior you want.
Only relevant on platforms, which provide virtual keyboards.
@@ -1373,12 +1406,19 @@ void QDeclarativeTextEditPrivate::updateDefaultTextOption()
TextEdit {
id: textEdit
text: "Hello world!"
- showInputPanelOnFocus: false
+ focusOnPress: false
MouseArea {
anchors.fill: parent
- onClicked: textEdit.openSoftwareInputPanel()
+ onClicked: {
+ if (!textEdit.focus) {
+ textEdit.focus = true;
+ textEdit.openSoftwareInputPanel();
+ } else {
+ textEdit.focus = false;
+ textEdit.closeSoftwareInputPanel();
+ }
+ }
}
- onFocusChanged: if (!focus) closeSoftwareInputpanel()
}
\endcode
*/
@@ -1401,10 +1441,14 @@ void QDeclarativeTextEdit::openSoftwareInputPanel()
for customizing when you want the input keyboard to be shown and hidden in
your application.
- By default input panels are shown when TextEdit element gains focus and hidden
- when the focus is lost. You can disable the automatic behavior by setting the
- property showInputPanelOnFocus to false and use functions openSoftwareInputPanel()
- and closeSoftwareInputPanel() to implement the behavior you want.
+ By default the opening of input panels follows the platform style. On Symbian^1 and
+ Symbian^3 -based devices the panels are opened by clicking TextEdit and need to be
+ manually closed by the user. On other platforms the panels are automatically opened
+ when TextEdit element gains focus and closed when the focus is lost.
+
+ . You can disable the automatic behavior by setting the property \c focusOnPress to false
+ and use functions openSoftwareInputPanel() and closeSoftwareInputPanel() to implement
+ the behavior you want.
Only relevant on platforms, which provide virtual keyboards.
@@ -1413,12 +1457,19 @@ void QDeclarativeTextEdit::openSoftwareInputPanel()
TextEdit {
id: textEdit
text: "Hello world!"
- showInputPanelOnFocus: false
+ focusOnPress: false
MouseArea {
anchors.fill: parent
- onClicked: textEdit.openSoftwareInputPanel()
+ onClicked: {
+ if (!textEdit.focus) {
+ textEdit.focus = true;
+ textEdit.openSoftwareInputPanel();
+ } else {
+ textEdit.focus = false;
+ textEdit.closeSoftwareInputPanel();
+ }
+ }
}
- onFocusChanged: if (!focus) closeSoftwareInputpanel()
}
\endcode
*/
@@ -1434,35 +1485,13 @@ void QDeclarativeTextEdit::closeSoftwareInputPanel()
}
}
-/*!
- \qmlproperty bool TextEdit::showInputPanelOnFocus
- Whether input panels are automatically shown when TextEdit element gains
- focus and hidden when focus is lost. By default this is set to true.
-
- Only relevant on platforms, which provide virtual keyboards.
-*/
-bool QDeclarativeTextEdit::showInputPanelOnFocus() const
-{
- Q_D(const QDeclarativeTextEdit);
- return d->showInputPanelOnFocus;
-}
-
-void QDeclarativeTextEdit::setShowInputPanelOnFocus(bool showOnFocus)
-{
- Q_D(QDeclarativeTextEdit);
- if (d->showInputPanelOnFocus == showOnFocus)
- return;
-
- d->showInputPanelOnFocus = showOnFocus;
-
- emit showInputPanelOnFocusChanged(d->showInputPanelOnFocus);
-}
-
void QDeclarativeTextEdit::focusInEvent(QFocusEvent *event)
{
Q_D(const QDeclarativeTextEdit);
- if (d->showInputPanelOnFocus && !isReadOnly() && event->reason() != Qt::ActiveWindowFocusReason) {
- openSoftwareInputPanel();
+ if (d->showInputPanelOnFocus) {
+ if (d->focusOnPress && !isReadOnly() && event->reason() != Qt::ActiveWindowFocusReason) {
+ openSoftwareInputPanel();
+ }
}
QDeclarativePaintedItem::focusInEvent(event);
}
@@ -1470,8 +1499,10 @@ void QDeclarativeTextEdit::focusInEvent(QFocusEvent *event)
void QDeclarativeTextEdit::focusOutEvent(QFocusEvent *event)
{
Q_D(const QDeclarativeTextEdit);
- if (d->showInputPanelOnFocus && !isReadOnly()) {
- closeSoftwareInputPanel();
+ if (d->showInputPanelOnFocus) {
+ if (d->focusOnPress && !isReadOnly()) {
+ closeSoftwareInputPanel();
+ }
}
QDeclarativePaintedItem::focusOutEvent(event);
}
diff --git a/src/declarative/graphicsitems/qdeclarativetextedit_p.h b/src/declarative/graphicsitems/qdeclarativetextedit_p.h
index a83b3db..0ecb2f3 100644
--- a/src/declarative/graphicsitems/qdeclarativetextedit_p.h
+++ b/src/declarative/graphicsitems/qdeclarativetextedit_p.h
@@ -82,11 +82,10 @@ class Q_DECLARATIVE_EXPORT QDeclarativeTextEdit : public QDeclarativePaintedItem
Q_PROPERTY(int cursorPosition READ cursorPosition WRITE setCursorPosition NOTIFY cursorPositionChanged)
Q_PROPERTY(QRect cursorRectangle READ cursorRectangle NOTIFY cursorRectangleChanged)
Q_PROPERTY(QDeclarativeComponent* cursorDelegate READ cursorDelegate WRITE setCursorDelegate NOTIFY cursorDelegateChanged)
- Q_PROPERTY(int selectionStart READ selectionStart WRITE setSelectionStart NOTIFY selectionStartChanged)
- Q_PROPERTY(int selectionEnd READ selectionEnd WRITE setSelectionEnd NOTIFY selectionEndChanged)
+ Q_PROPERTY(int selectionStart READ selectionStart NOTIFY selectionStartChanged)
+ Q_PROPERTY(int selectionEnd READ selectionEnd NOTIFY selectionEndChanged)
Q_PROPERTY(QString selectedText READ selectedText NOTIFY selectionChanged)
Q_PROPERTY(bool focusOnPress READ focusOnPress WRITE setFocusOnPress NOTIFY focusOnPressChanged)
- Q_PROPERTY(bool showInputPanelOnFocus READ showInputPanelOnFocus WRITE setShowInputPanelOnFocus NOTIFY showInputPanelOnFocusChanged)
Q_PROPERTY(bool persistentSelection READ persistentSelection WRITE setPersistentSelection NOTIFY persistentSelectionChanged)
Q_PROPERTY(qreal textMargin READ textMargin WRITE setTextMargin NOTIFY textMarginChanged)
Q_PROPERTY(Qt::InputMethodHints inputMethodHints READ inputMethodHints WRITE setInputMethodHints)
@@ -160,19 +159,13 @@ public:
void setCursorDelegate(QDeclarativeComponent*);
int selectionStart() const;
- void setSelectionStart(int);
-
int selectionEnd() const;
- void setSelectionEnd(int);
QString selectedText() const;
bool focusOnPress() const;
void setFocusOnPress(bool on);
- bool showInputPanelOnFocus() const;
- void setShowInputPanelOnFocus(bool showOnFocus);
-
bool persistentSelection() const;
void setPersistentSelection(bool on);
@@ -225,14 +218,16 @@ Q_SIGNALS:
void persistentSelectionChanged(bool isPersistentSelection);
void textMarginChanged(qreal textMargin);
void selectByMouseChanged(bool selectByMouse);
- void showInputPanelOnFocusChanged(bool showOnFocus);
public Q_SLOTS:
void selectAll();
void selectWord();
+ void select(int start, int end);
+#ifndef QT_NO_CLIPBOARD
void cut();
void copy();
void paste();
+#endif
private Q_SLOTS:
void updateImgCache(const QRectF &rect);
diff --git a/src/declarative/graphicsitems/qdeclarativetextedit_p_p.h b/src/declarative/graphicsitems/qdeclarativetextedit_p_p.h
index 8e1d630..4092e65 100644
--- a/src/declarative/graphicsitems/qdeclarativetextedit_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativetextedit_p_p.h
@@ -70,12 +70,17 @@ public:
QDeclarativeTextEditPrivate()
: color("black"), hAlign(QDeclarativeTextEdit::AlignLeft), vAlign(QDeclarativeTextEdit::AlignTop),
imgDirty(true), dirty(false), richText(false), cursorVisible(false), focusOnPress(true),
- showInputPanelOnFocus(true), persistentSelection(true), textMargin(0.0), lastSelectionStart(0),
- lastSelectionEnd(0), cursorComponent(0), cursor(0), format(QDeclarativeTextEdit::AutoText),
- document(0), wrapMode(QDeclarativeTextEdit::NoWrap),
+ showInputPanelOnFocus(true), clickCausedFocus(false), persistentSelection(true), textMargin(0.0),
+ lastSelectionStart(0), lastSelectionEnd(0), cursorComponent(0), cursor(0),
+ format(QDeclarativeTextEdit::AutoText), document(0), wrapMode(QDeclarativeTextEdit::NoWrap),
selectByMouse(false),
yoff(0)
{
+#ifdef Q_OS_SYMBIAN
+ if (QSysInfo::symbianVersion() == QSysInfo::SV_SF_1 || QSysInfo::symbianVersion() == QSysInfo::SV_SF_3) {
+ showInputPanelOnFocus = false;
+ }
+#endif
}
void init();
@@ -102,6 +107,7 @@ public:
bool cursorVisible : 1;
bool focusOnPress : 1;
bool showInputPanelOnFocus : 1;
+ bool clickCausedFocus : 1;
bool persistentSelection : 1;
qreal textMargin;
int lastSelectionStart;
diff --git a/src/declarative/graphicsitems/qdeclarativetextinput.cpp b/src/declarative/graphicsitems/qdeclarativetextinput.cpp
index ea958ef..1202101 100644
--- a/src/declarative/graphicsitems/qdeclarativetextinput.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetextinput.cpp
@@ -46,6 +46,7 @@
#include <qdeclarativeinfo.h>
#include <QValidator>
+#include <QTextCursor>
#include <QApplication>
#include <QFontMetrics>
#include <QPainter>
@@ -429,10 +430,12 @@ void QDeclarativeTextInput::setCursorPosition(int cp)
Returns a Rect which encompasses the cursor, but which may be larger than is
required. Ignores custom cursor delegates.
*/
-QRect QDeclarativeTextInput::cursorRect() const
+QRect QDeclarativeTextInput::cursorRectangle() const
{
Q_D(const QDeclarativeTextInput);
- return d->control->cursorRect();
+ QRect r = d->control->cursorRect();
+ r.setHeight(r.height()-1); // Make consistent with TextEdit (QLineControl inexplicably adds 1)
+ return r;
}
/*!
@@ -454,15 +457,6 @@ int QDeclarativeTextInput::selectionStart() const
return d->lastSelectionStart;
}
-void QDeclarativeTextInput::setSelectionStart(int s)
-{
- Q_D(QDeclarativeTextInput);
- if(d->lastSelectionStart == s || s < 0 || s > text().length())
- return;
- d->lastSelectionStart = s;
- d->control->setSelection(s, d->lastSelectionEnd - s);
-}
-
/*!
\qmlproperty int TextInput::selectionEnd
@@ -482,13 +476,12 @@ int QDeclarativeTextInput::selectionEnd() const
return d->lastSelectionEnd;
}
-void QDeclarativeTextInput::setSelectionEnd(int s)
+void QDeclarativeTextInput::select(int start, int end)
{
Q_D(QDeclarativeTextInput);
- if(d->lastSelectionEnd == s || s < 0 || s > text().length())
+ if (start < 0 || end < 0 || start > d->control->text().length() || end > d->control->text().length())
return;
- d->lastSelectionEnd = s;
- d->control->setSelection(d->lastSelectionStart, s - d->lastSelectionStart);
+ d->control->setSelection(start, end-start);
}
/*!
@@ -835,6 +828,19 @@ void QDeclarativeTextInput::moveCursor()
}
/*!
+ \qmlmethod rect TextInput::positionToRectangle(int x)
+*/
+QRectF QDeclarativeTextInput::positionToRectangle(int x) const
+{
+ Q_D(const QDeclarativeTextInput);
+ QFontMetrics fm = QFontMetrics(d->font);
+ return QRectF(d->control->cursorToX(x)-d->hscroll,
+ 0.0,
+ d->control->cursorWidth(),
+ cursorRectangle().height());
+}
+
+/*!
\qmlmethod int TextInput::positionAt(int x)
This function returns the character position at
@@ -845,10 +851,10 @@ void QDeclarativeTextInput::moveCursor()
This means that for all x values before the first character this function returns 0,
and for all x values after the last character this function returns text.length.
*/
-int QDeclarativeTextInput::positionAt(int x)
+int QDeclarativeTextInput::positionAt(int x) const
{
Q_D(const QDeclarativeTextInput);
- return d->control->xToPos(x - d->hscroll);
+ return d->control->xToPos(x + d->hscroll);
}
void QDeclarativeTextInputPrivate::focusChanged(bool hasFocus)
@@ -885,6 +891,22 @@ void QDeclarativeTextInput::keyPressEvent(QKeyEvent* ev)
QDeclarativePaintedItem::keyPressEvent(ev);
}
+/*!
+\overload
+Handles the given mouse \a event.
+*/
+void QDeclarativeTextInput::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)
+{
+ Q_D(QDeclarativeTextInput);
+ if (d->selectByMouse) {
+ int cursor = d->xToPos(event->pos().x());
+ d->control->selectWordAtPos(cursor);
+ event->setAccepted(true);
+ } else {
+ QDeclarativePaintedItem::mouseDoubleClickEvent(event);
+ }
+}
+
void QDeclarativeTextInput::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
Q_D(QDeclarativeTextInput);
@@ -897,12 +919,17 @@ void QDeclarativeTextInput::mousePressEvent(QGraphicsSceneMouseEvent *event)
p = p->parentItem();
}
setFocus(true);
- if (hasFocus() == hadFocus && d->showInputPanelOnFocus && !isReadOnly()) {
- // re-open input panel on press w already focused
- openSoftwareInputPanel();
+ if (d->showInputPanelOnFocus) {
+ if (hasFocus() && hadFocus && !isReadOnly()) {
+ // re-open input panel on press if already focused
+ openSoftwareInputPanel();
+ }
+ } else { // show input panel on click
+ if (hasFocus() && !hadFocus) {
+ d->clickCausedFocus = true;
+ }
}
}
-
bool mark = event->modifiers() & Qt::ShiftModifier;
int cursor = d->xToPos(event->pos().x());
d->control->moveCursor(cursor, mark);
@@ -927,6 +954,16 @@ Handles the given mouse \a event.
void QDeclarativeTextInput::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
Q_D(QDeclarativeTextInput);
+ if (!d->showInputPanelOnFocus) { // input panel on click
+ if (d->focusOnPress && !isReadOnly() && boundingRect().contains(event->pos())) {
+ if (QGraphicsView * view = qobject_cast<QGraphicsView*>(qApp->focusWidget())) {
+ if (view->scene() && view->scene() == scene()) {
+ qt_widget_private(view)->handleSoftwareInputPanel(event->button(), d->clickCausedFocus);
+ }
+ }
+ }
+ }
+ d->clickCausedFocus = false;
d->control->processEvent(event);
if (!event->isAccepted())
QDeclarativePaintedItem::mouseReleaseEvent(event);
@@ -943,10 +980,9 @@ bool QDeclarativeTextInput::event(QEvent* ev)
case QEvent::GraphicsSceneMousePress:
case QEvent::GraphicsSceneMouseMove:
case QEvent::GraphicsSceneMouseRelease:
+ case QEvent::GraphicsSceneMouseDoubleClick:
break;
default:
- if (ev->type() == QEvent::GraphicsSceneMouseDoubleClick && !d->selectByMouse)
- break;
handled = d->control->processEvent(ev);
if (ev->type() == QEvent::InputMethod)
updateSize();
@@ -1021,7 +1057,6 @@ void QDeclarativeTextInput::drawContents(QPainter *p, const QRect &r)
d->hscroll -= minLB;
offset = QPoint(d->hscroll, 0);
}
-
d->control->draw(p, offset, r, flags);
p->restore();
@@ -1059,12 +1094,27 @@ QVariant QDeclarativeTextInput::inputMethodQuery(Qt::InputMethodQuery property)
}
}
+/*!
+ \qmlmethod void TextInput::selectAll()
+
+ Causes all text to be selected.
+*/
void QDeclarativeTextInput::selectAll()
{
Q_D(QDeclarativeTextInput);
d->control->setSelection(0, d->control->text().length());
}
+/*!
+ \qmlmethod void TextInput::selectWord()
+
+ Causes the word closest to the current cursor position to be selected.
+*/
+void QDeclarativeTextInput::selectWord()
+{
+ Q_D(QDeclarativeTextInput);
+ d->control->selectWordAtPos(d->control->cursor());
+}
/*!
\qmlproperty bool TextInput::smooth
@@ -1183,26 +1233,37 @@ void QDeclarativeTextInput::moveCursorSelection(int position)
customizing when you want the input keyboard to be shown and hidden in
your application.
- By default input panels are shown when TextInput element gains focus and hidden
- when the focus is lost. You can disable the automatic behavior by setting the
- property showInputPanelOnFocus to false and use functions openSoftwareInputPanel()
- and closeSoftwareInputPanel() to implement the behavior you want.
+ By default the opening of input panels follows the platform style. On Symbian^1 and
+ Symbian^3 -based devices the panels are opened by clicking TextInput and need to be
+ manually closed by the user. On other platforms the panels are automatically opened
+ when TextInput element gains focus and closed when the focus is lost.
+
+ . You can disable the automatic behavior by setting the property \c focusOnPress to false
+ and use functions openSoftwareInputPanel() and closeSoftwareInputPanel() to implement
+ the behavior you want.
Only relevant on platforms, which provide virtual keyboards.
- \code
+ \qml
import Qt 4.7
TextInput {
id: textInput
text: "Hello world!"
- showInputPanelOnFocus: false
+ focusOnPress: false
MouseArea {
anchors.fill: parent
- onClicked: textInput.openSoftwareInputPanel()
+ onClicked: {
+ if (!textInput.focus) {
+ textInput.focus = true;
+ textInput.openSoftwareInputPanel();
+ } else {
+ textInput.focus = false;
+ textInput.closeSoftwareInputPanel();
+ }
+ }
}
- onFocusChanged: if (!focus) closeSoftwareInputPanel()
}
- \endcode
+ \endqml
*/
void QDeclarativeTextInput::openSoftwareInputPanel()
{
@@ -1223,26 +1284,37 @@ void QDeclarativeTextInput::openSoftwareInputPanel()
for customizing when you want the input keyboard to be shown and hidden in
your application.
- By default input panels are shown when TextInput element gains focus and hidden
- when the focus is lost. You can disable the automatic behavior by setting the
- property showInputPanelOnFocus to false and use functions openSoftwareInputPanel()
- and closeSoftwareInputPanel() to implement the behavior you want.
+ By default the opening of input panels follows the platform style. On Symbian^1 and
+ Symbian^3 -based devices the panels are opened by clicking TextInput and need to be
+ manually closed by the user. On other platforms the panels are automatically opened
+ when TextInput element gains focus and closed when the focus is lost.
+
+ . You can disable the automatic behavior by setting the property \c focusOnPress to false
+ and use functions openSoftwareInputPanel() and closeSoftwareInputPanel() to implement
+ the behavior you want.
Only relevant on platforms, which provide virtual keyboards.
- \code
+ \qml
import Qt 4.7
TextInput {
id: textInput
text: "Hello world!"
- showInputPanelOnFocus: false
+ focusOnPress: false
MouseArea {
anchors.fill: parent
- onClicked: textInput.openSoftwareInputPanel()
+ onClicked: {
+ if (!textInput.focus) {
+ textInput.focus = true;
+ textInput.openSoftwareInputPanel();
+ } else {
+ textInput.focus = false;
+ textInput.closeSoftwareInputPanel();
+ }
+ }
}
- onFocusChanged: if (!focus) closeSoftwareInputPanel()
}
- \endcode
+ \endqml
*/
void QDeclarativeTextInput::closeSoftwareInputPanel()
{
@@ -1257,35 +1329,13 @@ void QDeclarativeTextInput::closeSoftwareInputPanel()
}
}
-/*!
- \qmlproperty bool TextInput::showInputPanelOnFocus
- Whether input panels are automatically shown when TextInput element gains
- focus and hidden when focus is lost. By default this is set to true.
-
- Only relevant on platforms, which provide virtual keyboards.
-*/
-bool QDeclarativeTextInput::showInputPanelOnFocus() const
-{
- Q_D(const QDeclarativeTextInput);
- return d->showInputPanelOnFocus;
-}
-
-void QDeclarativeTextInput::setShowInputPanelOnFocus(bool showOnFocus)
-{
- Q_D(QDeclarativeTextInput);
- if (d->showInputPanelOnFocus == showOnFocus)
- return;
-
- d->showInputPanelOnFocus = showOnFocus;
-
- emit showInputPanelOnFocusChanged(d->showInputPanelOnFocus);
-}
-
void QDeclarativeTextInput::focusInEvent(QFocusEvent *event)
{
Q_D(const QDeclarativeTextInput);
- if (d->showInputPanelOnFocus && !isReadOnly() && event->reason() != Qt::ActiveWindowFocusReason) {
- openSoftwareInputPanel();
+ if (d->showInputPanelOnFocus) {
+ if (d->focusOnPress && !isReadOnly() && event->reason() != Qt::ActiveWindowFocusReason) {
+ openSoftwareInputPanel();
+ }
}
QDeclarativePaintedItem::focusInEvent(event);
}
@@ -1293,8 +1343,10 @@ void QDeclarativeTextInput::focusInEvent(QFocusEvent *event)
void QDeclarativeTextInput::focusOutEvent(QFocusEvent *event)
{
Q_D(const QDeclarativeTextInput);
- if (d->showInputPanelOnFocus && !isReadOnly()) {
- closeSoftwareInputPanel();
+ if (d->showInputPanelOnFocus) {
+ if (d->focusOnPress && !isReadOnly()) {
+ closeSoftwareInputPanel();
+ }
}
QDeclarativePaintedItem::focusOutEvent(event);
}
diff --git a/src/declarative/graphicsitems/qdeclarativetextinput_p.h b/src/declarative/graphicsitems/qdeclarativetextinput_p.h
index 9d58f13..e34634a 100644
--- a/src/declarative/graphicsitems/qdeclarativetextinput_p.h
+++ b/src/declarative/graphicsitems/qdeclarativetextinput_p.h
@@ -72,10 +72,10 @@ class Q_DECLARATIVE_EXPORT QDeclarativeTextInput : public QDeclarativePaintedIte
Q_PROPERTY(bool readOnly READ isReadOnly WRITE setReadOnly NOTIFY readOnlyChanged)
Q_PROPERTY(bool cursorVisible READ isCursorVisible WRITE setCursorVisible NOTIFY cursorVisibleChanged)
Q_PROPERTY(int cursorPosition READ cursorPosition WRITE setCursorPosition NOTIFY cursorPositionChanged)
- Q_PROPERTY(QRect cursorRect READ cursorRect NOTIFY cursorPositionChanged)
+ Q_PROPERTY(QRect cursorRectangle READ cursorRectangle NOTIFY cursorPositionChanged)
Q_PROPERTY(QDeclarativeComponent *cursorDelegate READ cursorDelegate WRITE setCursorDelegate NOTIFY cursorDelegateChanged)
- Q_PROPERTY(int selectionStart READ selectionStart WRITE setSelectionStart NOTIFY selectionStartChanged)
- Q_PROPERTY(int selectionEnd READ selectionEnd WRITE setSelectionEnd NOTIFY selectionEndChanged)
+ Q_PROPERTY(int selectionStart READ selectionStart NOTIFY selectionStartChanged)
+ Q_PROPERTY(int selectionEnd READ selectionEnd NOTIFY selectionEndChanged)
Q_PROPERTY(QString selectedText READ selectedText NOTIFY selectedTextChanged)
Q_PROPERTY(int maximumLength READ maxLength WRITE setMaxLength NOTIFY maximumLengthChanged)
@@ -88,7 +88,6 @@ class Q_DECLARATIVE_EXPORT QDeclarativeTextInput : public QDeclarativePaintedIte
Q_PROPERTY(bool acceptableInput READ hasAcceptableInput NOTIFY acceptableInputChanged)
Q_PROPERTY(EchoMode echoMode READ echoMode WRITE setEchoMode NOTIFY echoModeChanged)
Q_PROPERTY(bool focusOnPress READ focusOnPress WRITE setFocusOnPress NOTIFY focusOnPressChanged)
- Q_PROPERTY(bool showInputPanelOnFocus READ showInputPanelOnFocus WRITE setShowInputPanelOnFocus NOTIFY showInputPanelOnFocusChanged)
Q_PROPERTY(QString passwordCharacter READ passwordCharacter WRITE setPasswordCharacter NOTIFY passwordCharacterChanged)
Q_PROPERTY(QString displayText READ displayText NOTIFY displayTextChanged)
Q_PROPERTY(bool autoScroll READ autoScroll WRITE setAutoScroll NOTIFY autoScrollChanged)
@@ -112,7 +111,8 @@ public:
};
//Auxilliary functions needed to control the TextInput from QML
- Q_INVOKABLE int positionAt(int x);
+ Q_INVOKABLE int positionAt(int x) const;
+ Q_INVOKABLE QRectF positionToRectangle(int x) const;
Q_INVOKABLE void moveCursorSelection(int pos);
Q_INVOKABLE void openSoftwareInputPanel();
@@ -145,13 +145,10 @@ public:
int cursorPosition() const;
void setCursorPosition(int cp);
- QRect cursorRect() const;
+ QRect cursorRectangle() const;
int selectionStart() const;
- void setSelectionStart(int);
-
int selectionEnd() const;
- void setSelectionEnd(int);
QString selectedText() const;
@@ -179,9 +176,6 @@ public:
bool focusOnPress() const;
void setFocusOnPress(bool);
- bool showInputPanelOnFocus() const;
- void setShowInputPanelOnFocus(bool showOnFocus);
-
bool autoScroll() const;
void setAutoScroll(bool);
@@ -218,7 +212,6 @@ Q_SIGNALS:
void focusOnPressChanged(bool focusOnPress);
void autoScrollChanged(bool autoScroll);
void selectByMouseChanged(bool selectByMouse);
- void showInputPanelOnFocusChanged(bool showOnFocus);
protected:
virtual void geometryChanged(const QRectF &newGeometry,
@@ -227,6 +220,7 @@ protected:
void mousePressEvent(QGraphicsSceneMouseEvent *event);
void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
+ void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
void keyPressEvent(QKeyEvent* ev);
bool event(QEvent *e);
void focusInEvent(QFocusEvent *event);
@@ -234,6 +228,8 @@ protected:
public Q_SLOTS:
void selectAll();
+ void selectWord();
+ void select(int start, int end);
private Q_SLOTS:
void updateSize(bool needsRedraw = true);
diff --git a/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h b/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h
index f44d014..6865147 100644
--- a/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h
@@ -72,9 +72,15 @@ public:
color((QRgb)0), style(QDeclarativeText::Normal),
styleColor((QRgb)0), hAlign(QDeclarativeTextInput::AlignLeft),
hscroll(0), oldScroll(0), focused(false), focusOnPress(true),
- showInputPanelOnFocus(true), cursorVisible(false), autoScroll(true),
- selectByMouse(false)
+ showInputPanelOnFocus(true), clickCausedFocus(false), cursorVisible(false),
+ autoScroll(true), selectByMouse(false)
{
+#ifdef Q_OS_SYMBIAN
+ if (QSysInfo::symbianVersion() == QSysInfo::SV_SF_1 || QSysInfo::symbianVersion() == QSysInfo::SV_SF_3) {
+ showInputPanelOnFocus = false;
+ }
+#endif
+
}
~QDeclarativeTextInputPrivate()
@@ -116,6 +122,7 @@ public:
bool focused;
bool focusOnPress;
bool showInputPanelOnFocus;
+ bool clickCausedFocus;
bool cursorVisible;
bool autoScroll;
bool selectByMouse;
diff --git a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
index c6ee46f..2a88a80 100644
--- a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
+++ b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
@@ -119,11 +119,11 @@ public:
visual delegate (items).
An item can determine its index within the
- model via the VisualItemModel.index attached property.
+ model via the \c VisualItemModel.index attached property.
The example below places three colored rectangles in a ListView.
\code
- Item {
+ Rectangle {
VisualItemModel {
id: itemModel
Rectangle { height: 30; width: 80; color: "red" }
@@ -137,6 +137,8 @@ public:
}
}
\endcode
+
+ \image visualitemmodel.png
*/
QDeclarativeVisualItemModel::QDeclarativeVisualItemModel(QObject *parent)
: QDeclarativeVisualModel(*(new QDeclarativeVisualItemModelPrivate), parent)
diff --git a/src/declarative/qml/qdeclarativecontext_p.h b/src/declarative/qml/qdeclarativecontext_p.h
index 6b6cd0a..1f5aaf1 100644
--- a/src/declarative/qml/qdeclarativecontext_p.h
+++ b/src/declarative/qml/qdeclarativecontext_p.h
@@ -108,7 +108,7 @@ public:
class QDeclarativeComponentAttached;
class QDeclarativeGuardedContextData;
-class QDeclarativeContextData
+class Q_AUTOTEST_EXPORT QDeclarativeContextData
{
public:
QDeclarativeContextData();
diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp
index 2f2ee08..39b0802 100644
--- a/src/declarative/qml/qdeclarativeengine.cpp
+++ b/src/declarative/qml/qdeclarativeengine.cpp
@@ -155,14 +155,26 @@ void QDeclarativeEnginePrivate::defineModule()
\qmlclass Qt QDeclarativeEnginePrivate
\brief The QML global Qt object provides useful enums and functions from Qt.
-The Qt object provides useful enums and functions from Qt, for use in all QML files.
+The \c Qt object provides useful enums and functions from Qt, for use in all QML files.
+
+The \c Qt object is not a QML element; it cannot be instantiated. It is a global object
+with enums and functions. To use it, call the members of the global \c Qt object directly.
+For example:
+
+\qml
+import Qt 4.7
+
+Text {
+ color: Qt.rgba(255, 0, 0, 1)
+ text: Qt.md5("hello, world")
+}
+\endqml
-You do not create instances of this type, but instead use the members of the global "Qt" object.
\section1 Enums
The Qt object contains all enums in the Qt namespace. For example, you can
-access the AlignLeft member of the Qt::AlignmentFlag enum with \c Qt.AlignLeft.
+access the \c AlignLeft member of the \c Qt::AlignmentFlag enum with \c Qt.AlignLeft.
For a full list of enums, see the \l{Qt Namespace} documentation.
@@ -172,7 +184,7 @@ data types. This is primarily useful when setting the properties of an item
when the property has one of the following types:
\list
-\o \c color - use \l{Qt::rgba()}{Qt.rgba()}, \l{Qt::darker()}{Qt.darker()}, \l{Qt::lighter()}{Qt.lighter()} or \l{Qt::tint()}{Qt.tint()}
+\o \c color - use \l{Qt::rgba()}{Qt.rgba()}, \l{Qt::hsla()}{Qt.hsla()}, \l{Qt::darker()}{Qt.darker()}, \l{Qt::lighter()}{Qt.lighter()} or \l{Qt::tint()}{Qt.tint()}
\o \c rect - use \l{Qt::rect()}{Qt.rect()}
\o \c point - use \l{Qt::point()}{Qt.point()}
\o \c size - use \l{Qt::size()}{Qt.size()}
@@ -200,8 +212,8 @@ items from files or strings. See \l{Dynamic Object Management} for an overview
of their use.
\list
- \o \l{Qt::createComponent}{object Qt.createComponent(url)}
- \o \l{Qt::createQmlObject}{object Qt.createQmlObject(string qml, object parent, string filepath)}
+ \o \l{Qt::createComponent()}{object Qt.createComponent(url)}
+ \o \l{Qt::createQmlObject()}{object Qt.createQmlObject(string qml, object parent, string filepath)}
\endlist
*/
@@ -1036,7 +1048,7 @@ QString QDeclarativeEnginePrivate::urlToLocalFileOrQrc(const QUrl& url)
/*!
\qmlmethod object Qt::createComponent(url)
-Returns a \l Component object created from the QML file at the specified \a url,
+Returns a \l Component object created using the QML file at the specified \a url,
or \c null if there was an error in creating the component.
Call \l {Component::createObject()}{Component.createObject()} on the returned
@@ -1364,7 +1376,7 @@ QScriptValue QDeclarativeEnginePrivate::formatDateTime(QScriptContext*ctxt, QScr
/*!
\qmlmethod color Qt::rgba(real red, real green, real blue, real alpha)
-Returns a Color with the specified \c red, \c green, \c blue and \c alpha components.
+Returns a color with the specified \c red, \c green, \c blue and \c alpha components.
All components should be in the range 0-1 inclusive.
*/
QScriptValue QDeclarativeEnginePrivate::rgba(QScriptContext *ctxt, QScriptEngine *engine)
@@ -1392,7 +1404,7 @@ QScriptValue QDeclarativeEnginePrivate::rgba(QScriptContext *ctxt, QScriptEngine
/*!
\qmlmethod color Qt::hsla(real hue, real saturation, real lightness, real alpha)
-Returns a Color with the specified \c hue, \c saturation, \c lightness and \c alpha components.
+Returns a color with the specified \c hue, \c saturation, \c lightness and \c alpha components.
All components should be in the range 0-1 inclusive.
*/
QScriptValue QDeclarativeEnginePrivate::hsla(QScriptContext *ctxt, QScriptEngine *engine)
@@ -1420,7 +1432,9 @@ QScriptValue QDeclarativeEnginePrivate::hsla(QScriptContext *ctxt, QScriptEngine
/*!
\qmlmethod rect Qt::rect(int x, int y, int width, int height)
-Returns a Rect with the top-left corner at \c x, \c y and the specified \c width and \c height.
+Returns a \c rect with the top-left corner at \c x, \c y and the specified \c width and \c height.
+
+The returned object has \c x, \c y, \c width and \c height attributes with the given values.
*/
QScriptValue QDeclarativeEnginePrivate::rect(QScriptContext *ctxt, QScriptEngine *engine)
{
diff --git a/src/declarative/qml/qdeclarativepropertycache_p.h b/src/declarative/qml/qdeclarativepropertycache_p.h
index b01e5cc..72cfeba 100644
--- a/src/declarative/qml/qdeclarativepropertycache_p.h
+++ b/src/declarative/qml/qdeclarativepropertycache_p.h
@@ -65,7 +65,7 @@ QT_BEGIN_NAMESPACE
class QDeclarativeEngine;
class QMetaProperty;
-class QDeclarativePropertyCache : public QDeclarativeRefCount, public QDeclarativeCleanup
+class Q_AUTOTEST_EXPORT QDeclarativePropertyCache : public QDeclarativeRefCount, public QDeclarativeCleanup
{
public:
QDeclarativePropertyCache(QDeclarativeEngine *);
diff --git a/src/declarative/qml/qdeclarativeworkerscript.cpp b/src/declarative/qml/qdeclarativeworkerscript.cpp
index 2ca030e..e0ee84f 100644
--- a/src/declarative/qml/qdeclarativeworkerscript.cpp
+++ b/src/declarative/qml/qdeclarativeworkerscript.cpp
@@ -521,7 +521,7 @@ void QDeclarativeWorkerScriptEngine::run()
that the main GUI thread is not blocked.
Messages can be passed between the new thread and the parent thread
- using sendMessage() and the onMessage() handler.
+ using \l sendMessage() and the \l {WorkerScript::onMessage}{onMessage()} handler.
Here is an example:
@@ -555,7 +555,7 @@ QDeclarativeWorkerScript::~QDeclarativeWorkerScript()
/*!
\qmlproperty url WorkerScript::source
- This holds the url of the javascript file that implements the
+ This holds the url of the JavaScript file that implements the
\tt WorkerScript.onMessage() handler for threaded operations.
*/
QUrl QDeclarativeWorkerScript::source() const
@@ -576,7 +576,7 @@ void QDeclarativeWorkerScript::setSource(const QUrl &source)
emit sourceChanged();
}
-/*
+/*!
\qmlmethod WorkerScript::sendMessage(jsobject message)
Sends the given \a message to a worker script handler in another
diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp
index de1c0cb..0eae136 100644
--- a/src/declarative/util/qdeclarativeanimation.cpp
+++ b/src/declarative/util/qdeclarativeanimation.cpp
@@ -557,6 +557,8 @@ void QDeclarativeAbstractAnimation::timelineComplete()
NumberAnimation { ... duration: 200 }
}
\endcode
+
+ \sa {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
/*!
\internal
@@ -627,6 +629,8 @@ QAbstractAnimation *QDeclarativePauseAnimation::qtAnimation()
When used in a transition, ColorAnimation will by default animate
all properties of type color that are changing. If a property or properties
are explicitly set for the animation, then those will be used instead.
+
+ \sa {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
/*!
\internal
@@ -1082,11 +1086,13 @@ void QDeclarativePropertyAction::transition(QDeclarativeStateActions &actions,
\inherits PropertyAnimation
\brief The NumberAnimation element allows you to animate changes in properties of type qreal.
- Animate a set of properties over 200ms, from their values in the start state to
+ For example, to animate a set of properties over 200ms, from their values in the start state to
their values in the end state of the transition:
\code
NumberAnimation { properties: "x,y,scale"; duration: 200 }
\endcode
+
+ \sa {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
/*!
@@ -1156,6 +1162,8 @@ void QDeclarativeNumberAnimation::setTo(qreal t)
\since 4.7
\inherits PropertyAnimation
\brief The Vector3dAnimation element allows you to animate changes in properties of type QVector3d.
+
+ \sa {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
/*!
@@ -1224,7 +1232,8 @@ void QDeclarativeVector3dAnimation::setTo(QVector3D t)
When used in a transition RotationAnimation will rotate all
properties named "rotation" or "angle". You can override this by providing
- your own properties via \c properties or \c property.
+ your own properties via \l {PropertyAnimation::properties}{properties} or
+ \l {PropertyAnimation::property}{property}.
In the following example we use RotationAnimation to animate the rotation
between states via the shortest path.
@@ -1238,6 +1247,8 @@ void QDeclarativeVector3dAnimation::setTo(QVector3D t)
RotationAnimation { direction: RotationAnimation.Shortest }
}
\endqml
+
+ \sa {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
/*!
@@ -1446,7 +1457,7 @@ QDeclarativeListProperty<QDeclarativeAbstractAnimation> QDeclarativeAnimationGro
}
\endcode
- \sa ParallelAnimation
+ \sa ParallelAnimation, {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
QDeclarativeSequentialAnimation::QDeclarativeSequentialAnimation(QObject *parent) :
@@ -1508,7 +1519,7 @@ void QDeclarativeSequentialAnimation::transition(QDeclarativeStateActions &actio
}
\endcode
- \sa SequentialAnimation
+ \sa SequentialAnimation, {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
/*!
\internal
@@ -1657,6 +1668,8 @@ void QDeclarativePropertyAnimationPrivate::convertVariant(QVariant &variant, int
Depending on how the animation is used, the set of properties normally used will be
different. For more information see the individual property documentation, as well
as the \l{QML Animation} introduction.
+
+ \sa {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
QDeclarativePropertyAnimation::QDeclarativePropertyAnimation(QObject *parent)
@@ -2319,6 +2332,8 @@ void QDeclarativePropertyAnimation::transition(QDeclarativeStateActions &actions
When used in a transition, ParentAnimation will by default animate
all ParentChanges.
+
+ \sa {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
/*!
diff --git a/src/declarative/util/qdeclarativefontloader.cpp b/src/declarative/util/qdeclarativefontloader.cpp
index c73f827..3c2e239 100644
--- a/src/declarative/util/qdeclarativefontloader.cpp
+++ b/src/declarative/util/qdeclarativefontloader.cpp
@@ -83,6 +83,8 @@ public:
Example:
\qml
+ import Qt 4.7
+
FontLoader { id: fixedFont; name: "Courier" }
FontLoader { id: webFont; source: "http://www.mysite.com/myfont.ttf" }
@@ -183,15 +185,26 @@ void QDeclarativeFontLoader::setName(const QString &name)
\o FontLoader.Error - an error occurred while loading the font
\endlist
- Note that a change in the status property does not cause anything to happen
- (although it reflects what has happened to the font loader internally). If you wish
- to react to the change in status you need to do it yourself, for example in one
- of the following ways:
- \list
- \o Create a state, so that a state change occurs, e.g. State{name: 'loaded'; when: loader.status = FontLoader.Ready;}
- \o Do something inside the onStatusChanged signal handler, e.g. FontLoader{id: loader; onStatusChanged: if(loader.status == FontLoader.Ready) console.log('Loaded');}
- \o Bind to the status variable somewhere, e.g. Text{text: if(loader.status!=FontLoader.Ready){'Not Loaded';}else{'Loaded';}}
- \endlist
+ Use this status to provide an update or respond to the status change in some way.
+ For example, you could:
+
+ \e {Trigger a state change:}
+ \qml
+ State { name: 'loaded'; when: loader.status = FontLoader.Ready }
+ \endqml
+
+ \e {Implement an \c onStatusChanged signal handler:}
+ \qml
+ FontLoader {
+ id: loader
+ onStatusChanged: if (loader.status == FontLoader.Ready) console.log('Loaded')
+ }
+ \endqml
+
+ \e {Bind to the status value:}
+ \qml
+ Text { text: loader.status != FontLoader.Ready ? 'Not Loaded' : 'Loaded' }
+ \endqml
*/
QDeclarativeFontLoader::Status QDeclarativeFontLoader::status() const
{
diff --git a/src/declarative/util/qdeclarativepackage_p.h b/src/declarative/util/qdeclarativepackage_p.h
index 87d9b80..57d9c22 100644
--- a/src/declarative/util/qdeclarativepackage_p.h
+++ b/src/declarative/util/qdeclarativepackage_p.h
@@ -58,7 +58,7 @@ QT_MODULE(Declarative)
class QDeclarativePackagePrivate;
class QDeclarativePackageAttached;
-class QDeclarativePackage : public QObject
+class Q_AUTOTEST_EXPORT QDeclarativePackage : public QObject
{
Q_OBJECT
Q_DECLARE_PRIVATE(QDeclarativePackage)
diff --git a/src/declarative/util/qdeclarativepropertychanges.cpp b/src/declarative/util/qdeclarativepropertychanges.cpp
index d99de7a..e98afeb 100644
--- a/src/declarative/util/qdeclarativepropertychanges.cpp
+++ b/src/declarative/util/qdeclarativepropertychanges.cpp
@@ -62,11 +62,11 @@ QT_BEGIN_NAMESPACE
/*!
\qmlclass PropertyChanges QDeclarativePropertyChanges
\since 4.7
- \brief The PropertyChanges element describes new property values for a state.
+ \brief The PropertyChanges element describes new property bindings or values for a state.
PropertyChanges provides a state change that modifies the properties of an item.
- Here is a property change that modifies the text and color of a Text element
+ Here is a property change that modifies the text and color of a \l Text element
when it is clicked:
\qml
@@ -89,6 +89,21 @@ QT_BEGIN_NAMESPACE
MouseArea { anchors.fill: parent; onClicked: myText.state = 'myState' }
}
\endqml
+
+ By default, PropertyChanges will establish new bindings where appropriate.
+ For example, the following creates a new binding for myItem's height property.
+
+ \qml
+ PropertyChanges {
+ target: myItem
+ height: parent.height
+ }
+ \endqml
+
+ If you don't want a binding to be established (and instead just want to assign
+ the value of the binding at the time the state is entered),
+ you should set the PropertyChange's \l{PropertyChanges::explicit}{explicit}
+ property to \c true.
State-specific script for signal handlers can also be specified:
diff --git a/src/declarative/util/qdeclarativesmoothedanimation.cpp b/src/declarative/util/qdeclarativesmoothedanimation.cpp
index bd48ef0..6b6df4d 100644
--- a/src/declarative/util/qdeclarativesmoothedanimation.cpp
+++ b/src/declarative/util/qdeclarativesmoothedanimation.cpp
@@ -307,7 +307,7 @@ Rectangle {
set to a value such as 0.5 units/second. Animating from 0 to 1.0 with a velocity
of 0.5 will take 2000 ms to complete.
- \sa SpringFollow
+ \sa SpringFollow, {QML Animation}, {declarative/animation/basics}{Animation basics example}
*/
QDeclarativeSmoothedAnimation::QDeclarativeSmoothedAnimation(QObject *parent)
diff --git a/src/declarative/util/qdeclarativesmoothedanimation_p_p.h b/src/declarative/util/qdeclarativesmoothedanimation_p_p.h
index 81cd229..8cdbea2 100644
--- a/src/declarative/util/qdeclarativesmoothedanimation_p_p.h
+++ b/src/declarative/util/qdeclarativesmoothedanimation_p_p.h
@@ -65,7 +65,7 @@
QT_BEGIN_NAMESPACE
-class QSmoothedAnimation : public QAbstractAnimation
+class Q_AUTOTEST_EXPORT QSmoothedAnimation : public QAbstractAnimation
{
public:
QSmoothedAnimation(QObject *parent=0);
diff --git a/src/declarative/util/qdeclarativestate_p.h b/src/declarative/util/qdeclarativestate_p.h
index 25715c6..37b24cb 100644
--- a/src/declarative/util/qdeclarativestate_p.h
+++ b/src/declarative/util/qdeclarativestate_p.h
@@ -84,7 +84,7 @@ public:
void deleteFromBinding();
};
-class QDeclarativeActionEvent
+class Q_AUTOTEST_EXPORT QDeclarativeActionEvent
{
public:
virtual ~QDeclarativeActionEvent();
diff --git a/src/declarative/util/qdeclarativetimeline_p_p.h b/src/declarative/util/qdeclarativetimeline_p_p.h
index 598c897..61f6bcd 100644
--- a/src/declarative/util/qdeclarativetimeline_p_p.h
+++ b/src/declarative/util/qdeclarativetimeline_p_p.h
@@ -63,7 +63,7 @@ class QDeclarativeTimeLineValue;
class QDeclarativeTimeLineCallback;
struct QDeclarativeTimeLinePrivate;
class QDeclarativeTimeLineObject;
-class QDeclarativeTimeLine : public QAbstractAnimation
+class Q_AUTOTEST_EXPORT QDeclarativeTimeLine : public QAbstractAnimation
{
Q_OBJECT
public:
@@ -117,7 +117,7 @@ private:
QDeclarativeTimeLinePrivate *d;
};
-class QDeclarativeTimeLineObject
+class Q_AUTOTEST_EXPORT QDeclarativeTimeLineObject
{
public:
QDeclarativeTimeLineObject();
@@ -129,7 +129,7 @@ protected:
QDeclarativeTimeLine *_t;
};
-class QDeclarativeTimeLineValue : public QDeclarativeTimeLineObject
+class Q_AUTOTEST_EXPORT QDeclarativeTimeLineValue : public QDeclarativeTimeLineObject
{
public:
QDeclarativeTimeLineValue(qreal v = 0.) : _v(v) {}
@@ -147,7 +147,7 @@ private:
qreal _v;
};
-class QDeclarativeTimeLineCallback
+class Q_AUTOTEST_EXPORT QDeclarativeTimeLineCallback
{
public:
typedef void (*Callback)(void *);
diff --git a/src/declarative/util/qdeclarativetimer.cpp b/src/declarative/util/qdeclarativetimer.cpp
index 53a9d83..9e18eb5 100644
--- a/src/declarative/util/qdeclarativetimer.cpp
+++ b/src/declarative/util/qdeclarativetimer.cpp
@@ -80,17 +80,22 @@ public:
the text every 500 milliseconds:
\qml
- Timer {
- interval: 500; running: true; repeat: true
- onTriggered: time.text = Date().toString()
- }
- Text {
- id: time
+ import Qt 4.7
+
+ Item {
+ Timer {
+ interval: 500; running: true; repeat: true
+ onTriggered: time.text = Date().toString()
+ }
+
+ Text {
+ id: time
+ }
}
\endqml
- QDeclarativeTimer is synchronized with the animation timer. Since the animation
- timer is usually set to 60fps, the resolution of QDeclarativeTimer will be
+ The Timer element is synchronized with the animation timer. Since the animation
+ timer is usually set to 60fps, the resolution of Timer will be
at best 16ms.
If the Timer is running and one of its properties is changed, the
@@ -98,8 +103,6 @@ public:
1000ms has its \e repeat property changed 500ms after starting, the
elapsed time will be reset to 0, and the Timer will be triggered
1000ms later.
-
- \sa {QtDeclarative}
*/
QDeclarativeTimer::QDeclarativeTimer(QObject *parent)
diff --git a/src/declarative/util/qdeclarativetransitionmanager_p_p.h b/src/declarative/util/qdeclarativetransitionmanager_p_p.h
index 2e23898..75d11a9 100644
--- a/src/declarative/util/qdeclarativetransitionmanager_p_p.h
+++ b/src/declarative/util/qdeclarativetransitionmanager_p_p.h
@@ -59,7 +59,7 @@ QT_BEGIN_NAMESPACE
class QDeclarativeStatePrivate;
class QDeclarativeTransitionManagerPrivate;
-class QDeclarativeTransitionManager
+class Q_AUTOTEST_EXPORT QDeclarativeTransitionManager
{
public:
QDeclarativeTransitionManager();
diff --git a/src/gui/embedded/qwsmanager_qws.cpp b/src/gui/embedded/qwsmanager_qws.cpp
index 79076c5..b0259b9 100644
--- a/src/gui/embedded/qwsmanager_qws.cpp
+++ b/src/gui/embedded/qwsmanager_qws.cpp
@@ -394,7 +394,7 @@ void QWSManagerPrivate::dirtyRegion(int decorationRegion,
const QRegion &clip)
{
QTLWExtra *topextra = managed->d_func()->extra->topextra;
- QWidgetBackingStore *bs = topextra->backingStore;
+ QWidgetBackingStore *bs = topextra->backingStore.data();
const bool pendingUpdateRequest = bs->isDirty();
if (decorationRegion == QDecoration::All) {
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index 36d21a6..8042c46 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -1427,12 +1427,14 @@ QGraphicsItem::~QGraphicsItem()
d_ptr->inDestructor = 1;
d_ptr->removeExtraItemCache();
+#ifndef QT_NO_GESTURES
if (d_ptr->isObject && !d_ptr->gestureContext.isEmpty()) {
QGraphicsObject *o = static_cast<QGraphicsObject *>(this);
QGestureManager *manager = QGestureManager::instance();
foreach (Qt::GestureType type, d_ptr->gestureContext.keys())
manager->cleanupCachedGestures(o, type);
}
+#endif
clearFocus();
@@ -5687,32 +5689,30 @@ void QGraphicsItem::scroll(qreal dx, qreal dy, const QRectF &rect)
return;
}
+ // Find pixmap in cache.
QPixmap cachedPixmap;
if (!QPixmapCache::find(cache->key, &cachedPixmap)) {
update(rect);
return;
}
+ QRect scrollRect = (rect.isNull() ? boundingRect() : rect).toAlignedRect();
+ if (!scrollRect.intersects(cache->boundingRect))
+ return; // Nothing to scroll.
+
+ // Remove from cache to avoid deep copy when modifying.
+ QPixmapCache::remove(cache->key);
+
QRegion exposed;
- const bool scrollEntirePixmap = rect.isNull();
- if (scrollEntirePixmap) {
- // Scroll entire pixmap.
- cachedPixmap.scroll(dx, dy, cachedPixmap.rect(), &exposed);
- } else {
- if (!rect.intersects(cache->boundingRect))
- return; // Nothing to scroll.
- // Scroll sub-rect of pixmap. The rect is in item coordinates
- // so we have to translate it to pixmap coordinates.
- QRect scrollRect = rect.toAlignedRect();
- cachedPixmap.scroll(dx, dy, scrollRect.translated(-cache->boundingRect.topLeft()), &exposed);
- }
+ cachedPixmap.scroll(dx, dy, scrollRect.translated(-cache->boundingRect.topLeft()), &exposed);
- QPixmapCache::replace(cache->key, cachedPixmap);
+ // Reinsert into cache.
+ cache->key = QPixmapCache::insert(cachedPixmap);
// Translate the existing expose.
for (int i = 0; i < cache->exposed.size(); ++i) {
QRectF &e = cache->exposed[i];
- if (!scrollEntirePixmap && !e.intersects(rect))
+ if (!rect.isNull() && !e.intersects(rect))
continue;
e.translate(dx, dy);
}
@@ -7573,6 +7573,7 @@ QGraphicsObject::QGraphicsObject(QGraphicsItemPrivate &dd, QGraphicsItem *parent
QGraphicsItem::d_ptr->isObject = true;
}
+#ifndef QT_NO_GESTURES
/*!
Subscribes the graphics object to the given \a gesture with specific \a flags.
@@ -7596,6 +7597,8 @@ void QGraphicsObject::ungrabGesture(Qt::GestureType gesture)
if (QGraphicsItem::d_ptr->gestureContext.remove(gesture) && QGraphicsItem::d_ptr->scene)
QGraphicsItem::d_ptr->scene->d_func()->ungrabGesture(this, gesture);
}
+#endif // QT_NO_GESTURES
+
/*!
Updates the item's micro focus. This is slot for convenience.
diff --git a/src/gui/graphicsview/qgraphicsitem.h b/src/gui/graphicsview/qgraphicsitem.h
index 9891af3..d7d5332 100644
--- a/src/gui/graphicsview/qgraphicsitem.h
+++ b/src/gui/graphicsview/qgraphicsitem.h
@@ -485,7 +485,9 @@ private:
friend class QGraphicsSceneBspTreeIndexPrivate;
friend class QGraphicsItemEffectSourcePrivate;
friend class QGraphicsTransformPrivate;
+#ifndef QT_NO_GESTURES
friend class QGestureManager;
+#endif
friend class ::tst_QGraphicsItem;
friend bool qt_closestLeaf(const QGraphicsItem *, const QGraphicsItem *);
friend bool qt_closestItemFirst(const QGraphicsItem *, const QGraphicsItem *);
@@ -572,8 +574,10 @@ public:
using QObject::children;
#endif
+#ifndef QT_NO_GESTURES
void grabGesture(Qt::GestureType type, Qt::GestureFlags flags = Qt::GestureFlags());
void ungrabGesture(Qt::GestureType type);
+#endif
protected Q_SLOTS:
void updateMicroFocus();
diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h
index e812f29..bde6e7d 100644
--- a/src/gui/graphicsview/qgraphicsitem_p.h
+++ b/src/gui/graphicsview/qgraphicsitem_p.h
@@ -525,7 +525,9 @@ public:
QGraphicsItem *focusScopeItem;
Qt::InputMethodHints imHints;
QGraphicsItem::PanelModality panelModality;
+#ifndef QT_NO_GESTURES
QMap<Qt::GestureType, Qt::GestureFlags> gestureContext;
+#endif
// Packed 32 bits
quint32 acceptedMouseButtons : 5;
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index 22c3f92..6c5623e 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -699,6 +699,7 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item)
if (!selectionChanging && selectedItems.size() != oldSelectedItemsSize)
emit q->selectionChanged();
+#ifndef QT_NO_GESTURES
QHash<QGesture *, QGraphicsObject *>::iterator it;
for (it = gestureTargets.begin(); it != gestureTargets.end();) {
if (it.value() == item)
@@ -706,6 +707,7 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item)
else
++it;
}
+
QGraphicsObject *dummy = static_cast<QGraphicsObject *>(item);
cachedTargetItems.removeOne(dummy);
cachedItemGestures.remove(dummy);
@@ -713,6 +715,7 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item)
foreach (Qt::GestureType gesture, item->d_ptr->gestureContext.keys())
ungrabGesture(item, gesture);
+#endif // QT_NO_GESTURES
}
/*!
@@ -1180,11 +1183,13 @@ bool QGraphicsScenePrivate::filterEvent(QGraphicsItem *item, QEvent *event)
bool QGraphicsScenePrivate::sendEvent(QGraphicsItem *item, QEvent *event)
{
if (QGraphicsObject *object = item->toGraphicsObject()) {
+#ifndef QT_NO_GESTURES
QGestureManager *gestureManager = QApplicationPrivate::instance()->gestureManager;
if (gestureManager) {
if (gestureManager->filterEvent(object, event))
return true;
}
+#endif // QT_NO_GESTURES
}
if (filterEvent(item, event))
@@ -2602,8 +2607,10 @@ void QGraphicsScene::addItem(QGraphicsItem *item)
d->enableTouchEventsOnViews();
}
+#ifndef QT_NO_GESTURES
foreach (Qt::GestureType gesture, item->d_ptr->gestureContext.keys())
d->grabGesture(item, gesture);
+#endif
// Update selection lists
if (item->isSelected())
@@ -3525,10 +3532,12 @@ bool QGraphicsScene::event(QEvent *event)
case QEvent::TouchEnd:
d->touchEventHandler(static_cast<QTouchEvent *>(event));
break;
+#ifndef QT_NO_GESTURES
case QEvent::Gesture:
case QEvent::GestureOverride:
d->gestureEventHandler(static_cast<QGestureEvent *>(event));
break;
+#endif // QT_NO_GESTURES
default:
return QObject::event(event);
}
@@ -5637,8 +5646,10 @@ bool QGraphicsScene::sendEvent(QGraphicsItem *item, QEvent *event)
void QGraphicsScenePrivate::addView(QGraphicsView *view)
{
views << view;
+#ifndef QT_NO_GESTURES
foreach (Qt::GestureType gesture, grabbedGestures.keys())
view->viewport()->grabGesture(gesture);
+#endif
}
void QGraphicsScenePrivate::removeView(QGraphicsView *view)
@@ -5968,6 +5979,7 @@ void QGraphicsScenePrivate::leaveModal(QGraphicsItem *panel)
dispatchHoverEvent(&hoverEvent);
}
+#ifndef QT_NO_GESTURES
void QGraphicsScenePrivate::gestureTargetsAtHotSpots(const QSet<QGesture *> &gestures,
Qt::GestureFlag flag,
QHash<QGraphicsObject *, QSet<QGesture *> > *targets,
@@ -6088,8 +6100,15 @@ void QGraphicsScenePrivate::gestureEventHandler(QGestureEvent *event)
if (ev.isAccepted() || ev.isAccepted(g)) {
conflictedGestures.remove(g);
// mark the item as a gesture target
- if (item)
+ if (item) {
gestureTargets.insert(g, item.data());
+ QHash<QGraphicsObject *, QSet<QGesture *> >::iterator it, e;
+ it = cachedItemGestures.begin();
+ e = cachedItemGestures.end();
+ for(; it != e; ++it)
+ it.value().remove(g);
+ cachedItemGestures[item.data()].insert(g);
+ }
DEBUG() << "QGraphicsScenePrivate::gestureEventHandler:"
<< "override was accepted:"
<< g << item.data();
@@ -6356,6 +6375,7 @@ void QGraphicsScenePrivate::ungrabGesture(QGraphicsItem *item, Qt::GestureType g
view->viewport()->ungrabGesture(gesture);
}
}
+#endif // QT_NO_GESTURES
QT_END_NAMESPACE
diff --git a/src/gui/graphicsview/qgraphicsscene.h b/src/gui/graphicsview/qgraphicsscene.h
index c34a303..f8615f4 100644
--- a/src/gui/graphicsview/qgraphicsscene.h
+++ b/src/gui/graphicsview/qgraphicsscene.h
@@ -313,7 +313,9 @@ private:
friend class QGraphicsSceneBspTreeIndex;
friend class QGraphicsSceneBspTreeIndexPrivate;
friend class QGraphicsItemEffectSourcePrivate;
+#ifndef QT_NO_GESTURES
friend class QGesture;
+#endif
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QGraphicsScene::SceneLayers)
diff --git a/src/gui/graphicsview/qgraphicsscene_p.h b/src/gui/graphicsview/qgraphicsscene_p.h
index 8ad2a0a..f28dfe9 100644
--- a/src/gui/graphicsview/qgraphicsscene_p.h
+++ b/src/gui/graphicsview/qgraphicsscene_p.h
@@ -299,6 +299,7 @@ public:
void enableTouchEventsOnViews();
QList<QGraphicsObject *> cachedTargetItems;
+#ifndef QT_NO_GESTURES
QHash<QGraphicsObject *, QSet<QGesture *> > cachedItemGestures;
QHash<QGraphicsObject *, QSet<QGesture *> > cachedAlreadyDeliveredGestures;
QHash<QGesture *, QGraphicsObject *> gestureTargets;
@@ -313,6 +314,7 @@ public:
void cancelGesturesForChildren(QGesture *original);
void grabGesture(QGraphicsItem *, Qt::GestureType gesture);
void ungrabGesture(QGraphicsItem *, Qt::GestureType gesture);
+#endif // QT_NO_GESTURES
void updateInputMethodSensitivityInViews();
diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp
index a83b528..0674610 100644
--- a/src/gui/graphicsview/qgraphicsview.cpp
+++ b/src/gui/graphicsview/qgraphicsview.cpp
@@ -2688,10 +2688,12 @@ void QGraphicsView::setupViewport(QWidget *widget)
if (d->scene && !d->scene->d_func()->allItemsIgnoreTouchEvents)
widget->setAttribute(Qt::WA_AcceptTouchEvents);
+#ifndef QT_NO_GESTURES
if (d->scene) {
foreach (Qt::GestureType gesture, d->scene->d_func()->grabbedGestures.keys())
widget->grabGesture(gesture);
}
+#endif
widget->setAcceptDrops(acceptDrops());
}
@@ -2838,6 +2840,7 @@ bool QGraphicsView::viewportEvent(QEvent *event)
return true;
}
+#ifndef QT_NO_GESTURES
case QEvent::Gesture:
case QEvent::GestureOverride:
{
@@ -2851,6 +2854,7 @@ bool QGraphicsView::viewportEvent(QEvent *event)
}
return true;
}
+#endif // QT_NO_GESTURES
default:
break;
}
diff --git a/src/gui/image/image.pri b/src/gui/image/image.pri
index 8d75fdd..c4eac95 100644
--- a/src/gui/image/image.pri
+++ b/src/gui/image/image.pri
@@ -93,12 +93,12 @@ SOURCES += \
SOURCES += image/qpnghandler.cpp
contains(QT_CONFIG, system-png) {
- unix:LIBS_PRIVATE += -lpng
- win32:LIBS += libpng.lib
+ unix|win32-g++*:LIBS_PRIVATE += -lpng
+ win32:!win32-g++*:LIBS += libpng.lib
} else {
DEFINES *= QT_USE_BUNDLED_LIBPNG
!isEqual(QT_ARCH, i386):!isEqual(QT_ARCH, x86_64):DEFINES += PNG_NO_ASSEMBLER_CODE
- INCLUDEPATH += ../3rdparty/libpng ../3rdparty/zlib
+ INCLUDEPATH += ../3rdparty/libpng
SOURCES += ../3rdparty/libpng/png.c \
../3rdparty/libpng/pngerror.c \
../3rdparty/libpng/pngget.c \
@@ -114,6 +114,14 @@ SOURCES += \
../3rdparty/libpng/pngwrite.c \
../3rdparty/libpng/pngwtran.c \
../3rdparty/libpng/pngwutil.c
+
+ contains(QT_CONFIG, system-zlib) {
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
+ } else {
+ INCLUDEPATH += ../3rdparty/zlib
+ }
}
} else {
DEFINES *= QT_NO_IMAGEFORMAT_PNG
diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp
index a515ef8..34f40a9 100644
--- a/src/gui/image/qiconloader.cpp
+++ b/src/gui/image/qiconloader.cpp
@@ -63,6 +63,8 @@
#include <private/qt_x11_p.h>
#endif
+#include <private/qstylehelper_p.h>
+
QT_BEGIN_NAMESPACE
Q_GLOBAL_STATIC(QIconLoader, iconLoaderInstance)
@@ -488,14 +490,12 @@ QPixmap PixmapEntry::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State st
basePixmap.load(filename);
int actualSize = qMin(size.width(), size.height());
- QString key = QLatin1String("$qt_theme_")
- + QString::number(basePixmap.cacheKey(), 16)
- + QLatin1Char('_')
- + QString::number(mode)
- + QLatin1Char('_')
- + QString::number(qApp->palette().cacheKey(), 16)
- + QLatin1Char('_')
- + QString::number(actualSize);
+
+ QString key = QLatin1Literal("$qt_theme_")
+ % HexString<qint64>(basePixmap.cacheKey())
+ % HexString<int>(mode)
+ % HexString<qint64>(qApp->palette().cacheKey())
+ % HexString<int>(actualSize);
QPixmap cachedPixmap;
if (QPixmapCache::find(key, &cachedPixmap)) {
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp
index 98f235e..d89ffe6 100644
--- a/src/gui/image/qimage.cpp
+++ b/src/gui/image/qimage.cpp
@@ -272,6 +272,8 @@ bool QImageData::checkForAlphaPixels() const
switch (format) {
+ case QImage::Format_Mono:
+ case QImage::Format_MonoLSB:
case QImage::Format_Indexed8:
has_alpha_pixels = has_alpha_clut;
break;
diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp
index 3013726..fd2c139 100644
--- a/src/gui/image/qpixmap.cpp
+++ b/src/gui/image/qpixmap.cpp
@@ -82,6 +82,7 @@
#endif
#include "qpixmap_raster_p.h"
+#include "private/qstylehelper_p.h"
QT_BEGIN_NAMESPACE
@@ -829,8 +830,14 @@ bool QPixmap::load(const QString &fileName, const char *format, Qt::ImageConvers
return false;
QFileInfo info(fileName);
- QString key = QLatin1String("qt_pixmap_") + info.absoluteFilePath() + QLatin1Char('_') + QString::number(info.lastModified().toTime_t()) + QLatin1Char('_') +
- QString::number(info.size()) + QLatin1Char('_') + QString::number(data ? data->pixelType() : QPixmapData::PixmapType);
+ if (!info.exists())
+ return false;
+
+ QString key = QLatin1Literal("qt_pixmap")
+ % info.absoluteFilePath()
+ % HexString<uint>(info.lastModified().toTime_t())
+ % HexString<quint64>(info.size())
+ % HexString<uint>(data ? data->pixelType() : QPixmapData::PixmapType);
if (QPixmapCache::find(key, *this))
return true;
@@ -1759,6 +1766,9 @@ QPixmap QPixmap::transformed(const QMatrix &matrix, Qt::TransformationMode mode)
function returns the actual matrix used for transforming the
pixmap.
+ \note When using the native X11 graphics system, the pixmap
+ becomes invalid when the QApplication instance is destroyed.
+
\sa QBitmap, QImage, QImageReader, QImageWriter
*/
diff --git a/src/gui/image/qpixmap_x11.cpp b/src/gui/image/qpixmap_x11.cpp
index 6bebefc..e8dc5ae 100644
--- a/src/gui/image/qpixmap_x11.cpp
+++ b/src/gui/image/qpixmap_x11.cpp
@@ -1250,10 +1250,8 @@ void QX11PixmapData::release()
pengine = 0;
if (!X11) {
-#ifndef QT_NO_DEBUG
- qWarning("~QX11PixmapData(): QPixmap objects must be destroyed before the QApplication"
- " object, otherwise the native pixmap object will be leaked.");
-#endif
+ // At this point, the X server will already have freed our resources,
+ // so there is nothing to do.
return;
}
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index d081cfd..4cdc4ad 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -44,6 +44,9 @@
#include "qcoefepinputcontext_p.h"
#include <qapplication.h>
#include <qtextformat.h>
+#include <qgraphicsview.h>
+#include <qgraphicsscene.h>
+#include <qgraphicswidget.h>
#include <private/qcore_symbian_p.h>
#include <fepitfr.h>
@@ -320,12 +323,14 @@ TCoeInputCapabilities QCoeFepInputContext::inputCapabilities()
return TCoeInputCapabilities(m_textCapabilities, this, 0);
}
-static QTextCharFormat qt_TCharFormat2QTextCharFormat(const TCharFormat &cFormat)
+static QTextCharFormat qt_TCharFormat2QTextCharFormat(const TCharFormat &cFormat, bool validStyleColor)
{
QTextCharFormat qFormat;
- QBrush foreground(QColor(cFormat.iFontPresentation.iTextColor.Internal()));
- qFormat.setForeground(foreground);
+ if (validStyleColor) {
+ QBrush foreground(QColor(cFormat.iFontPresentation.iTextColor.Internal()));
+ qFormat.setForeground(foreground);
+ }
qFormat.setFontStrikeOut(cFormat.iFontPresentation.iStrikethrough == EStrikethroughOn);
qFormat.setFontUnderline(cFormat.iFontPresentation.iUnderline == EUnderlineOn);
@@ -484,10 +489,30 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints)
void QCoeFepInputContext::applyFormat(QList<QInputMethodEvent::Attribute> *attributes)
{
TCharFormat cFormat;
- const QColor styleTextColor = focusWidget() ? focusWidget()->palette().text().color() :
- QApplication::palette("QLineEdit").text().color();
- const TLogicalRgb fontColor(TRgb(styleTextColor.red(), styleTextColor.green(), styleTextColor.blue(), styleTextColor.alpha()));
- cFormat.iFontPresentation.iTextColor = fontColor;
+ QColor styleTextColor;
+ if (QWidget *focused = focusWidget()) {
+ QGraphicsView *gv = qobject_cast<QGraphicsView*>(focused);
+ if (!gv) // could be either the QGV or its viewport that has focus
+ gv = qobject_cast<QGraphicsView*>(focused->parentWidget());
+ if (gv) {
+ if (QGraphicsScene *scene = gv->scene()) {
+ if (QGraphicsItem *focusItem = scene->focusItem()) {
+ if (focusItem->isWidget()) {
+ styleTextColor = static_cast<QGraphicsWidget*>(focusItem)->palette().text().color();
+ }
+ }
+ }
+ } else {
+ styleTextColor = focused->palette().text().color();
+ }
+ } else {
+ styleTextColor = QApplication::palette("QLineEdit").text().color();
+ }
+
+ if (styleTextColor.isValid()) {
+ const TLogicalRgb fontColor(TRgb(styleTextColor.red(), styleTextColor.green(), styleTextColor.blue(), styleTextColor.alpha()));
+ cFormat.iFontPresentation.iTextColor = fontColor;
+ }
TInt numChars = 0;
TInt charPos = 0;
@@ -501,7 +526,7 @@ void QCoeFepInputContext::applyFormat(QList<QInputMethodEvent::Attribute> *attri
attributes->append(QInputMethodEvent::Attribute(QInputMethodEvent::TextFormat,
charPos,
numChars,
- QVariant(qt_TCharFormat2QTextCharFormat(cFormat))));
+ QVariant(qt_TCharFormat2QTextCharFormat(cFormat, styleTextColor.isValid()))));
charPos += numChars;
if (charPos >= m_preeditString.size()) {
break;
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index a2c058a..438a17e 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -187,8 +187,10 @@ QApplicationPrivate::QApplicationPrivate(int &argc, char **argv, QApplication::T
directPainters = 0;
#endif
+#ifndef QT_NO_GESTURES
gestureManager = 0;
gestureWidget = 0;
+#endif // QT_NO_GESTURES
#if defined(Q_WS_X11) || defined(Q_WS_WIN)
move_cursor = 0;
@@ -780,6 +782,9 @@ void QApplicationPrivate::construct(
qt_is_gui_used = (qt_appType != QApplication::Tty);
process_cmdline();
+ // the environment variable has the lowest precedence of runtime graphicssystem switches
+ if (graphics_system_name.isEmpty())
+ graphics_system_name = QString::fromLocal8Bit(qgetenv("QT_GRAPHICSSYSTEM"));
// Must be called before initialize()
qt_init(this, qt_appType
#ifdef Q_WS_X11
@@ -1560,10 +1565,18 @@ QStyle* QApplication::setStyle(const QString& style)
on-screen widgets and QPixmaps. The available systems are \c{"native"},
\c{"raster"} and \c{"opengl"}.
- This function call overrides both the application commandline
- \c{-graphicssystem} switch and the configure \c{-graphicssystem} switch.
+ There are several ways to set the graphics backend, in order of decreasing
+ precedence:
+ \list
+ \o the application commandline \c{-graphicssystem} switch
+ \o QApplication::setGraphicsSystem()
+ \o the QT_GRAPHICSSYSTEM environment variable
+ \o the Qt configure \c{-graphicssystem} switch
+ \endlist
+ If the highest precedence switch sets an invalid name, the error will be
+ ignored and the default backend will be used.
- \warning This function must be called before the QApplication constructor
+ \warning This function is only effective before the QApplication constructor
is called.
\note The \c{"opengl"} option is currently experimental.
@@ -3707,6 +3720,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
#endif // !QT_NO_WHEELEVENT || !QT_NO_TABLETEVENT
}
+#ifndef QT_NO_GESTURES
// walk through parents and check for gestures
if (d->gestureManager) {
switch (e->type()) {
@@ -3751,7 +3765,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
}
}
}
-
+#endif // QT_NO_GESTURES
// User input and window activation makes tooltips sleep
switch (e->type()) {
@@ -4256,6 +4270,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
res = d->notify_helper(receiver, e);
break;
+#ifndef QT_NO_GESTURES
case QEvent::NativeGesture:
{
// only propagate the first gesture event (after the GID_BEGIN)
@@ -4334,6 +4349,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
}
break;
}
+#endif // QT_NO_GESTURES
default:
res = d->notify_helper(receiver, e);
break;
@@ -5297,6 +5313,7 @@ void QApplication::setInputContext(QInputContext *inputContext)
}
delete QApplicationPrivate::inputContext;
QApplicationPrivate::inputContext = inputContext;
+ QApplicationPrivate::inputContext->setParent(this);
}
/*!
@@ -5766,6 +5783,7 @@ Q_GUI_EXPORT void qt_translateRawTouchEvent(QWidget *window,
QApplicationPrivate::translateRawTouchEvent(window, deviceType, touchPoints);
}
+#ifndef QT_NO_GESTURES
QGestureManager* QGestureManager::instance()
{
QApplicationPrivate *qAppPriv = QApplicationPrivate::instance();
@@ -5773,6 +5791,7 @@ QGestureManager* QGestureManager::instance()
qAppPriv->gestureManager = new QGestureManager(qApp);
return qAppPriv->gestureManager;
}
+#endif // QT_NO_GESTURES
// These pixmaps approximate the images in the Windows User Interface Guidelines.
diff --git a/src/gui/kernel/qapplication.h b/src/gui/kernel/qapplication.h
index c21b982..cb1d063 100644
--- a/src/gui/kernel/qapplication.h
+++ b/src/gui/kernel/qapplication.h
@@ -399,7 +399,9 @@ private:
friend class QDirectPainter;
friend class QDirectPainterPrivate;
#endif
+#ifndef QT_NO_GESTURES
friend class QGestureManager;
+#endif
#if defined(Q_WS_MAC) || defined(Q_WS_X11)
Q_PRIVATE_SLOT(d_func(), void _q_alertTimeOut())
diff --git a/src/gui/kernel/qapplication_p.h b/src/gui/kernel/qapplication_p.h
index e83cd71..3a3f816 100644
--- a/src/gui/kernel/qapplication_p.h
+++ b/src/gui/kernel/qapplication_p.h
@@ -84,7 +84,9 @@ class QInputContext;
class QObject;
class QWidget;
class QSocketNotifier;
+#ifndef QT_NO_GESTURES
class QGestureManager;
+#endif
extern bool qt_is_gui_used;
#ifndef QT_NO_CLIPBOARD
@@ -200,6 +202,7 @@ typedef BOOL (WINAPI *PtrRegisterTouchWindow)(HWND, ULONG);
typedef BOOL (WINAPI *PtrGetTouchInputInfo)(HANDLE, UINT, PVOID, int);
typedef BOOL (WINAPI *PtrCloseTouchInputHandle)(HANDLE);
+#ifndef QT_NO_GESTURES
typedef BOOL (WINAPI *PtrGetGestureInfo)(HANDLE, PVOID);
typedef BOOL (WINAPI *PtrGetGestureExtraArgs)(HANDLE, UINT, PBYTE);
typedef BOOL (WINAPI *PtrCloseGestureInfoHandle)(HANDLE);
@@ -263,6 +266,8 @@ typedef struct tagGESTURECONFIG
#define GID_ROLLOVER 0xf003
#endif
+#endif // QT_NO_GESTURES
+
#endif // Q_WS_WIN
class QScopedLoopLevelCounter
@@ -519,6 +524,7 @@ public:
void sendSyntheticEnterLeave(QWidget *widget);
#endif
+#ifndef QT_NO_GESTURES
QGestureManager *gestureManager;
QWidget *gestureWidget;
#if defined(Q_WS_X11) || defined(Q_WS_WIN)
@@ -526,6 +532,7 @@ public:
QPixmap *copy_cursor;
QPixmap *link_cursor;
#endif
+#endif
#if defined(Q_WS_WIN)
QPixmap *ignore_cursor;
#endif
@@ -554,6 +561,7 @@ public:
QHash<DWORD, int> touchInputIDToTouchPointID;
bool translateTouchEvent(const MSG &msg);
+#ifndef QT_NO_GESTURES
PtrGetGestureInfo GetGestureInfo;
PtrGetGestureExtraArgs GetGestureExtraArgs;
PtrCloseGestureInfoHandle CloseGestureInfoHandle;
@@ -562,6 +570,7 @@ public:
PtrBeginPanningFeedback BeginPanningFeedback;
PtrUpdatePanningFeedback UpdatePanningFeedback;
PtrEndPanningFeedback EndPanningFeedback;
+#endif // QT_NO_GESTURES
#endif
#ifdef QT_RX71_MULTITOUCH
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 8ab82c9..a50fd95 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -1032,6 +1032,9 @@ void QSymbianControl::SizeChanged()
qwidget->d_func()->syncBackingStore();
if (!slowResize && tlwExtra)
tlwExtra->inTopLevelResize = false;
+ } else {
+ QResizeEvent *e = new QResizeEvent(newSize, oldSize);
+ QApplication::postEvent(qwidget, e);
}
}
@@ -1800,19 +1803,27 @@ int QApplicationPrivate::symbianProcessWsEvent(const QSymbianEvent *symbianEvent
return 1;
const TWsVisibilityChangedEvent *visChangedEvent = event->VisibilityChanged();
QWidget *w = QWidgetPrivate::mapper->value(control);
- if (!w->d_func()->maybeTopData())
+ QWidget *const window = w->window();
+ if (!window->d_func()->maybeTopData())
break;
+ QRefCountedWidgetBackingStore &backingStore = window->d_func()->maybeTopData()->backingStore;
if (visChangedEvent->iFlags & TWsVisibilityChangedEvent::ENotVisible) {
- delete w->d_func()->topData()->backingStore;
- w->d_func()->topData()->backingStore = 0;
+ // Decrement backing store reference count
+ backingStore.deref();
// In order to ensure that any resources used by the window surface
// are immediately freed, we flush the WSERV command buffer.
S60->wsSession().Flush();
- } else if ((visChangedEvent->iFlags & TWsVisibilityChangedEvent::EPartiallyVisible)
- && !w->d_func()->maybeBackingStore()) {
- w->d_func()->topData()->backingStore = new QWidgetBackingStore(w);
- w->d_func()->invalidateBuffer(w->rect());
- w->repaint();
+ } else if (visChangedEvent->iFlags & TWsVisibilityChangedEvent::EPartiallyVisible) {
+ if (backingStore.data()) {
+ // Increment backing store reference count
+ backingStore.ref();
+ } else {
+ // Create backing store with an initial reference count of 1
+ backingStore.create(window);
+ backingStore.ref();
+ w->d_func()->invalidateBuffer(w->rect());
+ w->repaint();
+ }
}
return 1;
}
diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp
index 60fc5e1..0edb8fb 100644
--- a/src/gui/kernel/qapplication_win.cpp
+++ b/src/gui/kernel/qapplication_win.cpp
@@ -52,9 +52,11 @@ extern void qt_wince_hide_taskbar(HWND hwnd); //defined in qguifunctions_wince.c
#include <windowsm.h>
#include <tpcshell.h>
#ifdef QT_WINCE_GESTURES
+#ifndef QT_NO_GESTURES
#include <gesture.h>
#endif
#endif
+#endif
#include "qapplication.h"
#include "qdesktopwidget.h"
@@ -116,8 +118,6 @@ extern void qt_wince_hide_taskbar(HWND hwnd); //defined in qguifunctions_wince.c
# include <winable.h>
#endif
-#include "private/qwinnativepangesturerecognizer_win_p.h"
-
#ifndef WM_TOUCH
# define WM_TOUCH 0x0240
@@ -198,6 +198,7 @@ struct SHRGINFO {
#define SPI_SETSIPINFO 224
#endif
+#ifndef QT_NO_GESTURES
typedef DWORD (API *AygRecognizeGesture)(SHRGINFO*);
static AygRecognizeGesture ptrRecognizeGesture = 0;
static bool aygResolved = false;
@@ -211,6 +212,7 @@ static void resolveAygLibs()
ptrRecognizeGesture = (AygRecognizeGesture) ayglib.resolve("SHRecognizeGesture");
}
}
+#endif // QT_NO_GESTURES
#endif
@@ -463,7 +465,9 @@ public:
bool translateConfigEvent(const MSG &msg);
bool translateCloseEvent(const MSG &msg);
bool translateTabletEvent(const MSG &msg, PACKET *localPacketBuf, int numPackets);
+#ifndef QT_NO_GESTURES
bool translateGestureEvent(const MSG &msg, const GESTUREINFO &gi);
+#endif
void repolishStyle(QStyle &style);
inline void showChildren(bool spontaneous) { d_func()->showChildren(spontaneous); }
inline void hideChildren(bool spontaneous) { d_func()->hideChildren(spontaneous); }
@@ -843,6 +847,7 @@ void qt_init(QApplicationPrivate *priv, int)
ptrSetProcessDPIAware();
#endif
+#ifndef QT_NO_GESTURES
priv->GetGestureInfo = 0;
priv->GetGestureExtraArgs = 0;
priv->CloseGestureInfoHandle = 0;
@@ -883,6 +888,7 @@ void qt_init(QApplicationPrivate *priv, int)
(PtrEndPanningFeedback)QLibrary::resolve(QLatin1String("uxtheme"),
"EndPanningFeedback");
#endif
+#endif // QT_NO_GESTURES
}
/*****************************************************************************
@@ -1542,7 +1548,7 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa
case WM_SETTINGCHANGE:
#ifdef Q_WS_WINCE
// CE SIP hide/show
- if (wParam == SPI_SETSIPINFO) {
+ if (qt_desktopWidget && wParam == SPI_SETSIPINFO) {
QResizeEvent re(QSize(0, 0), QSize(0, 0)); // Calculated by QDesktopWidget
QApplication::sendEvent(qt_desktopWidget, &re);
break;
@@ -1667,12 +1673,14 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa
shrg.ptDown.y = GET_Y_LPARAM(lParam);
shrg.dwFlags = SHRG_RETURNCMD | SHRG_NOANIMATION;
resolveAygLibs();
+#ifndef QT_NO_GESTURES
if (ptrRecognizeGesture && (ptrRecognizeGesture(&shrg) == GN_CONTEXTMENU)) {
if (QApplication::activePopupWidget())
QApplication::activePopupWidget()->close();
QContextMenuEvent e(QContextMenuEvent::Mouse, pos, globalPos);
result = qt_sendSpontaneousEvent(alienWidget, &e);
}
+#endif // QT_NO_GESTURES
}
}
}
@@ -2556,6 +2564,7 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa
}
result = false;
break;
+#ifndef QT_NO_GESTURES
#if !defined(Q_WS_WINCE) || defined(QT_WINCE_GESTURES)
case WM_GESTURE: {
GESTUREINFO gi;
@@ -2590,6 +2599,7 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa
break;
}
#endif // !defined(Q_WS_WINCE) || defined(QT_WINCE_GESTURES)
+#endif // QT_NO_GESTURES
#ifndef QT_NO_CURSOR
case WM_SETCURSOR: {
QCursor *ovr = QApplication::overrideCursor();
@@ -3825,6 +3835,7 @@ bool QETWidget::translateCloseEvent(const MSG &)
return d_func()->close_helper(QWidgetPrivate::CloseWithSpontaneousEvent);
}
+#ifndef QT_NO_GESTURES
bool QETWidget::translateGestureEvent(const MSG &, const GESTUREINFO &gi)
{
const QPoint widgetPos = QPoint(gi.ptsLocation.x, gi.ptsLocation.y);
@@ -3863,7 +3874,7 @@ bool QETWidget::translateGestureEvent(const MSG &, const GESTUREINFO &gi)
qt_sendSpontaneousEvent(widget, &event);
return true;
}
-
+#endif // QT_NO_GESTURES
void QApplication::setCursorFlashTime(int msecs)
{
@@ -4053,36 +4064,9 @@ PtrCloseTouchInputHandle QApplicationPrivate::CloseTouchInputHandle = 0;
void QApplicationPrivate::initializeMultitouch_sys()
{
- static const IID QT_IID_IInkTablets = {0x112086D9, 0x7779, 0x4535, {0xA6, 0x99, 0x86, 0x2B, 0x43, 0xAC, 0x18, 0x63} };
- static const IID QT_IID_IInkTablet2 = {0x90c91ad2, 0xfa36, 0x49d6, {0x95, 0x16, 0xce, 0x8d, 0x57, 0x0f, 0x6f, 0x85} };
- static const CLSID QT_CLSID_InkTablets = {0x6E4FCB12, 0x510A, 0x4d40, {0x93, 0x04, 0x1D, 0xA1, 0x0A, 0xE9, 0x14, 0x7C} };
-
- IInkTablets *iInkTablets = 0;
- HRESULT hr = CoCreateInstance(QT_CLSID_InkTablets, NULL, CLSCTX_ALL, QT_IID_IInkTablets, (void**)&iInkTablets);
- if (SUCCEEDED(hr)) {
- long count = 0;
- iInkTablets->get_Count(&count);
- for (long i = 0; i < count; ++i) {
- IInkTablet *iInkTablet = 0;
- hr = iInkTablets->Item(i, &iInkTablet);
- if (FAILED(hr))
- continue;
- IInkTablet2 *iInkTablet2 = 0;
- hr = iInkTablet->QueryInterface(QT_IID_IInkTablet2, (void**)&iInkTablet2);
- iInkTablet->Release();
- if (FAILED(hr))
- continue;
- TabletDeviceKind kind;
- hr = iInkTablet2->get_DeviceKind(&kind);
- iInkTablet2->Release();
- if (FAILED(hr))
- continue;
- if (kind == TDK_Touch) {
- QApplicationPrivate::HasTouchSupport = true;
- break;
- }
- }
- iInkTablets->Release();
+ if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) {
+ static const int QT_SM_DIGITIZER = 94;
+ QApplicationPrivate::HasTouchSupport = GetSystemMetrics(QT_SM_DIGITIZER);
}
QLibrary library(QLatin1String("user32"));
diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
index 78fc704..3664743 100644
--- a/src/gui/kernel/qapplication_x11.cpp
+++ b/src/gui/kernel/qapplication_x11.cpp
@@ -5268,7 +5268,7 @@ bool QETWidget::translateConfigEvent(const XEvent *event)
if (isVisible() && data->crect.size() != oldSize) {
Q_ASSERT(d->extra->topextra);
- QWidgetBackingStore *bs = d->extra->topextra->backingStore;
+ QWidgetBackingStore *bs = d->extra->topextra->backingStore.data();
const bool hasStaticContents = bs && bs->hasStaticContents();
// If we have a backing store with static contents, we have to disable the top-level
// resize optimization in order to get invalidated regions for resized widgets.
diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm
index 4953c48..eec9699 100644
--- a/src/gui/kernel/qcocoaview_mac.mm
+++ b/src/gui/kernel/qcocoaview_mac.mm
@@ -952,12 +952,14 @@ static int qCocoaViewCount = 0;
if (!QApplicationPrivate::tryModalHelper(qwidget, 0))
return;
+#ifndef QT_NO_GESTURES
QNativeGestureEvent qNGEvent;
qNGEvent.gestureType = QNativeGestureEvent::Zoom;
NSPoint p = [[event window] convertBaseToScreen:[event locationInWindow]];
qNGEvent.position = flipPoint(p).toPoint();
qNGEvent.percentage = [event magnification];
qt_sendSpontaneousEvent(qwidget, &qNGEvent);
+#endif // QT_NO_GESTURES
}
- (void)rotateWithEvent:(NSEvent *)event;
@@ -965,12 +967,14 @@ static int qCocoaViewCount = 0;
if (!QApplicationPrivate::tryModalHelper(qwidget, 0))
return;
+#ifndef QT_NO_GESTURES
QNativeGestureEvent qNGEvent;
qNGEvent.gestureType = QNativeGestureEvent::Rotate;
NSPoint p = [[event window] convertBaseToScreen:[event locationInWindow]];
qNGEvent.position = flipPoint(p).toPoint();
qNGEvent.percentage = -[event rotation];
qt_sendSpontaneousEvent(qwidget, &qNGEvent);
+#endif // QT_NO_GESTURES
}
- (void)swipeWithEvent:(NSEvent *)event;
@@ -978,6 +982,7 @@ static int qCocoaViewCount = 0;
if (!QApplicationPrivate::tryModalHelper(qwidget, 0))
return;
+#ifndef QT_NO_GESTURES
QNativeGestureEvent qNGEvent;
qNGEvent.gestureType = QNativeGestureEvent::Swipe;
NSPoint p = [[event window] convertBaseToScreen:[event locationInWindow]];
@@ -991,6 +996,7 @@ static int qCocoaViewCount = 0;
else if ([event deltaY] == -1)
qNGEvent.angle = 270.0f;
qt_sendSpontaneousEvent(qwidget, &qNGEvent);
+#endif // QT_NO_GESTURES
}
- (void)beginGestureWithEvent:(NSEvent *)event;
@@ -998,11 +1004,13 @@ static int qCocoaViewCount = 0;
if (!QApplicationPrivate::tryModalHelper(qwidget, 0))
return;
+#ifndef QT_NO_GESTURES
QNativeGestureEvent qNGEvent;
qNGEvent.gestureType = QNativeGestureEvent::GestureBegin;
NSPoint p = [[event window] convertBaseToScreen:[event locationInWindow]];
qNGEvent.position = flipPoint(p).toPoint();
qt_sendSpontaneousEvent(qwidget, &qNGEvent);
+#endif // QT_NO_GESTURES
}
- (void)endGestureWithEvent:(NSEvent *)event;
@@ -1010,11 +1018,13 @@ static int qCocoaViewCount = 0;
if (!QApplicationPrivate::tryModalHelper(qwidget, 0))
return;
+#ifndef QT_NO_GESTURES
QNativeGestureEvent qNGEvent;
qNGEvent.gestureType = QNativeGestureEvent::GestureEnd;
NSPoint p = [[event window] convertBaseToScreen:[event locationInWindow]];
qNGEvent.position = flipPoint(p).toPoint();
qt_sendSpontaneousEvent(qwidget, &qNGEvent);
+#endif // QT_NO_GESTURES
}
- (void)frameDidChange:(NSNotification *)note
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index acf7184..92eed33 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -3421,9 +3421,11 @@ QDebug operator<<(QDebug dbg, const QEvent *e) {
case QEvent::ChildRemoved: n = n ? n : "ChildRemoved";
dbg.nospace() << "QChildEvent(" << n << ", " << (static_cast<const QChildEvent*>(e))->child();
return dbg.space();
+#ifndef QT_NO_GESTURES
case QEvent::Gesture:
n = "Gesture";
break;
+#endif
default:
dbg.nospace() << "QEvent(" << (const void *)e << ", type = " << e->type() << ')';
return dbg.space();
@@ -4254,6 +4256,7 @@ QTouchEvent::TouchPoint &QTouchEvent::TouchPoint::operator=(const QTouchEvent::T
return *this;
}
+#ifndef QT_NO_GESTURES
/*!
\class QGestureEvent
\since 4.6
@@ -4558,4 +4561,6 @@ const QGestureEventPrivate *QGestureEvent::d_func() const
*/
#endif
+#endif // QT_NO_GESTURES
+
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h
index 90242fe..9c70c02 100644
--- a/src/gui/kernel/qevent.h
+++ b/src/gui/kernel/qevent.h
@@ -62,7 +62,9 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Gui)
class QAction;
+#ifndef QT_NO_GESTURES
class QGesture;
+#endif
class Q_GUI_EXPORT QInputEvent : public QEvent
{
@@ -824,6 +826,7 @@ protected:
friend class QApplicationPrivate;
};
+#ifndef QT_NO_GESTURES
class QGesture;
class QGestureEventPrivate;
class Q_GUI_EXPORT QGestureEvent : public QEvent
@@ -875,6 +878,7 @@ private:
friend class QApplication;
friend class QGestureManager;
};
+#endif // QT_NO_GESTURES
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qevent_p.h b/src/gui/kernel/qevent_p.h
index 5c94a23..e323aa9 100644
--- a/src/gui/kernel/qevent_p.h
+++ b/src/gui/kernel/qevent_p.h
@@ -120,6 +120,7 @@ public:
qreal pressure;
};
+#ifndef QT_NO_GESTURES
class QNativeGestureEvent : public QEvent
{
public:
@@ -164,7 +165,7 @@ public:
QMap<Qt::GestureType, bool> accepted;
QMap<Qt::GestureType, QWidget *> targetWidgets;
};
-
+#endif // QT_NO_GESTURES
class QFileOpenEventPrivate
{
diff --git a/src/gui/kernel/qeventdispatcher_mac.mm b/src/gui/kernel/qeventdispatcher_mac.mm
index 0d93b9f..e26fbde 100644
--- a/src/gui/kernel/qeventdispatcher_mac.mm
+++ b/src/gui/kernel/qeventdispatcher_mac.mm
@@ -492,6 +492,7 @@ static bool IsMouseOrKeyEvent( NSEvent* event )
case NSOtherMouseDown:
case NSOtherMouseUp:
case NSOtherMouseDragged:
+#ifndef QT_NO_GESTURES
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
case NSEventTypeGesture: // touch events
case NSEventTypeMagnify:
@@ -500,6 +501,7 @@ static bool IsMouseOrKeyEvent( NSEvent* event )
case NSEventTypeBeginGesture:
case NSEventTypeEndGesture:
#endif
+#endif // QT_NO_GESTURES
result = true;
break;
diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp
index 49bdea7..f5688f4 100644
--- a/src/gui/kernel/qgesture.cpp
+++ b/src/gui/kernel/qgesture.cpp
@@ -42,6 +42,8 @@
#include "qgesture.h"
#include "private/qgesture_p.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
/*!
@@ -725,3 +727,5 @@ void QTapAndHoldGesture::setPosition(const QPointF &value)
}
QT_END_NAMESPACE
+
+#endif // QT_NO_GESTURES
diff --git a/src/gui/kernel/qgesture.h b/src/gui/kernel/qgesture.h
index c9bdce6..8c10895 100644
--- a/src/gui/kernel/qgesture.h
+++ b/src/gui/kernel/qgesture.h
@@ -49,6 +49,8 @@
#include <QtCore/qrect.h>
#include <QtCore/qmetatype.h>
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_HEADER
Q_DECLARE_METATYPE(Qt::GestureState)
@@ -258,4 +260,6 @@ QT_END_NAMESPACE
Q_DECLARE_METATYPE(QGesture::GestureCancelPolicy)
QT_END_HEADER
+#endif // QT_NO_GESTURES
+
#endif // QGESTURE_H
diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h
index bf60f97..f5474c1 100644
--- a/src/gui/kernel/qgesture_p.h
+++ b/src/gui/kernel/qgesture_p.h
@@ -59,6 +59,8 @@
#include "qelapsedtimer.h"
#include "private/qobject_p.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
class QGesturePrivate : public QObjectPrivate
@@ -179,4 +181,6 @@ public:
QT_END_NAMESPACE
+#endif // QT_NO_GESTURES
+
#endif // QGESTURE_P_H
diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp
index 43facef..e43a560 100644
--- a/src/gui/kernel/qgesturemanager.cpp
+++ b/src/gui/kernel/qgesturemanager.cpp
@@ -66,6 +66,8 @@
# define DEBUG qDebug
#endif
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
QGestureManager::QGestureManager(QObject *parent)
@@ -284,6 +286,9 @@ bool QGestureManager::filterEventThroughContexts(const QMultiMap<QObject *,
// check if a running gesture switched back to maybe state
QSet<QGesture *> activeToMaybeGestures = m_activeGestures & newMaybeGestures;
+ // check if a maybe gesture switched to canceled - reset it but don't send an event
+ QSet<QGesture *> maybeToCanceledGestures = m_maybeGestures & notGestures;
+
// check if a running gesture switched back to not gesture state,
// i.e. were canceled
QSet<QGesture *> canceledGestures = m_activeGestures & notGestures;
@@ -343,7 +348,8 @@ bool QGestureManager::filterEventThroughContexts(const QMultiMap<QObject *,
<< "\n\tstarted:" << startedGestures
<< "\n\ttriggered:" << triggeredGestures
<< "\n\tfinished:" << finishedGestures
- << "\n\tcanceled:" << canceledGestures;
+ << "\n\tcanceled:" << canceledGestures
+ << "\n\tmaybe-canceled:" << maybeToCanceledGestures;
}
QSet<QGesture *> undeliveredGestures;
@@ -364,7 +370,7 @@ bool QGestureManager::filterEventThroughContexts(const QMultiMap<QObject *,
// reset gestures that ended
QSet<QGesture *> endedGestures =
- finishedGestures + canceledGestures + undeliveredGestures;
+ finishedGestures + canceledGestures + undeliveredGestures + maybeToCanceledGestures;
foreach (QGesture *gesture, endedGestures) {
recycle(gesture);
m_gestureTargets.remove(gesture);
@@ -684,6 +690,7 @@ void QGestureManager::recycle(QGesture *gesture)
if (recognizer) {
gesture->setGestureCancelPolicy(QGesture::CancelNone);
recognizer->reset(gesture);
+ m_activeGestures.remove(gesture);
} else {
cleanupGesturesForRemovedRecognizer(gesture);
}
@@ -691,4 +698,6 @@ void QGestureManager::recycle(QGesture *gesture)
QT_END_NAMESPACE
+#endif // QT_NO_GESTURES
+
#include "moc_qgesturemanager_p.cpp"
diff --git a/src/gui/kernel/qgesturemanager_p.h b/src/gui/kernel/qgesturemanager_p.h
index c452f49..747cb1a 100644
--- a/src/gui/kernel/qgesturemanager_p.h
+++ b/src/gui/kernel/qgesturemanager_p.h
@@ -58,6 +58,8 @@
#include "private/qwidget_p.h"
#include "qgesturerecognizer.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
class QBasicTimer;
@@ -143,4 +145,6 @@ private:
QT_END_NAMESPACE
+#endif // QT_NO_GESTURES
+
#endif // QGESTUREMANAGER_P_H
diff --git a/src/gui/kernel/qgesturerecognizer.cpp b/src/gui/kernel/qgesturerecognizer.cpp
index 9dcca17..3e23bbf 100644
--- a/src/gui/kernel/qgesturerecognizer.cpp
+++ b/src/gui/kernel/qgesturerecognizer.cpp
@@ -44,6 +44,8 @@
#include "private/qgesture_p.h"
#include "private/qgesturemanager_p.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
/*!
@@ -231,3 +233,5 @@ void QGestureRecognizer::unregisterRecognizer(Qt::GestureType type)
}
QT_END_NAMESPACE
+
+#endif // QT_NO_GESTURES
diff --git a/src/gui/kernel/qgesturerecognizer.h b/src/gui/kernel/qgesturerecognizer.h
index 3e17c99..5afb43f 100644
--- a/src/gui/kernel/qgesturerecognizer.h
+++ b/src/gui/kernel/qgesturerecognizer.h
@@ -45,6 +45,8 @@
#include <QtCore/qglobal.h>
#include <QtCore/qnamespace.h>
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -95,4 +97,6 @@ QT_END_NAMESPACE
QT_END_HEADER
+#endif // QT_NO_GESTURES
+
#endif // QGESTURERECOGNIZER_H
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
index 931bc33..c2f275a 100644
--- a/src/gui/kernel/qkeysequence.cpp
+++ b/src/gui/kernel/qkeysequence.cpp
@@ -439,6 +439,10 @@ static const struct {
{ Qt::Key_MediaPrevious, QT_TRANSLATE_NOOP("QShortcut", "Media Previous") },
{ Qt::Key_MediaNext, QT_TRANSLATE_NOOP("QShortcut", "Media Next") },
{ Qt::Key_MediaRecord, QT_TRANSLATE_NOOP("QShortcut", "Media Record") },
+ //: Media player pause button
+ { Qt::Key_MediaPause, QT_TRANSLATE_NOOP("QShortcut", "Media Pause") },
+ //: Media player button to toggle between playing and paused
+ { Qt::Key_MediaTogglePlayPause, QT_TRANSLATE_NOOP("QShortcut", "Toggle Media Play/Pause") },
{ Qt::Key_HomePage, QT_TRANSLATE_NOOP("QShortcut", "Home Page") },
{ Qt::Key_Favorites, QT_TRANSLATE_NOOP("QShortcut", "Favorites") },
{ Qt::Key_Search, QT_TRANSLATE_NOOP("QShortcut", "Search") },
@@ -575,13 +579,25 @@ static const struct {
// --------------------------------------------------------------
// Device keys
- { Qt::Key_Context1, QT_TRANSLATE_NOOP("QShortcut", "Context1") },
- { Qt::Key_Context2, QT_TRANSLATE_NOOP("QShortcut", "Context2") },
- { Qt::Key_Context3, QT_TRANSLATE_NOOP("QShortcut", "Context3") },
- { Qt::Key_Context4, QT_TRANSLATE_NOOP("QShortcut", "Context4") },
- { Qt::Key_Call, QT_TRANSLATE_NOOP("QShortcut", "Call") },
- { Qt::Key_Hangup, QT_TRANSLATE_NOOP("QShortcut", "Hangup") },
- { Qt::Key_Flip, QT_TRANSLATE_NOOP("QShortcut", "Flip") },
+ { Qt::Key_Context1, QT_TRANSLATE_NOOP("QShortcut", "Context1") },
+ { Qt::Key_Context2, QT_TRANSLATE_NOOP("QShortcut", "Context2") },
+ { Qt::Key_Context3, QT_TRANSLATE_NOOP("QShortcut", "Context3") },
+ { Qt::Key_Context4, QT_TRANSLATE_NOOP("QShortcut", "Context4") },
+ //: Button to start a call (note: a separate button is used to end the call)
+ { Qt::Key_Call, QT_TRANSLATE_NOOP("QShortcut", "Call") },
+ //: Button to end a call (note: a separate button is used to start the call)
+ { Qt::Key_Hangup, QT_TRANSLATE_NOOP("QShortcut", "Hangup") },
+ //: Button that will hang up if we're in call, or make a call if we're not.
+ { Qt::Key_ToggleCallHangup, QT_TRANSLATE_NOOP("QShortcut", "Toggle Call/Hangup") },
+ { Qt::Key_Flip, QT_TRANSLATE_NOOP("QShortcut", "Flip") },
+ //: Button to trigger voice dialling
+ { Qt::Key_VoiceDial, QT_TRANSLATE_NOOP("QShortcut", "Voice Dial") },
+ //: Button to redial the last number called
+ { Qt::Key_LastNumberRedial, QT_TRANSLATE_NOOP("QShortcut", "Last Number Redial") },
+ //: Button to trigger the camera shutter (take a picture)
+ { Qt::Key_Camera, QT_TRANSLATE_NOOP("QShortcut", "Camera Shutter") },
+ //: Button to focus the camera
+ { Qt::Key_CameraFocus, QT_TRANSLATE_NOOP("QShortcut", "Camera Focus") },
// --------------------------------------------------------------
// Japanese keyboard support
diff --git a/src/gui/kernel/qmacgesturerecognizer_mac.mm b/src/gui/kernel/qmacgesturerecognizer_mac.mm
index fba839b..0ccbb52 100644
--- a/src/gui/kernel/qmacgesturerecognizer_mac.mm
+++ b/src/gui/kernel/qmacgesturerecognizer_mac.mm
@@ -47,6 +47,8 @@
#include "qwidget.h"
#include "qdebug.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
QMacSwipeGestureRecognizer::QMacSwipeGestureRecognizer()
@@ -260,3 +262,5 @@ void QMacPanGestureRecognizer::reset(QGesture *gesture)
#endif // QT_MAC_USE_COCOA
QT_END_NAMESPACE
+
+#endif // QT_NO_GESTURES
diff --git a/src/gui/kernel/qmacgesturerecognizer_mac_p.h b/src/gui/kernel/qmacgesturerecognizer_mac_p.h
index dd8a150..f48c160 100644
--- a/src/gui/kernel/qmacgesturerecognizer_mac_p.h
+++ b/src/gui/kernel/qmacgesturerecognizer_mac_p.h
@@ -57,6 +57,8 @@
#include "qpoint.h"
#include "qgesturerecognizer.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
class QMacSwipeGestureRecognizer : public QGestureRecognizer
@@ -99,4 +101,6 @@ private:
QT_END_NAMESPACE
+#endif // QT_NO_GESTURES
+
#endif // QMACSWIPEGESTURERECOGNIZER_MAC_P_H
diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp
index a575717..8a3e89e 100644
--- a/src/gui/kernel/qstandardgestures.cpp
+++ b/src/gui/kernel/qstandardgestures.cpp
@@ -47,6 +47,8 @@
#include "qabstractscrollarea.h"
#include "qdebug.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
QPanGestureRecognizer::QPanGestureRecognizer()
@@ -110,6 +112,7 @@ QGestureRecognizer::Result QPanGestureRecognizer::recognize(QGesture *state,
p1.pos().y() - p1.startPos().y() + p2.pos().y() - p2.startPos().y()) / 2;
if (d->offset.x() > 10 || d->offset.y() > 10 ||
d->offset.x() < -10 || d->offset.y() < -10) {
+ q->setHotSpot(p1.startScreenPos());
result = QGestureRecognizer::TriggerGesture;
} else {
result = QGestureRecognizer::MayBeGesture;
@@ -439,6 +442,7 @@ QGestureRecognizer::Result QTapGestureRecognizer::recognize(QGesture *state,
switch (event->type()) {
case QEvent::TouchBegin: {
d->position = ev->touchPoints().at(0).pos();
+ q->setHotSpot(ev->touchPoints().at(0).screenPos());
result = QGestureRecognizer::TriggerGesture;
break;
}
@@ -521,6 +525,7 @@ QTapAndHoldGestureRecognizer::recognize(QGesture *state, QObject *object,
if (d->timerId)
q->killTimer(d->timerId);
d->timerId = q->startTimer(TimerInterval);
+ q->setHotSpot(ev->touchPoints().at(0).startScreenPos());
result = QGestureRecognizer::TriggerGesture;
break;
case QEvent::TouchEnd:
@@ -563,3 +568,5 @@ void QTapAndHoldGestureRecognizer::reset(QGesture *state)
}
QT_END_NAMESPACE
+
+#endif // QT_NO_GESTURES
diff --git a/src/gui/kernel/qstandardgestures_p.h b/src/gui/kernel/qstandardgestures_p.h
index 64505d8..da73b85 100644
--- a/src/gui/kernel/qstandardgestures_p.h
+++ b/src/gui/kernel/qstandardgestures_p.h
@@ -56,6 +56,8 @@
#include "qgesturerecognizer.h"
#include "private/qgesture_p.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
class QPanGestureRecognizer : public QGestureRecognizer
@@ -110,4 +112,6 @@ public:
QT_END_NAMESPACE
+#endif // QT_NO_GESTURES
+
#endif // QSTANDARDGESTURES_P_H
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index 0fddbf8..30bbf99 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -161,6 +161,51 @@ static inline bool hasBackingStoreSupport()
extern bool qt_sendSpontaneousEvent(QObject*, QEvent*); // qapplication.cpp
extern QDesktopWidget *qt_desktopWidget; // qapplication.cpp
+
+QRefCountedWidgetBackingStore::QRefCountedWidgetBackingStore()
+ : m_ptr(0)
+ , m_count(0)
+{
+
+}
+
+QRefCountedWidgetBackingStore::~QRefCountedWidgetBackingStore()
+{
+ delete m_ptr;
+}
+
+void QRefCountedWidgetBackingStore::create(QWidget *widget)
+{
+ destroy();
+ m_ptr = new QWidgetBackingStore(widget);
+ m_count = 0;
+}
+
+void QRefCountedWidgetBackingStore::destroy()
+{
+ delete m_ptr;
+ m_ptr = 0;
+ m_count = 0;
+}
+
+void QRefCountedWidgetBackingStore::ref()
+{
+ Q_ASSERT(m_ptr);
+ ++m_count;
+}
+
+void QRefCountedWidgetBackingStore::deref()
+{
+ if (m_count) {
+ Q_ASSERT(m_ptr);
+ if (0 == --m_count) {
+ delete m_ptr;
+ m_ptr = 0;
+ }
+ }
+}
+
+
QWidgetPrivate::QWidgetPrivate(int version)
: QObjectPrivate(version)
, extra(0)
@@ -202,7 +247,9 @@ QWidgetPrivate::QWidgetPrivate(int version)
, picture(0)
#elif defined(Q_WS_WIN)
, noPaintOnScreen(0)
+ #ifndef QT_NO_GESTURES
, nativeGesturePanEnabled(0)
+ #endif
#elif defined(Q_WS_MAC)
, needWindowChange(0)
, hasAlienChildren(0)
@@ -332,6 +379,8 @@ void QWidget::setInputContext(QInputContext *context)
if (d->ic)
delete d->ic;
d->ic = context;
+ if (d->ic)
+ d->ic->setParent(this);
#endif
}
@@ -1347,11 +1396,9 @@ void QWidget::create(WId window, bool initializeWindow, bool destroyOldWindow)
// a real toplevel window needs a backing store
if (isWindow() && windowType() != Qt::Desktop) {
- delete d->topData()->backingStore;
- // QWidgetBackingStore will check this variable, hence it must be 0
- d->topData()->backingStore = 0;
+ d->topData()->backingStore.destroy();
if (hasBackingStoreSupport())
- d->topData()->backingStore = new QWidgetBackingStore(this);
+ d->topData()->backingStore.create(this);
}
d->setModal_sys();
@@ -1396,8 +1443,10 @@ QWidget::~QWidget()
qWarning("QWidget: %s (%s) deleted while being painted", className(), name());
#endif
+#ifndef QT_NO_GESTURES
foreach (Qt::GestureType type, d->gestureContext.keys())
ungrabGesture(type);
+#endif
// force acceptDrops false before winId is destroyed.
d->registerDropSite(false);
@@ -1477,8 +1526,7 @@ QWidget::~QWidget()
// the backing store will delete its window surface, which may or may
// not have a reference to this widget that will be used later to
// notify the window it no longer has a surface.
- delete d->extra->topextra->backingStore;
- d->extra->topextra->backingStore = 0;
+ d->extra->topextra->backingStore.destroy();
}
#endif
if (QWidgetBackingStore *bs = d->maybeBackingStore()) {
@@ -1575,7 +1623,6 @@ void QWidgetPrivate::createTLExtra()
QTLWExtra* x = extra->topextra = new QTLWExtra;
x->icon = 0;
x->iconPixmap = 0;
- x->backingStore = 0;
x->windowSurface = 0;
x->sharedPainter = 0;
x->incw = x->inch = 0;
@@ -1659,7 +1706,7 @@ void QWidgetPrivate::deleteExtra()
#endif
if (extra->topextra) {
deleteTLSysExtra();
- delete extra->topextra->backingStore;
+ extra->topextra->backingStore.destroy();
delete extra->topextra->icon;
delete extra->topextra->iconPixmap;
#if defined(Q_WS_QWS) && !defined(QT_NO_QWS_MANAGER)
@@ -8538,9 +8585,11 @@ bool QWidget::event(QEvent *event)
#endif // Q_WS_MAC
break;
}
+#ifndef QT_NO_GESTURES
case QEvent::Gesture:
event->ignore();
break;
+#endif
#ifndef QT_NO_PROPERTIES
case QEvent::DynamicPropertyChange: {
const QByteArray &propName = static_cast<QDynamicPropertyChangeEvent *>(event)->propertyName();
@@ -11956,6 +12005,7 @@ QGraphicsProxyWidget *QWidget::graphicsProxyWidget() const
Synonym for QList<QWidget *>.
*/
+#ifndef QT_NO_GESTURES
/*!
Subscribes the widget to a given \a gesture with specific \a flags.
@@ -11983,7 +12033,7 @@ void QWidget::ungrabGesture(Qt::GestureType gesture)
manager->cleanupCachedGestures(this, gesture);
}
}
-
+#endif // QT_NO_GESTURES
/*!
\typedef WId
diff --git a/src/gui/kernel/qwidget.h b/src/gui/kernel/qwidget.h
index e12148b..941bd68 100644
--- a/src/gui/kernel/qwidget.h
+++ b/src/gui/kernel/qwidget.h
@@ -360,8 +360,10 @@ public:
void setGraphicsEffect(QGraphicsEffect *effect);
#endif //QT_NO_GRAPHICSEFFECT
+#ifndef QT_NO_GESTURES
void grabGesture(Qt::GestureType type, Qt::GestureFlags flags = Qt::GestureFlags());
void ungrabGesture(Qt::GestureType type);
+#endif
public Q_SLOTS:
void setWindowTitle(const QString &);
@@ -742,8 +744,10 @@ private:
friend class QGraphicsProxyWidgetPrivate;
friend class QStyleSheetStyle;
friend struct QWidgetExceptionCleaner;
+#ifndef QT_NO_GESTURES
friend class QGestureManager;
friend class QWinNativePanGestureRecognizer;
+#endif // QT_NO_GESTURES
friend class QWidgetEffectSourcePrivate;
#ifdef Q_WS_MAC
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index f12c956..1928599 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -752,6 +752,7 @@ static OSWindowRef qt_mac_create_window(QWidget *, WindowClass wclass, WindowAtt
return window;
}
+#ifndef QT_NO_GESTURES
#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6
/* We build the release package against the 10.4 SDK.
So, to enable gestures for applications running on
@@ -768,6 +769,7 @@ enum {
kEventParamMagnificationAmount = 'magn'
};
#endif
+#endif // QT_NO_GESTURES
// window events
static EventTypeSpec window_events[] = {
@@ -1076,6 +1078,7 @@ OSStatus QWidgetPrivate::qt_window_event(EventHandlerCallRef er, EventRef event,
handled_event = false;
break; }
+#ifndef QT_NO_GESTURES
case kEventClassGesture: {
// First, find the widget that was under
// the mouse when the gesture happened:
@@ -1142,6 +1145,7 @@ OSStatus QWidgetPrivate::qt_window_event(EventHandlerCallRef er, EventRef event,
QApplication::sendSpontaneousEvent(widget, &qNGEvent);
break; }
+#endif // QT_NO_GESTURES
default:
handled_event = false;
diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h
index 3f494d8..49a2dc8 100644
--- a/src/gui/kernel/qwidget_p.h
+++ b/src/gui/kernel/qwidget_p.h
@@ -110,13 +110,53 @@ class QWidgetItemV2;
class QStyle;
+class Q_AUTOTEST_EXPORT QRefCountedWidgetBackingStore
+{
+public:
+ QRefCountedWidgetBackingStore();
+ ~QRefCountedWidgetBackingStore();
+
+ void create(QWidget *tlw);
+ void destroy();
+
+ void ref();
+ void deref();
+
+ inline QWidgetBackingStore* data()
+ {
+ return m_ptr;
+ }
+
+ inline QWidgetBackingStore* operator->()
+ {
+ return m_ptr;
+ }
+
+ inline QWidgetBackingStore& operator*()
+ {
+ return *m_ptr;
+ }
+
+ inline operator bool() const
+ {
+ return (0 != m_ptr);
+ }
+
+private:
+ Q_DISABLE_COPY(QRefCountedWidgetBackingStore)
+
+private:
+ QWidgetBackingStore* m_ptr;
+ int m_count;
+};
+
struct QTLWExtra {
// *************************** Cross-platform variables *****************************
// Regular pointers (keep them together to avoid gaps on 64 bits architectures).
QIcon *icon; // widget icon
QPixmap *iconPixmap;
- QWidgetBackingStore *backingStore;
+ QRefCountedWidgetBackingStore backingStore;
QWindowSurface *windowSurface;
QPainter *sharedPainter;
@@ -685,7 +725,9 @@ public:
#ifndef QT_NO_ACTION
QList<QAction*> actions;
#endif
+#ifndef QT_NO_GESTURES
QMap<Qt::GestureType, Qt::GestureFlags> gestureContext;
+#endif
// Bit fields.
uint high_attributes[4]; // the low ones are in QWidget::widget_attributes
@@ -714,8 +756,9 @@ public:
void updateX11AcceptFocus();
#elif defined(Q_WS_WIN) // <--------------------------------------------------------- WIN
uint noPaintOnScreen : 1; // see qwidget_win.cpp ::paintEngine()
+#ifndef QT_NO_GESTURES
uint nativeGesturePanEnabled : 1;
-
+#endif
bool shouldShowMaximizeButton();
void winUpdateIsOpaque();
void reparentChildren();
@@ -929,7 +972,7 @@ inline QWidgetBackingStore *QWidgetPrivate::maybeBackingStore() const
{
Q_Q(const QWidget);
QTLWExtra *x = q->window()->d_func()->maybeTopData();
- return x ? x->backingStore : 0;
+ return x ? x->backingStore.data() : 0;
}
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp
index 02e7cb8..86b858d 100644
--- a/src/gui/kernel/qwidget_s60.cpp
+++ b/src/gui/kernel/qwidget_s60.cpp
@@ -433,6 +433,7 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de
// Request mouse move events.
drawableWindow->PointerFilter(EPointerFilterEnterExit
| EPointerFilterMove | EPointerFilterDrag, 0);
+ drawableWindow->EnableVisibilityChangeEvents();
if (q->isVisible() && q->testAttribute(Qt::WA_Mapped)) {
activateSymbianWindow(control.data());
@@ -487,11 +488,8 @@ void QWidgetPrivate::show_sys()
&& !S60->buttonGroupContainer() && !S60->statusPane()) {
bool isFullscreen = q->windowState() & Qt::WindowFullScreen;
- bool cbaRequested = q->windowFlags() & Qt::WindowSoftkeysVisibleHint;
- // If the window is fullscreen and has not explicitly requested that the CBA be visible
- // we delay the creation even more.
- if ((!isFullscreen || cbaRequested) && !q->testAttribute(Qt::WA_DontShowOnScreen)) {
+ if (!q->testAttribute(Qt::WA_DontShowOnScreen)) {
// Create the status pane and CBA here
CEikAppUi *ui = static_cast<CEikAppUi *>(S60->appUi());
@@ -911,14 +909,12 @@ void QWidgetPrivate::registerDropSite(bool /* on */)
void QWidgetPrivate::createTLSysExtra()
{
- extra->topextra->backingStore = 0;
extra->topextra->inExpose = 0;
}
void QWidgetPrivate::deleteTLSysExtra()
{
- delete extra->topextra->backingStore;
- extra->topextra->backingStore = 0;
+ extra->topextra->backingStore.destroy();
}
void QWidgetPrivate::createSysExtra()
diff --git a/src/gui/kernel/qwidget_win.cpp b/src/gui/kernel/qwidget_win.cpp
index 5482da3..a7e66bf 100644
--- a/src/gui/kernel/qwidget_win.cpp
+++ b/src/gui/kernel/qwidget_win.cpp
@@ -2075,7 +2075,7 @@ void QWidgetPrivate::registerTouchWindow()
void QWidgetPrivate::winSetupGestures()
{
-#if !defined(QT_NO_NATIVE_GESTURES)
+#if !defined(QT_NO_GESTURES) && !defined(QT_NO_NATIVE_GESTURES)
Q_Q(QWidget);
if (!q || !q->isVisible() || !nativeGesturePanEnabled)
return;
diff --git a/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp b/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp
index 0bddbf6..780de5d 100644
--- a/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp
+++ b/src/gui/kernel/qwinnativepangesturerecognizer_win.cpp
@@ -50,6 +50,8 @@
#include "private/qapplication_p.h"
#include "private/qwidget_p.h"
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
#if !defined(QT_NO_NATIVE_GESTURES)
@@ -127,3 +129,5 @@ void QWinNativePanGestureRecognizer::reset(QGesture *state)
#endif // QT_NO_NATIVE_GESTURES
QT_END_NAMESPACE
+
+#endif // QT_NO_GESTURES
diff --git a/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h b/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h
index 146b067..9d0e6f7 100644
--- a/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h
+++ b/src/gui/kernel/qwinnativepangesturerecognizer_win_p.h
@@ -54,38 +54,8 @@
//
#include <QGestureRecognizer>
-#include <objbase.h>
-class IInkRectangle;
-class TabletHardwareCapabilities;
-class TabletPropertyMetricUnit;
-DECLARE_INTERFACE_(IInkTablet, IDispatch)
-{
- STDMETHOD(get_Name)(THIS_ BSTR *Name) PURE;
- STDMETHOD(get_PlugAndPlayId)(THIS_ BSTR *Id) PURE;
- STDMETHOD(get_MaximumInputRectangle)(THIS_ IInkRectangle **Rectangle) PURE;
- STDMETHOD(get_HardwareCapabilities)(THIS_ TabletHardwareCapabilities *Capabilities) PURE;
- STDMETHOD(IsPacketPropertySupported)(THIS_ BSTR packetPropertyName) PURE;
- STDMETHOD(GetPropertyMetrics)(THIS_ BSTR propertyName, long *Minimum, long *Maximum, TabletPropertyMetricUnit *Units, float *Resolution) PURE;
-};
-enum TabletDeviceKind
-{
- TDK_Mouse = 0,
- TDK_Pen = 1,
- TDK_Touch = 2
-};
-DECLARE_INTERFACE_(IInkTablet2, IDispatch)
-{
- STDMETHOD(get_DeviceKind)(THIS_ TabletDeviceKind *Kind) PURE;
-};
-DECLARE_INTERFACE_(IInkTablets, IDispatch)
-{
- STDMETHOD(get_Count)(THIS_ long *Count) PURE;
- STDMETHOD(get__NewEnum)(THIS_ IUnknown **_NewEnum) PURE;
- STDMETHOD(get_DefaultTablet)(THIS_ IInkTablet **DefaultTablet) PURE;
- STDMETHOD(Item)(THIS_ long Index, IInkTablet **Tablet) PURE;
- STDMETHOD(IsPacketPropertySupported)(THIS_ BSTR packetPropertyName, VARIANT_BOOL *Supported) PURE;
-};
+#ifndef QT_NO_GESTURES
QT_BEGIN_NAMESPACE
@@ -105,4 +75,6 @@ public:
QT_END_NAMESPACE
+#endif // QT_NO_GESTURES
+
#endif // QWINNATIVEPANGESTURERECOGNIZER_WIN_P_H
diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri
index 123af1c..a5cfb84 100644
--- a/src/gui/painting/painting.pri
+++ b/src/gui/painting/painting.pri
@@ -234,7 +234,7 @@ contains(QMAKE_MAC_XARCH, no) {
IWMMXT_SOURCES += painting/qdrawhelper_iwmmxt.cpp
}
- win32-g++|!win32:!*-icc* {
+ win32-g++*|!win32:!*-icc* {
mmx {
mmx_compiler.commands = $$QMAKE_CXX -c -Winline
@@ -403,9 +403,10 @@ neon:*-g++* {
}
contains(QT_CONFIG, zlib) {
- INCLUDEPATH += ../3rdparty/zlib
+ INCLUDEPATH += ../3rdparty/zlib
} else:!contains(QT_CONFIG, no-zlib) {
- unix:LIBS_PRIVATE += -lz
-# win32:LIBS += libz.lib
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
}
diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp
index f9cd59b..83751ed 100644
--- a/src/gui/painting/qbackingstore.cpp
+++ b/src/gui/painting/qbackingstore.cpp
@@ -909,7 +909,7 @@ void QWidgetPrivate::moveRect(const QRect &rect, int dx, int dy)
QWidgetPrivate *pd = pw->d_func();
QRect clipR(pd->clipRect());
#ifdef Q_WS_QWS
- QWidgetBackingStore *wbs = x->backingStore;
+ QWidgetBackingStore *wbs = x->backingStore.data();
QWSWindowSurface *surface = static_cast<QWSWindowSurface*>(wbs->windowSurface);
clipR = clipR.intersected(surface->clipRegion().translated(-toplevelOffset).boundingRect());
#endif
@@ -939,7 +939,7 @@ void QWidgetPrivate::moveRect(const QRect &rect, int dx, int dy)
invalidateBuffer((newRect & clipR).translated(-data.crect.topLeft()));
} else {
- QWidgetBackingStore *wbs = x->backingStore;
+ QWidgetBackingStore *wbs = x->backingStore.data();
QRegion childExpose(newRect & clipR);
if (sourceRect.isValid() && wbs->bltRect(sourceRect, dx, dy, pw))
@@ -982,7 +982,7 @@ void QWidgetPrivate::scrollRect(const QRect &rect, int dx, int dy)
if (x->inTopLevelResize)
return;
- QWidgetBackingStore *wbs = x->backingStore;
+ QWidgetBackingStore *wbs = x->backingStore.data();
if (!wbs)
return;
diff --git a/src/gui/painting/qbrush.cpp b/src/gui/painting/qbrush.cpp
index b468b11..d3061d8 100644
--- a/src/gui/painting/qbrush.cpp
+++ b/src/gui/painting/qbrush.cpp
@@ -48,6 +48,7 @@
#include "qline.h"
#include "qdebug.h"
#include <QtCore/qcoreapplication.h>
+#include "private/qstylehelper_p.h"
QT_BEGIN_NAMESPACE
@@ -96,9 +97,11 @@ const uchar *qt_patternForBrush(int brushStyle, bool invert)
QPixmap qt_pixmapForBrush(int brushStyle, bool invert)
{
+
QPixmap pm;
- QString key = QLatin1String("$qt-brush$") + QString::number(brushStyle)
- + QString::number((int)invert);
+ QString key = QLatin1Literal("$qt-brush$")
+ % HexString<uint>(brushStyle)
+ % QLatin1Char(invert ? '1' : '0');
if (!QPixmapCache::find(key, pm)) {
pm = QBitmap::fromData(QSize(8, 8), qt_patternForBrush(brushStyle, invert),
QImage::Format_MonoLSB);
diff --git a/src/gui/painting/qdrawutil.cpp b/src/gui/painting/qdrawutil.cpp
index 3ce95ef..11ea6d5 100644
--- a/src/gui/painting/qdrawutil.cpp
+++ b/src/gui/painting/qdrawutil.cpp
@@ -48,6 +48,7 @@
#include <private/qpaintengineex_p.h>
#include <qvarlengtharray.h>
#include <qmath.h>
+#include <private/qstylehelper_p.h>
QT_BEGIN_NAMESPACE
@@ -1018,7 +1019,9 @@ void qDrawItem(QPainter *p, Qt::GUIStyle gs,
;
#ifndef QT_NO_IMAGE_HEURISTIC_MASK
} else { // color pixmap, no mask
- QString k = QString::fromLatin1("$qt-drawitem-%1").arg(pm.cacheKey());
+ QString k = QLatin1Literal("$qt-drawitem")
+ % HexString<qint64>(pm.cacheKey());
+
if (!QPixmapCache::find(k, pm)) {
pm = pm.createHeuristicMask();
pm.setMask((QBitmap&)pm);
diff --git a/src/gui/painting/qpaintengine_x11.cpp b/src/gui/painting/qpaintengine_x11.cpp
index aef8b80..b8ad9b3 100644
--- a/src/gui/painting/qpaintengine_x11.cpp
+++ b/src/gui/painting/qpaintengine_x11.cpp
@@ -79,6 +79,8 @@
#include <private/qtessellator_p.h>
#endif
+#include <private/qstylehelper_p.h>
+
QT_BEGIN_NAMESPACE
extern Drawable qt_x11Handle(const QPaintDevice *pd);
@@ -224,7 +226,10 @@ static const uchar base_dither_matrix[DITHER_SIZE][DITHER_SIZE] = {
static QPixmap qt_patternForAlpha(uchar alpha, int screen)
{
QPixmap pm;
- QString key = QLatin1String("$qt-alpha-brush$") + QString::number(alpha) + QString::number(screen);
+ QString key = QLatin1Literal("$qt-alpha-brush$")
+ % HexString<uchar>(alpha)
+ % HexString<int>(screen);
+
if (!QPixmapCache::find(key, pm)) {
// #### why not use a mono image here????
QImage pattern(DITHER_SIZE, DITHER_SIZE, QImage::Format_ARGB32);
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index 54e0aa3..97f754d 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -72,6 +72,7 @@
#include <private/qmath_p.h>
#include <qstatictext.h>
#include <private/qstatictext_p.h>
+#include <private/qstylehelper_p.h>
QT_BEGIN_NAMESPACE
@@ -5855,14 +5856,24 @@ void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText
return;
}
+ if (d->extended->type() == QPaintEngine::OpenGL2 && !staticText_d->untransformedCoordinates) {
+ staticText_d->untransformedCoordinates = true;
+ staticText_d->needsRelayout = true;
+ } else if (d->extended->type() != QPaintEngine::OpenGL2 && staticText_d->untransformedCoordinates) {
+ staticText_d->untransformedCoordinates = false;
+ staticText_d->needsRelayout = true;
+ }
+
// Don't recalculate entire layout because of translation, rather add the dx and dy
// into the position to move each text item the correct distance.
- QPointF transformedPosition = topLeftPosition * d->state->matrix;
- QTransform matrix = d->state->matrix;
+ QPointF transformedPosition = topLeftPosition;
+ if (!staticText_d->untransformedCoordinates)
+ transformedPosition = transformedPosition * d->state->matrix;
+ QTransform oldMatrix;
// The translation has been applied to transformedPosition. Remove translation
// component from matrix.
- if (d->state->matrix.isTranslating()) {
+ if (d->state->matrix.isTranslating() && !staticText_d->untransformedCoordinates) {
qreal m11 = d->state->matrix.m11();
qreal m12 = d->state->matrix.m12();
qreal m13 = d->state->matrix.m13();
@@ -5871,6 +5882,7 @@ void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText
qreal m23 = d->state->matrix.m23();
qreal m33 = d->state->matrix.m33();
+ oldMatrix = d->state->matrix;
d->state->matrix.setMatrix(m11, m12, m13,
m21, m22, m23,
0.0, 0.0, m33);
@@ -5879,7 +5891,7 @@ void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText
// If the transform is not identical to the text transform,
// we have to relayout the text (for other transformations than plain translation)
bool staticTextNeedsReinit = staticText_d->needsRelayout;
- if (staticText_d->matrix != d->state->matrix) {
+ if (!staticText_d->untransformedCoordinates && staticText_d->matrix != d->state->matrix) {
staticText_d->matrix = d->state->matrix;
staticTextNeedsReinit = true;
}
@@ -5918,8 +5930,8 @@ void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText
if (currentColor != oldPen.color())
setPen(oldPen);
- if (matrix.isTranslating())
- d->state->matrix = matrix;
+ if (!staticText_d->untransformedCoordinates && oldMatrix.isTranslating())
+ d->state->matrix = oldMatrix;
}
/*!
@@ -6234,10 +6246,9 @@ static QPixmap generateWavyPixmap(qreal maxRadius, const QPen &pen)
{
const qreal radiusBase = qMax(qreal(1), maxRadius);
- QString key = QLatin1String("WaveUnderline-");
- key += pen.color().name();
- key += QLatin1Char('-');
- key += QString::number(radiusBase);
+ QString key = QLatin1Literal("WaveUnderline-")
+ % pen.color().name()
+ % HexString<qreal>(radiusBase);
QPixmap pixmap;
if (QPixmapCache::find(key, pixmap))
diff --git a/src/gui/statemachine/qguistatemachine.cpp b/src/gui/statemachine/qguistatemachine.cpp
index 63ad94e..2b4c9c2 100644
--- a/src/gui/statemachine/qguistatemachine.cpp
+++ b/src/gui/statemachine/qguistatemachine.cpp
@@ -474,9 +474,11 @@ static QEvent *cloneEvent(QEvent *e)
case QEvent::TouchEnd:
return new QTouchEvent(*static_cast<QTouchEvent*>(e));
+#ifndef QT_NO_GESTURES
case QEvent::NativeGesture:
Q_ASSERT_X(false, "cloneEvent()", "not implemented");
break;
+#endif
case QEvent::RequestSoftwareInputPanel:
case QEvent::CloseSoftwareInputPanel:
diff --git a/src/gui/styles/qcommonstyle.cpp b/src/gui/styles/qcommonstyle.cpp
index 4978565..039a6da 100644
--- a/src/gui/styles/qcommonstyle.cpp
+++ b/src/gui/styles/qcommonstyle.cpp
@@ -762,7 +762,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q
#ifndef QT_NO_ITEMVIEWS
case PE_PanelItemViewRow:
if (const QStyleOptionViewItemV4 *vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(opt)) {
- QPalette::ColorGroup cg = vopt->state & QStyle::State_Enabled
+ QPalette::ColorGroup cg = (widget ? widget->isEnabled() : (vopt->state & QStyle::State_Enabled))
? QPalette::Normal : QPalette::Disabled;
if (cg == QPalette::Normal && !(vopt->state & QStyle::State_Active))
cg = QPalette::Inactive;
@@ -775,7 +775,7 @@ void QCommonStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, Q
break;
case PE_PanelItemViewItem:
if (const QStyleOptionViewItemV4 *vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(opt)) {
- QPalette::ColorGroup cg = vopt->state & QStyle::State_Enabled
+ QPalette::ColorGroup cg = (widget ? widget->isEnabled() : (vopt->state & QStyle::State_Enabled))
? QPalette::Normal : QPalette::Disabled;
if (cg == QPalette::Normal && !(vopt->state & QStyle::State_Active))
cg = QPalette::Inactive;
diff --git a/src/gui/styles/qgtkpainter.cpp b/src/gui/styles/qgtkpainter.cpp
index 79c53e9..0217a39 100644
--- a/src/gui/styles/qgtkpainter.cpp
+++ b/src/gui/styles/qgtkpainter.cpp
@@ -241,8 +241,10 @@ void QGtkPainter::paintBoxGap(GtkWidget *gtkWidget, const gchar* part,
if (rect.height() > maxHeight && (gap_side == GTK_POS_TOP || gap_side == GTK_POS_BOTTOM))
rect.setHeight(2 * border + 1);
- QString gapExtras = QString(QLS("s %0 w %1 g %2")).arg(gap_side).arg(width).arg(x);
- QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget) + gapExtras;
+ QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget)
+ % HexString<uchar>(gap_side)
+ % HexString<gint>(width)
+ % HexString<gint>(x);
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_box_gap (style,
@@ -307,7 +309,7 @@ void QGtkPainter::paintBox(GtkWidget *gtkWidget, const gchar* part,
rect.setHeight(2 * border + 1);
QString pixmapName = uniqueName(QLS(part), state, shadow,
- rect.size(), gtkWidget) + pmKey;
+ rect.size(), gtkWidget) % pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_box (style,
@@ -357,9 +359,11 @@ void QGtkPainter::paintHline(GtkWidget *gtkWidget, const gchar* part,
return;
QPixmap cache;
- QString hLineExtras = QString(QLS("%0 %1 %2")).arg(x1).arg(x2).arg(y);
QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(), gtkWidget)
- + hLineExtras + pmKey;
+ % HexString<int>(x1)
+ % HexString<int>(x2)
+ % HexString<int>(y)
+ % pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_hline (style,
pixmap,
@@ -384,9 +388,12 @@ void QGtkPainter::paintVline(GtkWidget *gtkWidget, const gchar* part,
return;
QPixmap cache;
- QString vLineExtras = QString(QLS("%0 %1 %2")).arg(y1).arg(y2).arg(x);
- QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(),
- gtkWidget) + vLineExtras +pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(), gtkWidget)
+ % HexString<int>(y1)
+ % HexString<int>(y2)
+ % HexString<int>(x)
+ % pmKey;
+
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_vline (style,
pixmap,
@@ -412,8 +419,10 @@ void QGtkPainter::paintExpander(GtkWidget *gtkWidget,
return;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(),
- gtkWidget) + QString::number(expander_state) + pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(), gtkWidget)
+ % HexString<uchar>(expander_state)
+ % pmKey;
+
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_expander (style, pixmap,
state, NULL,
@@ -436,7 +445,7 @@ void QGtkPainter::paintFocus(GtkWidget *gtkWidget, const gchar* part,
return;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(), gtkWidget) + pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, GTK_SHADOW_NONE, rect.size(), gtkWidget) % pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_focus (style, pixmap, state, NULL,
gtkWidget,
@@ -461,7 +470,7 @@ void QGtkPainter::paintResizeGrip(GtkWidget *gtkWidget, const gchar* part,
return;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget) + pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget) % pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_resize_grip (style, pixmap, state,
NULL, gtkWidget,
@@ -486,8 +495,9 @@ void QGtkPainter::paintArrow(GtkWidget *gtkWidget, const gchar* part,
return;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size()) +
- QString::number((int)arrow_type) + pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size())
+ % HexString<uchar>(arrow_type)
+ % pmKey;
GdkRectangle gtkCliprect = {0, 0, rect.width(), rect.height()};
int xOffset = m_cliprect.isValid() ? arrowrect.x() - m_cliprect.x() : 0;
@@ -518,7 +528,8 @@ void QGtkPainter::paintHandle(GtkWidget *gtkWidget, const gchar* part, const QRe
QPixmap cache;
QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size())
- + QString::number(orientation);
+ % HexString<uchar>(orientation);
+
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_handle (style,
pixmap,
@@ -546,7 +557,7 @@ void QGtkPainter::paintSlider(GtkWidget *gtkWidget, const gchar* part, const QRe
return;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget) + pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget) % pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_slider (style,
pixmap,
@@ -577,7 +588,7 @@ void QGtkPainter::paintShadow(GtkWidget *gtkWidget, const gchar* part,
QRect r = rect;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size()) + pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size()) % pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_shadow(style, pixmap, state, shadow, NULL,
gtkWidget, part, 0, 0, rect.width(), rect.height()));
@@ -596,7 +607,7 @@ void QGtkPainter::paintFlatBox(GtkWidget *gtkWidget, const gchar* part,
return;
QRect r = rect;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size()) + pmKey;
+ QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size()) % pmKey;
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_flat_box (style,
pixmap,
@@ -623,8 +634,8 @@ void QGtkPainter::paintExtention(GtkWidget *gtkWidget,
QRect r = rect;
QPixmap cache;
- QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget);
- pixmapName += QString::number(gap_pos);
+ QString pixmapName = uniqueName(QLS(part), state, shadow, rect.size(), gtkWidget)
+ % HexString<uchar>(gap_pos);
if (!m_usePixmapCache || !QPixmapCache::find(pixmapName, cache)) {
DRAW_TO_CACHE(QGtkStylePrivate::gtk_paint_extension (style, pixmap, state, shadow,
diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp
index 9d6dc9a..c989bd3 100644
--- a/src/gui/styles/qgtkstyle.cpp
+++ b/src/gui/styles/qgtkstyle.cpp
@@ -67,6 +67,7 @@
#include <QtGui/QRadioButton>
#include <QtGui/QCheckBox>
#include <QtGui/QTreeView>
+#include <QtGui/QStyledItemDelegate>
#include <qpixmapcache.h>
#undef signals // Collides with GTK stymbols
#include <private/qgtkpainter_p.h>
@@ -692,7 +693,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
// thin rectangular images
const int pmSize = 64;
const int border = proxy()->pixelMetric(PM_DefaultFrameWidth, option, widget);
- const QString pmKey = QString(QLS("windowframe %0")).arg(option->state);
+ const QString pmKey = QLatin1Literal("windowframe") % HexString<uint>(option->state);
QPixmap pixmap;
QRect pmRect(QPoint(0,0), QSize(pmSize, pmSize));
@@ -817,24 +818,50 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
option->state & State_Open ? openState : closedState , gtkTreeView->style);
}
break;
+
+ case PE_PanelItemViewRow:
+ // This primitive is only used to draw selection behind selected expander arrows.
+ // We try not to decorate the tree branch background unless you inherit from StyledItemDelegate
+ // The reason for this is that a lot of code that relies on custom item delegates will look odd having
+ // a gradient on the branch but a flat shaded color on the item itself.
+ QCommonStyle::drawPrimitive(element, option, painter, widget);
+ if (!option->state & State_Selected) {
+ break;
+ } else {
+ if (const QAbstractItemView *view = qobject_cast<const QAbstractItemView*>(widget)) {
+ if (!qobject_cast<QStyledItemDelegate*>(view->itemDelegate()))
+ break;
+ }
+ } // fall through
+
case PE_PanelItemViewItem:
if (const QStyleOptionViewItemV4 *vopt = qstyleoption_cast<const QStyleOptionViewItemV4 *>(option)) {
- if (vopt->state & State_Selected) {
- QLinearGradient gradient;
- gradient.setStart(option->rect.left(), option->rect.top());
- gradient.setFinalStop(option->rect.left(), option->rect.bottom());
- gradient.setColorAt(0, option->palette.highlight().color().lighter(105));
- gradient.setColorAt(0.5, option->palette.highlight().color().lighter(101));
- gradient.setColorAt(0.51, option->palette.highlight().color().darker(101));
- gradient.setColorAt(1, option->palette.highlight().color().darker(105));
- painter->fillRect(option->rect, gradient);
- } else {
- if (vopt->backgroundBrush.style() != Qt::NoBrush) {
- QPointF oldBO = painter->brushOrigin();
- painter->setBrushOrigin(vopt->rect.topLeft());
- painter->fillRect(vopt->rect, vopt->backgroundBrush);
- painter->setBrushOrigin(oldBO);
+ if (vopt->backgroundBrush.style() != Qt::NoBrush) {
+ QPointF oldBO = painter->brushOrigin();
+ painter->setBrushOrigin(vopt->rect.topLeft());
+ painter->fillRect(vopt->rect, vopt->backgroundBrush);
+ painter->setBrushOrigin(oldBO);
+ if (!(option->state & State_Selected))
+ break;
+ }
+ if (GtkWidget *gtkTreeView = d->gtkWidget("GtkTreeView")) {
+ const char *detail = "cell_even_ruled";
+ if (vopt && vopt->features & QStyleOptionViewItemV2::Alternate)
+ detail = "cell_odd_ruled";
+ bool isActive = option->state & State_Active;
+ QString key;
+ if (isActive ) {
+ // Required for active/non-active window appearance
+ key = QLS("a");
+ GTK_WIDGET_SET_FLAGS(gtkTreeView, GTK_HAS_FOCUS);
}
+ bool isEnabled = (widget ? widget->isEnabled() : (vopt->state & QStyle::State_Enabled));
+ gtkPainter.paintFlatBox(gtkTreeView, detail, option->rect,
+ option->state & State_Selected ? GTK_STATE_SELECTED :
+ isEnabled ? GTK_STATE_NORMAL : GTK_STATE_INSENSITIVE,
+ GTK_SHADOW_OUT, gtkTreeView->style, key);
+ if (isActive )
+ GTK_WIDGET_UNSET_FLAGS(gtkTreeView, GTK_HAS_FOCUS);
}
}
break;
diff --git a/src/gui/styles/qplastiquestyle.cpp b/src/gui/styles/qplastiquestyle.cpp
index c8711f6..20d9bd9 100644
--- a/src/gui/styles/qplastiquestyle.cpp
+++ b/src/gui/styles/qplastiquestyle.cpp
@@ -488,7 +488,9 @@ static void qBrushSetAlphaF(QBrush *brush, qreal alpha)
// Modify the texture - ridiculously expensive.
QPixmap texture = brush->texture();
QPixmap pixmap;
- QString name = QString::fromLatin1("qbrushtexture-alpha-%1-%2").arg(alpha).arg(texture.cacheKey());
+ QString name = QLatin1Literal("qbrushtexture-alpha")
+ % HexString<qreal>(alpha)
+ % HexString<qint64>(texture.cacheKey());
if (!QPixmapCache::find(name, pixmap)) {
QImage image = texture.toImage();
QRgb *rgb = reinterpret_cast<QRgb *>(image.bits());
@@ -549,7 +551,10 @@ static QBrush qBrushLight(QBrush brush, int light)
// Modify the texture - ridiculously expensive.
QPixmap texture = brush.texture();
QPixmap pixmap;
- QString name = QString::fromLatin1("qbrushtexture-light-%1-%2").arg(light).arg(texture.cacheKey());
+ QString name = QLatin1Literal("qbrushtexture-light")
+ % HexString<int>(light)
+ % HexString<qint64>(texture.cacheKey());
+
if (!QPixmapCache::find(name, pixmap)) {
QImage image = texture.toImage();
QRgb *rgb = reinterpret_cast<QRgb *>(image.bits());
@@ -608,7 +613,10 @@ static QBrush qBrushDark(QBrush brush, int dark)
// Modify the texture - ridiculously expensive.
QPixmap texture = brush.texture();
QPixmap pixmap;
- QString name = QString::fromLatin1("qbrushtexture-dark-%1-%2").arg(dark).arg(brush.texture().cacheKey());
+ QString name = QLatin1Literal("qbrushtexture-dark")
+ % HexString<int>(dark)
+ % HexString<qint64>(texture.cacheKey());
+
if (!QPixmapCache::find(name, pixmap)) {
QImage image = texture.toImage();
QRgb *rgb = reinterpret_cast<QRgb *>(image.bits());
@@ -732,8 +740,12 @@ static QColor mergedColors(const QColor &colorA, const QColor &colorB, int facto
static void qt_plastique_draw_gradient(QPainter *painter, const QRect &rect, const QColor &gradientStart,
const QColor &gradientStop)
{
- QString gradientName;
- gradientName.sprintf("%dx%d-%x-%x", rect.width(), rect.height(), gradientStart.rgba(), gradientStop.rgba());
+ QString gradientName = QLatin1Literal("qplastique-g")
+ % HexString<int>(rect.width())
+ % HexString<int>(rect.height())
+ % HexString<QRgb>(gradientStart.rgba())
+ % HexString<QRgb>(gradientStop.rgba());
+
QPixmap cache;
QPainter *p = painter;
QRect r = rect;
@@ -1092,14 +1104,6 @@ void QPlastiqueStyle::drawPrimitive(PrimitiveElement element, const QStyleOption
Q_ASSERT(option);
QColor borderColor = option->palette.background().color().darker(178);
- QColor gradientStartColor = option->palette.button().color().lighter(104);
- QColor gradientStopColor = option->palette.button().color().darker(105);
- QColor highlightedGradientStartColor = option->palette.button().color().lighter(101);
- QColor highlightedGradientStopColor = mergedColors(option->palette.button().color(), option->palette.highlight().color(), 85);
- QColor highlightedBaseGradientStartColor = option->palette.base().color();
- QColor highlightedBaseGradientStopColor = mergedColors(option->palette.base().color().darker(105), option->palette.highlight().color(), 70);
- QColor highlightedDarkInnerBorderColor = mergedColors(option->palette.button().color(), option->palette.highlight().color(), 35);
- QColor highlightedLightInnerBorderColor = mergedColors(option->palette.button().color(), option->palette.highlight().color(), 58);
QColor alphaCornerColor;
if (widget) {
// ### backgroundrole/foregroundrole should be part of the style option
@@ -1107,13 +1111,7 @@ void QPlastiqueStyle::drawPrimitive(PrimitiveElement element, const QStyleOption
} else {
alphaCornerColor = mergedColors(option->palette.background().color(), borderColor);
}
- QColor alphaInnerColor = mergedColors(highlightedLightInnerBorderColor, gradientStartColor);
- QColor alphaInnerColorNoHover = mergedColors(borderColor, gradientStartColor);
QColor alphaTextColor = mergedColors(option->palette.background().color(), option->palette.text().color());
- QColor alphaLightTextColor = mergedColors(option->palette.background().color().lighter(250), option->palette.text().color().lighter(250));
- QColor lightShadow = option->palette.button().color().lighter(105);
- QColor shadowGradientStartColor = option->palette.button().color().darker(115);
- QColor shadow = shadowGradientStartColor;
switch (element) {
case PE_IndicatorButtonDropDown:
@@ -2057,7 +2055,6 @@ void QPlastiqueStyle::drawControl(ControlElement element, const QStyleOption *op
bool reverse = (tab->direction == Qt::RightToLeft);
int lowerTop = selected ? 0 : 3; // to make the selected tab bigger than the rest
- QRect adjustedRect;
bool atEnd = (tab->position == QStyleOptionTab::End) || onlyTab;
bool atBeginning = ((tab->position == QStyleOptionTab::Beginning) || onlyTab)
&& !leftCornerWidget;
diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp
index d28e1d9..4992e34 100644
--- a/src/gui/styles/qs60style.cpp
+++ b/src/gui/styles/qs60style.cpp
@@ -1750,6 +1750,12 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
}
const bool enabled = optionMenuItem.state & State_Enabled;
const bool checkable = optionMenuItem.checkType != QStyleOptionMenuItem::NotCheckable;
+ bool ignoreCheckMark = false;
+
+#ifndef QT_NO_COMBOBOX
+ if (qobject_cast<const QComboBox*>(widget))
+ ignoreCheckMark = true; //ignore the checkmarks provided by the QComboMenuDelegate
+#endif
uint text_flags = Qt::AlignLeading | Qt::TextShowMnemonic | Qt::TextDontClip
| Qt::TextSingleLine | Qt::AlignVCenter;
@@ -1787,7 +1793,8 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
iconRect.translate(-optionCheckBox.rect.width() - vSpacing, 0);
optionCheckBox.rect.translate(textRect.width() + iconRect.width(), 0);
}
- drawPrimitive(PE_IndicatorMenuCheckMark, &optionCheckBox, painter, widget);
+ if (!ignoreCheckMark)
+ drawPrimitive(PE_IndicatorMenuCheckMark, &optionCheckBox, painter, widget);
}
//draw icon and/or checkState
QPixmap pix = menuItem->icon.pixmap(pixelMetric(PM_SmallIconSize),
diff --git a/src/gui/styles/qstylesheetstyle.cpp b/src/gui/styles/qstylesheetstyle.cpp
index 515b6c7..43fa4b9 100644
--- a/src/gui/styles/qstylesheetstyle.cpp
+++ b/src/gui/styles/qstylesheetstyle.cpp
@@ -3190,7 +3190,7 @@ void QStyleSheetStyle::drawComplexControl(ComplexControl cc, const QStyleOptionC
subRule2.drawRule(p, r);
}
- handleSubRule.drawRule(p, grooveSubRule.boxRect(hr, Margin));
+ handleSubRule.drawRule(p, handleSubRule.boxRect(hr, Margin));
}
if (slider->subControls & SC_SliderTickmarks) {
diff --git a/src/gui/styles/qwindowsstyle.cpp b/src/gui/styles/qwindowsstyle.cpp
index 0314c6f..579dd0b 100644
--- a/src/gui/styles/qwindowsstyle.cpp
+++ b/src/gui/styles/qwindowsstyle.cpp
@@ -1388,8 +1388,9 @@ void QWindowsStyle::drawPrimitive(PrimitiveElement pe, const QStyleOption *opt,
QRect r = opt->rect;
int size = qMin(r.height(), r.width());
QPixmap pixmap;
- QString pixmapName = QStyleHelper::uniqueName(QLatin1String("$qt_ia-") + QLatin1String(metaObject()->className()), opt, QSize(size, size))
- + QLatin1Char('-') + QString::number(pe);
+ QString pixmapName = QStyleHelper::uniqueName(QLatin1String("$qt_ia-")
+ % QLatin1String(metaObject()->className()), opt, QSize(size, size))
+ % HexString<uint>(pe);
if (!QPixmapCache::find(pixmapName, pixmap)) {
int border = size/5;
int sqsize = 2*(size/2);
diff --git a/src/gui/text/qfontdatabase_s60.cpp b/src/gui/text/qfontdatabase_s60.cpp
index 489b70b..943df7f 100644
--- a/src/gui/text/qfontdatabase_s60.cpp
+++ b/src/gui/text/qfontdatabase_s60.cpp
@@ -49,12 +49,12 @@
#include <private/qt_s60_p.h>
#include "qendian.h"
#include <private/qcore_symbian_p.h>
-#if defined(QT_NO_FREETYPE)
+#ifdef QT_NO_FREETYPE
#include <openfont.h>
#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
#include <graphics/openfontrasterizer.h> // COpenFontRasterizer has moved to a new header file
#endif // SYMBIAN_ENABLE_SPLIT_HEADERS
-#endif
+#endif // QT_NO_FREETYPE
QT_BEGIN_NAMESPACE
@@ -91,7 +91,7 @@ QFileInfoList alternativeFilePaths(const QString &path, const QStringList &nameF
return result;
}
-#if defined(QT_NO_FREETYPE)
+#ifdef QT_NO_FREETYPE
class QSymbianFontDatabaseExtrasImplementation : public QSymbianFontDatabaseExtras
{
public:
@@ -100,16 +100,41 @@ public:
const QSymbianTypeFaceExtras *extras(const QString &typeface, bool bold, bool italic) const;
+#ifndef Q_SYMBIAN_HAS_FONTTABLE_API
+ struct CFontFromFontStoreReleaser {
+ static inline void cleanup(CFont *font)
+ {
+ if (!font)
+ return;
+ const QSymbianFontDatabaseExtrasImplementation *dbExtras =
+ static_cast<const QSymbianFontDatabaseExtrasImplementation*>(privateDb()->symbianExtras);
+ dbExtras->m_store->ReleaseFont(font);
+ }
+ };
+#endif // !Q_SYMBIAN_HAS_FONTTABLE_API
+
+ struct CFontFromScreenDeviceReleaser {
+ static inline void cleanup(CFont *font)
+ {
+ if (!font)
+ return;
+ QS60Data::screenDevice()->ReleaseFont(font);
+ }
+ };
+
private:
+#ifndef Q_SYMBIAN_HAS_FONTTABLE_API
RHeap* m_heap;
CFontStore *m_store;
COpenFontRasterizer *m_rasterizer;
mutable QList<const QSymbianTypeFaceExtras *> m_extras;
+#endif // !Q_SYMBIAN_HAS_FONTTABLE_API
mutable QHash<QString, const QSymbianTypeFaceExtras *> m_extrasHash;
};
QSymbianFontDatabaseExtrasImplementation::QSymbianFontDatabaseExtrasImplementation()
{
+#ifndef Q_SYMBIAN_HAS_FONTTABLE_API
QStringList filters;
filters.append(QLatin1String("*.ttf"));
filters.append(QLatin1String("*.ccc"));
@@ -131,10 +156,14 @@ QSymbianFontDatabaseExtrasImplementation::QSymbianFontDatabaseExtrasImplementati
TPtrC fontFilePtr(qt_QString2TPtrC(fontFile));
QT_TRAP_THROWING(m_store->AddFileL(fontFilePtr));
}
+#endif // !Q_SYMBIAN_HAS_FONTTABLE_API
}
QSymbianFontDatabaseExtrasImplementation::~QSymbianFontDatabaseExtrasImplementation()
{
+#ifdef Q_SYMBIAN_HAS_FONTTABLE_API
+ qDeleteAll(m_extrasHash);
+#else // Q_SYMBIAN_HAS_FONTTABLE_API
typedef QList<const QSymbianTypeFaceExtras *>::iterator iterator;
for (iterator p = m_extras.begin(); p != m_extras.end(); ++p) {
m_store->ReleaseFont((*p)->fontOwner());
@@ -143,6 +172,7 @@ QSymbianFontDatabaseExtrasImplementation::~QSymbianFontDatabaseExtrasImplementat
delete m_store;
m_heap->Close();
+#endif // Q_SYMBIAN_HAS_FONTTABLE_API
}
#ifndef FNTSTORE_H_INLINES_SUPPORT_FMM
@@ -167,26 +197,37 @@ const QSymbianTypeFaceExtras *QSymbianFontDatabaseExtrasImplementation::extras(c
{
const QString searchKey = typeface + QString::number(int(bold)) + QString::number(int(italic));
if (!m_extrasHash.contains(searchKey)) {
- CFont* font = NULL;
TFontSpec searchSpec(qt_QString2TPtrC(typeface), 1);
if (bold)
searchSpec.iFontStyle.SetStrokeWeight(EStrokeWeightBold);
if (italic)
searchSpec.iFontStyle.SetPosture(EPostureItalic);
+
+ CFont* font = NULL;
+#ifdef Q_SYMBIAN_HAS_FONTTABLE_API
+ const TInt err = QS60Data::screenDevice()->GetNearestFontToDesignHeightInPixels(font, searchSpec);
+ Q_ASSERT(err == KErrNone && font);
+ QScopedPointer<CFont, CFontFromScreenDeviceReleaser> sFont(font);
+ QSymbianTypeFaceExtras *extras = new QSymbianTypeFaceExtras(font);
+ sFont.take();
+ m_extrasHash.insert(searchKey, extras);
+#else // Q_SYMBIAN_HAS_FONTTABLE_API
const TInt err = m_store->GetNearestFontToDesignHeightInPixels(font, searchSpec);
Q_ASSERT(err == KErrNone && font);
const CBitmapFont *bitmapFont = static_cast<CBitmapFont*>(font);
COpenFont *openFont =
#ifdef FNTSTORE_H_INLINES_SUPPORT_FMM
- bitmapFont->openFont();
-#else
+ bitmapFont->OpenFont();
+#else // FNTSTORE_H_INLINES_SUPPORT_FMM
OpenFontFromBitmapFont(bitmapFont);
#endif // FNTSTORE_H_INLINES_SUPPORT_FMM
const TOpenFontFaceAttrib* const attrib = openFont->FaceAttrib();
const QString foundKey =
QString((const QChar*)attrib->FullName().Ptr(), attrib->FullName().Length());
if (!m_extrasHash.contains(foundKey)) {
+ QScopedPointer<CFont, CFontFromFontStoreReleaser> sFont(font);
QSymbianTypeFaceExtras *extras = new QSymbianTypeFaceExtras(font, openFont);
+ sFont.take();
m_extras.append(extras);
m_extrasHash.insert(searchKey, extras);
m_extrasHash.insert(foundKey, extras);
@@ -194,10 +235,11 @@ const QSymbianTypeFaceExtras *QSymbianFontDatabaseExtrasImplementation::extras(c
m_store->ReleaseFont(font);
m_extrasHash.insert(searchKey, m_extrasHash.value(foundKey));
}
+#endif // Q_SYMBIAN_HAS_FONTTABLE_API
}
return m_extrasHash.value(searchKey);
}
-#else
+#else // QT_NO_FREETYPE
class QFontEngineFTS60 : public QFontEngineFT
{
public:
@@ -209,7 +251,7 @@ QFontEngineFTS60::QFontEngineFTS60(const QFontDef &fd)
{
default_hint_style = HintFull;
}
-#endif // defined(QT_NO_FREETYPE)
+#endif // QT_NO_FREETYPE
/*
QFontEngineS60::pixelsToPoints, QFontEngineS60::pointsToPixels, QFontEngineMultiS60::QFontEngineMultiS60
@@ -261,12 +303,12 @@ static void initializeDb()
if(!db || db->count)
return;
-#if defined(QT_NO_FREETYPE)
+#ifdef QT_NO_FREETYPE
if (!db->symbianExtras)
db->symbianExtras = new QSymbianFontDatabaseExtrasImplementation;
QSymbianFbsHeapLock lock(QSymbianFbsHeapLock::Unlock);
-
+
const int numTypeFaces = QS60Data::screenDevice()->NumTypefaces();
const QSymbianFontDatabaseExtrasImplementation *dbExtras =
static_cast<const QSymbianFontDatabaseExtrasImplementation*>(db->symbianExtras);
@@ -278,6 +320,7 @@ static void initializeDb()
TFontSpec fontSpec(typefaceSupport.iTypeface.iName, 11);
if (QS60Data::screenDevice()->GetNearestFontInPixels(font, fontSpec) != KErrNone)
continue;
+ QScopedPointer<CFont, QSymbianFontDatabaseExtrasImplementation::CFontFromScreenDeviceReleaser> sFont(font);
if (font->TypeUid() == KCFbsFontUid) {
TOpenFontFaceAttrib faceAttrib;
const CFbsFont *cfbsFont = static_cast<const CFbsFont *>(font);
@@ -318,14 +361,13 @@ static void initializeDb()
fontAdded = true;
}
- QS60Data::screenDevice()->ReleaseFont(font);
}
Q_ASSERT(fontAdded);
- lock.relock();
+ lock.relock();
-#else // defined(QT_NO_FREETYPE)
+#else // QT_NO_FREETYPE
QDir dir(QDesktopServices::storageLocation(QDesktopServices::FontsLocation));
dir.setNameFilters(QStringList() << QLatin1String("*.ttf")
<< QLatin1String("*.ttc") << QLatin1String("*.pfa")
@@ -334,7 +376,7 @@ static void initializeDb()
const QByteArray file = QFile::encodeName(dir.absoluteFilePath(dir[i]));
db->addTTFile(file);
}
-#endif // defined(QT_NO_FREETYPE)
+#endif // QT_NO_FREETYPE
}
static inline void load(const QString &family = QString(), int script = -1)
@@ -416,13 +458,13 @@ QFontEngine *QFontDatabase::findFont(int script, const QFontPrivate *, const QFo
const QString fontFamily = desc.family->name;
QFontDef request = req;
request.family = fontFamily;
-#if defined(QT_NO_FREETYPE)
+#ifdef QT_NO_FREETYPE
const QSymbianFontDatabaseExtrasImplementation *dbExtras =
static_cast<const QSymbianFontDatabaseExtrasImplementation*>(db->symbianExtras);
const QSymbianTypeFaceExtras *typeFaceExtras =
dbExtras->extras(fontFamily, request.weight > QFont::Normal, request.style != QFont::StyleNormal);
fe = new QFontEngineS60(request, typeFaceExtras);
-#else
+#else // QT_NO_FREETYPE
QFontEngine::FaceId faceId;
const QtFontFamily * const reqQtFontFamily = db->family(fontFamily);
faceId.filename = reqQtFontFamily->fontFilename;
@@ -433,7 +475,7 @@ QFontEngine *QFontDatabase::findFont(int script, const QFontPrivate *, const QFo
fe = fte;
else
delete fte;
-#endif
+#endif // QT_NO_FREETYPE
Q_ASSERT(fe);
if (script == QUnicodeTables::Common
diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp
index 449dffd..9056012 100644
--- a/src/gui/text/qfontengine_ft.cpp
+++ b/src/gui/text/qfontengine_ft.cpp
@@ -58,6 +58,7 @@
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_OUTLINE_H
+#include FT_SYNTHESIS_H
#include FT_TRUETYPE_TABLES_H
#include FT_TYPE1_TABLES_H
#include FT_GLYPH_H
@@ -617,6 +618,7 @@ QFontEngineFT::QFontEngineFT(const QFontDef &fd)
cache_cost = 100;
kerning_pairs_loaded = false;
transform = false;
+ embolden = false;
antialias = true;
freetype = 0;
default_load_flags = FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH;
@@ -679,10 +681,7 @@ bool QFontEngineFT::init(FaceId faceId, bool antialias, GlyphFormat format)
FT_Face face = lockFace();
- //underline metrics
if (FT_IS_SCALABLE(face)) {
- line_thickness = QFixed::fromFixed(FT_MulFix(face->underline_thickness, face->size->metrics.y_scale));
- underline_position = QFixed::fromFixed(-FT_MulFix(face->underline_position, face->size->metrics.y_scale));
bool fake_oblique = (fontDef.style != QFont::StyleNormal) && !(face->style_flags & FT_STYLE_FLAG_ITALIC);
if (fake_oblique)
matrix.xy = 0x10000*3/10;
@@ -690,6 +689,12 @@ bool QFontEngineFT::init(FaceId faceId, bool antialias, GlyphFormat format)
freetype->matrix = matrix;
if (fake_oblique)
transform = true;
+ // fake bold
+ if ((fontDef.weight == QFont::Bold) && !(face->style_flags & FT_STYLE_FLAG_BOLD))
+ embolden = true;
+ // underline metrics
+ line_thickness = QFixed::fromFixed(FT_MulFix(face->underline_thickness, face->size->metrics.y_scale));
+ underline_position = QFixed::fromFixed(-FT_MulFix(face->underline_position, face->size->metrics.y_scale));
} else {
// copied from QFontEngineQPF
// ad hoc algorithm
@@ -789,6 +794,7 @@ QFontEngineFT::Glyph *QFontEngineFT::loadGlyphMetrics(QGlyphSet *set, uint glyph
}
FT_GlyphSlot slot = face->glyph;
+ if (embolden) FT_GlyphSlot_Embolden(slot);
int left = slot->metrics.horiBearingX;
int right = slot->metrics.horiBearingX + slot->metrics.width;
int top = slot->metrics.horiBearingY;
@@ -934,6 +940,7 @@ QFontEngineFT::Glyph *QFontEngineFT::loadGlyph(QGlyphSet *set, uint glyph, Glyph
return 0;
FT_GlyphSlot slot = face->glyph;
+ if (embolden) FT_GlyphSlot_Embolden(slot);
FT_Library library = qt_getFreetype();
info.xOff = TRUNC(ROUND(slot->advance.x));
@@ -1209,6 +1216,8 @@ int QFontEngineFT::synthesized() const
int s = 0;
if ((fontDef.style != QFont::StyleNormal) && !(freetype->face->style_flags & FT_STYLE_FLAG_ITALIC))
s = SynthesizedItalic;
+ if ((fontDef.weight == QFont::Bold) && !(freetype->face->style_flags & FT_STYLE_FLAG_BOLD))
+ s |= SynthesizedBold;
if (fontDef.stretch != 100 && FT_IS_SCALABLE(freetype->face))
s |= SynthesizedStretch;
return s;
diff --git a/src/gui/text/qfontengine_ft_p.h b/src/gui/text/qfontengine_ft_p.h
index 12b7da8..2f05a8b 100644
--- a/src/gui/text/qfontengine_ft_p.h
+++ b/src/gui/text/qfontengine_ft_p.h
@@ -304,6 +304,7 @@ protected:
bool antialias;
bool transform;
+ bool embolden;
SubpixelAntialiasingType subpixelType;
int lcdFilterType;
bool canUploadGlyphsToServer;
diff --git a/src/gui/text/qfontengine_s60.cpp b/src/gui/text/qfontengine_s60.cpp
index 93f02ff..925b3bf 100644
--- a/src/gui/text/qfontengine_s60.cpp
+++ b/src/gui/text/qfontengine_s60.cpp
@@ -50,21 +50,73 @@
#include <e32std.h>
#include <eikenv.h>
#include <gdi.h>
+#if defined(Q_SYMBIAN_HAS_FONTTABLE_API) || defined(Q_SYMBIAN_HAS_GLYPHOUTLINE_API)
+#include <graphics/gdi/gdiplatapi.h>
+#endif // Q_SYMBIAN_HAS_FONTTABLE_API || Q_SYMBIAN_HAS_GLYPHOUTLINE_API
QT_BEGIN_NAMESPACE
-QSymbianTypeFaceExtras::QSymbianTypeFaceExtras(CFont* fontOwner, COpenFont *font)
- : m_font(font)
- , m_cmap(0)
+#ifdef Q_SYMBIAN_HAS_FONTTABLE_API
+QSymbianTypeFaceExtras::QSymbianTypeFaceExtras(CFont* cFont, COpenFont *openFont)
+ : m_cFont(cFont)
, m_symbolCMap(false)
- , m_fontOwner(fontOwner)
+{
+ Q_UNUSED(openFont)
+}
+
+QSymbianTypeFaceExtras::~QSymbianTypeFaceExtras()
+{
+ QS60Data::screenDevice()->ReleaseFont(m_cFont);
+}
+
+QByteArray QSymbianTypeFaceExtras::getSfntTable(uint tag) const
+{
+ RFontTable fontTable;
+ if (fontTable.Open(*m_cFont, tag) != KErrNone)
+ return QByteArray();
+ const QByteArray byteArray(reinterpret_cast<const char *>
+ (fontTable.TableContent()),fontTable.TableLength());
+ fontTable.Close();
+ return byteArray;
+}
+
+bool QSymbianTypeFaceExtras::getSfntTableData(uint tag, uchar *buffer, uint *length) const
+{
+ RFontTable fontTable;
+ if (fontTable.Open(*m_cFont, tag) != KErrNone)
+ return false;
+
+ bool result = true;
+ const TInt tableByteLength = fontTable.TableLength();
+
+ if (*length > 0 && *length < tableByteLength) {
+ result = false; // Caller did not allocate enough memory
+ } else {
+ *length = tableByteLength;
+ if (buffer)
+ qMemCopy(buffer, fontTable.TableContent(), tableByteLength);
+ }
+
+ fontTable.Close();
+ return result;
+}
+
+#else // Q_SYMBIAN_HAS_FONTTABLE_API
+QSymbianTypeFaceExtras::QSymbianTypeFaceExtras(CFont* cFont, COpenFont *openFont)
+ : m_cFont(cFont)
+ , m_symbolCMap(false)
+ , m_openFont(openFont)
{
TAny *trueTypeExtension = NULL;
- m_font->ExtendedInterface(KUidOpenFontTrueTypeExtension, trueTypeExtension);
+ m_openFont->ExtendedInterface(KUidOpenFontTrueTypeExtension, trueTypeExtension);
m_trueTypeExtension = static_cast<MOpenFontTrueTypeExtension*>(trueTypeExtension);
Q_ASSERT(m_trueTypeExtension);
}
+QSymbianTypeFaceExtras::~QSymbianTypeFaceExtras()
+{
+}
+
QByteArray QSymbianTypeFaceExtras::getSfntTable(uint tag) const
{
Q_ASSERT(m_trueTypeExtension->HasTrueTypeTable(tag));
@@ -100,23 +152,25 @@ bool QSymbianTypeFaceExtras::getSfntTableData(uint tag, uchar *buffer, uint *len
m_trueTypeExtension->ReleaseTrueTypeTable(table);
return result;
}
+#endif // Q_SYMBIAN_HAS_FONTTABLE_API
-const unsigned char *QSymbianTypeFaceExtras::cmap() const
+const uchar *QSymbianTypeFaceExtras::cmap() const
{
- if (!m_cmap) {
- m_cmapTable = getSfntTable(MAKE_TAG('c', 'm', 'a', 'p'));
+ if (m_cmapTable.isNull()) {
+ const QByteArray cmapTable = getSfntTable(MAKE_TAG('c', 'm', 'a', 'p'));
int size = 0;
- m_cmap = QFontEngineS60::getCMap(reinterpret_cast<const uchar *>(m_cmapTable.constData()), m_cmapTable.size(), &m_symbolCMap, &size);
+ const uchar *cmap = QFontEngine::getCMap(reinterpret_cast<const uchar *>
+ (cmapTable.constData()), cmapTable.size(), &m_symbolCMap, &size);
+ m_cmapTable = QByteArray(reinterpret_cast<const char *>(cmap), size);
}
- return m_cmap;
+ return reinterpret_cast<const uchar *>(m_cmapTable.constData());
}
CFont *QSymbianTypeFaceExtras::fontOwner() const
{
- return m_fontOwner;
+ return m_cFont;
}
-
// duplicated from qfontengine_xyz.cpp
static inline unsigned int getChar(const QChar *str, int &i, const int len)
{
@@ -225,6 +279,35 @@ void QFontEngineS60::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFla
}
}
+#ifdef Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+static bool parseGlyphPathData(const char *dataStr, const char *dataEnd, QPainterPath &path,
+ qreal fontPixelSize, const QPointF &offset, bool hinted);
+#endif //Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+
+void QFontEngineS60::addGlyphsToPath(glyph_t *glyphs, QFixedPoint *positions,
+ int nglyphs, QPainterPath *path,
+ QTextItem::RenderFlags flags)
+{
+#ifdef Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+ Q_UNUSED(flags)
+ RGlyphOutlineIterator iterator;
+ const TInt error = iterator.Open(*m_activeFont, glyphs, nglyphs);
+ if (KErrNone != error)
+ return;
+ const qreal fontSizeInPixels = qreal(m_activeFont->HeightInPixels());
+ int count = 0;
+ do {
+ const TUint8* outlineUint8 = iterator.Outline();
+ const char* const outlineChar = reinterpret_cast<const char*>(outlineUint8);
+ const char* const outlineEnd = outlineChar + iterator.OutlineLength();
+ parseGlyphPathData(outlineChar, outlineEnd, *path, fontSizeInPixels,
+ positions[count++].toPointF(), false);
+ } while(KErrNone == iterator.Next() && count <= nglyphs);
+#else // Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+ QFontEngine::addGlyphsToPath(glyphs, positions, nglyphs, path, flags);
+#endif //Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+}
+
QImage QFontEngineS60::alphaMapForGlyph(glyph_t glyph)
{
TOpenFontCharMetrics metrics;
@@ -356,4 +439,69 @@ void QFontEngineS60::getCharacterData(glyph_t glyph, TOpenFontCharMetrics& metri
}
}
+#ifdef Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+static inline void skipSpacesAndComma(const char* &str, const char* const strEnd)
+{
+ while (str <= strEnd && (*str == ' ' || *str == ','))
+ ++str;
+}
+
+static bool parseGlyphPathData(const char *svgPath, const char *svgPathEnd, QPainterPath &path,
+ qreal fontPixelSize, const QPointF &offset, bool hinted)
+{
+ Q_UNUSED(hinted)
+ QPointF p1, p2, firstSubPathPoint;
+ qreal *elementValues[] =
+ {&p1.rx(), &p1.ry(), &p2.rx(), &p2.ry()};
+ const int unitsPerEm = 2048; // See: http://en.wikipedia.org/wiki/Em_%28typography%29
+ const qreal resizeFactor = fontPixelSize / unitsPerEm;
+
+ while (svgPath < svgPathEnd) {
+ skipSpacesAndComma(svgPath, svgPathEnd);
+ const char pathElem = *svgPath++;
+ skipSpacesAndComma(svgPath, svgPathEnd);
+
+ if (pathElem != 'Z') {
+ char *endStr = 0;
+ int elementValuesCount = 0;
+ for (int i = 0; i < 4; ++i) { // 4 = size of elementValues[]
+ qreal coordinateValue = strtod(svgPath, &endStr);
+ if (svgPath == endStr)
+ break;
+ if (i % 2) // Flip vertically
+ coordinateValue = -coordinateValue;
+ *elementValues[i] = coordinateValue * resizeFactor;
+ elementValuesCount++;
+ svgPath = endStr;
+ skipSpacesAndComma(svgPath, svgPathEnd);
+ }
+ p1 += offset;
+ if (elementValuesCount == 2)
+ p2 = firstSubPathPoint;
+ else
+ p2 += offset;
+ }
+
+ switch (pathElem) {
+ case 'M':
+ firstSubPathPoint = p1;
+ path.moveTo(p1);
+ break;
+ case 'Z':
+ path.closeSubpath();
+ break;
+ case 'L':
+ path.lineTo(p1);
+ break;
+ case 'Q':
+ path.quadTo(p1, p2);
+ break;
+ default:
+ return false;
+ }
+ }
+ return true;
+}
+#endif // Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+
QT_END_NAMESPACE
diff --git a/src/gui/text/qfontengine_s60_p.h b/src/gui/text/qfontengine_s60_p.h
index 6883730..beeb4cc 100644
--- a/src/gui/text/qfontengine_s60_p.h
+++ b/src/gui/text/qfontengine_s60_p.h
@@ -58,6 +58,14 @@
#include "qsize.h"
#include <openfont.h>
+#ifdef SYMBIAN_GDI_GLYPHDATA
+#define Q_SYMBIAN_HAS_FONTTABLE_API
+#endif
+
+#ifdef Q_SYMBIAN_HAS_FONTTABLE_API
+#define Q_SYMBIAN_HAS_GLYPHOUTLINE_API
+#endif // Q_SYMBIAN_HAS_FONTTABLE_API
+
class CFont;
QT_BEGIN_NAMESPACE
@@ -66,20 +74,22 @@ QT_BEGIN_NAMESPACE
class QSymbianTypeFaceExtras
{
public:
- QSymbianTypeFaceExtras(CFont* fontOwner, COpenFont *font);
+ QSymbianTypeFaceExtras(CFont* cFont, COpenFont *openFont = 0);
+ ~QSymbianTypeFaceExtras();
QByteArray getSfntTable(uint tag) const;
bool getSfntTableData(uint tag, uchar *buffer, uint *length) const;
- const unsigned char *cmap() const;
+ const uchar *cmap() const;
CFont *fontOwner() const;
private:
- COpenFont *m_font;
- mutable MOpenFontTrueTypeExtension *m_trueTypeExtension;
- mutable const unsigned char *m_cmap;
+ CFont* m_cFont;
mutable bool m_symbolCMap;
mutable QByteArray m_cmapTable;
- CFont* m_fontOwner;
+#ifndef Q_SYMBIAN_HAS_FONTTABLE_API
+ COpenFont *m_openFont;
+ mutable MOpenFontTrueTypeExtension *m_trueTypeExtension;
+#endif // Q_SYMBIAN_HAS_FONTTABLE_API
};
class QFontEngineS60 : public QFontEngine
@@ -91,6 +101,9 @@ public:
bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const;
void recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFlags flags) const;
+ void addGlyphsToPath(glyph_t *glyphs, QFixedPoint *positions, int nglyphs,
+ QPainterPath *path, QTextItem::RenderFlags flags);
+
QImage alphaMapForGlyph(glyph_t glyph);
glyph_metrics_t boundingBox(const QGlyphLayout &glyphs);
diff --git a/src/gui/text/qstatictext.cpp b/src/gui/text/qstatictext.cpp
index 84c1d96..10870aa 100644
--- a/src/gui/text/qstatictext.cpp
+++ b/src/gui/text/qstatictext.cpp
@@ -115,10 +115,12 @@ QT_BEGIN_NAMESPACE
Qt::RichText.
If it's the first time the static text is drawn, or if the static text, or the painter's font
- or matrix have been altered since the last time it was drawn, the text's layout has to be
- recalculated. This will impose an overhead on the QPainter::drawStaticText() call where the
- relayout occurs. To avoid this overhead in the paint event, you can call prepare() ahead of
- time to ensure that the layout is calculated.
+ has been altered since the last time it was drawn, the text's layout has to be
+ recalculated. On some paint engines, changing the matrix of the painter will also cause the
+ layout to be recalculated. In particular, this will happen for any engine except for the
+ OpenGL2 paint engine. Recalculating the layout will impose an overhead on the
+ QPainter::drawStaticText() call where it occurs. To avoid this overhead in the paint event, you
+ can call prepare() ahead of time to ensure that the layout is calculated.
\sa QPainter::drawText(), QPainter::drawStaticText(), QTextLayout, QTextDocument
*/
@@ -188,8 +190,9 @@ void QStaticText::detach()
When drawStaticText() is called, the layout of the QStaticText will be recalculated if any part
of the QStaticText object has changed since the last time it was drawn. It will also be
- recalculated if the painter's font or matrix are not the same as when the QStaticText was last
- drawn.
+ recalculated if the painter's font is not the same as when the QStaticText was last drawn, or,
+ on any other paint engine than the OpenGL2 engine, if the painter's matrix has been altered
+ since the static text was last drawn.
To avoid the overhead of creating the layout the first time you draw the QStaticText after
making changes, you can use the prepare() function and pass in the \a matrix and \a font you
@@ -364,14 +367,16 @@ QSizeF QStaticText::size() const
QStaticTextPrivate::QStaticTextPrivate()
: textWidth(-1.0), items(0), itemCount(0), glyphPool(0), positionPool(0), charPool(0),
- needsRelayout(true), useBackendOptimizations(false), textFormat(Qt::AutoText)
+ needsRelayout(true), useBackendOptimizations(false), textFormat(Qt::AutoText),
+ untransformedCoordinates(false)
{
}
QStaticTextPrivate::QStaticTextPrivate(const QStaticTextPrivate &other)
: text(other.text), font(other.font), textWidth(other.textWidth), matrix(other.matrix),
items(0), itemCount(0), glyphPool(0), positionPool(0), charPool(0), needsRelayout(true),
- useBackendOptimizations(other.useBackendOptimizations), textFormat(other.textFormat)
+ useBackendOptimizations(other.useBackendOptimizations), textFormat(other.textFormat),
+ untransformedCoordinates(other.untransformedCoordinates)
{
}
@@ -396,8 +401,9 @@ namespace {
class DrawTextItemRecorder: public QPaintEngine
{
public:
- DrawTextItemRecorder(bool useBackendOptimizations, int numChars)
- : m_dirtyPen(false), m_useBackendOptimizations(useBackendOptimizations)
+ DrawTextItemRecorder(bool untransformedCoordinates, bool useBackendOptimizations, int numChars)
+ : m_dirtyPen(false), m_useBackendOptimizations(useBackendOptimizations),
+ m_untransformedCoordinates(untransformedCoordinates)
{
}
@@ -423,7 +429,7 @@ namespace {
if (m_dirtyPen)
currentItem.color = state->pen().color();
- QTransform matrix = state->transform();
+ QTransform matrix = m_untransformedCoordinates ? QTransform() : state->transform();
matrix.translate(position.x(), position.y());
QVarLengthArray<glyph_t> glyphs;
@@ -486,14 +492,17 @@ namespace {
bool m_dirtyPen;
bool m_useBackendOptimizations;
+ bool m_untransformedCoordinates;
};
class DrawTextItemDevice: public QPaintDevice
{
public:
- DrawTextItemDevice(bool useBackendOptimizations, int numChars)
+ DrawTextItemDevice(bool untransformedCoordinates, bool useBackendOptimizations,
+ int numChars)
{
- m_paintEngine = new DrawTextItemRecorder(useBackendOptimizations, numChars);
+ m_paintEngine = new DrawTextItemRecorder(untransformedCoordinates,
+ useBackendOptimizations, numChars);
}
~DrawTextItemDevice()
@@ -629,7 +638,7 @@ void QStaticTextPrivate::init()
position = QPointF(0, 0);
- DrawTextItemDevice device(useBackendOptimizations, text.size());
+ DrawTextItemDevice device(untransformedCoordinates, useBackendOptimizations, text.size());
{
QPainter painter(&device);
painter.setFont(font);
diff --git a/src/gui/text/qstatictext_p.h b/src/gui/text/qstatictext_p.h
index 2ab5579..1a96291 100644
--- a/src/gui/text/qstatictext_p.h
+++ b/src/gui/text/qstatictext_p.h
@@ -148,9 +148,10 @@ public:
QFixedPoint *positionPool; // 4 bytes per text
QChar *charPool; // 4 bytes per text
- unsigned char needsRelayout : 1;
- unsigned char useBackendOptimizations : 1; // 1 byte per text
- unsigned char textFormat : 2;
+ unsigned char needsRelayout : 1; // 1 byte per text
+ unsigned char useBackendOptimizations : 1;
+ unsigned char textFormat : 2;
+ unsigned char untransformedCoordinates : 1;
// ================
// 167 bytes per text
diff --git a/src/gui/text/qtextcursor.cpp b/src/gui/text/qtextcursor.cpp
index c91df3c..d6ac3aa 100644
--- a/src/gui/text/qtextcursor.cpp
+++ b/src/gui/text/qtextcursor.cpp
@@ -64,7 +64,7 @@ enum {
QTextCursorPrivate::QTextCursorPrivate(QTextDocumentPrivate *p)
: priv(p), x(0), position(0), anchor(0), adjusted_anchor(0),
- currentCharFormat(-1), visualNavigation(false)
+ currentCharFormat(-1), visualNavigation(false), keepPositionOnInsert(false)
{
priv->addCursor(this);
}
@@ -79,6 +79,7 @@ QTextCursorPrivate::QTextCursorPrivate(const QTextCursorPrivate &rhs)
x = rhs.x;
currentCharFormat = rhs.currentCharFormat;
visualNavigation = rhs.visualNavigation;
+ keepPositionOnInsert = rhs.keepPositionOnInsert;
priv->addCursor(this);
}
@@ -95,7 +96,7 @@ QTextCursorPrivate::AdjustResult QTextCursorPrivate::adjustPosition(int position
if (position < positionOfChange
|| (position == positionOfChange
&& (op == QTextUndoCommand::KeepCursor
- || anchor < position)
+ || keepPositionOnInsert)
)
) {
result = CursorUnchanged;
@@ -1276,6 +1277,80 @@ void QTextCursor::setVisualNavigation(bool b)
d->visualNavigation = b;
}
+
+/*!
+ \since 4.7
+
+ Sets the visual x position for vertical cursor movements.
+
+ The vertical movement x position is cleared automatically when the cursor moves horizontally, and kept
+ unchanged when the cursor moves vertically. The mechanism allows the cursor to move up and down on a
+ visually straight line with proportional fonts, and to gently "jump" over short lines.
+
+ A value of -1 indicates no predefined x position. It will then be set automatically the next time the
+ cursor moves up or down.
+
+ \sa verticalMovementX()
+ */
+void QTextCursor::setVerticalMovementX(int x)
+{
+ if (d)
+ d->x = x;
+}
+
+/*! \since 4.7
+
+ Returns the visual x position for vertical cursor movements.
+
+ A value of -1 indicates no predefined x position. It will then be set automatically the next time the
+ cursor moves up or down.
+
+ \sa setVerticalMovementX()
+ */
+int QTextCursor::verticalMovementX() const
+{
+ return d ? d->x : -1;
+}
+
+/*!
+ \since 4.7
+
+ Returns whether the cursor should keep its current position when text gets inserted at the position of the
+ cursor.
+
+ The default is false;
+
+ \sa setKeepPositionOnInsert()
+ */
+bool QTextCursor::keepPositionOnInsert() const
+{
+ return d ? d->keepPositionOnInsert : false;
+}
+
+/*!
+ \since 4.7
+
+ Defines whether the cursor should keep its current position when text gets inserted at the current position of the
+ cursor.
+
+ If \b is true, the cursor keeps its current position when text gets inserted at the positing of the cursor.
+ If \b is false, the cursor moves along with the inserted text.
+
+ The default is false.
+
+ Note that a cursor always moves when text is inserted before the current position of the cursor, and it
+ always keeps its position when text is inserted after the current position of the cursor.
+
+ \sa keepPositionOnInsert()
+ */
+void QTextCursor::setKeepPositionOnInsert(bool b)
+{
+ if (d)
+ d->keepPositionOnInsert = b;
+}
+
+
+
/*!
Inserts \a text at the current position, using the current
character format.
@@ -1408,16 +1483,16 @@ void QTextCursor::deletePreviousChar()
{
if (!d || !d->priv)
return;
-
+
if (d->position != d->anchor) {
removeSelectedText();
return;
}
-
+
if (d->anchor < 1 || !d->canDelete(d->anchor-1))
return;
d->anchor--;
-
+
QTextDocumentPrivate::FragmentIterator fragIt = d->priv->find(d->anchor);
const QTextFragmentData * const frag = fragIt.value();
int fpos = fragIt.position();
@@ -1429,7 +1504,7 @@ void QTextCursor::deletePreviousChar()
if (uc.unicode() >= 0xd800 && uc.unicode() < 0xdc00)
--d->anchor;
}
-
+
d->adjusted_anchor = d->anchor;
d->remove();
d->setX();
diff --git a/src/gui/text/qtextcursor.h b/src/gui/text/qtextcursor.h
index 3e968a3..251cb33 100644
--- a/src/gui/text/qtextcursor.h
+++ b/src/gui/text/qtextcursor.h
@@ -132,6 +132,12 @@ public:
bool visualNavigation() const;
void setVisualNavigation(bool b);
+ void setVerticalMovementX(int x);
+ int verticalMovementX() const;
+
+ void setKeepPositionOnInsert(bool b);
+ bool keepPositionOnInsert() const;
+
void deleteChar();
void deletePreviousChar();
diff --git a/src/gui/text/qtextcursor_p.h b/src/gui/text/qtextcursor_p.h
index 1bdfa78..4e36b95 100644
--- a/src/gui/text/qtextcursor_p.h
+++ b/src/gui/text/qtextcursor_p.h
@@ -112,7 +112,8 @@ public:
int anchor;
int adjusted_anchor;
int currentCharFormat;
- bool visualNavigation;
+ uint visualNavigation : 1;
+ uint keepPositionOnInsert : 1;
};
QT_END_NAMESPACE
diff --git a/src/gui/text/qtextdocumentlayout.cpp b/src/gui/text/qtextdocumentlayout.cpp
index f12bf0b..eeb66ce 100644
--- a/src/gui/text/qtextdocumentlayout.cpp
+++ b/src/gui/text/qtextdocumentlayout.cpp
@@ -79,7 +79,7 @@ Q_GUI_EXPORT extern int qt_defaultDpi();
// ################ should probably add frameFormatChange notification!
-struct QLayoutStruct;
+struct QTextLayoutStruct;
class QTextFrameData : public QTextFrameLayoutData
{
@@ -109,7 +109,7 @@ public:
QFixed minimumWidth;
QFixed maximumWidth;
- QLayoutStruct *currentLayoutStruct;
+ QTextLayoutStruct *currentLayoutStruct;
bool sizeDirty;
bool layoutDirty;
@@ -123,8 +123,8 @@ QTextFrameData::QTextFrameData()
{
}
-struct QLayoutStruct {
- QLayoutStruct() : maximumWidth(QFIXED_MAX), fullLayout(false)
+struct QTextLayoutStruct {
+ QTextLayoutStruct() : maximumWidth(QFIXED_MAX), fullLayout(false)
{}
QTextFrame *frame;
QFixed x_left;
@@ -477,9 +477,9 @@ public:
HitPoint hitTest(QTextTable *table, const QFixedPoint &point, int *position, QTextLayout **l, Qt::HitTestAccuracy accuracy) const;
HitPoint hitTest(QTextBlock bl, const QFixedPoint &point, int *position, QTextLayout **l, Qt::HitTestAccuracy accuracy) const;
- QLayoutStruct layoutCell(QTextTable *t, const QTextTableCell &cell, QFixed width,
- int layoutFrom, int layoutTo, QTextTableData *tableData, QFixed absoluteTableY,
- bool withPageBreaks);
+ QTextLayoutStruct layoutCell(QTextTable *t, const QTextTableCell &cell, QFixed width,
+ int layoutFrom, int layoutTo, QTextTableData *tableData, QFixed absoluteTableY,
+ bool withPageBreaks);
void setCellPosition(QTextTable *t, const QTextTableCell &cell, const QPointF &pos);
QRectF layoutTable(QTextTable *t, int layoutFrom, int layoutTo, QFixed parentY);
@@ -490,13 +490,13 @@ public:
QRectF layoutFrame(QTextFrame *f, int layoutFrom, int layoutTo, QFixed frameWidth, QFixed frameHeight, QFixed parentY = 0);
void layoutBlock(const QTextBlock &bl, int blockPosition, const QTextBlockFormat &blockFormat,
- QLayoutStruct *layoutStruct, int layoutFrom, int layoutTo, const QTextBlockFormat *previousBlockFormat);
- void layoutFlow(QTextFrame::Iterator it, QLayoutStruct *layoutStruct, int layoutFrom, int layoutTo, QFixed width = 0);
- void pageBreakInsideTable(QTextTable *table, QLayoutStruct *layoutStruct);
+ QTextLayoutStruct *layoutStruct, int layoutFrom, int layoutTo, const QTextBlockFormat *previousBlockFormat);
+ void layoutFlow(QTextFrame::Iterator it, QTextLayoutStruct *layoutStruct, int layoutFrom, int layoutTo, QFixed width = 0);
+ void pageBreakInsideTable(QTextTable *table, QTextLayoutStruct *layoutStruct);
- void floatMargins(const QFixed &y, const QLayoutStruct *layoutStruct, QFixed *left, QFixed *right) const;
- QFixed findY(QFixed yFrom, const QLayoutStruct *layoutStruct, QFixed requiredWidth) const;
+ void floatMargins(const QFixed &y, const QTextLayoutStruct *layoutStruct, QFixed *left, QFixed *right) const;
+ QFixed findY(QFixed yFrom, const QTextLayoutStruct *layoutStruct, QFixed requiredWidth) const;
QVector<QCheckPoint> checkPoints;
@@ -1487,12 +1487,12 @@ static QFixed firstChildPos(const QTextFrame *f)
return flowPosition(f->begin());
}
-QLayoutStruct QTextDocumentLayoutPrivate::layoutCell(QTextTable *t, const QTextTableCell &cell, QFixed width,
- int layoutFrom, int layoutTo, QTextTableData *td,
- QFixed absoluteTableY, bool withPageBreaks)
+QTextLayoutStruct QTextDocumentLayoutPrivate::layoutCell(QTextTable *t, const QTextTableCell &cell, QFixed width,
+ int layoutFrom, int layoutTo, QTextTableData *td,
+ QFixed absoluteTableY, bool withPageBreaks)
{
LDEBUG << "layoutCell";
- QLayoutStruct layoutStruct;
+ QTextLayoutStruct layoutStruct;
layoutStruct.frame = t;
layoutStruct.minimumWidth = 0;
layoutStruct.maximumWidth = QFIXED_MAX;
@@ -1641,9 +1641,9 @@ recalc_minmax_widths:
// to figure out the min and the max width lay out the cell at
// maximum width. otherwise the maxwidth calculation sometimes
// returns wrong values
- QLayoutStruct layoutStruct = layoutCell(table, cell, QFIXED_MAX, layoutFrom,
- layoutTo, td, absoluteTableY,
- /*withPageBreaks =*/false);
+ QTextLayoutStruct layoutStruct = layoutCell(table, cell, QFIXED_MAX, layoutFrom,
+ layoutTo, td, absoluteTableY,
+ /*withPageBreaks =*/false);
// distribute the minimum width over all columns the cell spans
QFixed widthToDistribute = layoutStruct.minimumWidth + widthPadding;
@@ -1868,10 +1868,10 @@ relayout:
++rowCellCount;
const QFixed width = td->cellWidth(c, cspan) - widthPadding;
- QLayoutStruct layoutStruct = layoutCell(table, cell, width,
- layoutFrom, layoutTo,
- td, absoluteTableY,
- /*withPageBreaks =*/true);
+ QTextLayoutStruct layoutStruct = layoutCell(table, cell, width,
+ layoutFrom, layoutTo,
+ td, absoluteTableY,
+ /*withPageBreaks =*/true);
const QFixed height = layoutStruct.y + bottomPadding + topPadding;
@@ -1976,7 +1976,7 @@ void QTextDocumentLayoutPrivate::positionFloat(QTextFrame *frame, QTextLine *cur
QTextFrameData *pd = data(parent);
Q_ASSERT(pd && pd->currentLayoutStruct);
- QLayoutStruct *layoutStruct = pd->currentLayoutStruct;
+ QTextLayoutStruct *layoutStruct = pd->currentLayoutStruct;
if (!pd->floats.contains(frame))
pd->floats.append(frame);
@@ -2116,7 +2116,7 @@ QRectF QTextDocumentLayoutPrivate::layoutFrame(QTextFrame *f, int layoutFrom, in
// function.
fd->contentsWidth = newContentsWidth;
- QLayoutStruct layoutStruct;
+ QTextLayoutStruct layoutStruct;
layoutStruct.frame = f;
layoutStruct.x_left = fd->leftMargin + fd->border + fd->padding;
layoutStruct.x_right = layoutStruct.x_left + newContentsWidth;
@@ -2179,7 +2179,7 @@ QRectF QTextDocumentLayoutPrivate::layoutFrame(QTextFrame *f, int layoutFrom, in
return layoutStruct.updateRect;
}
-void QTextDocumentLayoutPrivate::layoutFlow(QTextFrame::Iterator it, QLayoutStruct *layoutStruct,
+void QTextDocumentLayoutPrivate::layoutFlow(QTextFrame::Iterator it, QTextLayoutStruct *layoutStruct,
int layoutFrom, int layoutTo, QFixed width)
{
LDEBUG << "layoutFlow from=" << layoutFrom << "to=" << layoutTo;
@@ -2509,7 +2509,7 @@ void QTextDocumentLayoutPrivate::layoutFlow(QTextFrame::Iterator it, QLayoutStru
}
void QTextDocumentLayoutPrivate::layoutBlock(const QTextBlock &bl, int blockPosition, const QTextBlockFormat &blockFormat,
- QLayoutStruct *layoutStruct, int layoutFrom, int layoutTo, const QTextBlockFormat *previousBlockFormat)
+ QTextLayoutStruct *layoutStruct, int layoutFrom, int layoutTo, const QTextBlockFormat *previousBlockFormat)
{
Q_Q(QTextDocumentLayout);
@@ -2718,7 +2718,7 @@ void QTextDocumentLayoutPrivate::layoutBlock(const QTextBlock &bl, int blockPosi
}
}
-void QTextDocumentLayoutPrivate::floatMargins(const QFixed &y, const QLayoutStruct *layoutStruct,
+void QTextDocumentLayoutPrivate::floatMargins(const QFixed &y, const QTextLayoutStruct *layoutStruct,
QFixed *left, QFixed *right) const
{
// qDebug() << "floatMargins y=" << y;
@@ -2740,7 +2740,7 @@ void QTextDocumentLayoutPrivate::floatMargins(const QFixed &y, const QLayoutStru
// qDebug() << "floatMargins: left="<<*left<<"right="<<*right<<"y="<<y;
}
-QFixed QTextDocumentLayoutPrivate::findY(QFixed yFrom, const QLayoutStruct *layoutStruct, QFixed requiredWidth) const
+QFixed QTextDocumentLayoutPrivate::findY(QFixed yFrom, const QTextLayoutStruct *layoutStruct, QFixed requiredWidth) const
{
QFixed right, left;
requiredWidth = qMin(requiredWidth, layoutStruct->x_right - layoutStruct->x_left);
diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
index 3f67408..f5e252c 100644
--- a/src/gui/text/qtextlayout.cpp
+++ b/src/gui/text/qtextlayout.cpp
@@ -89,9 +89,9 @@ static QFixed alignLine(QTextEngine *eng, const QScriptLine &line)
if (align & Qt::AlignJustify && eng->option.textDirection() == Qt::RightToLeft)
align = Qt::AlignRight;
if (align & Qt::AlignRight)
- x = line.width - (line.textWidth + leadingSpaceWidth(eng, line));
+ x = line.width - (line.textAdvance + leadingSpaceWidth(eng, line));
else if (align & Qt::AlignHCenter)
- x = (line.width - line.textWidth)/2;
+ x = (line.width - line.textAdvance)/2;
}
return x;
}
diff --git a/src/gui/text/qtextoption.cpp b/src/gui/text/qtextoption.cpp
index c1e254c..527b603 100644
--- a/src/gui/text/qtextoption.cpp
+++ b/src/gui/text/qtextoption.cpp
@@ -145,7 +145,7 @@ QTextOption &QTextOption::operator=(const QTextOption &o)
\sa tabArray(), setTabStop(), setTabs()
*/
-void QTextOption::setTabArray(QList<qreal> tabStops)
+void QTextOption::setTabArray(QList<qreal> tabStops) // Qt5: const ref
{
if (!d)
d = new QTextOptionPrivate;
@@ -165,7 +165,7 @@ void QTextOption::setTabArray(QList<qreal> tabStops)
\sa tabStops()
*/
-void QTextOption::setTabs(QList<QTextOption::Tab> tabStops)
+void QTextOption::setTabs(QList<QTextOption::Tab> tabStops) // Qt5: const ref
{
if (!d)
d = new QTextOptionPrivate;
@@ -391,6 +391,12 @@ QList<QTextOption::Tab> QTextOption::tabs() const
*/
/*!
+ \fn Tab::Tab(qreal pos, TabType tabType, QChar delim = QChar())
+ Creates a tab with the given position, tab type, and (for DelimiterTab) delimiter
+ \since 4.7
+*/
+
+/*!
\fn bool Tab::operator==(const Tab &other) const
Returns true if tab \a other is equal to this tab;
diff --git a/src/gui/text/qtextoption.h b/src/gui/text/qtextoption.h
index 1381ed1..5af7834 100644
--- a/src/gui/text/qtextoption.h
+++ b/src/gui/text/qtextoption.h
@@ -68,6 +68,8 @@ public:
struct Q_GUI_EXPORT Tab {
inline Tab() : position(80), type(QTextOption::LeftTab) { }
+ inline Tab(qreal pos, TabType tabType, QChar delim = QChar())
+ : position(pos), type(tabType), delimiter(delim) {}
inline bool operator==(const Tab &other) const {
return type == other.type
diff --git a/src/gui/text/text.pri b/src/gui/text/text.pri
index 9ec3142..34311a9 100644
--- a/src/gui/text/text.pri
+++ b/src/gui/text/text.pri
@@ -138,7 +138,8 @@ contains(QT_CONFIG, freetype) {
../3rdparty/freetype/src/base/ftinit.c \
../3rdparty/freetype/src/base/ftmm.c \
../3rdparty/freetype/src/base/fttype1.c \
- ../3rdparty/freetype/src/base/ftbitmap.c\
+ ../3rdparty/freetype/src/base/ftsynth.c \
+ ../3rdparty/freetype/src/base/ftbitmap.c \
../3rdparty/freetype/src/bdf/bdf.c \
../3rdparty/freetype/src/cache/ftcache.c \
../3rdparty/freetype/src/cff/cff.c \
diff --git a/src/gui/widgets/qabstractscrollarea.cpp b/src/gui/widgets/qabstractscrollarea.cpp
index 8cffebd..30ce23b 100644
--- a/src/gui/widgets/qabstractscrollarea.cpp
+++ b/src/gui/widgets/qabstractscrollarea.cpp
@@ -295,8 +295,10 @@ void QAbstractScrollAreaPrivate::init()
q->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
layoutChildren();
#ifndef Q_WS_MAC
+#ifndef QT_NO_GESTURES
viewport->grabGesture(Qt::PanGesture);
#endif
+#endif
}
#ifdef Q_WS_WIN
@@ -546,8 +548,10 @@ void QAbstractScrollArea::setViewport(QWidget *widget)
d->viewport->setFocusProxy(this);
d->viewport->installEventFilter(d->viewportFilter.data());
#ifndef Q_WS_MAC
+#ifndef QT_NO_GESTURES
d->viewport->grabGesture(Qt::PanGesture);
#endif
+#endif
d->layoutChildren();
if (isVisible())
d->viewport->show();
@@ -960,6 +964,7 @@ bool QAbstractScrollArea::event(QEvent *e)
case QEvent::TouchUpdate:
case QEvent::TouchEnd:
return false;
+#ifndef QT_NO_GESTURES
case QEvent::Gesture:
{
QGestureEvent *ge = static_cast<QGestureEvent *>(e);
@@ -980,6 +985,7 @@ bool QAbstractScrollArea::event(QEvent *e)
}
return false;
}
+#endif // QT_NO_GESTURES
case QEvent::StyleChange:
case QEvent::LayoutDirectionChange:
case QEvent::ApplicationLayoutDirectionChange:
@@ -1036,9 +1042,11 @@ bool QAbstractScrollArea::viewportEvent(QEvent *e)
#endif
return QFrame::event(e);
case QEvent::LayoutRequest:
+#ifndef QT_NO_GESTURES
case QEvent::Gesture:
case QEvent::GestureOverride:
return event(e);
+#endif
default:
break;
}
diff --git a/src/gui/widgets/qplaintextedit.cpp b/src/gui/widgets/qplaintextedit.cpp
index 2734fba..21c2635 100644
--- a/src/gui/widgets/qplaintextedit.cpp
+++ b/src/gui/widgets/qplaintextedit.cpp
@@ -1476,6 +1476,7 @@ bool QPlainTextEdit::event(QEvent *e)
d->sendControlEvent(e);
}
#endif
+#ifndef QT_NO_GESTURES
else if (e->type() == QEvent::Gesture) {
QGestureEvent *ge = static_cast<QGestureEvent *>(e);
QPanGesture *g = static_cast<QPanGesture *>(ge->gesture(Qt::PanGesture));
@@ -1499,6 +1500,7 @@ bool QPlainTextEdit::event(QEvent *e)
}
return true;
}
+#endif // QT_NO_GESTURES
return QAbstractScrollArea::event(e);
}
diff --git a/src/gui/widgets/qprogressbar.h b/src/gui/widgets/qprogressbar.h
index b461a21..58bc8b2 100644
--- a/src/gui/widgets/qprogressbar.h
+++ b/src/gui/widgets/qprogressbar.h
@@ -93,9 +93,11 @@ public:
Qt::Orientation orientation() const;
void setInvertedAppearance(bool invert);
- bool invertedAppearance();
+ bool invertedAppearance(); //### Qt5 make const
+ bool invertedAppearance() const { return const_cast<QProgressBar *>(this)->invertedAppearance(); }
void setTextDirection(QProgressBar::Direction textDirection);
- QProgressBar::Direction textDirection();
+ QProgressBar::Direction textDirection(); //### Qt5 make const
+ QProgressBar::Direction textDirection() const { return const_cast<QProgressBar *>(this)->textDirection(); }
void setFormat(const QString &format);
QString format() const;
diff --git a/src/imports/gestures/plugin.cpp b/src/imports/gestures/plugin.cpp
index 11f2392..1fc23ca 100644
--- a/src/imports/gestures/plugin.cpp
+++ b/src/imports/gestures/plugin.cpp
@@ -53,7 +53,9 @@ public:
virtual void registerTypes(const char *uri)
{
Q_ASSERT(QLatin1String(uri) == QLatin1String("Qt.labs.gestures"));
+#ifndef QT_NO_GESTURES
qmlRegisterCustomType<QDeclarativeGestureArea>(uri,1,0, "GestureArea", new QDeclarativeGestureAreaParser);
+#endif
}
};
@@ -62,4 +64,3 @@ QT_END_NAMESPACE
#include "plugin.moc"
Q_EXPORT_PLUGIN2(qmlgesturesplugin, QT_PREPEND_NAMESPACE(GestureAreaQmlPlugin));
-
diff --git a/src/imports/gestures/qdeclarativegesturearea.cpp b/src/imports/gestures/qdeclarativegesturearea.cpp
index 1b0aeeb..22be2f1 100644
--- a/src/imports/gestures/qdeclarativegesturearea.cpp
+++ b/src/imports/gestures/qdeclarativegesturearea.cpp
@@ -55,6 +55,8 @@
#include <private/qobject_p.h>
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_NAMESPACE
class QDeclarativeGestureAreaPrivate : public QDeclarativeItemPrivate
@@ -267,3 +269,5 @@ bool QDeclarativeGestureAreaPrivate::gestureEvent(QGestureEvent *event)
}
QT_END_NAMESPACE
+
+#endif // QT_NO_GESTURES
diff --git a/src/imports/gestures/qdeclarativegesturearea_p.h b/src/imports/gestures/qdeclarativegesturearea_p.h
index 0195511..ff89166 100644
--- a/src/imports/gestures/qdeclarativegesturearea_p.h
+++ b/src/imports/gestures/qdeclarativegesturearea_p.h
@@ -50,6 +50,8 @@
#include <QtCore/qstring.h>
#include <QtGui/qgesture.h>
+#ifndef QT_NO_GESTURES
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -97,4 +99,6 @@ QML_DECLARE_TYPE(QDeclarativeGestureArea)
QT_END_HEADER
+#endif // QT_NO_GESTURES
+
#endif
diff --git a/src/imports/qimportbase.pri b/src/imports/qimportbase.pri
index 91f6552..612ff20 100644
--- a/src/imports/qimportbase.pri
+++ b/src/imports/qimportbase.pri
@@ -1,3 +1,4 @@
+symbian:include(../plugins/qpluginbase.pri)
TEMPLATE = lib
CONFIG += qt plugin
diff --git a/src/imports/webkit/qdeclarativewebview.cpp b/src/imports/webkit/qdeclarativewebview.cpp
index 050e2b7..9e5647f 100644
--- a/src/imports/webkit/qdeclarativewebview.cpp
+++ b/src/imports/webkit/qdeclarativewebview.cpp
@@ -711,7 +711,7 @@ bool QDeclarativeWebView::sceneEvent(QEvent *event)
return QDeclarativeItem::sceneEvent(event);
}
-
+#ifndef QT_NO_ACTION
/*!
\qmlproperty action WebView::back
This property holds the action for causing the previous URL in the history to be displayed.
@@ -747,6 +747,7 @@ QAction *QDeclarativeWebView::stopAction() const
{
return page()->action(QWebPage::Stop);
}
+#endif // QT_NO_ACTION
/*!
\qmlproperty real WebView::title
diff --git a/src/imports/webkit/qdeclarativewebview_p.h b/src/imports/webkit/qdeclarativewebview_p.h
index 87bd938..042237e 100644
--- a/src/imports/webkit/qdeclarativewebview_p.h
+++ b/src/imports/webkit/qdeclarativewebview_p.h
@@ -108,10 +108,12 @@ class QDeclarativeWebView : public QDeclarativeItem
Q_PROPERTY(qreal progress READ progress NOTIFY progressChanged)
Q_PROPERTY(Status status READ status NOTIFY statusChanged)
+#ifndef QT_NO_ACTION
Q_PROPERTY(QAction* reload READ reloadAction CONSTANT)
Q_PROPERTY(QAction* back READ backAction CONSTANT)
Q_PROPERTY(QAction* forward READ forwardAction CONSTANT)
Q_PROPERTY(QAction* stop READ stopAction CONSTANT)
+#endif
Q_PROPERTY(QDeclarativeWebSettings* settings READ settingsObject CONSTANT)
@@ -154,10 +156,12 @@ public:
qreal progress() const;
QString statusText() const;
+#ifndef QT_NO_ACTION
QAction *reloadAction() const;
QAction *backAction() const;
QAction *forwardAction() const;
QAction *stopAction() const;
+#endif
QWebPage *page() const;
void setPage(QWebPage *page);
diff --git a/src/network/access/access.pri b/src/network/access/access.pri
index aa36890..173a087 100644
--- a/src/network/access/access.pri
+++ b/src/network/access/access.pri
@@ -59,8 +59,9 @@ SOURCES += access/qftp.cpp \
#zlib support
contains(QT_CONFIG, zlib) {
- INCLUDEPATH += ../3rdparty/zlib
+ INCLUDEPATH += ../3rdparty/zlib
} else:!contains(QT_CONFIG, no-zlib) {
- unix:LIBS_PRIVATE += -lz
-# win32:LIBS += libz.lib
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
}
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
index 42c64fb..837cf66 100644
--- a/src/network/access/qnetworkaccessmanager.cpp
+++ b/src/network/access/qnetworkaccessmanager.cpp
@@ -464,6 +464,15 @@ QNetworkAccessManager::~QNetworkAccessManager()
#ifndef QT_NO_NETWORKPROXY
delete d_func()->proxyFactory;
#endif
+
+ // Delete the QNetworkReply children first.
+ // Else a QAbstractNetworkCache might get deleted in ~QObject
+ // before a QNetworkReply that accesses the QAbstractNetworkCache
+ // object in its destructor.
+ qDeleteAll(findChildren<QNetworkReply *>());
+ // The other children will be deleted in this ~QObject
+ // FIXME instead of this "hack" make the QNetworkReplyImpl
+ // properly watch the cache deletion, e.g. via a QWeakPointer.
}
#ifndef QT_NO_NETWORKPROXY
diff --git a/src/network/bearer/qnetworkconfigmanager_p.cpp b/src/network/bearer/qnetworkconfigmanager_p.cpp
index 471927a..5d4274f 100644
--- a/src/network/bearer/qnetworkconfigmanager_p.cpp
+++ b/src/network/bearer/qnetworkconfigmanager_p.cpp
@@ -483,8 +483,10 @@ void QNetworkConfigurationManagerPrivate::pollEngines()
QMutexLocker locker(&mutex);
for (int i = 0; i < sessionEngines.count(); ++i) {
- if ((forcedPolling && sessionEngines.at(i)->requiresPolling()) ||
- sessionEngines.at(i)->configurationsInUse()) {
+ if (!sessionEngines.at(i)->requiresPolling())
+ continue;
+
+ if (forcedPolling || sessionEngines.at(i)->configurationsInUse()) {
pollingEngines.insert(i);
QMetaObject::invokeMethod(sessionEngines.at(i), "requestUpdate");
}
diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp
index fd647e2..31c5ed1 100644
--- a/src/network/ssl/qsslcertificate.cpp
+++ b/src/network/ssl/qsslcertificate.cpp
@@ -259,13 +259,28 @@ QByteArray QSslCertificate::version() const
/*!
Returns the certificate's serial number string in decimal format.
+ In case the serial number cannot be converted to decimal format
+ (i.e. if it is bigger than 4294967295, which means it does not fit into 4 bytes),
+ its hexadecimal version is returned.
*/
QByteArray QSslCertificate::serialNumber() const
{
- if (d->serialNumberString.isEmpty() && d->x509)
- d->serialNumberString =
- QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->serialNumber)));
-
+ if (d->serialNumberString.isEmpty() && d->x509) {
+ ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
+ // if we cannot convert to a long, just output the hexadecimal number
+ if (serialNumber->length > 4) {
+ QByteArray hexString;
+ hexString.reserve(serialNumber->length * 3);
+ for (int a = 0; a < serialNumber->length; ++a) {
+ hexString += QByteArray::number(serialNumber->data[a], 16).rightJustified(2, '0');
+ hexString += ':';
+ }
+ hexString.chop(1);
+ d->serialNumberString = hexString;
+ } else {
+ d->serialNumberString = QByteArray::number(qlonglong(q_ASN1_INTEGER_get(serialNumber)));
+ }
+ }
return d->serialNumberString;
}
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
index 5758b25..ee49a3d 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
@@ -1333,8 +1333,16 @@ void QGL2PaintEngineEx::drawStaticTextItem(QStaticTextItem *textItem)
QFontEngineGlyphCache::Type glyphType = textItem->fontEngine->glyphFormat >= 0
? QFontEngineGlyphCache::Type(textItem->fontEngine->glyphFormat)
: d->glyphCacheType;
+ if (glyphType == QFontEngineGlyphCache::Raster_RGBMask) {
+ if (d->device->alphaRequested() || state()->matrix.type() > QTransform::TxTranslate
+ || (state()->composition_mode != QPainter::CompositionMode_Source
+ && state()->composition_mode != QPainter::CompositionMode_SourceOver))
+ {
+ glyphType = QFontEngineGlyphCache::Raster_A8;
+ }
+ }
- d->drawCachedGlyphs(glyphType, textItem, true);
+ d->drawCachedGlyphs(glyphType, textItem);
}
bool QGL2PaintEngineEx::drawTexture(const QRectF &dest, GLuint textureId, const QSize &size, const QRectF &src)
@@ -1408,7 +1416,7 @@ void QGL2PaintEngineEx::drawTextItem(const QPointF &p, const QTextItem &textItem
staticTextItem.numGlyphs = glyphs.size();
staticTextItem.glyphPositions = positions.data();
- d->drawCachedGlyphs(glyphType, &staticTextItem, false);
+ d->drawCachedGlyphs(glyphType, &staticTextItem);
}
return;
}
@@ -1439,21 +1447,16 @@ namespace {
// #define QT_OPENGL_DRAWCACHEDGLYPHS_INDEX_ARRAY_VBO
void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyphType,
- QStaticTextItem *staticTextItem,
- bool includeMatrixInCache)
+ QStaticTextItem *staticTextItem)
{
Q_Q(QGL2PaintEngineEx);
QOpenGL2PaintEngineState *s = q->state();
QGLTextureGlyphCache *cache =
- (QGLTextureGlyphCache *) staticTextItem->fontEngine->glyphCache(ctx, glyphType,
- includeMatrixInCache
- ? s->matrix
- : QTransform());
+ (QGLTextureGlyphCache *) staticTextItem->fontEngine->glyphCache(ctx, glyphType, QTransform());
if (!cache || cache->cacheType() != glyphType) {
- cache = new QGLTextureGlyphCache(ctx, glyphType,
- includeMatrixInCache ? s->matrix : QTransform());
+ cache = new QGLTextureGlyphCache(ctx, glyphType, QTransform());
staticTextItem->fontEngine->setGlyphCache(ctx, cache);
}
@@ -1561,13 +1564,6 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyp
QBrush pensBrush = q->state()->pen.brush();
setBrush(pensBrush);
- // When painting a QStaticTextItem, the glyph positions are already in device coordinates,
- // therefore we temporarily set an identity matrix on the painter for the draw call to
- // avoid transforming the positions twice.
- QTransform old = s->matrix;
- if (includeMatrixInCache)
- s->matrix = QTransform();
-
if (glyphType == QFontEngineGlyphCache::Raster_RGBMask) {
// Subpixel antialiasing without gamma correction
@@ -1664,9 +1660,6 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyp
#else
glDrawElements(GL_TRIANGLE_STRIP, 6 * staticTextItem->numGlyphs, GL_UNSIGNED_SHORT, elementIndices.data());
#endif
-
- if (includeMatrixInCache)
- s->matrix = old;
}
void QGL2PaintEngineEx::drawPixmapFragments(const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap,
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
index 0a046dc..59b90d8 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h
@@ -202,8 +202,7 @@ public:
void drawTexture(const QGLRect& dest, const QGLRect& src, const QSize &textureSize, bool opaque, bool pattern = false);
void drawPixmapFragments(const QPainter::PixmapFragment *fragments, int fragmentCount, const QPixmap &pixmap,
QPainter::PixmapFragmentHints hints);
- void drawCachedGlyphs(QFontEngineGlyphCache::Type glyphType, QStaticTextItem *staticTextItem,
- bool includeMatrixInCache);
+ void drawCachedGlyphs(QFontEngineGlyphCache::Type glyphType, QStaticTextItem *staticTextItem);
// Calls glVertexAttributePointer if the pointer has changed
inline void setVertexAttributePointer(unsigned int arrayIndex, const GLfloat *pointer);
diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
index 410cf21..5371c5e 100644
--- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
+++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
@@ -276,6 +276,11 @@ void QGLTextureGlyphCache::fillTexture(const Coord &c, glyph_t glyph)
}
}
+int QGLTextureGlyphCache::glyphMargin() const
+{
+ return 1;
+}
+
int QGLTextureGlyphCache::glyphPadding() const
{
return 1;
diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
index 6bcd655..84e9021 100644
--- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
+++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
@@ -72,6 +72,7 @@ public:
virtual void createTextureData(int width, int height);
virtual void resizeTextureData(int width, int height);
virtual void fillTexture(const Coord &c, glyph_t glyph);
+ virtual int glyphMargin() const;
virtual int glyphPadding() const;
inline GLuint texture() const { return m_texture; }
diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp
index 922a96c..5c5d3d1 100644
--- a/src/opengl/qgl.cpp
+++ b/src/opengl/qgl.cpp
@@ -91,6 +91,7 @@
#include "qcolormap.h"
#include "qfile.h"
#include "qlibrary.h"
+#include <qmutex.h>
QT_BEGIN_NAMESPACE
@@ -1255,6 +1256,8 @@ QGLFormat::OpenGLVersionFlags Q_AUTOTEST_EXPORT qOpenGLVersionFlagsFromString(co
QGLFormat::OpenGL_Version_2_1 |
QGLFormat::OpenGL_Version_3_0;
switch (versionString[2].toAscii()) {
+ case '3':
+ versionFlags |= QGLFormat::OpenGL_Version_3_3;
case '2':
versionFlags |= QGLFormat::OpenGL_Version_3_2;
case '1':
@@ -1263,9 +1266,23 @@ QGLFormat::OpenGLVersionFlags Q_AUTOTEST_EXPORT qOpenGLVersionFlagsFromString(co
break;
default:
versionFlags |= QGLFormat::OpenGL_Version_3_1 |
- QGLFormat::OpenGL_Version_3_2;
+ QGLFormat::OpenGL_Version_3_2 |
+ QGLFormat::OpenGL_Version_3_3;
break;
}
+ } else if (versionString.startsWith(QLatin1String("4."))) {
+ versionFlags |= QGLFormat::OpenGL_Version_1_1 |
+ QGLFormat::OpenGL_Version_1_2 |
+ QGLFormat::OpenGL_Version_1_3 |
+ QGLFormat::OpenGL_Version_1_4 |
+ QGLFormat::OpenGL_Version_1_5 |
+ QGLFormat::OpenGL_Version_2_0 |
+ QGLFormat::OpenGL_Version_2_1 |
+ QGLFormat::OpenGL_Version_3_0 |
+ QGLFormat::OpenGL_Version_3_1 |
+ QGLFormat::OpenGL_Version_3_2 |
+ QGLFormat::OpenGL_Version_3_3 |
+ QGLFormat::OpenGL_Version_4_0;
} else {
versionFlags |= QGLFormat::OpenGL_Version_1_1 |
QGLFormat::OpenGL_Version_1_2 |
@@ -1276,7 +1293,9 @@ QGLFormat::OpenGLVersionFlags Q_AUTOTEST_EXPORT qOpenGLVersionFlagsFromString(co
QGLFormat::OpenGL_Version_2_1 |
QGLFormat::OpenGL_Version_3_0 |
QGLFormat::OpenGL_Version_3_1 |
- QGLFormat::OpenGL_Version_3_2;
+ QGLFormat::OpenGL_Version_3_2 |
+ QGLFormat::OpenGL_Version_3_3 |
+ QGLFormat::OpenGL_Version_4_0;
}
}
return versionFlags;
@@ -1515,10 +1534,33 @@ bool operator!=(const QGLFormat& a, const QGLFormat& b)
return !(a == b);
}
+struct QGLContextGroupList {
+ void append(QGLContextGroup *group) {
+ QMutexLocker locker(&m_mutex);
+ m_list.append(group);
+ }
+
+ void remove(QGLContextGroup *group) {
+ QMutexLocker locker(&m_mutex);
+ m_list.removeOne(group);
+ }
+
+ QList<QGLContextGroup *> m_list;
+ QMutex m_mutex;
+};
+
+Q_GLOBAL_STATIC(QGLContextGroupList, qt_context_groups)
+
/*****************************************************************************
QGLContext implementation
*****************************************************************************/
+QGLContextGroup::QGLContextGroup(const QGLContext *context)
+ : m_context(context), m_guards(0), m_refs(1)
+{
+ qt_context_groups()->append(this);
+}
+
QGLContextGroup::~QGLContextGroup()
{
// Clear any remaining QGLSharedResourceGuard objects on the group.
@@ -1528,6 +1570,7 @@ QGLContextGroup::~QGLContextGroup()
guard->m_id = 0;
guard = guard->m_next;
}
+ qt_context_groups()->remove(this);
}
void QGLContextGroup::addGuard(QGLSharedResourceGuard *guard)
@@ -1736,7 +1779,7 @@ void QGLTextureCache::insert(QGLContext* ctx, qint64 key, QGLTexture* texture, i
QWriteLocker locker(&m_lock);
if (m_cache.totalCost() + cost > m_cache.maxCost()) {
// the cache is full - make an attempt to remove something
- const QList<qint64> keys = m_cache.keys();
+ const QList<QGLTextureCacheKey> keys = m_cache.keys();
int i = 0;
while (i < m_cache.count()
&& (m_cache.totalCost() + cost > m_cache.maxCost())) {
@@ -1746,13 +1789,26 @@ void QGLTextureCache::insert(QGLContext* ctx, qint64 key, QGLTexture* texture, i
++i;
}
}
- m_cache.insert(key, texture, cost);
+ const QGLTextureCacheKey cacheKey = {key, QGLContextPrivate::contextGroup(ctx)};
+ m_cache.insert(cacheKey, texture, cost);
+}
+
+void QGLTextureCache::remove(qint64 key)
+{
+ QWriteLocker locker(&m_lock);
+ QMutexLocker groupLocker(&qt_context_groups()->m_mutex);
+ QList<QGLContextGroup *>::const_iterator it = qt_context_groups()->m_list.constBegin();
+ while (it != qt_context_groups()->m_list.constEnd()) {
+ const QGLTextureCacheKey cacheKey = {key, *it};
+ m_cache.remove(cacheKey);
+ ++it;
+ }
}
bool QGLTextureCache::remove(QGLContext* ctx, GLuint textureId)
{
QWriteLocker locker(&m_lock);
- QList<qint64> keys = m_cache.keys();
+ QList<QGLTextureCacheKey> keys = m_cache.keys();
for (int i = 0; i < keys.size(); ++i) {
QGLTexture *tex = m_cache.object(keys.at(i));
if (tex->id == textureId && tex->context == ctx) {
@@ -1767,9 +1823,9 @@ bool QGLTextureCache::remove(QGLContext* ctx, GLuint textureId)
void QGLTextureCache::removeContextTextures(QGLContext* ctx)
{
QWriteLocker locker(&m_lock);
- QList<qint64> keys = m_cache.keys();
+ QList<QGLTextureCacheKey> keys = m_cache.keys();
for (int i = 0; i < keys.size(); ++i) {
- const qint64 &key = keys.at(i);
+ const QGLTextureCacheKey &key = keys.at(i);
if (m_cache.object(key)->context == ctx)
m_cache.remove(key);
}
@@ -1782,7 +1838,6 @@ void QGLTextureCache::removeContextTextures(QGLContext* ctx)
void QGLTextureCache::cleanupTexturesForCacheKey(qint64 cacheKey)
{
qt_gl_texture_cache()->remove(cacheKey);
- Q_ASSERT(qt_gl_texture_cache()->getTexture(cacheKey) == 0);
}
@@ -2425,7 +2480,7 @@ QGLTexture* QGLContextPrivate::bindTexture(const QImage &image, GLenum target, G
QGLTexture *QGLContextPrivate::textureCacheLookup(const qint64 key, GLenum target)
{
Q_Q(QGLContext);
- QGLTexture *texture = QGLTextureCache::instance()->getTexture(key);
+ QGLTexture *texture = QGLTextureCache::instance()->getTexture(q, key);
if (texture && texture->target == target
&& (texture->context == q || QGLContext::areSharing(q, texture->context)))
{
diff --git a/src/opengl/qgl.h b/src/opengl/qgl.h
index f297009..f0b36f7 100644
--- a/src/opengl/qgl.h
+++ b/src/opengl/qgl.h
@@ -266,7 +266,9 @@ public:
OpenGL_ES_Version_2_0 = 0x00000800,
OpenGL_Version_3_0 = 0x00001000,
OpenGL_Version_3_1 = 0x00002000,
- OpenGL_Version_3_2 = 0x00004000
+ OpenGL_Version_3_2 = 0x00004000,
+ OpenGL_Version_3_3 = 0x00008000,
+ OpenGL_Version_4_0 = 0x00010000
};
Q_DECLARE_FLAGS(OpenGLVersionFlags, OpenGLVersionFlag)
diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h
index d92f963..16c225f 100644
--- a/src/opengl/qgl_p.h
+++ b/src/opengl/qgl_p.h
@@ -230,7 +230,7 @@ public:
static void addShare(const QGLContext *context, const QGLContext *share);
static void removeShare(const QGLContext *context);
private:
- QGLContextGroup(const QGLContext *context) : m_context(context), m_guards(0), m_refs(1) { }
+ QGLContextGroup(const QGLContext *context);
QGLExtensionFuncs m_extensionFuncs;
const QGLContext *m_context; // context group's representative
@@ -522,17 +522,33 @@ public:
QSize bindCompressedTexturePVR(const char *buf, int len);
};
+struct QGLTextureCacheKey {
+ qint64 key;
+ QGLContextGroup *group;
+};
+
+inline bool operator==(const QGLTextureCacheKey &a, const QGLTextureCacheKey &b)
+{
+ return a.key == b.key && a.group == b.group;
+}
+
+inline uint qHash(const QGLTextureCacheKey &key)
+{
+ return qHash(key.key) ^ qHash(key.group);
+}
+
+
class Q_AUTOTEST_EXPORT QGLTextureCache {
public:
QGLTextureCache();
~QGLTextureCache();
void insert(QGLContext *ctx, qint64 key, QGLTexture *texture, int cost);
- inline void remove(quint64 key);
+ void remove(qint64 key);
inline int size();
inline void setMaxCost(int newMax);
inline int maxCost();
- inline QGLTexture* getTexture(quint64 key);
+ inline QGLTexture* getTexture(QGLContext *ctx, qint64 key);
bool remove(QGLContext *ctx, GLuint textureId);
void removeContextTextures(QGLContext *ctx);
@@ -542,7 +558,7 @@ public:
static void cleanupBeforePixmapDestruction(QPixmapData* pixmap);
private:
- QCache<qint64, QGLTexture> m_cache;
+ QCache<QGLTextureCacheKey, QGLTexture> m_cache;
QReadWriteLock m_lock;
};
@@ -563,19 +579,13 @@ int QGLTextureCache::maxCost()
return m_cache.maxCost();
}
-QGLTexture* QGLTextureCache::getTexture(quint64 key)
+QGLTexture* QGLTextureCache::getTexture(QGLContext *ctx, qint64 key)
{
QReadLocker locker(&m_lock);
- return m_cache.object(key);
+ const QGLTextureCacheKey cacheKey = {key, QGLContextPrivate::contextGroup(ctx)};
+ return m_cache.object(cacheKey);
}
-void QGLTextureCache::remove(quint64 key)
-{
- QWriteLocker locker(&m_lock);
- m_cache.remove(key);
-}
-
-
extern Q_OPENGL_EXPORT QPaintEngine* qt_qgl_paint_engine();
bool qt_gl_preferGL2Engine();
diff --git a/src/opengl/qgl_x11.cpp b/src/opengl/qgl_x11.cpp
index d203646..9491f14 100644
--- a/src/opengl/qgl_x11.cpp
+++ b/src/opengl/qgl_x11.cpp
@@ -1773,6 +1773,9 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmap *pixmap, cons
glXBindTexImageEXT(x11Info.display(), (GLXPixmap)pixmapData->gl_surface, GLX_FRONT_LEFT_EXT, 0);
glBindTexture(GL_TEXTURE_2D, textureId);
+ GLuint filtering = (options & QGLContext::LinearFilteringBindOption) ? GL_LINEAR : GL_NEAREST;
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filtering);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filtering);
if (!((hasAlpha && RGBAConfigInverted) || (!hasAlpha && RGBConfigInverted)))
options &= ~QGLContext::InvertedYBindOption;
diff --git a/src/opengl/qglframebufferobject.cpp b/src/opengl/qglframebufferobject.cpp
index 890b029..deffc20 100644
--- a/src/opengl/qglframebufferobject.cpp
+++ b/src/opengl/qglframebufferobject.cpp
@@ -1024,6 +1024,36 @@ QPaintEngine *QGLFramebufferObject::paintEngine() const
}
/*!
+ \fn bool QGLFramebufferObject::bindDefault()
+ \internal
+
+ Switches rendering back to the default, windowing system provided
+ framebuffer.
+ Returns true upon success, false otherwise.
+
+ \sa bind(), release()
+*/
+bool QGLFramebufferObject::bindDefault()
+{
+ QGLContext *ctx = const_cast<QGLContext *>(QGLContext::currentContext());
+
+ if (ctx) {
+ bool ext_detected = (QGLExtensions::glExtensions() & QGLExtensions::FramebufferObject);
+ if (!ext_detected || (ext_detected && !qt_resolve_framebufferobject_extensions(ctx)))
+ return false;
+
+ ctx->d_ptr->current_fbo = ctx->d_ptr->default_fbo;
+ glBindFramebuffer(GL_FRAMEBUFFER_EXT, ctx->d_ptr->default_fbo);
+#ifdef QT_DEBUG
+ } else {
+ qWarning("QGLFramebufferObject::bindDefault() called without current context.");
+#endif
+ }
+
+ return ctx != 0;
+}
+
+/*!
\fn bool QGLFramebufferObject::hasOpenGLFramebufferObjects()
Returns true if the OpenGL \c{GL_EXT_framebuffer_object} extension
diff --git a/src/opengl/qglframebufferobject.h b/src/opengl/qglframebufferobject.h
index 306b6ff..6ff6645 100644
--- a/src/opengl/qglframebufferobject.h
+++ b/src/opengl/qglframebufferobject.h
@@ -108,6 +108,8 @@ public:
QPaintEngine *paintEngine() const;
GLuint handle() const;
+ static bool bindDefault();
+
static bool hasOpenGLFramebufferObjects();
void drawTexture(const QRectF &target, GLuint textureId, GLenum textureTarget = GL_TEXTURE_2D);
diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp
index 76a605a..4b22d5e 100644
--- a/src/openvg/qpaintengine_vg.cpp
+++ b/src/openvg/qpaintengine_vg.cpp
@@ -1622,11 +1622,48 @@ void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op)
QRectF rect(points[0], points[1], points[2] - points[0],
points[5] - points[1]);
clip(rect.toRect(), op);
- } else {
- // The best we can do is clip to the bounding rectangle
- // of all control points.
- clip(path.controlPointRect().toRect(), op);
+ return;
+ }
+
+ // Try converting the path into a QRegion that tightly follows
+ // the outline of the path we want to clip with.
+ QRegion region(path.convertToPainterPath().toFillPolygon(QTransform()).toPolygon());
+ switch (op) {
+ case Qt::NoClip:
+ {
+ region = defaultClipRegion();
+ }
+ break;
+
+ case Qt::ReplaceClip:
+ {
+ region = d->transform.map(region);
+ }
+ break;
+
+ case Qt::IntersectClip:
+ {
+ region = s->clipRegion.intersect(d->transform.map(region));
+ }
+ break;
+
+ case Qt::UniteClip:
+ {
+ region = s->clipRegion.unite(d->transform.map(region));
+ }
+ break;
}
+ if (region.numRects() <= d->maxScissorRects) {
+ // We haven't reached the maximum scissor count yet, so we can
+ // still make use of this region.
+ s->clipRegion = region;
+ updateScissor();
+ return;
+ }
+
+ // The best we can do is clip to the bounding rectangle
+ // of all control points.
+ clip(path.controlPointRect().toRect(), op);
}
void QVGPaintEngine::clip(const QRect &rect, Qt::ClipOperation op)
diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm
index a9cb65b..6ba9504 100644
--- a/src/plugins/bearer/corewlan/qcorewlanengine.mm
+++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm
@@ -70,9 +70,10 @@
#include <net/if.h>
#include <ifaddrs.h>
-@interface QNSListener : NSObject
+
+@interface QT_MANGLE_NAMESPACE(QNSListener) : NSObject
{
- NSNotificationCenter *center;
+ NSNotificationCenter *notificationCenter;
CWInterface *currentInterface;
QCoreWlanEngine *engine;
NSLock *locker;
@@ -86,16 +87,16 @@
@end
-@implementation QNSListener
+@implementation QT_MANGLE_NAMESPACE(QNSListener)
@synthesize engine;
- (id) init
{
[locker lock];
QMacCocoaAutoReleasePool pool;
- center = [NSNotificationCenter defaultCenter];
+ notificationCenter = [NSNotificationCenter defaultCenter];
currentInterface = [CWInterface interfaceWithName:nil];
- [center addObserver:self selector:@selector(notificationHandler:) name:kCWPowerDidChangeNotification object:nil];
+ [notificationCenter addObserver:self selector:@selector(notificationHandler:) name:kCWPowerDidChangeNotification object:nil];
[locker unlock];
return self;
}
@@ -116,7 +117,7 @@
-(void)remove
{
[locker lock];
- [center removeObserver:self];
+ [notificationCenter removeObserver:self];
[locker unlock];
}
@@ -126,7 +127,7 @@
}
@end
-QNSListener *listener = 0;
+QT_MANGLE_NAMESPACE(QNSListener) *listener = 0;
QT_BEGIN_NAMESPACE
@@ -296,6 +297,9 @@ void QScanThread::getUserConfigurations()
for(uint row=0; row < [wifiInterfaces count]; row++ ) {
CWInterface *wifiInterface = [CWInterface interfaceWithName: [wifiInterfaces objectAtIndex:row]];
+ if ( ![wifiInterface power] )
+ continue;
+
NSString *nsInterfaceName = [wifiInterface name];
// add user configured system networks
SCDynamicStoreRef dynRef = SCDynamicStoreCreate(kCFAllocatorSystemDefault, (CFStringRef)@"Qt corewlan", nil, nil);
@@ -430,7 +434,7 @@ void QCoreWlanEngine::initialize()
QMacCocoaAutoReleasePool pool;
if([[CWInterface supportedInterfaces] count] > 0 && !listener) {
- listener = [[QNSListener alloc] init];
+ listener = [[QT_MANGLE_NAMESPACE(QNSListener) alloc] init];
listener.engine = this;
hasWifi = true;
} else {
@@ -785,6 +789,11 @@ void QCoreWlanEngine::networksChanged()
changed = true;
}
+ if (ptr->bearer != cpPriv->bearer) {
+ ptr->bearer = cpPriv->bearer;
+ changed = true;
+ }
+
if (ptr->state != cpPriv->state) {
ptr->state = cpPriv->state;
changed = true;
diff --git a/src/plugins/bearer/symbian/3_1/3_1.pro b/src/plugins/bearer/symbian/3_1/3_1.pro
new file mode 100644
index 0000000..a60d18b
--- /dev/null
+++ b/src/plugins/bearer/symbian/3_1/3_1.pro
@@ -0,0 +1,4 @@
+include(../symbian.pri)
+
+LIBS += -lapengine
+TARGET = $${TARGET}_3_1
diff --git a/src/plugins/bearer/symbian/3_2/3_2.pro b/src/plugins/bearer/symbian/3_2/3_2.pro
new file mode 100644
index 0000000..4e5b416
--- /dev/null
+++ b/src/plugins/bearer/symbian/3_2/3_2.pro
@@ -0,0 +1,12 @@
+include(../symbian.pri)
+
+exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \
+exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) {
+ DEFINES += SNAP_FUNCTIONALITY_AVAILABLE
+ LIBS += -lcmmanager
+} else {
+ # Fall back to 3_1 implementation on platforms that do not have cmmanager
+ LIBS += -lapengine
+}
+
+TARGET = $${TARGET}_3_2
diff --git a/src/plugins/bearer/symbian/symbian.pri b/src/plugins/bearer/symbian/symbian.pri
new file mode 100644
index 0000000..bfcd9ed
--- /dev/null
+++ b/src/plugins/bearer/symbian/symbian.pri
@@ -0,0 +1,30 @@
+TARGET = qsymbianbearer
+include(../../qpluginbase.pri)
+
+QT += network
+
+HEADERS += ../symbianengine.h \
+ ../qnetworksession_impl.h
+
+SOURCES += ../symbianengine.cpp \
+ ../qnetworksession_impl.cpp \
+ ../main.cpp
+
+TARGET.UID3=0x20021319
+
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+symbian-abld:INCLUDEPATH += $$QT_BUILD_TREE/include/QtNetwork/private
+
+LIBS += -lcommdb \
+ -lapsettingshandlerui \
+ -lconnmon \
+ -lcentralrepository \
+ -lesock \
+ -linsock \
+ -lecom \
+ -lefsrv \
+ -lnetmeta
+
+QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/bearer
+target.path += $$[QT_INSTALL_PLUGINS]/bearer
+INSTALLS += target
diff --git a/src/plugins/bearer/symbian/symbian.pro b/src/plugins/bearer/symbian/symbian.pro
index 4f1e51c..f320eb6 100644
--- a/src/plugins/bearer/symbian/symbian.pro
+++ b/src/plugins/bearer/symbian/symbian.pro
@@ -1,41 +1,3 @@
-TARGET = qsymbianbearer
-include(../../qpluginbase.pri)
+TEMPLATE = subdirs
-QT += network
-
-HEADERS += symbianengine.h \
- qnetworksession_impl.h
-
-SOURCES += symbianengine.cpp \
- qnetworksession_impl.cpp \
- main.cpp
-
-symbian {
- TARGET.UID3=0x20021319
- exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \
- exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) {
- message("Building with SNAP support")
- DEFINES += SNAP_FUNCTIONALITY_AVAILABLE
- LIBS += -lcmmanager
- } else {
- message("Building without SNAP support")
- LIBS += -lapengine
- }
-}
-
-INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-symbian-abld:INCLUDEPATH += $$QT_BUILD_TREE/include/QtNetwork/private
-
-LIBS += -lcommdb \
- -lapsettingshandlerui \
- -lconnmon \
- -lcentralrepository \
- -lesock \
- -linsock \
- -lecom \
- -lefsrv \
- -lnetmeta
-
-QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/bearer
-target.path += $$[QT_INSTALL_PLUGINS]/bearer
-INSTALLS += target
+SUBDIRS += 3_1 3_2 symbian_3 \ No newline at end of file
diff --git a/src/plugins/bearer/symbian/symbian_3/symbian_3.pro b/src/plugins/bearer/symbian/symbian_3/symbian_3.pro
new file mode 100644
index 0000000..455aa67
--- /dev/null
+++ b/src/plugins/bearer/symbian/symbian_3/symbian_3.pro
@@ -0,0 +1,14 @@
+include(../symbian.pri)
+
+exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \
+exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) {
+ DEFINES += SNAP_FUNCTIONALITY_AVAILABLE
+ LIBS += -lcmmanager
+
+ exists($$MW_LAYER_PUBLIC_EXPORT_PATH(extendedconnpref.h)) {
+ DEFINES += OCC_FUNCTIONALITY_AVAILABLE
+ }
+} else {
+ # Fall back to 3_1 implementation on platforms that do not have cmmanager
+ LIBS += -lapengine
+}
diff --git a/src/plugins/imageformats/jpeg/jpeg.pro b/src/plugins/imageformats/jpeg/jpeg.pro
index 5b45422..0b5d389 100644
--- a/src/plugins/imageformats/jpeg/jpeg.pro
+++ b/src/plugins/imageformats/jpeg/jpeg.pro
@@ -22,10 +22,9 @@ symbian: {
}
contains(QT_CONFIG, system-jpeg) {
- unix:LIBS += -ljpeg
- win32:LIBS += libjpeg.lib
-}
-!contains(QT_CONFIG, system-jpeg) {
+ unix|win32-g++*:LIBS += -ljpeg
+ win32:!win32-g++*:LIBS += libjpeg.lib
+} else {
INCLUDEPATH += ../../../3rdparty/libjpeg
SOURCES += \
../../../3rdparty/libjpeg/jaricom.c \
diff --git a/src/plugins/imageformats/mng/mng.pro b/src/plugins/imageformats/mng/mng.pro
index de7dfa7..c188b47 100644
--- a/src/plugins/imageformats/mng/mng.pro
+++ b/src/plugins/imageformats/mng/mng.pro
@@ -14,10 +14,9 @@ symbian: {
}
contains(QT_CONFIG, system-mng) {
- unix:LIBS += -lmng
- win32:LIBS += libmng.lib
-}
-!contains(QT_CONFIG, system-mng) {
+ unix|win32-g++*:LIBS += -lmng
+ win32:!win32-g++*:LIBS += libmng.lib
+} else {
DEFINES += MNG_BUILD_SO
DEFINES += MNG_NO_INCLUDE_JNG
INCLUDEPATH += ../../../3rdparty/libmng
@@ -44,10 +43,11 @@ contains(QT_CONFIG, system-mng) {
}
contains(QT_CONFIG, system-zlib) {
- LIBS += -lz
-}
-!contains(QT_CONFIG, system-zlib) {
- INCLUDEPATH += ../../../3rdparty/zlib
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
+} else {
+ INCLUDEPATH += ../../../3rdparty/zlib
}
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats
diff --git a/src/plugins/imageformats/tiff/tiff.pro b/src/plugins/imageformats/tiff/tiff.pro
index 3cb64ad..90868e8 100644
--- a/src/plugins/imageformats/tiff/tiff.pro
+++ b/src/plugins/imageformats/tiff/tiff.pro
@@ -8,10 +8,14 @@ SOURCES += main.cpp \
qtiffhandler.cpp
contains(QT_CONFIG, system-tiff) {
- unix:LIBS += -ltiff
- win32:LIBS += libtiff.lib
-}
-!contains(QT_CONFIG, system-tiff) {
+ unix|win32-g++*:LIBS += -ltiff
+ win32:!win32-g++*:LIBS += libtiff.lib
+
+ contains(QT_CONFIG, system-jpeg) {
+ unix|win32-g++*:LIBS += -ljpeg
+ win32:!win32-g++*:LIBS += libjpeg.lib
+ }
+} else {
INCLUDEPATH += ../../../3rdparty/libtiff/libtiff
SOURCES += \
../../../3rdparty/libtiff/libtiff/tif_aux.c \
@@ -64,10 +68,11 @@ contains(QT_CONFIG, system-tiff) {
}
contains(QT_CONFIG, system-zlib) {
- LIBS += -lz
-}
-!contains(QT_CONFIG, system-zlib) {
- INCLUDEPATH += ../../../3rdparty/zlib
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
+} else {
+ INCLUDEPATH += ../../../3rdparty/zlib
}
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/imageformats
diff --git a/src/plugins/s60/s60pluginbase.pri b/src/plugins/s60/s60pluginbase.pri
index 1a6f4a2..4e15102 100644
--- a/src/plugins/s60/s60pluginbase.pri
+++ b/src/plugins/s60/s60pluginbase.pri
@@ -8,11 +8,16 @@ QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/s60
MMP_RULES += NOEXPORTLIBRARY
-defBlock = \
- "$${LITERAL_HASH}ifdef WINSCW" \
- "DEFFILE ../bwins/qts60plugin.def" \
- "$${LITERAL_HASH}else" \
- "DEFFILE ../eabi/qts60plugin.def" \
- "$${LITERAL_HASH}endif"
+symbian-abld|symbian-sbsv2 {
+ defBlock = \
+ "$${LITERAL_HASH}ifdef WINSCW" \
+ "DEFFILE ../bwins/qts60plugin.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../eabi/qts60plugin.def" \
+ "$${LITERAL_HASH}endif"
+} else {
+ CONFIG *= def_files
+ DEF_FILE = ../eabi/qts60pluginu.def
+}
MMP_RULES += defBlock \ No newline at end of file
diff --git a/src/plugins/sqldrivers/psql/psql.pro b/src/plugins/sqldrivers/psql/psql.pro
index 0a38ee4..80a5348 100644
--- a/src/plugins/sqldrivers/psql/psql.pro
+++ b/src/plugins/sqldrivers/psql/psql.pro
@@ -4,7 +4,7 @@ HEADERS = ../../../sql/drivers/psql/qsql_psql.h
SOURCES = main.cpp \
../../../sql/drivers/psql/qsql_psql.cpp
-unix|win32-g++: {
+unix|win32-g++*: {
!isEmpty(QT_LFLAGS_PSQL) {
!contains(QT_CONFIG, system-zlib): QT_LFLAGS_PSQL -= -lz
!static:LIBS *= $$QT_LFLAGS_PSQL
@@ -13,6 +13,6 @@ unix|win32-g++: {
!contains(LIBS, .*pq.*):LIBS *= -lpq
}
-win32:!win32-g++:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32
+win32:!win32-g++*:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32
include(../qsqldriverbase.pri)
diff --git a/src/qbase.pri b/src/qbase.pri
index 4a75565..064e67c 100644
--- a/src/qbase.pri
+++ b/src/qbase.pri
@@ -1,4 +1,4 @@
-isEmpty(TARGET):error(You must set TARGET before include()'ing $${_FILE_})
+isEmpty(TARGET):error("You must set TARGET before include()'ing $${_FILE_}")
INCLUDEPATH *= $$QMAKE_INCDIR_QT/$$TARGET #just for today to have some compat
!isEmpty(RCC_DIR): INCLUDEPATH += $$RCC_DIR
isEmpty(QT_ARCH):!isEmpty(ARCH):QT_ARCH=$$ARCH #another compat that will rot for change #215700
@@ -85,7 +85,6 @@ win32-borland {
}
win32 {
- CONFIG += zlib
INCLUDEPATH += tmp
!static: DEFINES+=QT_MAKEDLL
}
diff --git a/src/s60installs/bwins/QtDeclarativeu.def b/src/s60installs/bwins/QtDeclarativeu.def
index 3df0f47..2992cf6 100644
--- a/src/s60installs/bwins/QtDeclarativeu.def
+++ b/src/s60installs/bwins/QtDeclarativeu.def
@@ -862,7 +862,7 @@ EXPORTS
?cursorPositionChanged@QDeclarativeTextEdit@@IAEXXZ @ 861 NONAME ; void QDeclarativeTextEdit::cursorPositionChanged(void)
?cursorPositionChanged@QDeclarativeTextInput@@IAEXXZ @ 862 NONAME ; void QDeclarativeTextInput::cursorPositionChanged(void)
?cursorRect@QDeclarativeTextEdit@@QBE?AVQRect@@XZ @ 863 NONAME ABSENT ; class QRect QDeclarativeTextEdit::cursorRect(void) const
- ?cursorRect@QDeclarativeTextInput@@QBE?AVQRect@@XZ @ 864 NONAME ; class QRect QDeclarativeTextInput::cursorRect(void) const
+ ?cursorRect@QDeclarativeTextInput@@QBE?AVQRect@@XZ @ 864 NONAME ABSENT ; class QRect QDeclarativeTextInput::cursorRect(void) const
?cursorVisibleChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 865 NONAME ; void QDeclarativeTextEdit::cursorVisibleChanged(bool)
?cursorVisibleChanged@QDeclarativeTextInput@@IAEX_N@Z @ 866 NONAME ; void QDeclarativeTextInput::cursorVisibleChanged(bool)
?customParser@QDeclarativeType@@QBEPAVQDeclarativeCustomParser@@XZ @ 867 NONAME ; class QDeclarativeCustomParser * QDeclarativeType::customParser(void) const
@@ -2568,10 +2568,10 @@ EXPORTS
?setSelectedTextColor@QDeclarativeTextInput@@QAEXABVQColor@@@Z @ 2567 NONAME ; void QDeclarativeTextInput::setSelectedTextColor(class QColor const &)
?setSelectionColor@QDeclarativeTextEdit@@QAEXABVQColor@@@Z @ 2568 NONAME ; void QDeclarativeTextEdit::setSelectionColor(class QColor const &)
?setSelectionColor@QDeclarativeTextInput@@QAEXABVQColor@@@Z @ 2569 NONAME ; void QDeclarativeTextInput::setSelectionColor(class QColor const &)
- ?setSelectionEnd@QDeclarativeTextEdit@@QAEXH@Z @ 2570 NONAME ; void QDeclarativeTextEdit::setSelectionEnd(int)
- ?setSelectionEnd@QDeclarativeTextInput@@QAEXH@Z @ 2571 NONAME ; void QDeclarativeTextInput::setSelectionEnd(int)
- ?setSelectionStart@QDeclarativeTextEdit@@QAEXH@Z @ 2572 NONAME ; void QDeclarativeTextEdit::setSelectionStart(int)
- ?setSelectionStart@QDeclarativeTextInput@@QAEXH@Z @ 2573 NONAME ; void QDeclarativeTextInput::setSelectionStart(int)
+ ?setSelectionEnd@QDeclarativeTextEdit@@QAEXH@Z @ 2570 NONAME ABSENT ; void QDeclarativeTextEdit::setSelectionEnd(int)
+ ?setSelectionEnd@QDeclarativeTextInput@@QAEXH@Z @ 2571 NONAME ABSENT ; void QDeclarativeTextInput::setSelectionEnd(int)
+ ?setSelectionStart@QDeclarativeTextEdit@@QAEXH@Z @ 2572 NONAME ABSENT ; void QDeclarativeTextEdit::setSelectionStart(int)
+ ?setSelectionStart@QDeclarativeTextInput@@QAEXH@Z @ 2573 NONAME ABSENT ; void QDeclarativeTextInput::setSelectionStart(int)
?setSmooth@QDeclarativeItem@@QAEX_N@Z @ 2574 NONAME ; void QDeclarativeItem::setSmooth(bool)
?setSmoothCache@QDeclarativePaintedItem@@QAEX_N@Z @ 2575 NONAME ; void QDeclarativePaintedItem::setSmoothCache(bool)
?setSnapMode@QDeclarativeListView@@QAEXW4SnapMode@1@@Z @ 2576 NONAME ; void QDeclarativeListView::setSnapMode(enum QDeclarativeListView::SnapMode)
@@ -3891,7 +3891,7 @@ EXPORTS
?wrapMode@QDeclarativeTextEdit@@QBE?AW4WrapMode@1@XZ @ 3890 NONAME ; enum QDeclarativeTextEdit::WrapMode QDeclarativeTextEdit::wrapMode(void) const
?wrapModeChanged@QDeclarativeText@@IAEXXZ @ 3891 NONAME ; void QDeclarativeText::wrapModeChanged(void)
?wrapModeChanged@QDeclarativeTextEdit@@IAEXXZ @ 3892 NONAME ; void QDeclarativeTextEdit::wrapModeChanged(void)
- ?xToPosition@QDeclarativeTextInput@@QAEHH@Z @ 3893 NONAME ; int QDeclarativeTextInput::xToPosition(int)
+ ?xToPosition@QDeclarativeTextInput@@QAEHH@Z @ 3893 NONAME ABSENT ; int QDeclarativeTextInput::xToPosition(int)
?staticMetaObject@QDeclarativeSmoothedFollow@@2UQMetaObject@@B @ 3894 NONAME ; struct QMetaObject const QDeclarativeSmoothedFollow::staticMetaObject
?trUtf8@QDeclarativeCompiler@@SA?AVQString@@PBD0H@Z @ 3895 NONAME ; class QString QDeclarativeCompiler::trUtf8(char const *, char const *, int)
?findSignalByName@QDeclarativePropertyPrivate@@SA?AVQMetaMethod@@PBUQMetaObject@@ABVQByteArray@@@Z @ 3896 NONAME ; class QMetaMethod QDeclarativePropertyPrivate::findSignalByName(struct QMetaObject const *, class QByteArray const &)
@@ -4024,10 +4024,10 @@ EXPORTS
?restart@QDeclarativeItemPrivate@@SA_JAAVQElapsedTimer@@@Z @ 4023 NONAME ; long long QDeclarativeItemPrivate::restart(class QElapsedTimer &)
?get@QDeclarativeXmlListModel@@QBE?AVQScriptValue@@H@Z @ 4024 NONAME ; class QScriptValue QDeclarativeXmlListModel::get(int) const
?setScale@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4025 NONAME ; void QDeclarativeParentChange::setScale(class QDeclarativeScriptString)
- ?showInputPanelOnFocusChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 4026 NONAME ; void QDeclarativeTextEdit::showInputPanelOnFocusChanged(bool)
+ ?showInputPanelOnFocusChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 4026 NONAME ABSENT ; void QDeclarativeTextEdit::showInputPanelOnFocusChanged(bool)
?focusOutEvent@QDeclarativeTextInput@@MAEXPAVQFocusEvent@@@Z @ 4027 NONAME ; void QDeclarativeTextInput::focusOutEvent(class QFocusEvent *)
?height@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4028 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::height(void) const
- ?showInputPanelOnFocus@QDeclarativeTextEdit@@QBE_NXZ @ 4029 NONAME ; bool QDeclarativeTextEdit::showInputPanelOnFocus(void) const
+ ?showInputPanelOnFocus@QDeclarativeTextEdit@@QBE_NXZ @ 4029 NONAME ABSENT ; bool QDeclarativeTextEdit::showInputPanelOnFocus(void) const
?errorString@QDeclarativeComponent@@QBE?AVQString@@XZ @ 4030 NONAME ; class QString QDeclarativeComponent::errorString(void) const
?elapsed@QDeclarativeItemPrivate@@SA_JAAVQElapsedTimer@@@Z @ 4031 NONAME ; long long QDeclarativeItemPrivate::elapsed(class QElapsedTimer &)
?focusInEvent@QDeclarativeTextInput@@MAEXPAVQFocusEvent@@@Z @ 4032 NONAME ; void QDeclarativeTextInput::focusInEvent(class QFocusEvent *)
@@ -4042,15 +4042,15 @@ EXPORTS
?errorString@QDeclarativeXmlListModel@@QBE?AVQString@@XZ @ 4041 NONAME ; class QString QDeclarativeXmlListModel::errorString(void) const
?consistentTime@QDeclarativeItemPrivate@@2_JA @ 4042 NONAME ; long long QDeclarativeItemPrivate::consistentTime
?scale@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4043 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::scale(void) const
- ?showInputPanelOnFocus@QDeclarativeTextInput@@QBE_NXZ @ 4044 NONAME ; bool QDeclarativeTextInput::showInputPanelOnFocus(void) const
+ ?showInputPanelOnFocus@QDeclarativeTextInput@@QBE_NXZ @ 4044 NONAME ABSENT ; bool QDeclarativeTextInput::showInputPanelOnFocus(void) const
?focusInEvent@QDeclarativeTextEdit@@MAEXPAVQFocusEvent@@@Z @ 4045 NONAME ; void QDeclarativeTextEdit::focusInEvent(class QFocusEvent *)
?y@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4046 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::y(void) const
?setY@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4047 NONAME ; void QDeclarativeParentChange::setY(class QDeclarativeScriptString)
- ?setShowInputPanelOnFocus@QDeclarativeTextEdit@@QAEX_N@Z @ 4048 NONAME ; void QDeclarativeTextEdit::setShowInputPanelOnFocus(bool)
+ ?setShowInputPanelOnFocus@QDeclarativeTextEdit@@QAEX_N@Z @ 4048 NONAME ABSENT ; void QDeclarativeTextEdit::setShowInputPanelOnFocus(bool)
?paintedSizeChanged@QDeclarativeText@@IAEXXZ @ 4049 NONAME ; void QDeclarativeText::paintedSizeChanged(void)
?selectByMouseChanged@QDeclarativeTextEdit@@IAEX_N@Z @ 4050 NONAME ; void QDeclarativeTextEdit::selectByMouseChanged(bool)
?openSoftwareInputPanel@QDeclarativeTextInput@@QAEXXZ @ 4051 NONAME ; void QDeclarativeTextInput::openSoftwareInputPanel(void)
- ?setShowInputPanelOnFocus@QDeclarativeTextInput@@QAEX_N@Z @ 4052 NONAME ; void QDeclarativeTextInput::setShowInputPanelOnFocus(bool)
+ ?setShowInputPanelOnFocus@QDeclarativeTextInput@@QAEX_N@Z @ 4052 NONAME ABSENT ; void QDeclarativeTextInput::setShowInputPanelOnFocus(bool)
?boundingRect@QDeclarativePaintedItem@@MBE?AVQRectF@@XZ @ 4053 NONAME ; class QRectF QDeclarativePaintedItem::boundingRect(void) const
?closeSoftwareInputPanel@QDeclarativeTextInput@@QAEXXZ @ 4054 NONAME ; void QDeclarativeTextInput::closeSoftwareInputPanel(void)
?setWidth@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4055 NONAME ; void QDeclarativeParentChange::setWidth(class QDeclarativeScriptString)
@@ -4067,11 +4067,25 @@ EXPORTS
?selectByMouse@QDeclarativeTextEdit@@QBE_NXZ @ 4066 NONAME ; bool QDeclarativeTextEdit::selectByMouse(void) const
?setHeight@QDeclarativeParentChange@@QAEXVQDeclarativeScriptString@@@Z @ 4067 NONAME ; void QDeclarativeParentChange::setHeight(class QDeclarativeScriptString)
?start@QDeclarativeItemPrivate@@SAXAAVQElapsedTimer@@@Z @ 4068 NONAME ; void QDeclarativeItemPrivate::start(class QElapsedTimer &)
- ?showInputPanelOnFocusChanged@QDeclarativeTextInput@@IAEX_N@Z @ 4069 NONAME ; void QDeclarativeTextInput::showInputPanelOnFocusChanged(bool)
+ ?showInputPanelOnFocusChanged@QDeclarativeTextInput@@IAEX_N@Z @ 4069 NONAME ABSENT ; void QDeclarativeTextInput::showInputPanelOnFocusChanged(bool)
?x@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4070 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::x(void) const
?selectByMouseChanged@QDeclarativeTextInput@@IAEX_N@Z @ 4071 NONAME ; void QDeclarativeTextInput::selectByMouseChanged(bool)
?width@QDeclarativeParentChange@@QBE?AVQDeclarativeScriptString@@XZ @ 4072 NONAME ; class QDeclarativeScriptString QDeclarativeParentChange::width(void) const
?openSoftwareInputPanel@QDeclarativeTextEdit@@QAEXXZ @ 4073 NONAME ; void QDeclarativeTextEdit::openSoftwareInputPanel(void)
?cursorRectangleChanged@QDeclarativeTextEdit@@IAEXXZ @ 4074 NONAME ; void QDeclarativeTextEdit::cursorRectangleChanged(void)
?cursorRectangle@QDeclarativeTextEdit@@QBE?AVQRect@@XZ @ 4075 NONAME ; class QRect QDeclarativeTextEdit::cursorRectangle(void) const
+ ?selectWord@QDeclarativeTextInput@@QAEXXZ @ 4076 NONAME ; void QDeclarativeTextInput::selectWord(void)
+ ?positionToRectangle@QDeclarativeTextEdit@@QBE?AVQRectF@@H@Z @ 4077 NONAME ; class QRectF QDeclarativeTextEdit::positionToRectangle(int) const
+ ?cursorRectangle@QDeclarativeTextInput@@QBE?AVQRect@@XZ @ 4078 NONAME ; class QRect QDeclarativeTextInput::cursorRectangle(void) const
+ ?mouseDoubleClickEvent@QDeclarativeTextInput@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 4079 NONAME ; void QDeclarativeTextInput::mouseDoubleClickEvent(class QGraphicsSceneMouseEvent *)
+ ?positionAt@QDeclarativeTextEdit@@QBEHHH@Z @ 4080 NONAME ; int QDeclarativeTextEdit::positionAt(int, int) const
+ ?cut@QDeclarativeTextEdit@@QAEXXZ @ 4081 NONAME ; void QDeclarativeTextEdit::cut(void)
+ ?copy@QDeclarativeTextEdit@@QAEXXZ @ 4082 NONAME ; void QDeclarativeTextEdit::copy(void)
+ ?select@QDeclarativeTextEdit@@QAEXHH@Z @ 4083 NONAME ; void QDeclarativeTextEdit::select(int, int)
+ ?moveCursorSelection@QDeclarativeTextEdit@@QAEXH@Z @ 4084 NONAME ; void QDeclarativeTextEdit::moveCursorSelection(int)
+ ?select@QDeclarativeTextInput@@QAEXHH@Z @ 4085 NONAME ; void QDeclarativeTextInput::select(int, int)
+ ?paste@QDeclarativeTextEdit@@QAEXXZ @ 4086 NONAME ; void QDeclarativeTextEdit::paste(void)
+ ?positionToRectangle@QDeclarativeTextInput@@QBE?AVQRectF@@H@Z @ 4087 NONAME ; class QRectF QDeclarativeTextInput::positionToRectangle(int) const
+ ?positionAt@QDeclarativeTextInput@@QBEHH@Z @ 4088 NONAME ; int QDeclarativeTextInput::positionAt(int) const
+ ?selectWord@QDeclarativeTextEdit@@QAEXXZ @ 4089 NONAME ; void QDeclarativeTextEdit::selectWord(void)
diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def
index a1e05e2..9b4ecc2 100644
--- a/src/s60installs/bwins/QtGuiu.def
+++ b/src/s60installs/bwins/QtGuiu.def
@@ -12805,4 +12805,12 @@ EXPORTS
?setPerformanceHint@QStaticText@@QAEXW4PerformanceHint@1@@Z @ 12804 NONAME ; void QStaticText::setPerformanceHint(enum QStaticText::PerformanceHint)
??0QStaticText@@QAE@ABV0@@Z @ 12805 NONAME ; QStaticText::QStaticText(class QStaticText const &)
??0QImageTextureGlyphCache@@QAE@W4Type@QFontEngineGlyphCache@@ABVQTransform@@@Z @ 12806 NONAME ; QImageTextureGlyphCache::QImageTextureGlyphCache(enum QFontEngineGlyphCache::Type, class QTransform const &)
+ ?verticalMovementX@QTextCursor@@QBEHXZ @ 12807 NONAME ; int QTextCursor::verticalMovementX(void) const
+ ?runtime_graphics_system@QApplicationPrivate@@2_NA @ 12808 NONAME ; bool QApplicationPrivate::runtime_graphics_system
+ ?keepPositionOnInsert@QTextCursor@@QBE_NXZ @ 12809 NONAME ; bool QTextCursor::keepPositionOnInsert(void) const
+ ?setKeepPositionOnInsert@QTextCursor@@QAEX_N@Z @ 12810 NONAME ; void QTextCursor::setKeepPositionOnInsert(bool)
+ ?textDirection@QProgressBar@@QBE?AW4Direction@1@XZ @ 12811 NONAME ; enum QProgressBar::Direction QProgressBar::textDirection(void) const
+ ?setVerticalMovementX@QTextCursor@@QAEXH@Z @ 12812 NONAME ; void QTextCursor::setVerticalMovementX(int)
+ ?invertedAppearance@QProgressBar@@QBE_NXZ @ 12813 NONAME ; bool QProgressBar::invertedAppearance(void) const
+ ?width@QFontMetrics@@QBEHABVQString@@HH@Z @ 12814 NONAME ; int QFontMetrics::width(class QString const &, int, int) const
diff --git a/src/s60installs/eabi/QtDeclarativeu.def b/src/s60installs/eabi/QtDeclarativeu.def
index 320a780..1c4cd5d 100644
--- a/src/s60installs/eabi/QtDeclarativeu.def
+++ b/src/s60installs/eabi/QtDeclarativeu.def
@@ -911,7 +911,7 @@ EXPORTS
_ZN20QDeclarativeTextEdit15mousePressEventEP24QGraphicsSceneMouseEvent @ 910 NONAME
_ZN20QDeclarativeTextEdit15readOnlyChangedEb @ 911 NONAME
_ZN20QDeclarativeTextEdit15setFocusOnPressEb @ 912 NONAME
- _ZN20QDeclarativeTextEdit15setSelectionEndEi @ 913 NONAME
+ _ZN20QDeclarativeTextEdit15setSelectionEndEi @ 913 NONAME ABSENT
_ZN20QDeclarativeTextEdit16inputMethodEventEP17QInputMethodEvent @ 914 NONAME
_ZN20QDeclarativeTextEdit16selectionChangedEv @ 915 NONAME
_ZN20QDeclarativeTextEdit16setCursorVisibleEb @ 916 NONAME
@@ -921,7 +921,7 @@ EXPORTS
_ZN20QDeclarativeTextEdit17setCursorDelegateEP21QDeclarativeComponent @ 920 NONAME
_ZN20QDeclarativeTextEdit17setCursorPositionEi @ 921 NONAME
_ZN20QDeclarativeTextEdit17setSelectionColorERK6QColor @ 922 NONAME
- _ZN20QDeclarativeTextEdit17setSelectionStartEi @ 923 NONAME
+ _ZN20QDeclarativeTextEdit17setSelectionStartEi @ 923 NONAME ABSENT
_ZN20QDeclarativeTextEdit17textFormatChangedENS_10TextFormatE @ 924 NONAME
_ZN20QDeclarativeTextEdit17textMarginChangedEf @ 925 NONAME
_ZN20QDeclarativeTextEdit18loadCursorDelegateEv @ 926 NONAME
@@ -1207,7 +1207,7 @@ EXPORTS
_ZN21QDeclarativeTextInput15mousePressEventEP24QGraphicsSceneMouseEvent @ 1206 NONAME
_ZN21QDeclarativeTextInput15readOnlyChangedEb @ 1207 NONAME
_ZN21QDeclarativeTextInput15setFocusOnPressEb @ 1208 NONAME
- _ZN21QDeclarativeTextInput15setSelectionEndEi @ 1209 NONAME
+ _ZN21QDeclarativeTextInput15setSelectionEndEi @ 1209 NONAME ABSENT
_ZN21QDeclarativeTextInput16cursorPosChangedEv @ 1210 NONAME
_ZN21QDeclarativeTextInput16inputMaskChangedERK7QString @ 1211 NONAME
_ZN21QDeclarativeTextInput16selectionChangedEv @ 1212 NONAME
@@ -1218,7 +1218,7 @@ EXPORTS
_ZN21QDeclarativeTextInput17setCursorDelegateEP21QDeclarativeComponent @ 1217 NONAME
_ZN21QDeclarativeTextInput17setCursorPositionEi @ 1218 NONAME
_ZN21QDeclarativeTextInput17setSelectionColorERK6QColor @ 1219 NONAME
- _ZN21QDeclarativeTextInput17setSelectionStartEi @ 1220 NONAME
+ _ZN21QDeclarativeTextInput17setSelectionStartEi @ 1220 NONAME ABSENT
_ZN21QDeclarativeTextInput19focusOnPressChangedEb @ 1221 NONAME
_ZN21QDeclarativeTextInput19getStaticMetaObjectEv @ 1222 NONAME
_ZN21QDeclarativeTextInput19selectedTextChangedEv @ 1223 NONAME
@@ -2627,7 +2627,7 @@ EXPORTS
_ZNK21QDeclarativeRectangle8gradientEv @ 2626 NONAME
_ZNK21QDeclarativeScaleGrid10metaObjectEv @ 2627 NONAME
_ZNK21QDeclarativeScaleGrid6isNullEv @ 2628 NONAME
- _ZNK21QDeclarativeTextInput10cursorRectEv @ 2629 NONAME
+ _ZNK21QDeclarativeTextInput10cursorRectEv @ 2629 NONAME ABSENT
_ZNK21QDeclarativeTextInput10isReadOnlyEv @ 2630 NONAME
_ZNK21QDeclarativeTextInput10metaObjectEv @ 2631 NONAME
_ZNK21QDeclarativeTextInput12focusOnPressEv @ 2632 NONAME
@@ -3413,7 +3413,7 @@ EXPORTS
_ZN20QDeclarativePathView28highlightMoveDurationChangedEv @ 3412 NONAME
_ZN20QDeclarativeTextEdit11setWrapModeENS_8WrapModeE @ 3413 NONAME
_ZN20QDeclarativeTextEdit15wrapModeChangedEv @ 3414 NONAME
- _ZN21QDeclarativeTextInput11xToPositionEi @ 3415 NONAME
+ _ZN21QDeclarativeTextInput11xToPositionEi @ 3415 NONAME ABSENT
_ZN21QDeclarativeTextInput13setAutoScrollEb @ 3416 NONAME
_ZN21QDeclarativeTextInput14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3417 NONAME
_ZN21QDeclarativeTextInput17autoScrollChangedEb @ 3418 NONAME
@@ -3612,16 +3612,16 @@ EXPORTS
_ZN20QDeclarativeTextEdit22cursorRectangleChangedEv @ 3611 NONAME
_ZN20QDeclarativeTextEdit22openSoftwareInputPanelEv @ 3612 NONAME
_ZN20QDeclarativeTextEdit23closeSoftwareInputPanelEv @ 3613 NONAME
- _ZN20QDeclarativeTextEdit24setShowInputPanelOnFocusEb @ 3614 NONAME
- _ZN20QDeclarativeTextEdit28showInputPanelOnFocusChangedEb @ 3615 NONAME
+ _ZN20QDeclarativeTextEdit24setShowInputPanelOnFocusEb @ 3614 NONAME ABSENT
+ _ZN20QDeclarativeTextEdit28showInputPanelOnFocusChangedEb @ 3615 NONAME ABSENT
_ZN21QDeclarativeTextInput12focusInEventEP11QFocusEvent @ 3616 NONAME
_ZN21QDeclarativeTextInput13focusOutEventEP11QFocusEvent @ 3617 NONAME
_ZN21QDeclarativeTextInput16setSelectByMouseEb @ 3618 NONAME
_ZN21QDeclarativeTextInput20selectByMouseChangedEb @ 3619 NONAME
_ZN21QDeclarativeTextInput22openSoftwareInputPanelEv @ 3620 NONAME
_ZN21QDeclarativeTextInput23closeSoftwareInputPanelEv @ 3621 NONAME
- _ZN21QDeclarativeTextInput24setShowInputPanelOnFocusEb @ 3622 NONAME
- _ZN21QDeclarativeTextInput28showInputPanelOnFocusChangedEb @ 3623 NONAME
+ _ZN21QDeclarativeTextInput24setShowInputPanelOnFocusEb @ 3622 NONAME ABSENT
+ _ZN21QDeclarativeTextInput28showInputPanelOnFocusChangedEb @ 3623 NONAME ABSENT
_ZN22QDeclarativeExpressionC1EP19QDeclarativeContextP7QObjectRK7QStringS3_ @ 3624 NONAME
_ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataP7QObjectRK7QString @ 3625 NONAME
_ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataP7QObjectRK7QStringR29QDeclarativeExpressionPrivate @ 3626 NONAME
@@ -3645,10 +3645,10 @@ EXPORTS
_ZNK20QDeclarativeTextEdit13paintedHeightEv @ 3644 NONAME
_ZNK20QDeclarativeTextEdit13selectByMouseEv @ 3645 NONAME
_ZNK20QDeclarativeTextEdit15cursorRectangleEv @ 3646 NONAME
- _ZNK20QDeclarativeTextEdit21showInputPanelOnFocusEv @ 3647 NONAME
+ _ZNK20QDeclarativeTextEdit21showInputPanelOnFocusEv @ 3647 NONAME ABSENT
_ZNK21QDeclarativeComponent11errorStringEv @ 3648 NONAME
_ZNK21QDeclarativeTextInput13selectByMouseEv @ 3649 NONAME
- _ZNK21QDeclarativeTextInput21showInputPanelOnFocusEv @ 3650 NONAME
+ _ZNK21QDeclarativeTextInput21showInputPanelOnFocusEv @ 3650 NONAME ABSENT
_ZNK23QDeclarativePaintedItem12boundingRectEv @ 3651 NONAME
_ZNK24QDeclarativeXmlListModel11errorStringEv @ 3652 NONAME
_ZNK24QDeclarativeXmlListModel3getEi @ 3653 NONAME
@@ -3657,4 +3657,19 @@ EXPORTS
_ZThn8_N21QDeclarativeTextInput12focusInEventEP11QFocusEvent @ 3656 NONAME
_ZThn8_N21QDeclarativeTextInput13focusOutEventEP11QFocusEvent @ 3657 NONAME
_ZThn8_NK23QDeclarativePaintedItem12boundingRectEv @ 3658 NONAME
+ _ZN20QDeclarativeTextEdit10selectWordEv @ 3659 NONAME
+ _ZN20QDeclarativeTextEdit19moveCursorSelectionEi @ 3660 NONAME
+ _ZN20QDeclarativeTextEdit3cutEv @ 3661 NONAME
+ _ZN20QDeclarativeTextEdit4copyEv @ 3662 NONAME
+ _ZN20QDeclarativeTextEdit5pasteEv @ 3663 NONAME
+ _ZN20QDeclarativeTextEdit6selectEii @ 3664 NONAME
+ _ZN21QDeclarativeTextInput10selectWordEv @ 3665 NONAME
+ _ZN21QDeclarativeTextInput21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3666 NONAME
+ _ZN21QDeclarativeTextInput6selectEii @ 3667 NONAME
+ _ZNK20QDeclarativeTextEdit10positionAtEii @ 3668 NONAME
+ _ZNK20QDeclarativeTextEdit19positionToRectangleEi @ 3669 NONAME
+ _ZNK21QDeclarativeTextInput10positionAtEi @ 3670 NONAME
+ _ZNK21QDeclarativeTextInput15cursorRectangleEv @ 3671 NONAME
+ _ZNK21QDeclarativeTextInput19positionToRectangleEi @ 3672 NONAME
+ _ZThn8_N21QDeclarativeTextInput21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3673 NONAME
diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def
index 8aafde9..9c1002d 100644
--- a/src/s60installs/eabi/QtGuiu.def
+++ b/src/s60installs/eabi/QtGuiu.def
@@ -12006,4 +12006,10 @@ EXPORTS
_ZTV20QGraphicsViewPrivate @ 12005 NONAME
_ZTV23QImageTextureGlyphCache @ 12006 NONAME
_ZTV26QAbstractScrollAreaPrivate @ 12007 NONAME
+ _ZN11QTextCursor20setVerticalMovementXEi @ 12008 NONAME
+ _ZN11QTextCursor23setKeepPositionOnInsertEb @ 12009 NONAME
+ _ZN19QApplicationPrivate23runtime_graphics_systemE @ 12010 NONAME DATA 1
+ _ZNK11QTextCursor17verticalMovementXEv @ 12011 NONAME
+ _ZNK11QTextCursor20keepPositionOnInsertEv @ 12012 NONAME
+ _ZNK12QFontMetrics5widthERK7QStringii @ 12013 NONAME
diff --git a/src/s60installs/qsymbianbearer.qtplugin b/src/s60installs/qsymbianbearer.qtplugin
new file mode 100644
index 0000000..5c45bdd
--- /dev/null
+++ b/src/s60installs/qsymbianbearer.qtplugin
@@ -0,0 +1 @@
+This file is a Qt plugin stub file. The real Qt plugin is located in /sys/bin. Created:2010-06-02T14:02:21
diff --git a/src/s60installs/qt.iby b/src/s60installs/qt.iby
index ec019e2..f43f344 100644
--- a/src/s60installs/qt.iby
+++ b/src/s60installs/qt.iby
@@ -74,6 +74,21 @@ data=\epoc32\data\z\resource\qt\plugins\codecs\qtwcodecs.qtplugin resou
// iconengines stubs
data=\epoc32\data\z\resource\qt\plugins\iconengines\qsvgicon.qtplugin resource\qt\plugins\iconengines\qsvgicon.qtplugin
+// qml import plugins
+file=ABI_DIR\BUILD_DIR\qmlwebkitplugin.dll SHARED_LIB_DIR\qmlwebkitplugin.dll
+file=ABI_DIR\BUILD_DIR\qmlfolderlistmodelplugin.dll SHARED_LIB_DIR\qmlfolderlistmodelplugin.dll
+file=ABI_DIR\BUILD_DIR\qmlgesturesplugin.dll SHARED_LIB_DIR\qmlgesturesplugin.dll
+file=ABI_DIR\BUILD_DIR\qmlparticlesplugin.dll SHARED_LIB_DIR\qmlparticlesplugin.dll
+
+data=\epoc32\data\z\resource\qt\imports\org\webkit\qmlwebkitplugin.qtplugin resource\qt\imports\org\webkit\qmlwebkitplugin.qtplugin
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\folderlistmodel\qmlfolderlistmodelplugin.qtplugin resource\qt\imports\Qt\labs\folderlistmodel\qmlfolderlistmodelplugin.qtplugin
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\gestures\qmlgesturesplugin.qtplugin resource\qt\imports\Qt\labs\gestures\qmlgesturesplugin.qtplugin
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\particles\qmlparticlesplugin.qtplugin resource\qt\imports\Qt\labs\particles\qmlparticlesplugin.qtplugin
+
+data=\epoc32\data\z\resource\qt\imports\org\webkit\qmldir resource\qt\imports\org\webkit\qmldir
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\folderlistmodel\qmldir resource\qt\imports\Qt\labs\folderlistmodel\qmldir
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\gestures\qmldir resource\qt\imports\Qt\labs\gestures\qmldir
+data=\epoc32\data\z\resource\qt\imports\Qt\labs\particles\qmldir resource\qt\imports\Qt\labs\particles\qmldir
// QtMultimedia audio backend
data=\epoc32\data\qt\qtlibspluginstubs\qaudio.qtplugin resource\qt\plugins\audio\qaudio.qtplugin
diff --git a/src/s60installs/qt.svg b/src/s60installs/qt.svg
index 6230ada..566acfa 100644
--- a/src/s60installs/qt.svg
+++ b/src/s60installs/qt.svg
@@ -1,17 +1,93 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" baseProfile="tiny" height="146.3063" version="1.0" viewBox="0 0 122 146" width="121.60006">
-<g transform="translate(-376.34283,-407.78046)">
-<g transform="matrix(0.697424,0,0,0.697424,376.34283,407.78046)">
-<path d="M 43.086,0.358597 C 40.9414,0.00358582 38.8399,-0.0824127 36.8086,0.0775909 L 36.8047,0.0735931 C 36.8047,0.0735931 22.9219,1.01859 22.2891,1.0696 C 9.6211,2.08159 0,12.5036 0,26.8896 L 0,196.554 L 14.1914,209.781 L 156.789,185.816 C 166.606,184.113 174.356,172.538 174.356,160.038 L 174.356,21.8786 L 43.086,0.358597 z" style="fill:#006225;fill-rule:evenodd;stroke:none"/>
-<path d="M 174.356,160.042 C 174.356,172.538 166.606,184.113 156.789,185.816 L 14.1914,209.781 L 14.1914,25.9916 C 14.1914,9.2726 27.5313,-2.20741 43.086,0.358597 L 174.356,21.8786 L 174.356,160.042 z" style="fill:#80c342;fill-rule:evenodd;stroke:none"/>
-<path d="M 130.422,45.9136 L 141.938,47.1516 L 141.938,67.3626 L 154.899,68.2766 L 154.899,80.9566 L 141.938,80.3586 L 141.938,126.691 C 141.938,130.723 142.383,133.316 143.278,134.48 C 144.078,135.547 145.324,136.074 146.988,136.074 C 147.149,136.074 147.317,136.07 147.485,136.058 C 150.035,135.91 152.805,135.125 155.828,133.75 L 155.828,145.398 C 150.692,147.656 145.653,148.996 140.703,149.418 C 139.985,149.473 139.293,149.504 138.625,149.504 C 134.145,149.504 130.719,148.203 128.379,145.57 C 125.649,142.519 124.289,137.621 124.289,130.898 L 124.289,79.5426 L 118.063,79.2576 L 118.063,65.6716 L 125.649,66.2186 L 130.422,45.9136 z" style="fill:#ffffff;fill-rule:evenodd;stroke:none"/>
-<path d="M 154.899,80.9566 L 141.938,80.3586 L 141.938,80.6366 L 148.883,80.9566 L 154.899,80.9566 z" style="fill:#006225;fill-rule:evenodd;stroke:none"/>
-<path d="M 144.637,135.598 C 145.297,135.926 146.067,136.074 146.988,136.074 C 147.149,136.074 147.317,136.07 147.485,136.058 C 150.035,135.91 152.805,135.125 155.828,133.75 L 149.813,133.75 C 147.992,134.582 146.281,135.207 144.637,135.598 z" style="fill:#006225;fill-rule:evenodd;stroke:none"/>
-<path d="M 128.379,145.57 C 125.649,142.519 124.289,137.621 124.289,130.898 L 124.289,79.5426 L 118.063,79.2576 L 118.063,65.6716 L 112.047,65.6716 L 112.047,68.7066 C 112.918,71.9796 113.602,75.5266 114.11,79.3506 L 118.274,79.5426 L 118.274,130.898 C 118.274,137.621 119.641,142.519 122.364,145.57 C 124.707,148.203 128.129,149.504 132.61,149.504 L 138.625,149.504 C 134.145,149.504 130.719,148.203 128.379,145.57 z M 130.422,45.9136 L 124.406,45.9136 L 119.738,65.7966 L 125.649,66.2186 L 130.422,45.9136 z" style="fill:#006225;fill-rule:evenodd;stroke:none"/>
-<path d="M 91.1528,132.406 C 93.5038,126.355 94.6638,114.492 94.6638,96.7886 C 94.6638,80.8976 93.5158,69.9726 91.1798,63.9756 C 88.8438,57.9486 85.3478,54.6946 80.6598,54.2846 C 80.3008,54.2536 79.9458,54.2336 79.6018,54.2336 C 75.2618,54.2336 71.9218,56.7686 69.5938,61.8586 C 67.0738,67.4016 65.8008,78.8976 65.8008,96.2966 C 65.8008,113.113 67.0388,125.047 69.5348,132.051 C 71.8908,138.723 75.4138,142.027 80.0388,142.027 C 80.2458,142.027 80.4488,142.019 80.6598,142.008 C 85.2928,141.715 88.7808,138.512 91.1528,132.406 M 109.129,136.156 C 105.012,145.863 98.7348,152.214 90.1408,155.156 C 91.0078,159.605 92.3168,162.597 94.0628,164.175 C 95.4138,165.386 97.4958,165.996 100.285,165.996 C 101.09,165.996 101.953,165.941 102.875,165.839 L 102.875,178.964 L 96.9138,179.746 C 95.1558,179.976 93.4878,180.089 91.9098,180.089 C 86.6918,180.089 82.4648,178.824 79.2888,176.265 C 75.0818,172.886 71.9808,166.371 69.9918,156.73 C 60.8555,154.785 53.7344,148.976 48.8008,139.226 C 43.7969,129.324 41.25,114.836 41.25,95.8866 C 41.25,75.4566 44.7344,60.3786 51.5938,50.8156 C 57.3828,42.7456 65.4568,38.7766 75.6168,38.7766 C 77.2458,38.7766 78.9258,38.8786 80.6598,39.0816 C 92.6138,40.4566 101.278,46.0976 106.918,55.8706 C 112.453,65.4326 115.172,79.1366 115.172,97.1326 C 115.172,113.617 113.172,126.582 109.129,136.156 z" style="fill:#ffffff;fill-rule:evenodd;stroke:none"/>
-<path d="M 100.281,165.996 C 101.09,165.996 101.953,165.941 102.871,165.839 L 98.0348,165.839 C 98.7108,165.945 99.4878,165.996 100.281,165.996 z" style="fill:#006225;fill-rule:evenodd;stroke:none"/>
-<path d="M 84.8518,63.9756 C 87.1878,69.9726 88.3358,80.8976 88.3358,96.7886 C 88.3358,114.492 87.1758,126.355 84.8238,132.406 C 82.9298,137.285 80.2968,140.308 76.9608,141.476 C 77.9258,141.844 78.9528,142.027 80.0388,142.027 C 80.2458,142.027 80.4488,142.019 80.6598,142.008 C 85.2928,141.715 88.7808,138.512 91.1528,132.406 C 93.5038,126.355 94.6638,114.492 94.6638,96.7886 C 94.6638,80.8976 93.5158,69.9726 91.1798,63.9756 C 88.8438,57.9486 85.3478,54.6946 80.6598,54.2846 C 80.3008,54.2536 79.9458,54.2336 79.6018,54.2336 C 78.5118,54.2336 77.4848,54.3936 76.5198,54.7146 L 76.5198,54.7146 L 76.5158,54.7146 C 80.1168,55.8356 82.8948,58.9296 84.8518,63.9756 z M 82.5078,178.253 C 82.3948,178.203 82.2808,178.148 82.1718,178.093 C 82.1598,178.089 82.1488,178.081 82.1368,178.078 C 82.0348,178.027 81.9298,177.972 81.8278,177.921 C 81.8088,177.91 81.7888,177.902 81.7698,177.89 C 81.6798,177.839 81.5858,177.792 81.4918,177.742 C 81.4648,177.726 81.4378,177.706 81.4058,177.691 C 81.3238,177.648 81.2418,177.601 81.1638,177.554 C 81.1248,177.531 81.0858,177.507 81.0508,177.484 C 80.9808,177.445 80.9058,177.402 80.8358,177.359 C 80.7888,177.328 80.7418,177.3 80.6958,177.269 C 80.6368,177.23 80.5778,177.195 80.5198,177.156 C 80.4608,177.117 80.4058,177.081 80.3518,177.042 C 80.3008,177.011 80.2498,176.976 80.2028,176.945 C 80.1368,176.898 80.0708,176.851 80.0078,176.808 C 79.9688,176.781 79.9298,176.753 79.8948,176.726 C 79.8168,176.671 79.7418,176.613 79.6638,176.554 C 79.6408,176.538 79.6138,176.519 79.5858,176.499 C 79.4878,176.421 79.3868,176.343 79.2888,176.265 C 75.0818,172.886 71.9808,166.371 69.9918,156.73 C 60.8555,154.785 53.7344,148.976 48.8008,139.226 C 43.7969,129.324 41.25,114.836 41.25,95.8866 C 41.25,75.4566 44.7344,60.3786 51.5938,50.8156 C 57.3828,42.7456 65.4568,38.7766 75.6168,38.7766 C 75.6528,38.7766 69.2658,38.7766 69.2658,38.7766 L 69.2658,38.7766 C 59.1172,38.7846 51.0508,42.7536 45.2656,50.8156 C 38.4102,60.3786 34.9219,75.4566 34.9219,95.8866 C 34.9219,114.836 37.4688,129.324 42.4727,139.226 C 47.4063,148.976 54.5274,154.785 63.6638,156.73 C 65.6528,166.371 68.7538,172.886 72.9608,176.265 C 76.1368,178.824 80.3638,180.089 85.5858,180.089 C 85.6838,180.089 85.7848,180.089 85.8828,180.085 L 91.4218,180.085 C 88.0158,180.035 85.0388,179.425 82.5158,178.257 C 82.5158,178.257 82.5118,178.257 82.5078,178.253 z" style="fill:#006225;fill-rule:evenodd;stroke:none"/>
-</g>
-</g>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="44px"
+ version="1.1"
+ viewBox="0 0 44 44"
+ width="44px"
+ x="0px"
+ y="0px"
+ id="svg2"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="qt.svg">
+ <metadata
+ id="metadata18">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs16">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 22 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="44 : 22 : 1"
+ inkscape:persp3d-origin="22 : 14.666667 : 1"
+ id="perspective2836" />
+ </defs>
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="1020"
+ id="namedview14"
+ showgrid="false"
+ inkscape:zoom="21.454545"
+ inkscape:cx="49.412871"
+ inkscape:cy="21.894358"
+ inkscape:window-x="-4"
+ inkscape:window-y="-4"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="g3" />
+ <g
+ transform="matrix(0.18308778,0,0,0.18308778,6.6100946,3.2385199)"
+ id="g3">
+ <path
+ d="M 43.09,0.3586 C 40.94,0.0036 38.84,-0.0824 36.81,0.0776 31.968136,0.39505671 27.122677,0.73638425 22.28,1.0696 9.62,2.0816 0,12.4996 0,26.8896 l 0,169.7 14.19,13.2 28.87,-209.42 0.03,-0.011 z"
+ style="fill:#006225"
+ id="path5"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ d="m 174.4,160 c 0,12.5 -7.75,24.07 -17.57,25.77 L 14.23,209.73 V 25.93 C 14.23,9.21 27.57,-2.27 43.12,0.3 l 131.3,21.52 v 138.2 z"
+ style="fill:#80c342"
+ id="path7" />
+ <path
+ d="m 154.9,80.96 -12.96,-0.598 0,0.278 6.945,0.32 6.016,0 z"
+ style="fill:#006225"
+ id="path11" />
+ <path
+ d="m 144.6,135.6 c 0.66,0.328 1.43,0.476 2.351,0.476 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 h -6.015 c -1.821,0.832 -3.532,1.457 -5.176,1.848 z"
+ style="fill:#006225"
+ id="path13" />
+ <path
+ id="path17"
+ style="fill:#ffffff"
+ d="m 91.15,132.4 c 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -4.34,0 -7.68,2.535 -10.01,7.625 -2.52,5.543 -3.793,17.04 -3.793,34.44 0,16.82 1.238,28.75 3.734,35.75 2.356,6.672 5.879,9.976 10.5,9.976 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 m 17.98,3.75 c -4.117,9.707 -10.39,16.06 -18.99,19 0.867,4.449 2.176,7.441 3.922,9.019 1.351,1.211 3.433,1.821 6.222,1.821 0.805,0 1.668,-0.055 2.59,-0.157 v 13.12 l -5.961,0.782 c -1.758,0.23 -3.426,0.343 -5.004,0.343 -5.218,0 -9.445,-1.265 -12.62,-3.824 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 1.629,0 3.309,0.102 5.043,0.305 11.95,1.375 20.62,7.016 26.26,16.79 5.535,9.562 8.254,23.27 8.254,41.26 0,16.48 -2,29.45 -6.043,39.02 z M 130.4,45.91 l 11.52,1.238 0,20.21 12.96,0.914 0,12.68 -12.96,-0.598 0,46.33 c 0,4.032 0.445,6.625 1.34,7.789 0.8,1.067 2.046,1.594 3.71,1.594 0.161,0 0.329,-0.004 0.497,-0.016 2.55,-0.148 5.32,-0.933 8.343,-2.308 v 11.65 c -5.136,2.258 -10.18,3.598 -15.12,4.02 -0.718,0.055 -1.41,0.086 -2.078,0.086 -4.48,0 -7.906,-1.301 -10.25,-3.934 -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.535 L 118.046,79.25 V 65.66 l 7.586,0.547 4.773,-20.3 z" />
+ <path
+ d="m 100.3,166 c 0.809,0 1.672,-0.055 2.59,-0.157 H 98.054 C 98.73,165.949 99.507,166 100.3,166 z"
+ style="fill:#006225"
+ id="path19" />
+ <path
+ id="path21"
+ style="fill:#006225"
+ d="m 84.85,63.98 c 2.336,5.997 3.484,16.92 3.484,32.81 0,17.7 -1.16,29.57 -3.512,35.62 -1.894,4.879 -4.527,7.902 -7.863,9.07 0.965,0.368 1.992,0.551 3.078,0.551 0.207,0 0.41,-0.008 0.621,-0.019 4.633,-0.293 8.121,-3.496 10.49,-9.602 2.351,-6.051 3.511,-17.91 3.511,-35.62 0,-15.89 -1.148,-26.82 -3.484,-32.81 -2.336,-6.027 -5.832,-9.281 -10.52,-9.691 -0.359,-0.031 -0.714,-0.051 -1.058,-0.051 -1.09,0 -2.117,0.16 -3.082,0.481 h -0.004 c 3.601,1.121 6.379,4.215 8.336,9.261 z m -2.344,114.3 c -0.113,-0.05 -0.227,-0.105 -0.336,-0.16 -0.012,-0.004 -0.023,-0.012 -0.035,-0.015 -0.102,-0.051 -0.207,-0.106 -0.309,-0.157 -0.019,-0.011 -0.039,-0.019 -0.058,-0.031 -0.09,-0.051 -0.184,-0.098 -0.278,-0.148 -0.027,-0.016 -0.054,-0.036 -0.086,-0.051 -0.082,-0.043 -0.164,-0.09 -0.242,-0.137 -0.039,-0.023 -0.078,-0.047 -0.113,-0.07 -0.07,-0.039 -0.145,-0.082 -0.215,-0.125 -0.047,-0.031 -0.094,-0.059 -0.14,-0.09 -0.059,-0.039 -0.118,-0.074 -0.176,-0.113 -0.059,-0.039 -0.114,-0.075 -0.168,-0.114 -0.051,-0.031 -0.102,-0.066 -0.149,-0.097 -0.066,-0.047 -0.132,-0.094 -0.195,-0.137 -0.039,-0.027 -0.078,-0.055 -0.113,-0.082 -0.078,-0.055 -0.153,-0.113 -0.231,-0.172 -0.023,-0.016 -0.05,-0.035 -0.078,-0.055 -0.098,-0.078 -0.199,-0.156 -0.297,-0.234 -4.207,-3.379 -7.308,-9.894 -9.297,-19.54 -9.136,-1.945 -16.26,-7.754 -21.19,-17.5 -5.004,-9.902 -7.551,-24.39 -7.551,-43.34 0,-20.43 3.484,-35.51 10.34,-45.07 5.789,-8.07 13.86,-12.04 24.02,-12.04 h -6.351 c -10.15,0.008 -18.22,3.977 -24,12.04 -6.855,9.563 -10.34,24.64 -10.34,45.07 0,18.95 2.547,33.44 7.551,43.34 4.934,9.75 12.05,15.56 21.19,17.5 1.989,9.641 5.09,16.16 9.297,19.54 3.176,2.559 7.403,3.824 12.62,3.824 0.098,0 0.199,0 0.297,-0.004 h 5.539 c -3.406,-0.05 -6.383,-0.66 -8.906,-1.828 L 82.498,178.28 z M 128.4,145.6 c -2.73,-3.051 -4.09,-7.949 -4.09,-14.67 V 79.57 l -6.226,-0.285 v -13.59 h -6.016 v 3.035 c 0.871,3.273 1.555,6.82 2.063,10.64 l 4.164,0.192 v 51.36 c 0,6.723 1.367,11.62 4.09,14.67 2.343,2.633 5.765,3.934 10.25,3.934 h 6.015 c -4.48,0 -7.906,-1.301 -10.25,-3.934 z m 2.043,-99.66 -6.016,0 -4.668,19.88 5.911,0.422 4.773,-20.3 z" />
+ </g>
</svg>
diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro
index 90c362b..e360a84 100644
--- a/src/s60installs/s60installs.pro
+++ b/src/s60installs/s60installs.pro
@@ -11,21 +11,24 @@ symbian: {
isEmpty(QT_LIBINFIX) {
TARGET.UID3 = 0x2001E61C
-
- # sqlite3 is expected to be already found on phone if infixed configuration is built.
- BLD_INF_RULES.prj_exports += \
- "sqlite3.sis $${EPOCROOT}epoc32/data/qt/sis/sqlite3.sis" \
- "sqlite3_selfsigned.sis $${EPOCROOT}epoc32/data/qt/sis/sqlite3_selfsigned.sis"
- symbian-abld|symbian-sbsv2 {
- sqlitedeployment = \
- "; Deploy sqlite onto phone that does not have it already" \
- "@\"$${EPOCROOT}epoc32/data/qt/sis/sqlite3.sis\", (0x2002af5f)"
- } else {
- sqlitedeployment = \
- "; Deploy sqlite onto phone that does not have it already" \
- "@\"$${PWD}/sqlite3.sis\", (0x2002af5f)"
+
+ # Sqlite3 is expected to be already found on phone if infixed configuration is built.
+ # It is also expected that devices newer than those based on S60 5.0 all have sqlite3.dll.
+ contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) {
+ BLD_INF_RULES.prj_exports += \
+ "sqlite3.sis $${EPOCROOT}epoc32/data/qt/sis/sqlite3.sis" \
+ "sqlite3_selfsigned.sis $${EPOCROOT}epoc32/data/qt/sis/sqlite3_selfsigned.sis"
+ symbian-abld|symbian-sbsv2 {
+ sqlitedeployment = \
+ "; Deploy sqlite onto phone that does not have it already" \
+ "@\"$${EPOCROOT}epoc32/data/qt/sis/sqlite3.sis\", (0x2002af5f)"
+ } else {
+ sqlitedeployment = \
+ "; Deploy sqlite onto phone that does not have it already" \
+ "@\"$${PWD}/sqlite3.sis\", (0x2002af5f)"
+ }
+ qtlibraries.pkg_postrules += sqlitedeployment
}
- qtlibraries.pkg_postrules += sqlitedeployment
} else {
# Always use experimental UID for infixed configuration to avoid UID clash
TARGET.UID3 = 0xE001E61C
@@ -51,20 +54,35 @@ symbian: {
symbian-abld|symbian-sbsv2 {
pluginLocations = $${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)
+ bearerPluginLocation = $${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)
+ bearerStubZ = $${EPOCROOT}$${HW_ZDIR}$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin
+ BLD_INF_RULES.prj_exports += \
+ "qsymbianbearer.qtplugin $$bearerStubZ" \
+ "qsymbianbearer.qtplugin $${EPOCROOT}epoc32/winscw/c$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin"
} else {
pluginLocations = $$QT_BUILD_TREE/plugins/s60
+ bearerPluginLocation = $$QT_BUILD_TREE/plugins/bearer
+ bearerStubZ = $${PWD}/qsymbianbearer.qtplugin
}
qts60plugindeployment = \
- "IF package(0x1028315F)" \
+ "IF package(0x20022E6D)" \
+ " \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \
+ " \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
+ "ELSEIF package(0x1028315F)" \
" \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \
+ " \"$$bearerPluginLocation/qsymbianbearer_3_2$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
"ELSEIF package(0x102752AE)" \
" \"$$pluginLocations/qts60plugin_3_2$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_3_2$${QT_LIBINFIX}.dll\"" \
+ " \"$$bearerPluginLocation/qsymbianbearer_3_2$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
"ELSEIF package(0x102032BE)" \
" \"$$pluginLocations/qts60plugin_3_1$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_3_1$${QT_LIBINFIX}.dll\"" \
+ " \"$$bearerPluginLocation/qsymbianbearer_3_1$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
"ELSE" \
" \"$$pluginLocations/qts60plugin_5_0$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qts60plugin_5_0$${QT_LIBINFIX}.dll\"" \
- "ENDIF"
+ " \"$$bearerPluginLocation/qsymbianbearer$${QT_LIBINFIX}.dll\" - \"c:\\sys\\bin\\qsymbianbearer$${QT_LIBINFIX}.dll\"" \
+ "ENDIF" \
+ " \"$$bearerStubZ\" - \"c:$$replace(QT_PLUGINS_BASE_DIR,/,\\)\\bearer\\qsymbianbearer$${QT_LIBINFIX}.qtplugin\"
qtlibraries.pkg_postrules += qts60plugindeployment
@@ -81,12 +99,16 @@ symbian: {
qtlibraries.pkg_prerules = vendorinfo
qtlibraries.pkg_prerules += "; Dependencies of Qt libraries"
- qtlibraries.pkg_prerules += "(0x20013851), 1, 5, 1, {\"PIPS Installer\"}"
- contains(QT_CONFIG, openssl) | contains(QT_CONFIG, openssl-linked) {
- qtlibraries.pkg_prerules += "(0x200110CB), 1, 5, 1, {\"Open C LIBSSL Common\"}"
- }
- contains(CONFIG, stl) {
- qtlibraries.pkg_prerules += "(0x2000F866), 1, 0, 0, {\"Standard C++ Library Common\"}"
+
+ # It is expected that Symbian^3 and newer phones will have sufficiently new OpenC already installed
+ contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) {
+ qtlibraries.pkg_prerules += "(0x20013851), 1, 5, 1, {\"PIPS Installer\"}"
+ contains(QT_CONFIG, openssl) | contains(QT_CONFIG, openssl-linked) {
+ qtlibraries.pkg_prerules += "(0x200110CB), 1, 5, 1, {\"Open C LIBSSL Common\"}"
+ }
+ contains(CONFIG, stl) {
+ qtlibraries.pkg_prerules += "(0x2000F866), 1, 0, 0, {\"Standard C++ Library Common\"}"
+ }
}
qtlibraries.pkg_prerules += "(0x2002af5f), 0, 5, 0, {\"sqlite3\"}"
@@ -111,15 +133,11 @@ symbian: {
qtbackup.sources = backup_registration.xml
qtbackup.path = c:/private/10202D56/import/packages/$$replace(TARGET.UID3, 0x,)
- bearer_plugins.path = c:$$QT_PLUGINS_BASE_DIR/bearer
- bearer_plugins.sources += $$QT_BUILD_TREE/plugins/bearer/qsymbianbearer$${QT_LIBINFIX}.dll
-
DEPLOYMENT += qtlibraries \
qtbackup \
imageformats_plugins \
codecs_plugins \
- graphicssystems_plugins \
- bearer_plugins
+ graphicssystems_plugins
contains(QT_CONFIG, svg): {
qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtSvg$${QT_LIBINFIX}.dll
@@ -143,12 +161,39 @@ symbian: {
contains(QT_CONFIG, declarative): {
qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtDeclarative$${QT_LIBINFIX}.dll
+
+ folderlistmodelImport.sources = $$QT_BUILD_TREE/imports/Qt/labs/folderlistmodel/qmlfolderlistmodelplugin$${QT_LIBINFIX}.dll
+ gesturesImport.sources = $$QT_BUILD_TREE/imports/Qt/labs/gestures/qmlgesturesplugin$${QT_LIBINFIX}.dll
+ particlesImport.sources = $$QT_BUILD_TREE/imports/Qt/labs/particles/qmlparticlesplugin$${QT_LIBINFIX}.dll
+
+ folderlistmodelImport.sources += $$QT_SOURCE_TREE/src/imports/folderlistmodel/qmldir
+ gesturesImport.sources += $$QT_SOURCE_TREE/src/imports/gestures/qmldir
+ particlesImport.sources += $$QT_SOURCE_TREE/src/imports/particles/qmldir
+
+ folderlistmodelImport.path = c:$$QT_IMPORTS_BASE_DIR/Qt/labs/folderlistmodel
+ gesturesImport.path = c:$$QT_IMPORTS_BASE_DIR/Qt/labs/gestures
+ particlesImport.path = c:$$QT_IMPORTS_BASE_DIR/Qt/labs/particles
+
+ DEPLOYMENT += folderlistmodelImport gesturesImport particlesImport
+
+ contains(QT_CONFIG, webkit): {
+ webkitImport.sources = $$QT_BUILD_TREE/imports/org/webkit/qmlwebkitplugin$${QT_LIBINFIX}.dll
+ webkitImport.sources += $$QT_SOURCE_TREE/src/imports/webkit/qmldir
+ webkitImport.path = c:$$QT_IMPORTS_BASE_DIR/org/webkit
+ DEPLOYMENT += webkitImport
+ }
}
graphicssystems_plugins.path = c:$$QT_PLUGINS_BASE_DIR/graphicssystems
contains(QT_CONFIG, openvg) {
qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtOpenVG$${QT_LIBINFIX}.dll
graphicssystems_plugins.sources += $$QT_BUILD_TREE/plugins/graphicssystems/qvggraphicssystem$${QT_LIBINFIX}.dll
+ # OpenVG requires Symbian^3 or later
+ pkg_platform_dependencies -= \
+ "[0x101F7961],0,0,0,{\"S60ProductID\"}" \
+ "[0x102032BE],0,0,0,{\"S60ProductID\"}" \
+ "[0x102752AE],0,0,0,{\"S60ProductID\"}" \
+ "[0x1028315F],0,0,0,{\"S60ProductID\"}"
}
contains(QT_CONFIG, multimedia){
diff --git a/src/sql/drivers/drivers.pri b/src/sql/drivers/drivers.pri
index 8dfc50f..05e7265 100644
--- a/src/sql/drivers/drivers.pri
+++ b/src/sql/drivers/drivers.pri
@@ -6,16 +6,14 @@ contains(sql-drivers, psql) {
HEADERS += drivers/psql/qsql_psql.h
SOURCES += drivers/psql/qsql_psql.cpp
- unix|win32-g++ {
+ unix|win32-g++* {
!static:!isEmpty(QT_LFLAGS_PSQL) {
!contains(QT_CONFIG, system-zlib): QT_LFLAGS_PSQL -= -lz
!static:LIBS *= $$QT_LFLAGS_PSQL
QMAKE_CXXFLAGS *= $$QT_CFLAGS_PSQL
}
!contains(LIBS, .*pq.*):LIBS *= -lpq
- }
-
- win32:!win32-g++:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32
+ } else:win32:!contains(LIBS, .*pq.* ) LIBS *= -llibpq -lws2_32 -ladvapi32
}
contains(sql-drivers, mysql) {
@@ -35,8 +33,8 @@ contains(sql-drivers, mysql) {
}
win32:!contains(LIBS, .*mysql.*):!contains(LIBS, .*mysqld.*) {
- !win32-g++:LIBS *= -llibmysql
- win32-g++:LIBS *= -lmysql
+ !win32-g++*:LIBS *= -llibmysql
+ else:LIBS *= -lmysql
}
}
@@ -49,8 +47,8 @@ contains(sql-drivers, odbc) {
unix:DEFINES += UNICODE
win32 {
- !win32-borland:LIBS *= -lodbc32
- win32-borland:LIBS *= $(BCB)/lib/PSDK/odbc32.lib
+ !win32-borland:LIBS *= -lodbc32
+ else:LIBS *= $(BCB)/lib/PSDK/odbc32.lib
}
}
@@ -71,7 +69,7 @@ contains(sql-drivers, tds) {
win32 {
!win32-borland:LIBS += -lNTWDBLIB
- win32-borland:LIBS += $(BCB)/lib/PSDK/NTWDBLIB.LIB
+ else:LIBS += $(BCB)/lib/PSDK/NTWDBLIB.LIB
}
}
@@ -83,7 +81,7 @@ contains(sql-drivers, db2) {
win32 {
!win32-borland:LIBS += -ldb2cli
-# win32-borland:LIBS += $(BCB)/lib/PSDK/db2cli.lib
+# else:LIBS += $(BCB)/lib/PSDK/db2cli.lib
}
}
@@ -95,7 +93,7 @@ contains(sql-drivers, ibase) {
win32 {
!win32-borland:LIBS *= -lgds32_ms
- win32-borland:LIBS += gds32.lib
+ else:LIBS += gds32.lib
}
}
diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp
index 6fd1725..9a35ac5 100644
--- a/src/sql/drivers/odbc/qsql_odbc.cpp
+++ b/src/sql/drivers/odbc/qsql_odbc.cpp
@@ -259,14 +259,14 @@ static QString qWarnODBCHandle(int handleType, SQLHANDLE handle, int *nativeCode
static QString qODBCWarn(const QODBCPrivate* odbc, int *nativeCode = 0)
{
- return (qWarnODBCHandle(SQL_HANDLE_ENV, odbc->dpEnv()) + QLatin1Char(' ')
+ return QString(qWarnODBCHandle(SQL_HANDLE_ENV, odbc->dpEnv()) + QLatin1Char(' ')
+ qWarnODBCHandle(SQL_HANDLE_DBC, odbc->dpDbc()) + QLatin1Char(' ')
+ qWarnODBCHandle(SQL_HANDLE_STMT, odbc->hStmt, nativeCode)).simplified();
}
static QString qODBCWarn(const QODBCDriverPrivate* odbc, int *nativeCode = 0)
{
- return (qWarnODBCHandle(SQL_HANDLE_ENV, odbc->hEnv) + QLatin1Char(' ')
+ return QString(qWarnODBCHandle(SQL_HANDLE_ENV, odbc->hEnv) + QLatin1Char(' ')
+ qWarnODBCHandle(SQL_HANDLE_DBC, odbc->hDbc, nativeCode)).simplified();
}
diff --git a/src/svg/svg.pro b/src/svg/svg.pro
index d2a4227..de4bba6 100644
--- a/src/svg/svg.pro
+++ b/src/svg/svg.pro
@@ -44,7 +44,9 @@ symbian:TARGET.UID3=0x2001B2E2
#zlib support
contains(QT_CONFIG, zlib) {
- INCLUDEPATH += ../3rdparty/zlib
+ INCLUDEPATH += ../3rdparty/zlib
} else:!contains(QT_CONFIG, no-zlib) {
- unix:LIBS_PRIVATE += -lz
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
}
diff --git a/src/tools/bootstrap/bootstrap.pri b/src/tools/bootstrap/bootstrap.pri
index 1de7b18..1aa8121 100644
--- a/src/tools/bootstrap/bootstrap.pri
+++ b/src/tools/bootstrap/bootstrap.pri
@@ -52,8 +52,9 @@ hpux-acc*|hpuxi-acc* {
LIBS += -lbootstrap
}
!contains(QT_CONFIG, zlib):!contains(QT_CONFIG, no-zlib):!cross_compile {
- unix:LIBS += -lz
-# win32:LIBS += libz.lib
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
}
win32:LIBS += -luser32
diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro
index 44dd625..149291a 100644
--- a/src/tools/bootstrap/bootstrap.pro
+++ b/src/tools/bootstrap/bootstrap.pro
@@ -109,6 +109,10 @@ contains(QT_CONFIG, zlib)|cross_compile {
../3rdparty/zlib/trees.c \
../3rdparty/zlib/uncompr.c \
../3rdparty/zlib/zutil.c
+} else:!contains(QT_CONFIG, no-zlib) {
+ symbian:LIBS_PRIVATE += -llibz
+ else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
+ else:LIBS += zdll.lib
}
lib.CONFIG = dummy_install
diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro
index bc322b9..0c9b214 100644
--- a/src/winmain/winmain.pro
+++ b/src/winmain/winmain.pro
@@ -8,10 +8,10 @@ CONFIG += staticlib warn_on
CONFIG -= qt shared
win32 {
- win32-g++:DEFINES += QT_NEEDS_QMAIN
+ win32-g++*:DEFINES += QT_NEEDS_QMAIN
win32-borland:DEFINES += QT_NEEDS_QMAIN
SOURCES = qtmain_win.cpp
- CONFIG += png zlib
+ CONFIG += png
CONFIG -= jpeg
INCLUDEPATH += tmp $$QMAKE_INCDIR_QT/QtCore
}
diff --git a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
index 203760e..2aef9bb 100644
--- a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
+++ b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
@@ -91,6 +91,7 @@ private slots:
void modelChanges();
void QTBUG_9791();
void manualHighlight();
+ void QTBUG_11105();
private:
template <class T> void items();
@@ -1493,6 +1494,53 @@ void tst_QDeclarativeListView::manualHighlight()
QTRY_COMPARE(listview->highlightItem()->y(), listview->currentItem()->y());
}
+void tst_QDeclarativeListView::QTBUG_11105()
+{
+ QDeclarativeView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml"));
+ qApp->processEvents();
+
+ QDeclarativeListView *listview = findItem<QDeclarativeListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QDeclarativeItem *viewport = listview->viewport();
+ QTRY_VERIFY(viewport != 0);
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QDeclarativeItem *item = findItem<QDeclarativeItem>(viewport, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->y() == i*20);
+ }
+
+ listview->positionViewAtIndex(20, QDeclarativeListView::Beginning);
+ QCOMPARE(listview->contentY(), 280.);
+
+ TestModel model2;
+ for (int i = 0; i < 5; i++)
+ model2.addItem("Item" + QString::number(i), "");
+
+ ctxt->setContextProperty("testModel", &model2);
+
+ itemCount = findItems<QDeclarativeItem>(viewport, "wrapper").count();
+ QCOMPARE(itemCount, 5);
+
+ delete canvas;
+}
+
void tst_QDeclarativeListView::qListModelInterface_items()
{
items<TestModel>();
diff --git a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
index d3e3c3a..fbab30e 100644
--- a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
+++ b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp
@@ -50,6 +50,7 @@
#include <QtDeclarative/qdeclarativeexpression.h>
#include <QtDeclarative/qdeclarativecomponent.h>
#include <private/qdeclarativetextedit_p.h>
+#include <private/qdeclarativetextedit_p_p.h>
#include <QFontMetrics>
#include <QDeclarativeView>
#include <QStyle>
@@ -86,7 +87,8 @@ private slots:
void delegateLoading();
void navigation();
void readOnly();
- void sendRequestSoftwareInputPanelEvent();
+ void openInputPanelOnClick();
+ void openInputPanelOnFocus();
void geometrySignals();
private:
void simulateKey(QDeclarativeView *, int key);
@@ -551,11 +553,11 @@ void tst_qdeclarativetextedit::selection()
//Test selection
for(int i=0; i<= testStr.size(); i++) {
- textEditObject->setSelectionEnd(i);
+ textEditObject->select(0,i);
QCOMPARE(testStr.mid(0,i), textEditObject->selectedText());
}
for(int i=0; i<= testStr.size(); i++) {
- textEditObject->setSelectionStart(i);
+ textEditObject->select(i,testStr.size());
QCOMPARE(testStr.mid(i,testStr.size()-i), textEditObject->selectedText());
}
@@ -565,43 +567,26 @@ void tst_qdeclarativetextedit::selection()
QVERIFY(textEditObject->selectionEnd() == 0);
QVERIFY(textEditObject->selectedText().isNull());
- for(int i=0; i< testStr.size(); i++) {
- textEditObject->setSelectionStart(i);
- QCOMPARE(textEditObject->selectionEnd(), i);
- QCOMPARE(testStr.mid(i,0), textEditObject->selectedText());
- textEditObject->setSelectionEnd(i+1);
- QCOMPARE(textEditObject->selectionStart(), i);
- QCOMPARE(testStr.mid(i,1), textEditObject->selectedText());
- }
-
- for(int i= testStr.size() - 1; i>0; i--) {
- textEditObject->setSelectionEnd(i);
- QCOMPARE(testStr.mid(i,0), textEditObject->selectedText());
- textEditObject->setSelectionStart(i-1);
- QCOMPARE(testStr.mid(i-1,1), textEditObject->selectedText());
- }
-
//Test Error Ignoring behaviour
textEditObject->setCursorPosition(0);
QVERIFY(textEditObject->selectedText().isNull());
- textEditObject->setSelectionStart(-10);
+ textEditObject->select(-10,0);
QVERIFY(textEditObject->selectedText().isNull());
- textEditObject->setSelectionStart(100);
+ textEditObject->select(100,101);
QVERIFY(textEditObject->selectedText().isNull());
- textEditObject->setSelectionEnd(-10);
+ textEditObject->select(0,-10);
QVERIFY(textEditObject->selectedText().isNull());
- textEditObject->setSelectionEnd(100);
+ textEditObject->select(0,100);
QVERIFY(textEditObject->selectedText().isNull());
- textEditObject->setSelectionStart(0);
- textEditObject->setSelectionEnd(10);
+ textEditObject->select(0,10);
QVERIFY(textEditObject->selectedText().size() == 10);
- textEditObject->setSelectionStart(-10);
+ textEditObject->select(-10,0);
QVERIFY(textEditObject->selectedText().size() == 10);
- textEditObject->setSelectionStart(100);
+ textEditObject->select(100,101);
QVERIFY(textEditObject->selectedText().size() == 10);
- textEditObject->setSelectionEnd(-10);
+ textEditObject->select(0,-10);
QVERIFY(textEditObject->selectedText().size() == 10);
- textEditObject->setSelectionEnd(100);
+ textEditObject->select(0,100);
QVERIFY(textEditObject->selectedText().size() == 10);
}
@@ -834,14 +819,14 @@ public:
bool closeInputPanelReceived;
};
-void tst_qdeclarativetextedit::sendRequestSoftwareInputPanelEvent()
+void tst_qdeclarativetextedit::openInputPanelOnClick()
{
QGraphicsScene scene;
QGraphicsView view(&scene);
MyInputContext ic;
view.setInputContext(&ic);
QDeclarativeTextEdit edit;
- QSignalSpy inputPanelonFocusSpy(&edit, SIGNAL(showInputPanelOnFocusChanged(bool)));
+ QSignalSpy focusOnPressSpy(&edit, SIGNAL(focusOnPressChanged(bool)));
edit.setText("Hello world");
edit.setPos(0, 0);
scene.addItem(&edit);
@@ -851,7 +836,58 @@ void tst_qdeclarativetextedit::sendRequestSoftwareInputPanelEvent()
QTest::qWaitForWindowShown(&view);
QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
- QVERIFY(edit.showInputPanelOnFocus());
+ QDeclarativeItemPrivate* pri = QDeclarativeItemPrivate::get(&edit);
+ QDeclarativeTextEditPrivate *editPrivate = static_cast<QDeclarativeTextEditPrivate*>(pri);
+
+ // input panel on click
+ editPrivate->showInputPanelOnFocus = false;
+
+ QStyle::RequestSoftwareInputPanel behavior = QStyle::RequestSoftwareInputPanel(
+ view.style()->styleHint(QStyle::SH_RequestSoftwareInputPanel));
+ QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos()));
+ QApplication::processEvents();
+ if (behavior == QStyle::RSIP_OnMouseClickAndAlreadyFocused) {
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos()));
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ } else if (behavior == QStyle::RSIP_OnMouseClick) {
+ QCOMPARE(ic.openInputPanelReceived, true);
+ }
+ ic.openInputPanelReceived = false;
+
+ // focus should not cause input panels to open or close
+ edit.setFocus(false);
+ edit.setFocus(true);
+ edit.setFocus(false);
+ edit.setFocus(true);
+ edit.setFocus(false);
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+}
+
+void tst_qdeclarativetextedit::openInputPanelOnFocus()
+{
+ QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ MyInputContext ic;
+ view.setInputContext(&ic);
+ QDeclarativeTextEdit edit;
+ QSignalSpy focusOnPressSpy(&edit, SIGNAL(focusOnPressChanged(bool)));
+ edit.setText("Hello world");
+ edit.setPos(0, 0);
+ scene.addItem(&edit);
+ view.show();
+ qApp->setAutoSipEnabled(true);
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+
+ QDeclarativeItemPrivate* pri = QDeclarativeItemPrivate::get(&edit);
+ QDeclarativeTextEditPrivate *editPrivate = static_cast<QDeclarativeTextEditPrivate*>(pri);
+ editPrivate->showInputPanelOnFocus = true;
+
+ QVERIFY(edit.focusOnPress());
QCOMPARE(ic.openInputPanelReceived, false);
QCOMPARE(ic.closeInputPanelReceived, false);
@@ -884,9 +920,9 @@ void tst_qdeclarativetextedit::sendRequestSoftwareInputPanelEvent()
QCOMPARE(ic.closeInputPanelReceived, true);
ic.closeInputPanelReceived = false;
- // no input panel events if showInputPanelOnFocus is false
- edit.setShowInputPanelOnFocus(false);
- QCOMPARE(inputPanelonFocusSpy.count(),1);
+ // no automatic input panel events if focusOnPress is false
+ edit.setFocusOnPress(false);
+ QCOMPARE(focusOnPressSpy.count(),1);
QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos()));
QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(edit.scenePos()));
edit.setFocus(false);
@@ -894,8 +930,8 @@ void tst_qdeclarativetextedit::sendRequestSoftwareInputPanelEvent()
QCOMPARE(ic.openInputPanelReceived, false);
QCOMPARE(ic.closeInputPanelReceived, false);
- edit.setShowInputPanelOnFocus(false);
- QCOMPARE(inputPanelonFocusSpy.count(),1);
+ edit.setFocusOnPress(false);
+ QCOMPARE(focusOnPressSpy.count(),1);
// one show input panel event when openSoftwareInputPanel is called
edit.openSoftwareInputPanel();
@@ -909,14 +945,17 @@ void tst_qdeclarativetextedit::sendRequestSoftwareInputPanelEvent()
QCOMPARE(ic.closeInputPanelReceived, true);
ic.openInputPanelReceived = false;
- // set showInputPanelOnFocus back to true
- edit.setShowInputPanelOnFocus(true);
- QCOMPARE(inputPanelonFocusSpy.count(),2);
+ // set focusOnPress back to true
+ edit.setFocusOnPress(true);
+ QCOMPARE(focusOnPressSpy.count(),2);
edit.setFocus(false);
QCOMPARE(ic.openInputPanelReceived, false);
QCOMPARE(ic.closeInputPanelReceived, true);
ic.closeInputPanelReceived = false;
+ edit.setFocusOnPress(true);
+ QCOMPARE(focusOnPressSpy.count(),2);
+
// active window focus reason should not cause input panel to open
QGraphicsObject * editObject = qobject_cast<QGraphicsObject*>(&edit);
editObject->setFocus(Qt::ActiveWindowFocusReason);
@@ -927,9 +966,6 @@ void tst_qdeclarativetextedit::sendRequestSoftwareInputPanelEvent()
edit.setFocus(true);
QCOMPARE(ic.openInputPanelReceived, false);
QCOMPARE(ic.closeInputPanelReceived, false);
-
- edit.setShowInputPanelOnFocus(true);
- QCOMPARE(inputPanelonFocusSpy.count(),2);
}
void tst_qdeclarativetextedit::geometrySignals()
diff --git a/tests/auto/declarative/qdeclarativetextinput/data/positionAt.qml b/tests/auto/declarative/qdeclarativetextinput/data/positionAt.qml
new file mode 100644
index 0000000..2800351
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativetextinput/data/positionAt.qml
@@ -0,0 +1,8 @@
+import Qt 4.7
+
+TextInput{
+ focus: true
+ objectName: "myInput"
+ width: 50
+ text: "This is a long piece of text"
+}
diff --git a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
index c01cfa5..3cb4da0 100644
--- a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
+++ b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
@@ -45,6 +45,7 @@
#include <QFile>
#include <QtDeclarative/qdeclarativeview.h>
#include <private/qdeclarativetextinput_p.h>
+#include <private/qdeclarativetextinput_p_p.h>
#include <QDebug>
#include <QStyle>
#include <QInputContext>
@@ -63,6 +64,8 @@ private slots:
void color();
void selection();
+ void positionAt();
+
void maxLength();
void masks();
void validators();
@@ -72,7 +75,8 @@ private slots:
void navigation();
void readOnly();
- void sendRequestSoftwareInputPanelEvent();
+ void openInputPanelOnClick();
+ void openInputPanelOnFocus();
void setHAlignClearCache();
void focusOutClearSelection();
@@ -322,11 +326,11 @@ void tst_qdeclarativetextinput::selection()
//Test selection
for(int i=0; i<= testStr.size(); i++) {
- textinputObject->setSelectionEnd(i);
+ textinputObject->select(0,i);
QCOMPARE(testStr.mid(0,i), textinputObject->selectedText());
}
for(int i=0; i<= testStr.size(); i++) {
- textinputObject->setSelectionStart(i);
+ textinputObject->select(i,testStr.size());
QCOMPARE(testStr.mid(i,testStr.size()-i), textinputObject->selectedText());
}
@@ -336,48 +340,72 @@ void tst_qdeclarativetextinput::selection()
QVERIFY(textinputObject->selectionEnd() == 0);
QVERIFY(textinputObject->selectedText().isNull());
- for(int i=0; i< testStr.size(); i++) {
- textinputObject->setSelectionStart(i);
- QCOMPARE(textinputObject->selectionEnd(), i);
- QCOMPARE(testStr.mid(i,0), textinputObject->selectedText());
- textinputObject->setSelectionEnd(i+1);
- QCOMPARE(textinputObject->selectionStart(), i);
- QCOMPARE(testStr.mid(i,1), textinputObject->selectedText());
- }
-
- for(int i= testStr.size() - 1; i>0; i--) {
- textinputObject->setSelectionEnd(i);
- QCOMPARE(testStr.mid(i,0), textinputObject->selectedText());
- textinputObject->setSelectionStart(i-1);
- QCOMPARE(testStr.mid(i-1,1), textinputObject->selectedText());
- }
-
//Test Error Ignoring behaviour
textinputObject->setCursorPosition(0);
QVERIFY(textinputObject->selectedText().isNull());
- textinputObject->setSelectionStart(-10);
+ textinputObject->select(-10,0);
QVERIFY(textinputObject->selectedText().isNull());
- textinputObject->setSelectionStart(100);
+ textinputObject->select(100,110);
QVERIFY(textinputObject->selectedText().isNull());
- textinputObject->setSelectionEnd(-10);
+ textinputObject->select(0,-10);
QVERIFY(textinputObject->selectedText().isNull());
- textinputObject->setSelectionEnd(100);
+ textinputObject->select(0,100);
QVERIFY(textinputObject->selectedText().isNull());
- textinputObject->setSelectionStart(0);
- textinputObject->setSelectionEnd(10);
+ textinputObject->select(0,10);
QVERIFY(textinputObject->selectedText().size() == 10);
- textinputObject->setSelectionStart(-10);
+ textinputObject->select(-10,10);
QVERIFY(textinputObject->selectedText().size() == 10);
- textinputObject->setSelectionStart(100);
+ textinputObject->select(100,101);
QVERIFY(textinputObject->selectedText().size() == 10);
- textinputObject->setSelectionEnd(-10);
+ textinputObject->select(0,-10);
QVERIFY(textinputObject->selectedText().size() == 10);
- textinputObject->setSelectionEnd(100);
+ textinputObject->select(0,100);
QVERIFY(textinputObject->selectedText().size() == 10);
delete textinputObject;
}
+void tst_qdeclarativetextinput::positionAt()
+{
+ QDeclarativeView *canvas = createView(SRCDIR "/data/positionAt.qml");
+ QVERIFY(canvas->rootObject() != 0);
+ canvas->show();
+ canvas->setFocus();
+ QApplication::setActiveWindow(canvas);
+ QTest::qWaitForWindowShown(canvas);
+
+ QDeclarativeTextInput *textinputObject = qobject_cast<QDeclarativeTextInput *>(canvas->rootObject());
+ QVERIFY(textinputObject != 0);
+
+ // Check autoscrolled...
+ QFontMetrics fm(textinputObject->font());
+
+ int pos = textinputObject->positionAt(textinputObject->width()/2);
+ int diff = abs(fm.width(textinputObject->text()) - (fm.width(textinputObject->text().left(pos))+textinputObject->width()/2));
+
+ // some tollerance for different fonts.
+#ifdef Q_OS_LINUX
+ QVERIFY(diff < 2);
+#else
+ QVERIFY(diff < 5);
+#endif
+
+ // Check without autoscroll...
+ QEXPECT_FAIL("", "QTBUG-11127", Abort);
+ textinputObject->setAutoScroll(false);
+ pos = textinputObject->positionAt(textinputObject->width()/2);
+ diff = abs(fm.width(textinputObject->text().left(pos))-textinputObject->width()/2);
+
+ // some tollerance for different fonts.
+#ifdef Q_OS_LINUX
+ QVERIFY(diff < 2);
+#else
+ QVERIFY(diff < 5);
+#endif
+
+ delete canvas;
+}
+
void tst_qdeclarativetextinput::maxLength()
{
//QString componentStr = "import Qt 4.7\nTextInput { maximumLength: 10; }";
@@ -565,8 +593,7 @@ void tst_qdeclarativetextinput::navigation()
QVERIFY(input->hasFocus() == true);
//QT-2944: If text is selected, ensure we deselect upon cursor motion
input->setCursorPosition(input->text().length());
- input->setSelectionStart(0);
- input->setSelectionEnd(input->text().length());
+ input->select(0,input->text().length());
QVERIFY(input->selectionStart() != input->selectionEnd());
simulateKey(canvas, Qt::Key_Right);
QVERIFY(input->selectionStart() == input->selectionEnd());
@@ -603,13 +630,13 @@ void tst_qdeclarativetextinput::cursorDelegate()
//Test Delegate gets moved
for(int i=0; i<= textInputObject->text().length(); i++){
textInputObject->setCursorPosition(i);
- //+5 is because the TextInput cursorRect is just a 10xHeight area centered on cursor position
- QCOMPARE(textInputObject->cursorRect().x() + 5, qRound(delegateObject->x()));
- QCOMPARE(textInputObject->cursorRect().y(), qRound(delegateObject->y()));
+ //+5 is because the TextInput cursorRectangle is just a 10xHeight area centered on cursor position
+ QCOMPARE(textInputObject->cursorRectangle().x() + 5, qRound(delegateObject->x()));
+ QCOMPARE(textInputObject->cursorRectangle().y(), qRound(delegateObject->y()));
}
textInputObject->setCursorPosition(0);
- QCOMPARE(textInputObject->cursorRect().x()+5, qRound(delegateObject->x()));
- QCOMPARE(textInputObject->cursorRect().y(), qRound(delegateObject->y()));
+ QCOMPARE(textInputObject->cursorRectangle().x()+5, qRound(delegateObject->x()));
+ QCOMPARE(textInputObject->cursorRectangle().y(), qRound(delegateObject->y()));
//Test Delegate gets deleted
textInputObject->setCursorDelegate(0);
QVERIFY(!textInputObject->findChild<QDeclarativeItem*>("cursorInstance"));
@@ -738,14 +765,61 @@ public:
bool closeInputPanelReceived;
};
-void tst_qdeclarativetextinput::sendRequestSoftwareInputPanelEvent()
+void tst_qdeclarativetextinput::openInputPanelOnClick()
+{
+ QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ MyInputContext ic;
+ view.setInputContext(&ic);
+ QDeclarativeTextInput input;
+ QSignalSpy focusOnPressSpy(&input, SIGNAL(focusOnPressChanged(bool)));
+ input.setText("Hello world");
+ input.setPos(0, 0);
+ scene.addItem(&input);
+ view.show();
+ qApp->setAutoSipEnabled(true);
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+
+ QDeclarativeItemPrivate* pri = QDeclarativeItemPrivate::get(&input);
+ QDeclarativeTextInputPrivate *inputPrivate = static_cast<QDeclarativeTextInputPrivate*>(pri);
+
+ // input panel on click
+ inputPrivate->showInputPanelOnFocus = false;
+
+ QStyle::RequestSoftwareInputPanel behavior = QStyle::RequestSoftwareInputPanel(
+ view.style()->styleHint(QStyle::SH_RequestSoftwareInputPanel));
+ QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos()));
+ QApplication::processEvents();
+ if (behavior == QStyle::RSIP_OnMouseClickAndAlreadyFocused) {
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos()));
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ } else if (behavior == QStyle::RSIP_OnMouseClick) {
+ QCOMPARE(ic.openInputPanelReceived, true);
+ }
+ ic.openInputPanelReceived = false;
+
+ // focus should not cause input panels to open or close
+ input.setFocus(false);
+ input.setFocus(true);
+ input.setFocus(false);
+ input.setFocus(true);
+ input.setFocus(false);
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+}
+
+void tst_qdeclarativetextinput::openInputPanelOnFocus()
{
QGraphicsScene scene;
QGraphicsView view(&scene);
MyInputContext ic;
view.setInputContext(&ic);
QDeclarativeTextInput input;
- QSignalSpy inputPanelonFocusSpy(&input, SIGNAL(showInputPanelOnFocusChanged(bool)));
+ QSignalSpy focusOnPressSpy(&input, SIGNAL(focusOnPressChanged(bool)));
input.setText("Hello world");
input.setPos(0, 0);
scene.addItem(&input);
@@ -755,7 +829,11 @@ void tst_qdeclarativetextinput::sendRequestSoftwareInputPanelEvent()
QTest::qWaitForWindowShown(&view);
QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
- QVERIFY(input.showInputPanelOnFocus());
+ QDeclarativeItemPrivate* pri = QDeclarativeItemPrivate::get(&input);
+ QDeclarativeTextInputPrivate *inputPrivate = static_cast<QDeclarativeTextInputPrivate*>(pri);
+ inputPrivate->showInputPanelOnFocus = true;
+
+ QVERIFY(input.focusOnPress());
QCOMPARE(ic.openInputPanelReceived, false);
QCOMPARE(ic.closeInputPanelReceived, false);
@@ -788,9 +866,9 @@ void tst_qdeclarativetextinput::sendRequestSoftwareInputPanelEvent()
QCOMPARE(ic.closeInputPanelReceived, true);
ic.closeInputPanelReceived = false;
- // no input panel events if showInputPanelOnFocus is false
- input.setShowInputPanelOnFocus(false);
- QCOMPARE(inputPanelonFocusSpy.count(),1);
+ // no automatic input panel events if focusOnPress is false
+ input.setFocusOnPress(false);
+ QCOMPARE(focusOnPressSpy.count(),1);
QTest::mousePress(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos()));
QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, view.mapFromScene(input.scenePos()));
input.setFocus(false);
@@ -798,8 +876,8 @@ void tst_qdeclarativetextinput::sendRequestSoftwareInputPanelEvent()
QCOMPARE(ic.openInputPanelReceived, false);
QCOMPARE(ic.closeInputPanelReceived, false);
- input.setShowInputPanelOnFocus(false);
- QCOMPARE(inputPanelonFocusSpy.count(),1);
+ input.setFocusOnPress(false);
+ QCOMPARE(focusOnPressSpy.count(),1);
// one show input panel event when openSoftwareInputPanel is called
input.openSoftwareInputPanel();
@@ -813,14 +891,17 @@ void tst_qdeclarativetextinput::sendRequestSoftwareInputPanelEvent()
QCOMPARE(ic.closeInputPanelReceived, true);
ic.openInputPanelReceived = false;
- // set showInputPanelOnFocus back to true
- input.setShowInputPanelOnFocus(true);
- QCOMPARE(inputPanelonFocusSpy.count(),2);
+ // set focusOnPress back to true
+ input.setFocusOnPress(true);
+ QCOMPARE(focusOnPressSpy.count(),2);
input.setFocus(false);
QCOMPARE(ic.openInputPanelReceived, false);
QCOMPARE(ic.closeInputPanelReceived, true);
ic.closeInputPanelReceived = false;
+ input.setFocusOnPress(true);
+ QCOMPARE(focusOnPressSpy.count(),2);
+
// active window focus reason should not cause input panel to open
QGraphicsObject * inputObject = qobject_cast<QGraphicsObject*>(&input);
inputObject->setFocus(Qt::ActiveWindowFocusReason);
@@ -831,9 +912,6 @@ void tst_qdeclarativetextinput::sendRequestSoftwareInputPanelEvent()
input.setFocus(true);
QCOMPARE(ic.openInputPanelReceived, false);
QCOMPARE(ic.closeInputPanelReceived, false);
-
- input.setShowInputPanelOnFocus(true);
- QCOMPARE(inputPanelonFocusSpy.count(),2);
}
class MyTextInput : public QDeclarativeTextInput
@@ -881,8 +959,7 @@ void tst_qdeclarativetextinput::focusOutClearSelection()
view.show();
QApplication::setActiveWindow(&view);
QTest::qWaitForWindowShown(&view);
- input.setSelectionStart(2);
- input.setSelectionEnd(5);
+ input.select(2,5);
//The selection should work
QTRY_COMPARE(input.selectedText(), QLatin1String("llo"));
input2.setFocus(true);
diff --git a/tests/auto/declarative/qdeclarativeviewer/data/orientation.qml b/tests/auto/declarative/qdeclarativeviewer/data/orientation.qml
index 687fac6..be911a3 100644
--- a/tests/auto/declarative/qdeclarativeviewer/data/orientation.qml
+++ b/tests/auto/declarative/qdeclarativeviewer/data/orientation.qml
@@ -1,10 +1,19 @@
import Qt 4.7
Rectangle {
color: "black"
- width: (runtime.orientation == Orientation.Landscape) ? 300 : 200
- height: (runtime.orientation == Orientation.Landscape) ? 200 : 300
+ width: (runtime.orientation == Orientation.RightUp || runtime.orientation == Orientation.LeftUp) ? 300 : 200
+ height: (runtime.orientation == Orientation.RightUp || runtime.orientation == Orientation.LeftUp) ? 200 : 300
Text {
- text: runtime.orientation == Orientation.Landscape ? "Landscape" : "Portrait"
+ text: {
+ if (runtime.orientation == Orientation.TopUp)
+ return "TopUp"
+ if (runtime.orientation == Orientation.TopDown)
+ return "TopDown"
+ if (runtime.orientation == Orientation.LeftUp)
+ return "LeftUp"
+ if (runtime.orientation == Orientation.RightUp)
+ return "RightUp"
+ }
color: "white"
}
-} \ No newline at end of file
+}
diff --git a/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp b/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp
index 9429dc9..f296d9e 100644
--- a/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp
+++ b/tests/auto/declarative/qdeclarativeviewer/tst_qdeclarativeviewer.cpp
@@ -82,7 +82,7 @@ void tst_QDeclarativeViewer::orientation()
QCOMPARE(viewer->size(), QSize(200, 300+viewer->menuBar()->height()));
QCOMPARE(viewer->size(), viewer->sizeHint());
- viewer->toggleOrientation();
+ viewer->rotateOrientation();
qApp->processEvents();
QCOMPARE(rootItem->width(), 300.0);
@@ -92,7 +92,7 @@ void tst_QDeclarativeViewer::orientation()
QCOMPARE(viewer->size(), QSize(300, 200+viewer->menuBar()->height()));
QCOMPARE(viewer->size(), viewer->sizeHint());
- viewer->toggleOrientation();
+ viewer->rotateOrientation();
qApp->processEvents();
QCOMPARE(rootItem->width(), 200.0);
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml
index 0273282..53538cb 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml
@@ -65,8 +65,7 @@ Item {
onReleased: {
}
onDoubleClicked: {
- textEdit.selectionStart=0;
- textEdit.selectionEnd=textEdit.text.length;
+ textEdit.selectAll()
}
z: textEdit.z + 1
}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml
index cc0ad3c..69f57c6 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml
@@ -58,8 +58,7 @@ Item {
onReleased: {
}
onDoubleClicked: {
- textInp.selectionStart=0;
- textInp.selectionEnd=textInp.text.length;
+ textInp.selectAll()
}
z: textInp.z + 1
}
diff --git a/tests/auto/gestures/tst_gestures.cpp b/tests/auto/gestures/tst_gestures.cpp
index 4a9f1d1..a968520 100644
--- a/tests/auto/gestures/tst_gestures.cpp
+++ b/tests/auto/gestures/tst_gestures.cpp
@@ -49,6 +49,7 @@
#include <qgesture.h>
#include <qgesturerecognizer.h>
#include <qgraphicsitem.h>
+#include <qgraphicswidget.h>
#include <qgraphicsview.h>
#include <qmainwindow.h>
@@ -333,6 +334,7 @@ private slots:
void gestureOverChild();
void multipleWidgetOnlyGestureInTree();
void conflictingGestures();
+ void conflictingGesturesInGraphicsView();
void finishedWithoutStarted();
void unknownGesture();
void graphicsItemGesture();
@@ -358,6 +360,7 @@ private slots:
void viewportCoordinates();
void partialGesturePropagation();
void testQGestureRecognizerCleanup();
+ void testReuseCanceledGestures();
};
tst_Gestures::tst_Gestures()
@@ -2069,5 +2072,234 @@ void tst_Gestures::testQGestureRecognizerCleanup()
delete w;
}
+class ReuseCanceledGesturesRecognizer : public QGestureRecognizer
+{
+public:
+ enum Type {
+ RmbAndCancelAllType,
+ LmbType
+ };
+
+ ReuseCanceledGesturesRecognizer(Type type) : m_type(type) {}
+
+ QGesture *create(QObject *) {
+ QGesture *g = new QGesture;
+ return g;
+ }
+
+ Result recognize(QGesture *gesture, QObject *, QEvent *event) {
+ QMouseEvent *me = static_cast<QMouseEvent *>(event);
+ Qt::MouseButton mouseButton(m_type == LmbType ? Qt::LeftButton : Qt::RightButton);
+
+ switch(event->type()) {
+ case QEvent::MouseButtonPress:
+ if (me->button() == mouseButton && gesture->state() == Qt::NoGesture) {
+ gesture->setHotSpot(QPointF(me->globalPos()));
+ if (m_type == RmbAndCancelAllType)
+ gesture->setGestureCancelPolicy(QGesture::CancelAllInContext);
+ return QGestureRecognizer::TriggerGesture;
+ }
+ break;
+ case QEvent::MouseButtonRelease:
+ if (me->button() == mouseButton && gesture->state() > Qt::NoGesture)
+ return QGestureRecognizer::FinishGesture;
+ default:
+ break;
+ }
+ return QGestureRecognizer::Ignore;
+ }
+private:
+ Type m_type;
+};
+
+class ReuseCanceledGesturesWidget : public QGraphicsWidget
+{
+ public:
+ ReuseCanceledGesturesWidget(Qt::GestureType gestureType = Qt::TapGesture, QGraphicsItem *parent = 0)
+ : QGraphicsWidget(parent),
+ m_gestureType(gestureType),
+ m_started(0), m_updated(0), m_canceled(0), m_finished(0)
+ {
+ }
+
+ bool event(QEvent *event) {
+ if (event->type() == QEvent::Gesture) {
+ QGesture *gesture = static_cast<QGestureEvent*>(event)->gesture(m_gestureType);
+ if (gesture) {
+ switch(gesture->state()) {
+ case Qt::GestureStarted: m_started++; break;
+ case Qt::GestureUpdated: m_updated++; break;
+ case Qt::GestureFinished: m_finished++; break;
+ case Qt::GestureCanceled: m_canceled++; break;
+ default: break;
+ }
+ }
+ return true;
+ }
+ if (event->type() == QEvent::GraphicsSceneMousePress) {
+ return true;
+ }
+ return QGraphicsWidget::event(event);
+ }
+
+ int started() { return m_started; }
+ int updated() { return m_updated; }
+ int finished() { return m_finished; }
+ int canceled() { return m_canceled; }
+
+ private:
+ Qt::GestureType m_gestureType;
+ int m_started;
+ int m_updated;
+ int m_canceled;
+ int m_finished;
+};
+
+void tst_Gestures::testReuseCanceledGestures()
+{
+ Qt::GestureType cancellingGestureTypeId = QGestureRecognizer::registerRecognizer(
+ new ReuseCanceledGesturesRecognizer(ReuseCanceledGesturesRecognizer::RmbAndCancelAllType));
+ Qt::GestureType tapGestureTypeId = QGestureRecognizer::registerRecognizer(
+ new ReuseCanceledGesturesRecognizer(ReuseCanceledGesturesRecognizer::LmbType));
+
+ QMainWindow mw;
+ mw.setWindowFlags(Qt::X11BypassWindowManagerHint);
+ QGraphicsView *gv = new QGraphicsView(&mw);
+ QGraphicsScene *scene = new QGraphicsScene;
+
+ gv->setScene(scene);
+ scene->setSceneRect(0,0,100,100);
+
+ // Create container and add to the scene
+ ReuseCanceledGesturesWidget *container = new ReuseCanceledGesturesWidget;
+ container->grabGesture(cancellingGestureTypeId); // << container grabs canceling gesture
+
+ // Create widget and add to the scene
+ ReuseCanceledGesturesWidget *target = new ReuseCanceledGesturesWidget(tapGestureTypeId, container);
+ target->grabGesture(tapGestureTypeId);
+
+ container->setGeometry(scene->sceneRect());
+
+ scene->addItem(container);
+
+ mw.setCentralWidget(gv);
+
+ // Viewport needs to grab all gestures that widgets in scene grab
+ gv->viewport()->grabGesture(cancellingGestureTypeId);
+ gv->viewport()->grabGesture(tapGestureTypeId);
+
+ mw.show();
+ QTest::qWaitForWindowShown(&mw);
+
+ QPoint targetPos(gv->mapFromScene(target->mapToScene(target->rect().center())));
+ targetPos = gv->viewport()->mapFromParent(targetPos);
+
+ // "Tap" starts on child widget
+ QTest::mousePress(gv->viewport(), Qt::LeftButton, 0, targetPos);
+ QCOMPARE(target->started(), 1);
+ QCOMPARE(target->updated(), 0);
+ QCOMPARE(target->finished(), 0);
+ QCOMPARE(target->canceled(), 0);
+
+ // Canceling gesture starts on parent
+ QTest::mousePress(gv->viewport(), Qt::RightButton, 0, targetPos);
+ QCOMPARE(target->started(), 1);
+ QCOMPARE(target->updated(), 0);
+ QCOMPARE(target->finished(), 0);
+ QCOMPARE(target->canceled(), 1); // <- child canceled
+
+ // Canceling gesture ends
+ QTest::mouseRelease(gv->viewport(), Qt::RightButton, 0, targetPos);
+ QCOMPARE(target->started(), 1);
+ QCOMPARE(target->updated(), 0);
+ QCOMPARE(target->finished(), 0);
+ QCOMPARE(target->canceled(), 1);
+
+ // Tap would end if not canceled
+ QTest::mouseRelease(gv->viewport(), Qt::LeftButton, 0, targetPos);
+ QCOMPARE(target->started(), 1);
+ QCOMPARE(target->updated(), 0);
+ QCOMPARE(target->finished(), 0);
+ QCOMPARE(target->canceled(), 1);
+
+ // New "Tap" starts
+ QTest::mousePress(gv->viewport(), Qt::LeftButton, 0, targetPos);
+ QCOMPARE(target->started(), 2);
+ QCOMPARE(target->updated(), 0);
+ QCOMPARE(target->finished(), 0);
+ QCOMPARE(target->canceled(), 1);
+
+ QTest::mouseRelease(gv->viewport(), Qt::LeftButton, 0, targetPos);
+ QCOMPARE(target->started(), 2);
+ QCOMPARE(target->updated(), 0);
+ QCOMPARE(target->finished(), 1);
+ QCOMPARE(target->canceled(), 1);
+}
+
+void tst_Gestures::conflictingGesturesInGraphicsView()
+{
+ QGraphicsScene scene;
+ GraphicsView view(&scene);
+ view.setWindowFlags(Qt::X11BypassWindowManagerHint);
+
+ GestureItem *item1 = new GestureItem("item1");
+ item1->grabGesture(CustomGesture::GestureType);
+ item1->size = QRectF(0, 0, 100, 100);
+ item1->setZValue(2);
+ scene.addItem(item1);
+
+ GestureItem *item2 = new GestureItem("item2");
+ item2->grabGesture(CustomGesture::GestureType);
+ item2->size = QRectF(0, 0, 100, 100);
+ item2->setZValue(5);
+ scene.addItem(item2);
+
+ view.show();
+ QTest::qWaitForWindowShown(&view);
+ view.ensureVisible(scene.sceneRect());
+
+ static const int TotalGestureEventsCount = CustomGesture::SerialFinishedThreshold - CustomGesture::SerialStartedThreshold + 1;
+
+ CustomEvent event;
+
+ // nobody accepts override
+ item1->acceptGestureOverride = false;
+ item2->acceptGestureOverride = false;
+ event.hotSpot = mapToGlobal(item2->boundingRect().center(), item2, &view);
+ event.hasHotSpot = true;
+ sendCustomGesture(&event, item2, &scene);
+ QCOMPARE(item2->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item2->gestureEventsReceived, TotalGestureEventsCount);
+ QCOMPARE(item1->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item1->gestureEventsReceived, 0);
+
+ item1->reset(); item2->reset();
+
+ // the original target accepts override
+ item1->acceptGestureOverride = false;
+ item2->acceptGestureOverride = true;
+ event.hotSpot = mapToGlobal(item2->boundingRect().center(), item2, &view);
+ event.hasHotSpot = true;
+ sendCustomGesture(&event, item2, &scene);
+ QCOMPARE(item2->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item2->gestureEventsReceived, TotalGestureEventsCount);
+ QCOMPARE(item1->gestureOverrideEventsReceived, 0);
+ QCOMPARE(item1->gestureEventsReceived, 0);
+
+ item1->reset(); item2->reset();
+
+ // the item behind accepts override
+ item1->acceptGestureOverride = true;
+ item2->acceptGestureOverride = false;
+ event.hotSpot = mapToGlobal(item2->boundingRect().center(), item2, &view);
+ event.hasHotSpot = true;
+ sendCustomGesture(&event, item2, &scene);
+
+ QCOMPARE(item2->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item2->gestureEventsReceived, 0);
+ QCOMPARE(item1->gestureOverrideEventsReceived, 1);
+ QCOMPARE(item1->gestureEventsReceived, TotalGestureEventsCount);
+}
+
QTEST_MAIN(tst_Gestures)
#include "tst_gestures.moc"
diff --git a/tests/auto/linguist/lconvert/data/test20.ts b/tests/auto/linguist/lconvert/data/test20.ts
index 542cdee..f042edf 100644
--- a/tests/auto/linguist/lconvert/data/test20.ts
+++ b/tests/auto/linguist/lconvert/data/test20.ts
@@ -147,4 +147,16 @@
<translation type="unfinished"></translation>
</message>
</context>
+<context>
+ <name>Bizarre ~ and | context~</name>
+ <message>
+ <source>just something</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>something else</source>
+ <comment>comment with | and ~ and so~</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/cmdline_order/a.h b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/a.h
new file mode 100644
index 0000000..7059132
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/a.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#define XX QT_TRANSLATE_NOOP("aaa", "some text")
diff --git a/tests/auto/linguist/lupdate/testdata/good/cmdline_order/b.h b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/b.h
new file mode 100644
index 0000000..ce3e1a2
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/b.h
@@ -0,0 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "a.h"
+
+#define YY QT_TRANSLATE_NOOP("bbb", "some text")
diff --git a/tests/auto/linguist/lupdate/testdata/good/cmdline_order/lupdatecmd b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/lupdatecmd
new file mode 100644
index 0000000..edd91f7
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/lupdatecmd
@@ -0,0 +1 @@
+lupdate b.h a.h -ts project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/cmdline_order/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/project.ts.result
new file mode 100644
index 0000000..6028cbb
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/cmdline_order/project.ts.result
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>aaa</name>
+ <message>
+ <location filename="a.h" line="42"/>
+ <source>some text</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>bbb</name>
+ <message>
+ <location filename="b.h" line="44"/>
+ <source>some text</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt
index 72ec3c5..f6fc400 100644
--- a/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt
+++ b/tests/auto/linguist/lupdate/testdata/good/lacksqobject/expectedoutput.txt
@@ -1,8 +1,4 @@
.*/lupdate/testdata/good/lacksqobject/main.cpp:58: Class 'B' lacks Q_OBJECT macro
-
.*/lupdate/testdata/good/lacksqobject/main.cpp:65: Class 'C' lacks Q_OBJECT macro
-
.*/lupdate/testdata/good/lacksqobject/main.cpp:78: Class 'nsB::B' lacks Q_OBJECT macro
-
.*/lupdate/testdata/good/lacksqobject/main.cpp:84: Class 'nsB::C' lacks Q_OBJECT macro
-
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt
index e3543c9..195c0e6 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt
+++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/expectedoutput.txt
@@ -1,8 +1,4 @@
.*/lupdate/testdata/good/parsecpp2/main.cpp:51: Excess closing brace .*
-
.*/lupdate/testdata/good/parsecpp2/main.cpp:55: Excess closing brace .*
-
.*/lupdate/testdata/good/parsecpp2/main.cpp:61: Excess closing brace .*
-
.*/lupdate/testdata/good/parsecpp2/main.cpp:65: Excess closing brace .*
-
diff --git a/tests/auto/maketestselftest/checktest/checktest.pro b/tests/auto/maketestselftest/checktest/checktest.pro
new file mode 100644
index 0000000..79c5ca5
--- /dev/null
+++ b/tests/auto/maketestselftest/checktest/checktest.pro
@@ -0,0 +1,7 @@
+TEMPLATE = app
+TARGET = checktest
+CONFIG += console
+CONFIG -= app_bundle
+DESTDIR = ./
+QT = core
+SOURCES += main.cpp
diff --git a/tests/auto/maketestselftest/checktest/main.cpp b/tests/auto/maketestselftest/checktest/main.cpp
new file mode 100644
index 0000000..af98953
--- /dev/null
+++ b/tests/auto/maketestselftest/checktest/main.cpp
@@ -0,0 +1,99 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QCoreApplication>
+#include <QDir>
+#include <QFile>
+#include <QFileInfo>
+#include <QStringList>
+
+#include <stdio.h>
+#include <stdlib.h>
+
+void fail(QString const& message)
+{
+ printf("CHECKTEST FAIL: %s\n", qPrintable(message));
+ exit(0);
+}
+
+void pass(QString const& message)
+{
+ printf("CHECKTEST PASS: %s\n", qPrintable(message));
+ exit(0);
+}
+
+int main(int argc, char** argv)
+{
+ QCoreApplication app(argc, argv);
+
+ QStringList args = app.arguments();
+ args.removeFirst(); // ourself
+
+ QString args_quoted = QString("'%1'").arg(args.join("','"));
+
+#ifdef Q_WS_QWS
+ {
+ // for QWS we expect tests to be run as the QWS server
+ QString qws = args.takeLast();
+ if (qws != "-qws") {
+ fail(QString("Expected test to be run with `-qws', but it wasn't; args: %1").arg(args_quoted));
+ }
+ }
+#endif
+
+ if (args.count() != 1) {
+ fail(QString("These arguments are not what I expected: %1").arg(args_quoted));
+ }
+
+ QString test = args.at(0);
+
+ QFileInfo testfile(test);
+ if (!testfile.exists()) {
+ fail(QString("File %1 does not exist (my working directory is: %2, my args are: %3)")
+ .arg(test)
+ .arg(QDir::currentPath())
+ .arg(args_quoted)
+ );
+ }
+
+ pass(args_quoted);
+}
+
diff --git a/tests/auto/maketestselftest/maketestselftest.pro b/tests/auto/maketestselftest/maketestselftest.pro
index 6cc1744..a27d5d7 100644
--- a/tests/auto/maketestselftest/maketestselftest.pro
+++ b/tests/auto/maketestselftest/maketestselftest.pro
@@ -1,9 +1,6 @@
-load(qttest_p4)
-
-SOURCES += tst_maketestselftest.cpp
-QT = core
-
-DEFINES += SRCDIR=\\\"$$PWD/\\\"
+TEMPLATE = subdirs
+SUBDIRS = checktest test
+test.depends = checktest
requires(!cross_compile)
diff --git a/tests/auto/maketestselftest/test/test.pro b/tests/auto/maketestselftest/test/test.pro
new file mode 100644
index 0000000..d9de51e
--- /dev/null
+++ b/tests/auto/maketestselftest/test/test.pro
@@ -0,0 +1,18 @@
+load(qttest_p4)
+
+TARGET = ../tst_maketestselftest
+SOURCES += ../tst_maketestselftest.cpp
+QT = core
+
+DEFINES += SRCDIR=\\\"$$PWD/..\\\"
+
+requires(!cross_compile)
+
+win32 {
+ CONFIG(debug, debug|release) {
+ TARGET = ../../debug/tst_maketestselftest
+} else {
+ TARGET = ../../release/tst_maketestselftest
+ }
+}
+
diff --git a/tests/auto/maketestselftest/tst_maketestselftest.cpp b/tests/auto/maketestselftest/tst_maketestselftest.cpp
index 437e143..a9077e3 100644
--- a/tests/auto/maketestselftest/tst_maketestselftest.cpp
+++ b/tests/auto/maketestselftest/tst_maketestselftest.cpp
@@ -66,6 +66,8 @@ private slots:
void naming_convention();
void naming_convention_data();
+ void make_check();
+
private:
QStringList find_subdirs(QString const&, FindSubdirsMode, QString const& = QString());
@@ -446,6 +448,83 @@ QStringList tst_MakeTestSelfTest::find_subdirs(QString const& pro_file, FindSubd
return out;
}
+void tst_MakeTestSelfTest::make_check()
+{
+ /*
+ Run `make check' over the whole tests tree with a custom TESTRUNNER,
+ to verify that the TESTRUNNER mechanism works right.
+ */
+ QString testsDir(SRCDIR "/..");
+ QString checktest(SRCDIR "/checktest/checktest");
+
+#if defined(Q_OS_WIN32) || defined(Q_OS_MAC)
+ if (qgetenv("RUN_SLOW_TESTS").isEmpty()) {
+ QSKIP("This test is too slow to run by default on this OS. Set RUN_SLOW_TESTS=1 to run it.", SkipAll);
+ }
+#endif
+
+#ifdef Q_OS_WIN32
+ checktest.replace("/", "\\");
+ checktest += ".exe";
+#endif
+
+ QProcess make;
+ make.setWorkingDirectory(testsDir);
+
+ QStringList arguments;
+ arguments << "-k";
+ arguments << "check";
+ arguments << QString("TESTRUNNER=%1").arg(checktest);
+
+ // find the right make; from externaltests.cpp
+ static const char makes[] =
+ "nmake.exe\0"
+ "mingw32-make.exe\0"
+ "gmake\0"
+ "make\0"
+ ;
+
+ bool ok = false;
+ for (const char *p = makes; *p; p += strlen(p) + 1) {
+ make.start(p, arguments);
+ if (make.waitForStarted()) {
+ ok = true;
+ break;
+ }
+ }
+
+ if (!ok) {
+ QFAIL("Could not find the right make tool in PATH");
+ }
+
+ QVERIFY(make.waitForFinished(1000 * 60 * 10));
+ QCOMPARE(make.exitStatus(), QProcess::NormalExit);
+
+ int pass = 0;
+ QList<QByteArray> out = make.readAllStandardOutput().split('\n');
+ QStringList fails;
+ foreach (QByteArray line, out) {
+ while (line.endsWith("\r")) {
+ line.chop(1);
+ }
+ if (line.startsWith("CHECKTEST FAIL")) {
+ fails << QString::fromLocal8Bit(line);
+ }
+ if (line.startsWith("CHECKTEST PASS")) {
+ ++pass;
+ }
+ }
+
+ // We can't check that the exit code of make is 0, because some tests
+ // may have failed to compile, but that doesn't mean `make check' is broken.
+ // We do assume there are at least this many unbroken tests, though.
+ QVERIFY2(fails.count() == 0,
+ qPrintable(QString("`make check' doesn't work for %1 tests:\n%2")
+ .arg(fails.count()).arg(fails.join("\n")))
+ );
+ QVERIFY(pass > 50);
+}
+
QStringList find_test_class(QString const& filename)
{
QStringList out;
diff --git a/tests/auto/qapplication/tst_qapplication.cpp b/tests/auto/qapplication/tst_qapplication.cpp
index 43fbba1..1a38070 100644
--- a/tests/auto/qapplication/tst_qapplication.cpp
+++ b/tests/auto/qapplication/tst_qapplication.cpp
@@ -189,15 +189,22 @@ void tst_QApplication::getSetCheck()
{
int argc = 0;
QApplication obj1(argc, 0, QApplication::GuiServer);
- // QInputContext * QApplication::inputContext()
- // void QApplication::setInputContext(QInputContext *)
MyInputContext *var1 = new MyInputContext;
+
+ // QApplication takes ownership, so check for reparenting:
obj1.setInputContext(var1);
- QCOMPARE((QInputContext *)var1, obj1.inputContext());
+ QCOMPARE(var1->parent(), static_cast<QObject *>(&obj1));
+
+ // Test for self-assignment:
+ obj1.setInputContext(obj1.inputContext());
+ QVERIFY(obj1.inputContext());
+ QCOMPARE(static_cast<QInputContext *>(var1), obj1.inputContext());
+
+ // Resetting the input context to 0 is not allowed:
QTest::ignoreMessage(QtWarningMsg, "QApplication::setInputContext: called with 0 input context");
- obj1.setInputContext((QInputContext *)0);
- QCOMPARE((QInputContext *)var1, obj1.inputContext());
- // delete var1; // No delete, since QApplication takes ownership
+ obj1.setInputContext(0);
+
+ QCOMPARE(static_cast<QInputContext *>(var1), obj1.inputContext());
}
class CloseEventTestWindow : public QWidget
diff --git a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
index 81e064e..a22d624 100644
--- a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
+++ b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp
@@ -74,7 +74,6 @@ private slots:
void bypassShaping();
void elidedMultiLength();
void elidedMultiLengthF();
- void bearingIncludedInBoundingRect();
};
tst_QFontMetrics::tst_QFontMetrics()
@@ -223,6 +222,7 @@ void tst_QFontMetrics::averageCharWidth()
void tst_QFontMetrics::bypassShaping()
{
QFont f;
+ f.setStyleStrategy(QFont::ForceIntegerMetrics);
QFontMetrics fm(f);
QString text = " A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z";
int textWidth = fm.width(text, -1, Qt::TextBypassShaping);
@@ -266,16 +266,5 @@ void tst_QFontMetrics::elidedMultiLengthF()
elidedMultiLength_helper<QFontMetricsF>();
}
-void tst_QFontMetrics::bearingIncludedInBoundingRect()
-{
- QFont font;
- font.setItalic(true);
- QRect brectItalic = QFontMetrics(font).boundingRect("ITALIC");
- font.setItalic(false);
- QRect brectNormal = QFontMetrics(font).boundingRect("ITALIC");
-
- QVERIFY(brectItalic.width() >= brectNormal.width());
-}
-
QTEST_MAIN(tst_QFontMetrics)
#include "tst_qfontmetrics.moc"
diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
index 5547b02..fe68c8e 100644
--- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -7584,6 +7584,7 @@ void tst_QGraphicsItem::itemUsesExtendedStyleOption()
scene.addItem(rect);
rect->setPos(200, 200);
QGraphicsView view(&scene);
+ view.setWindowFlags(Qt::X11BypassWindowManagerHint);
rect->startTrack = false;
view.show();
QTest::qWaitForWindowShown(&view);
diff --git a/tests/auto/qhash/tst_qhash.cpp b/tests/auto/qhash/tst_qhash.cpp
index 59576d9..3a7b54a 100644
--- a/tests/auto/qhash/tst_qhash.cpp
+++ b/tests/auto/qhash/tst_qhash.cpp
@@ -1154,6 +1154,26 @@ void tst_QHash::qmultihash_specific()
QVERIFY(i.key() == 9);
QVERIFY(i.value() == 98);
}
+
+ {
+ QMultiHash<int, int> map1;
+ map1.insert(42, 1);
+ map1.insert(10, 2);
+ map1.insert(48, 3);
+ QMultiHash<int, int> map2;
+ map2.insert(8, 4);
+ map2.insert(42, 5);
+ map2.insert(95, 12);
+
+ map1+=map2;
+ map2.insert(42, 1);
+ map2.insert(10, 2);
+ map2.insert(48, 3);
+ QCOMPARE(map1.count(), map2.count());
+ QVERIFY(map1.remove(42,5));
+ QVERIFY(map2.remove(42,5));
+ QVERIFY(map1 == map2);
+ }
}
template <typename T>
diff --git a/tests/auto/qmap/tst_qmap.cpp b/tests/auto/qmap/tst_qmap.cpp
index d3ed76d..a1b8de7 100644
--- a/tests/auto/qmap/tst_qmap.cpp
+++ b/tests/auto/qmap/tst_qmap.cpp
@@ -837,6 +837,26 @@ void tst_QMap::qmultimap_specific()
QVERIFY(i.key() == 9);
QVERIFY(i.value() == 98);
}
+
+ {
+ QMultiMap<int, int> map1;
+ map1.insert(42, 1);
+ map1.insert(10, 2);
+ map1.insert(48, 3);
+ QMultiMap<int, int> map2;
+ map2.insert(8, 4);
+ map2.insert(42, 5);
+ map2.insert(95, 12);
+
+ map1+=map2;
+ map2.insert(42, 1);
+ map2.insert(10, 2);
+ map2.insert(48, 3);
+ QCOMPARE(map1.count(), map2.count());
+ QVERIFY(map1.remove(42,5));
+ QVERIFY(map2.remove(42,5));
+ QVERIFY(map1 == map2);
+ }
}
QTEST_APPLESS_MAIN(tst_QMap)
diff --git a/tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp b/tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
index 8ce10fb..5bbe8f6 100644
--- a/tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
+++ b/tests/auto/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
@@ -78,6 +78,56 @@ private slots:
void oldCacheVersionFile();
void sync();
+
+ void crashWhenParentingCache();
+};
+
+// FIXME same as in tst_qnetworkreply.cpp .. could be unified
+// Does not work for POST/PUT!
+class MiniHttpServer: public QTcpServer
+{
+ Q_OBJECT
+public:
+ QTcpSocket *client; // always the last one that was received
+ QByteArray dataToTransmit;
+ QByteArray receivedData;
+ bool doClose;
+ bool multiple;
+ int totalConnections;
+
+ MiniHttpServer(const QByteArray &data) : client(0), dataToTransmit(data), doClose(true), multiple(false), totalConnections(0)
+ {
+ listen();
+ connect(this, SIGNAL(newConnection()), this, SLOT(doAccept()));
+ }
+
+public slots:
+ void doAccept()
+ {
+ client = nextPendingConnection();
+ client->setParent(this);
+ ++totalConnections;
+ connect(client, SIGNAL(readyRead()), this, SLOT(readyReadSlot()));
+ }
+
+ void readyReadSlot()
+ {
+ receivedData += client->readAll();
+ int doubleEndlPos = receivedData.indexOf("\r\n\r\n");
+
+ if (doubleEndlPos != -1) {
+ // multiple requests incoming. remove the bytes of the current one
+ if (multiple)
+ receivedData.remove(0, doubleEndlPos+4);
+
+ client->write(dataToTransmit);
+ if (doClose) {
+ client->disconnectFromHost();
+ disconnect(client, 0, this, 0);
+ client = 0;
+ }
+ }
+ }
};
// Subclass that exposes the protected functions.
@@ -581,6 +631,33 @@ public:
Runner *other;
};
+void tst_QNetworkDiskCache::crashWhenParentingCache()
+{
+ // the trick here is to not send the complete response
+ // but some data. So we get a readyRead() and it gets tried
+ // to be saved to the cache
+ QByteArray data("HTTP/1.0 200 OK\r\nCache-Control: max-age=300\r\nAge: 1\r\nContent-Length: 5\r\n\r\n123");
+ MiniHttpServer server(data);
+
+ QNetworkAccessManager *manager = new QNetworkAccessManager();
+ QNetworkDiskCache *diskCache = new QNetworkDiskCache(manager); // parent to qnam!
+ // we expect the temp dir to be cleaned at some point anyway
+ diskCache->setCacheDirectory(QDir::tempPath() + "/cacheDir_" + QCoreApplication::applicationPid());
+ manager->setCache(diskCache);
+
+ QUrl url("http://127.0.0.1:" + QString::number(server.serverPort()));
+ QNetworkRequest request(url);
+ // request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::AlwaysNetwork);
+ QNetworkReply *reply = manager->get(request); // new reply is parented to qnam
+
+ // wait for readyRead of reply!
+ connect(reply, SIGNAL(readyRead()), &QTestEventLoop::instance(), SLOT(exitLoop()));
+ QTestEventLoop::instance().enterLoop(5);
+ QVERIFY(!QTestEventLoop::instance().timeout());
+
+ delete manager; // crashed before..
+}
+
void tst_QNetworkDiskCache::sync()
{
// This tests would be a nice to have, but is currently not supported.
diff --git a/tests/auto/qprocess/testProcessEOF/testProcessEOF.pro b/tests/auto/qprocess/testProcessEOF/testProcessEOF.pro
index f406759..756bd23 100644
--- a/tests/auto/qprocess/testProcessEOF/testProcessEOF.pro
+++ b/tests/auto/qprocess/testProcessEOF/testProcessEOF.pro
@@ -2,7 +2,7 @@ SOURCES = main.cpp
CONFIG -= qt app_bundle
CONFIG += console
-!win32-g++:win32:!equals(TEMPLATE_PREFIX, "vc"):QMAKE_CXXFLAGS += /GS-
+win32:!win32-g++*:!equals(TEMPLATE_PREFIX, "vc"):QMAKE_CXXFLAGS += /GS-
DESTDIR = ./
diff --git a/tests/auto/qsqldriver/qsqldriver.pro b/tests/auto/qsqldriver/qsqldriver.pro
index d04ca83..2e9ed67 100644
--- a/tests/auto/qsqldriver/qsqldriver.pro
+++ b/tests/auto/qsqldriver/qsqldriver.pro
@@ -9,7 +9,7 @@ wince*: {
DEPLOYMENT += plugFiles
LIBS += -lws2
} else {
- win32-g++ {
+ win32-g++* {
LIBS += -lws2_32
} else:win32 {
LIBS += ws2_32.lib
diff --git a/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro b/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro
index ee4f2f0..c6681d5 100644
--- a/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro
+++ b/tests/auto/qsqlrelationaltablemodel/qsqlrelationaltablemodel.pro
@@ -17,7 +17,7 @@ wince*: {
}
}
} else {
- win32-g++ {
+ win32-g++* {
LIBS += -lws2_32
} else:win32 {
LIBS += ws2_32.lib
diff --git a/tests/auto/qsslcertificate/more-certificates/cert-large-serial-number.pem b/tests/auto/qsslcertificate/more-certificates/cert-large-serial-number.pem
new file mode 100644
index 0000000..ecb6c35
--- /dev/null
+++ b/tests/auto/qsslcertificate/more-certificates/cert-large-serial-number.pem
@@ -0,0 +1,14 @@
+-----BEGIN CERTIFICATE-----
+MIICGjCCAYMCFAECAwQFBgcICRCqu8zd7v8XGBkgMA0GCSqGSIb3DQEBBQUAMEwx
+CzAJBgNVBAYTAkdCMRIwEAYDVQQIEwlCZXJrc2hpcmUxEDAOBgNVBAcTB05ld2J1
+cnkxFzAVBgNVBAoTDk15IENvbXBhbnkgTHRkMB4XDTEwMDYwMTE1MDI0MVoXDTEx
+MDYwMTE1MDI0MVowTDELMAkGA1UEBhMCR0IxEjAQBgNVBAgTCUJlcmtzaGlyZTEQ
+MA4GA1UEBxMHTmV3YnVyeTEXMBUGA1UEChMOTXkgQ29tcGFueSBMdGQwgZ8wDQYJ
+KoZIhvcNAQEBBQADgY0AMIGJAoGBAM2q22/WNMmn8cC+5EEYGeICySLmp9W6Ay6e
+KHr0Xxp3X3epETuPfvAuxp7rOtkS18EMUegkUj8jw0IMEcbyHKFC/rTCaYOt93Cx
+GBXMIChiMPAsFeYzGa/D6xzAkfcRaJRQ+Ek3CDLXPnXfo7xpABXezYcPXAJrgsgB
+fWrwHdxzAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtlScqSn4IHFLRiQYQdfOgsPi
+wdqD1MPZEniQE0Xp8McZ7kuYbGgdEqzeVgMHqitlzkNNtTz+2u37CbFNXDGCTy5D
+2JCgZxaAWNkh1w+4VB91HfMwEU0MqvAO7SB31FwbKNaB3gVnua++NL1cAkujyRny
+yR3PatYZCfESQ7oZgds=
+-----END CERTIFICATE-----
diff --git a/tests/auto/qsslcertificate/tst_qsslcertificate.cpp b/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
index c76c11f..505b867 100644
--- a/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
+++ b/tests/auto/qsslcertificate/tst_qsslcertificate.cpp
@@ -109,6 +109,7 @@ private slots:
void task256066toPem();
void nulInCN();
void nulInSan();
+ void largeSerialNumber();
// ### add tests for certificate bundles (multiple certificates concatenated into a single
// structure); both PEM and DER formatted
#endif
@@ -786,6 +787,18 @@ void tst_QSslCertificate::nulInSan()
QCOMPARE(dnssan, QString::fromLatin1(realSAN, sizeof realSAN - 1));
}
+void tst_QSslCertificate::largeSerialNumber()
+{
+ QList<QSslCertificate> certList =
+ QSslCertificate::fromPath(SRCDIR "more-certificates/cert-large-serial-number.pem");
+
+ QCOMPARE(certList.size(), 1);
+
+ const QSslCertificate &cert = certList.at(0);
+ QVERIFY(!cert.isNull());
+ QCOMPARE(cert.serialNumber(), QByteArray("01:02:03:04:05:06:07:08:09:10:aa:bb:cc:dd:ee:ff:17:18:19:20"));
+}
+
#endif // QT_NO_OPENSSL
QTEST_MAIN(tst_QSslCertificate)
diff --git a/tests/auto/qstatictext/tst_qstatictext.cpp b/tests/auto/qstatictext/tst_qstatictext.cpp
index c7801ac..1d166f4 100644
--- a/tests/auto/qstatictext/tst_qstatictext.cpp
+++ b/tests/auto/qstatictext/tst_qstatictext.cpp
@@ -324,8 +324,7 @@ bool tst_QStaticText::supportsTransformations() const
QPaintEngine::Type type = engine->type();
- if (type == QPaintEngine::OpenGL2
- || type == QPaintEngine::OpenGL
+ if (type == QPaintEngine::OpenGL
#if !defined Q_WS_WIN
|| type == QPaintEngine::Raster
#endif
@@ -471,7 +470,7 @@ void tst_QStaticText::transformationChanged()
p.drawText(QRectF(0, 0, 1000, 1000), 0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit.");
- p.scale(7.0, 5.0);
+ p.scale(2.0, 2.5);
p.drawText(QRectF(0, 0, 1000, 1000), 0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit.");
}
@@ -487,7 +486,7 @@ void tst_QStaticText::transformationChanged()
p.drawStaticText(QPointF(0, 0), text);
- p.scale(7.0, 5.0);
+ p.scale(2.0, 2.5);
p.drawStaticText(QPointF(0, 0), text);
}
diff --git a/tests/auto/qstring/tst_qstring.cpp b/tests/auto/qstring/tst_qstring.cpp
index 1bea4b7..c887936 100644
--- a/tests/auto/qstring/tst_qstring.cpp
+++ b/tests/auto/qstring/tst_qstring.cpp
@@ -207,6 +207,7 @@ private slots:
void repeated() const;
void repeated_data() const;
void task262677remove();
+ void QTBUG10404_compareRef();
};
typedef QList<int> IntList;
@@ -4828,6 +4829,38 @@ void tst_QString::task262677remove()
QVERIFY(driveName == QLatin1String("V:"));
}
+void tst_QString::QTBUG10404_compareRef()
+{
+ QString a = "ABCDEFGH";
+
+ QCOMPARE(QStringRef(&a, 1, 2).compare(QLatin1String("BC")), 0);
+ QVERIFY(QStringRef(&a, 1, 2).compare(QLatin1String("BCD")) < 0);
+ QCOMPARE(QStringRef(&a, 1, 2).compare(QLatin1String("Bc"), Qt::CaseInsensitive), 0);
+ QVERIFY(QStringRef(&a, 1, 2).compare(QLatin1String("bCD"), Qt::CaseInsensitive) < 0);
+
+ QCOMPARE(QStringRef(&a, 1, 2).compare(QString::fromLatin1("BC")), 0);
+ QVERIFY(QStringRef(&a, 1, 2).compare(QString::fromLatin1("BCD")) < 0);
+ QCOMPARE(QStringRef(&a, 1, 2).compare(QString::fromLatin1("Bc"), Qt::CaseInsensitive), 0);
+ QVERIFY(QStringRef(&a, 1, 2).compare(QString::fromLatin1("bCD"), Qt::CaseInsensitive) < 0);
+
+ QCOMPARE(QString::fromLatin1("BC").compare(QStringRef(&a, 1, 2)), 0);
+ QVERIFY(QString::fromLatin1("BCD").compare(QStringRef(&a, 1, 2)) > 0);
+ QCOMPARE(QString::fromLatin1("Bc").compare(QStringRef(&a, 1, 2), Qt::CaseInsensitive), 0);
+ QVERIFY(QString::fromLatin1("bCD").compare(QStringRef(&a, 1, 2), Qt::CaseInsensitive) > 0);
+
+ QCOMPARE(QStringRef(&a, 1, 2).compare(QStringRef(&a, 1, 2)), 0);
+ QVERIFY(QStringRef(&a, 1, 2).compare(QStringRef(&a, 1, 3)) < 0);
+ QCOMPARE(QStringRef(&a, 1, 2).compare(QStringRef(&a, 1, 2), Qt::CaseInsensitive), 0);
+ QVERIFY(QStringRef(&a, 1, 2).compare(QStringRef(&a, 1, 3), Qt::CaseInsensitive) < 0);
+
+ QString a2 = "ABCDEFGh";
+ QCOMPARE(QStringRef(&a2, 1, 2).compare(QStringRef(&a, 1, 2)), 0);
+ QVERIFY(QStringRef(&a2, 1, 2).compare(QStringRef(&a, 1, 3)) < 0);
+ QCOMPARE(QStringRef(&a2, 1, 2).compare(QStringRef(&a, 1, 2), Qt::CaseInsensitive), 0);
+ QVERIFY(QStringRef(&a2, 1, 2).compare(QStringRef(&a, 1, 3), Qt::CaseInsensitive) < 0);
+}
+
+
QTEST_APPLESS_MAIN(tst_QString)
diff --git a/tests/auto/qtcpserver/crashingServer/crashingServer.pro b/tests/auto/qtcpserver/crashingServer/crashingServer.pro
index 70e42b4..0bea655 100644
--- a/tests/auto/qtcpserver/crashingServer/crashingServer.pro
+++ b/tests/auto/qtcpserver/crashingServer/crashingServer.pro
@@ -5,4 +5,4 @@ DESTDIR = ./
# This means the auto test works on some machines for MinGW. No dialog stalls
# the application.
-win32-g++:CONFIG += console
+win32-g++*:CONFIG += console
diff --git a/tests/auto/qtextcursor/tst_qtextcursor.cpp b/tests/auto/qtextcursor/tst_qtextcursor.cpp
index d44ce72..99babac 100644
--- a/tests/auto/qtextcursor/tst_qtextcursor.cpp
+++ b/tests/auto/qtextcursor/tst_qtextcursor.cpp
@@ -226,9 +226,9 @@ void tst_QTextCursor::navigation1()
cursor.movePosition(QTextCursor::End);
cursor.insertBlock();
{
- int oldPos = cursor.position();
- cursor.movePosition(QTextCursor::End);
- QVERIFY(cursor.position() == oldPos);
+ int oldPos = cursor.position();
+ cursor.movePosition(QTextCursor::End);
+ QVERIFY(cursor.position() == oldPos);
}
QVERIFY(cursor.atBlockStart());
QVERIFY(cursor.position() == 9);
@@ -1699,8 +1699,10 @@ void tst_QTextCursor::adjustCursorsOnInsert()
QCOMPARE(selection.position(), posAfter+1);
doc->undo();
+ selection.setKeepPositionOnInsert(true);
cursor.setPosition(posAfter);
cursor.insertText(QLatin1String("x"));
+ selection.setKeepPositionOnInsert(false);
QCOMPARE(selection.anchor(), posBefore);
QCOMPARE(selection.position(), posAfter);
doc->undo();
diff --git a/tests/auto/qtextformat/tst_qtextformat.cpp b/tests/auto/qtextformat/tst_qtextformat.cpp
index ee1f4b5..9b71481 100644
--- a/tests/auto/qtextformat/tst_qtextformat.cpp
+++ b/tests/auto/qtextformat/tst_qtextformat.cpp
@@ -308,10 +308,7 @@ void tst_QTextFormat::getSetTabs()
format.setTabPositions(tabs);
Comparator c2(tabs, format.tabPositions());
- QTextOption::Tab tab2;
- tab2.position = 3456;
- tab2.type = QTextOption::RightTab;
- tab2.delimiter = QChar('x');
+ QTextOption::Tab tab2(3456, QTextOption::RightTab, QChar('x'));
tabs.append(tab2);
format.setTabPositions(tabs);
Comparator c3(tabs, format.tabPositions());
diff --git a/tests/auto/qtextlayout/tst_qtextlayout.cpp b/tests/auto/qtextlayout/tst_qtextlayout.cpp
index 1a5f493..a631f3d 100644
--- a/tests/auto/qtextlayout/tst_qtextlayout.cpp
+++ b/tests/auto/qtextlayout/tst_qtextlayout.cpp
@@ -980,9 +980,7 @@ void tst_QTextLayout::testCenteredTab()
// test if centering the tab works. We expect the center of 'Bar.' to be at the tab point.
QTextOption option = layout.textOption();
QList<QTextOption::Tab> tabs;
- QTextOption::Tab tab;
- tab.type = QTextOption::CenterTab;
- tab.position = 150;
+ QTextOption::Tab tab(150, QTextOption::CenterTab);
tabs.append(tab);
option.setTabs(tabs);
layout.setTextOption(option);
@@ -1002,10 +1000,7 @@ void tst_QTextLayout::testDelimiterTab()
// try the different delimiter characters to see if the alignment works there.
QTextOption option = layout.textOption();
QList<QTextOption::Tab> tabs;
- QTextOption::Tab tab;
- tab.type = QTextOption::DelimiterTab;
- tab.delimiter = QChar('.');
- tab.position = 100;
+ QTextOption::Tab tab(100, QTextOption::DelimiterTab, QChar('.'));
tabs.append(tab);
option.setTabs(tabs);
layout.setTextOption(option);
diff --git a/tests/auto/qtextodfwriter/tst_qtextodfwriter.cpp b/tests/auto/qtextodfwriter/tst_qtextodfwriter.cpp
index 64c42bb..a463d86 100644
--- a/tests/auto/qtextodfwriter/tst_qtextodfwriter.cpp
+++ b/tests/auto/qtextodfwriter/tst_qtextodfwriter.cpp
@@ -198,14 +198,9 @@ void tst_QTextOdfWriter::testWriteStyle2()
{
QTextBlockFormat bf; // = cursor.blockFormat();
QList<QTextOption::Tab> tabs;
- QTextOption::Tab tab1;
- tab1.position = 40;
- tab1.type = QTextOption::RightTab;
+ QTextOption::Tab tab1(40, QTextOption::RightTab);
tabs << tab1;
- QTextOption::Tab tab2;
- tab2.position = 80;
- tab2.type = QTextOption::DelimiterTab;
- tab2.delimiter = 'o';
+ QTextOption::Tab tab2(80, QTextOption::DelimiterTab, 'o');
tabs << tab2;
bf.setTabPositions(tabs);
diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp
index 5d47aed..9e80eec 100644
--- a/tests/auto/qwidget/tst_qwidget.cpp
+++ b/tests/auto/qwidget/tst_qwidget.cpp
@@ -385,6 +385,7 @@ private slots:
void setGraphicsEffect();
void destroyBackingStore();
+ void destroyBackingStoreWhenHidden();
void activateWindow();
@@ -605,10 +606,14 @@ void tst_QWidget::getSetCheck()
obj1.setAttribute(Qt::WA_InputMethodEnabled);
obj1.setInputContext(var13);
QCOMPARE(static_cast<QInputContext *>(var13), obj1.inputContext());
+ // QWidget takes ownership, so check parent
+ QCOMPARE(var13->parent(), static_cast<QObject *>(&obj1));
+ // Check self assignment
+ obj1.setInputContext(obj1.inputContext());
+ QCOMPARE(static_cast<QInputContext *>(var13), obj1.inputContext());
obj1.setInputContext((QInputContext *)0);
QCOMPARE(qApp->inputContext(), obj1.inputContext());
QVERIFY(qApp->inputContext() != var13);
- //delete var13; // No delete, since QWidget takes ownership
// bool QWidget::autoFillBackground()
// void QWidget::setAutoFillBackground(bool)
@@ -9499,9 +9504,7 @@ void tst_QWidget::destroyBackingStore()
QTRY_VERIFY(w.numPaintEvents > 0);
w.reset();
w.update();
- delete qt_widget_private(&w)->topData()->backingStore;
- qt_widget_private(&w)->topData()->backingStore = 0;
- qt_widget_private(&w)->topData()->backingStore = new QWidgetBackingStore(&w);
+ qt_widget_private(&w)->topData()->backingStore.create(&w);
w.update();
QApplication::processEvents();
@@ -9519,6 +9522,252 @@ void tst_QWidget::destroyBackingStore()
#endif
}
+// Helper function
+QWidgetBackingStore* backingStore(QWidget &widget)
+{
+ QWidgetBackingStore *backingStore = 0;
+#ifdef QT_BUILD_INTERNAL
+ if (QTLWExtra *topExtra = qt_widget_private(&widget)->maybeTopData())
+ backingStore = topExtra->backingStore.data();
+#endif
+ return backingStore;
+}
+
+// Wait for a condition to be true, timing out after 1 second
+// This is used following calls to QWidget::show() and QWidget::hide(), which are
+// expected to asynchronously trigger native window visibility events.
+#define WAIT_AND_VERIFY(condition) \
+ do { \
+ QTime start = QTime::currentTime(); \
+ while (!(condition) && (start.elapsed() < 1000)) { \
+ qApp->processEvents(); \
+ QTest::qWait(50); \
+ } \
+ if (!QTest::qVerify((condition), #condition, "", __FILE__, __LINE__)) \
+ return; \
+ } while (0)
+
+void tst_QWidget::destroyBackingStoreWhenHidden()
+{
+#ifndef QT_BUILD_INTERNAL
+ QSKIP("Test step requires access to Q_AUTOTEST_EXPORT", SkipAll);
+#endif
+
+#ifndef Q_OS_SYMBIAN
+ QSKIP("Only Symbian destroys backing store when native window becomes invisible", SkipAll);
+#endif
+
+ testWidget->hide();
+ QTest::qWait(1000);
+
+ // 1. Single top-level QWidget
+ {
+ QWidget w;
+ w.setAutoFillBackground(true);
+ w.setPalette(Qt::yellow);
+ w.setGeometry(0, 0, 100, 100);
+ w.show();
+ QTest::qWaitForWindowShown(&w);
+ QVERIFY(0 != backingStore(w));
+
+ w.hide();
+ WAIT_AND_VERIFY(0 == backingStore(w));
+
+ w.show();
+ QTest::qWaitForWindowShown(&w);
+ QVERIFY(0 != backingStore(w));
+ }
+
+ // 2. Two top-level widgets
+ {
+ QWidget w1;
+ w1.setGeometry(0, 0, 100, 100);
+ w1.setAutoFillBackground(true);
+ w1.setPalette(Qt::red);
+ w1.show();
+ QTest::qWaitForWindowShown(&w1);
+ QVERIFY(0 != backingStore(w1));
+
+ QWidget w2;
+ w2.setGeometry(w1.geometry());
+ w1.setAutoFillBackground(true);
+ w1.setPalette(Qt::blue);
+ w2.show();
+ QTest::qWaitForWindowShown(&w2);
+ QVERIFY(0 != backingStore(w2));
+
+ // Check that w1 deleted its backing store when obscured by w2
+ QVERIFY(0 == backingStore(w1));
+
+ w2.move(w2.pos() + QPoint(10, 10));
+
+ // Check that w1 recreates its backing store when partially revealed
+ WAIT_AND_VERIFY(0 != backingStore(w1));
+ }
+
+ // 3. Native child widget
+ {
+ QWidget parent;
+ parent.setGeometry(0, 0, 100, 100);
+ parent.setAutoFillBackground(true);
+ parent.setPalette(Qt::yellow);
+
+ QWidget child(&parent);
+ child.setAutoFillBackground(true);
+ child.setPalette(Qt::green);
+
+ QVBoxLayout layout(&parent);
+ layout.setContentsMargins(10, 10, 10, 10);
+ layout.addWidget(&child);
+ parent.setLayout(&layout);
+
+ child.winId();
+
+ parent.show();
+ QTest::qWaitForWindowShown(&parent);
+
+ // Check that child window does not obscure parent window
+ QVERIFY(!parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Native child widget should share parent's backing store
+ QWidgetBackingStore *const parentBs = backingStore(parent);
+ QVERIFY(0 != parentBs);
+ QVERIFY(0 == backingStore(child));
+
+ // Set margins to zero so that child widget totally obscures parent
+ layout.setContentsMargins(0, 0, 0, 0);
+
+ WAIT_AND_VERIFY(parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Backing store should remain unchanged despite child window obscuring
+ // parent window
+ QVERIFY(parentBs == backingStore(parent));
+ QVERIFY(0 == backingStore(child));
+ }
+
+ // 4. Alien child widget which is made full-screen
+ {
+ QWidget parent;
+ parent.setGeometry(0, 0, 100, 100);
+ parent.setAutoFillBackground(true);
+ parent.setPalette(Qt::red);
+
+ QWidget child(&parent);
+ child.setAutoFillBackground(true);
+ child.setPalette(Qt::blue);
+
+ QVBoxLayout layout(&parent);
+ layout.setContentsMargins(10, 10, 10, 10);
+ layout.addWidget(&child);
+ parent.setLayout(&layout);
+
+ parent.show();
+ QTest::qWaitForWindowShown(&parent);
+
+ // Check that child window does not obscure parent window
+ QVERIFY(!parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Native child widget should share parent's backing store
+ QVERIFY(0 != backingStore(parent));
+ QVERIFY(0 == backingStore(child));
+
+ // Make child widget full screen
+ child.setWindowFlags((child.windowFlags() | Qt::Window) ^ Qt::SubWindow);
+ child.setWindowState(child.windowState() | Qt::WindowFullScreen);
+ child.show();
+ QTest::qWaitForWindowShown(&child);
+
+ // Check that child window obscures parent window
+ QVERIFY(parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Now that extent of child widget goes beyond parent's extent,
+ // a new backing store should be created for the child widget.
+ QVERIFY(0 != backingStore(child));
+
+ // Parent is obscured, therefore its backing store should be destroyed
+ QVERIFY(0 == backingStore(parent));
+
+ // Disable full screen
+ child.setWindowFlags(child.windowFlags() ^ (Qt::Window | Qt::SubWindow));
+ child.setWindowState(child.windowState() ^ Qt::WindowFullScreen);
+ child.show();
+ QTest::qWaitForWindowShown(&child);
+
+ // Check that parent is now visible again
+ QVERIFY(!parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Native child widget should once again share parent's backing store
+ QVERIFY(0 != backingStore(parent));
+ QEXPECT_FAIL("", "QTBUG-10643", Continue);
+ QVERIFY(0 == backingStore(child));
+ }
+
+ // 5. Native child widget which is made full-screen
+ {
+ QWidget parent;
+ parent.setGeometry(0, 0, 100, 100);
+ parent.setAutoFillBackground(true);
+ parent.setPalette(Qt::red);
+
+ QWidget child(&parent);
+ child.setAutoFillBackground(true);
+ child.setPalette(Qt::blue);
+
+ QVBoxLayout layout(&parent);
+ layout.setContentsMargins(10, 10, 10, 10);
+ layout.addWidget(&child);
+ parent.setLayout(&layout);
+
+ child.winId();
+
+ parent.show();
+ QTest::qWaitForWindowShown(&parent);
+
+ // Check that child window does not obscure parent window
+ QVERIFY(!parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Native child widget should share parent's backing store
+ QVERIFY(0 != backingStore(parent));
+ QVERIFY(0 == backingStore(child));
+
+ // Make child widget full screen
+ child.setWindowFlags((child.windowFlags() | Qt::Window) ^ Qt::SubWindow);
+ child.setWindowState(child.windowState() | Qt::WindowFullScreen);
+ child.show();
+ QTest::qWaitForWindowShown(&child);
+
+ // Ensure that 'window hidden' event is received by parent
+ qApp->processEvents();
+
+ // Check that child window obscures parent window
+ QVERIFY(parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Now that extent of child widget goes beyond parent's extent,
+ // a new backing store should be created for the child widget.
+ QVERIFY(0 != backingStore(child));
+
+ // Parent is obscured, therefore its backing store should be destroyed
+ QEXPECT_FAIL("", "QTBUG-10643", Continue);
+ QVERIFY(0 == backingStore(parent));
+
+ // Disable full screen
+ child.setWindowFlags(child.windowFlags() ^ (Qt::Window | Qt::SubWindow));
+ child.setWindowState(child.windowState() ^ Qt::WindowFullScreen);
+ child.show();
+ QTest::qWaitForWindowShown(&child);
+
+ // Check that parent is now visible again
+ QVERIFY(!parent.visibleRegion().subtracted(child.visibleRegion()).isEmpty());
+
+ // Native child widget should once again share parent's backing store
+ QVERIFY(0 != backingStore(parent));
+ QEXPECT_FAIL("", "QTBUG-10643", Continue);
+ QVERIFY(0 == backingStore(child));
+ }
+}
+
+#undef WAIT_AND_VERIFY
+
void tst_QWidget::rectOutsideCoordinatesLimit_task144779()
{
#ifdef Q_OS_WINCE_WM
@@ -10000,15 +10249,12 @@ class scrollWidgetWBS : public QWidget
public:
void deleteBackingStore()
{
- if (static_cast<QWidgetPrivate*>(d_ptr.data())->maybeBackingStore()) {
- delete static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->backingStore;
- static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->backingStore = 0;
- }
+ static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->backingStore.destroy();
}
void enableBackingStore()
{
if (!static_cast<QWidgetPrivate*>(d_ptr.data())->maybeBackingStore()) {
- static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->backingStore = new QWidgetBackingStore(this);
+ static_cast<QWidgetPrivate*>(d_ptr.data())->topData()->backingStore.create(this);
static_cast<QWidgetPrivate*>(d_ptr.data())->invalidateBuffer(this->rect());
repaint();
}
diff --git a/tests/auto/xmlpatternsxqts/tst_suitetest.cpp b/tests/auto/xmlpatternsxqts/tst_suitetest.cpp
index ec63858..6e10e3f 100644
--- a/tests/auto/xmlpatternsxqts/tst_suitetest.cpp
+++ b/tests/auto/xmlpatternsxqts/tst_suitetest.cpp
@@ -141,8 +141,6 @@ void tst_SuiteTest::checkTestSuiteResult() const
/* Passed to ResultThreader so it knows what kind of file it is handling. */
ResultThreader::Type type = ResultThreader::Baseline;
- QProcess::execute(QLatin1String("p4 edit ") + m_existingBaseline);
-
for(QFileInfoList::const_iterator it(list.constBegin()); it != end; ++it)
{
QFileInfo i(*it);
@@ -167,8 +165,6 @@ void tst_SuiteTest::checkTestSuiteResult() const
const int exitCode = eventLoop.exec();
- QProcess::execute(QLatin1String("p4 revert -a ") + m_existingBaseline);
-
QCOMPARE(exitCode, 0);
}
diff --git a/tools/activeqt/testcon/testcon.pro b/tools/activeqt/testcon/testcon.pro
index dc98218..89f8067 100644
--- a/tools/activeqt/testcon/testcon.pro
+++ b/tools/activeqt/testcon/testcon.pro
@@ -16,6 +16,6 @@ RC_FILE = testcon.rc
win32-borland {
QMAKE_POST_LINK = -midl $$QT_SOURCE_TREE/tools/activeqt/testcon/testcon.idl
} else {
- !win32-g++:QMAKE_POST_LINK = midl $$QT_SOURCE_TREE/tools/activeqt/testcon/testcon.idl && move testcon.tlb $(TARGETDIR)
+ !win32-g++*:QMAKE_POST_LINK = midl $$QT_SOURCE_TREE/tools/activeqt/testcon/testcon.idl && move testcon.tlb $(TARGETDIR)
}
diff --git a/tools/assistant/lib/fulltextsearch/fulltextsearch.pro b/tools/assistant/lib/fulltextsearch/fulltextsearch.pro
index fb1a0dd..4d2fddb 100644
--- a/tools/assistant/lib/fulltextsearch/fulltextsearch.pro
+++ b/tools/assistant/lib/fulltextsearch/fulltextsearch.pro
@@ -29,7 +29,7 @@ unix:QMAKE_PKGCONFIG_REQUIRES = QtCore
CONFIG(exceptions_off) {
CONFIG -= exceptions_off
CONFIG += exceptions
- !win32|win32-g++ {
+ !win32|win32-g++* {
QMAKE_CFLAGS -= -fno-exceptions
QMAKE_CXXFLAGS -= -fno-exceptions
QMAKE_LFLAGS -= -fno-exceptions
diff --git a/tools/configure/configure.pro b/tools/configure/configure.pro
index d926a76..64a6d9a 100644
--- a/tools/configure/configure.pro
+++ b/tools/configure/configure.pro
@@ -8,7 +8,7 @@ DEFINES += QT_BOOTSTRAPPED
win32 : LIBS += -lole32 -ladvapi32
win32-msvc.net | win32-msvc2* : QMAKE_CXXFLAGS += /EHsc
-win32-g++ : LIBS += -luuid
+win32-g++* : LIBS += -luuid
win32-msvc* {
QMAKE_CFLAGS_RELEASE -= -MD
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index a5f9f2c..2e2d8ba 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -1035,6 +1035,8 @@ void Configure::parseCmdLine()
qmakeLibs += QString("-l" + configCmdLine.at(i));
} else if (configCmdLine.at(i).startsWith("OPENSSL_LIBS=")) {
opensslLibs = configCmdLine.at(i);
+ } else if (configCmdLine.at(i).startsWith("PSQL_LIBS=")) {
+ psqlLibs = configCmdLine.at(i);
}
else if( ( configCmdLine.at(i) == "-override-version" ) || ( configCmdLine.at(i) == "-version-override" ) ){
@@ -2747,6 +2749,8 @@ void Configure::generateOutputVars()
else
qmakeVars += QString("OPENSSL_LIBS = -lssleay32 -llibeay32");
}
+ if (!psqlLibs.isEmpty())
+ qmakeVars += QString("QT_LFLAGS_PSQL=") + psqlLibs.section("=", 1);
if (!qmakeSql.isEmpty())
qmakeVars += QString("sql-drivers += ") + qmakeSql.join( " " );
if (!qmakeSqlPlugins.isEmpty())
diff --git a/tools/configure/configureapp.h b/tools/configure/configureapp.h
index 6c10dd8..ff2ee8b 100644
--- a/tools/configure/configureapp.h
+++ b/tools/configure/configureapp.h
@@ -133,6 +133,7 @@ private:
QStringList qmakeIncludes;
QStringList qmakeLibs;
QString opensslLibs;
+ QString psqlLibs;
QMap<QString,QString> licenseInfo;
QString outputLine;
diff --git a/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp b/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
index a25bd5d..5547761 100644
--- a/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
+++ b/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp
@@ -63,6 +63,7 @@
#include <QtGui/QAction>
#include <QtGui/QButtonGroup>
#include <QtGui/QMenu>
+#include <QtGui/QSortFilterProxyModel>
#include <QtGui/QStandardItemModel>
#include <QtGui/QComboBox>
#include <QtGui/QApplication>
@@ -712,9 +713,12 @@ SignalSlotEditorWindow::SignalSlotEditorWindow(QDesignerFormEditorInterface *cor
m_remove_button(new QToolButton),
m_core(core),
m_model(new ConnectionModel(this)),
+ m_proxy_model(new QSortFilterProxyModel(this)),
m_handling_selection_change(false)
{
- m_view->setModel(m_model);
+ m_proxy_model->setSourceModel(m_model);
+ m_view->setModel(m_proxy_model);
+ m_view->setSortingEnabled(true);
m_view->setItemDelegate(new ConnectionDelegate(this));
m_view->setEditTriggers(QAbstractItemView::DoubleClicked
| QAbstractItemView::EditKeyPressed);
@@ -790,7 +794,7 @@ void SignalSlotEditorWindow::updateDialogSelection(Connection *con)
if (m_handling_selection_change || m_editor == 0)
return;
- QModelIndex index = m_model->connectionToIndex(con);
+ QModelIndex index = m_proxy_model->mapFromSource(m_model->connectionToIndex(con));
if (index == m_view->currentIndex())
return;
m_handling_selection_change = true;
@@ -808,7 +812,7 @@ void SignalSlotEditorWindow::updateEditorSelection(const QModelIndex &index)
if (m_editor == 0)
return;
- Connection *con = m_model->indexToConnection(index);
+ Connection *con = m_model->indexToConnection(m_proxy_model->mapToSource(index));
if (m_editor->selected(con))
return;
m_handling_selection_change = true;
diff --git a/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.h b/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.h
index 9315955..665f0b7 100644
--- a/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.h
+++ b/tools/designer/src/components/signalsloteditor/signalsloteditorwindow.h
@@ -50,6 +50,7 @@ QT_BEGIN_NAMESPACE
class QDesignerFormWindowInterface;
class QDesignerFormEditorInterface;
class QModelIndex;
+class QSortFilterProxyModel;
class QTreeView;
class QToolButton;
@@ -84,6 +85,7 @@ private:
QToolButton *m_add_button, *m_remove_button;
QDesignerFormEditorInterface *m_core;
ConnectionModel *m_model;
+ QSortFilterProxyModel *m_proxy_model;
bool m_handling_selection_change;
};
diff --git a/tools/linguist/lconvert/main.cpp b/tools/linguist/lconvert/main.cpp
index 543c405..094406c 100644
--- a/tools/linguist/lconvert/main.cpp
+++ b/tools/linguist/lconvert/main.cpp
@@ -240,7 +240,7 @@ int main(int argc, char *argv[])
tr.setLanguageCode(Translator::guessLanguageCodeFromFileName(inFiles[0].name));
if (!tr.load(inFiles[0].name, cd, inFiles[0].format)) {
- qWarning() << qPrintable(cd.error());
+ std::cerr << qPrintable(cd.error());
return 2;
}
tr.reportDuplicates(tr.resolveDuplicates(), inFiles[0].name, verbose);
@@ -248,7 +248,7 @@ int main(int argc, char *argv[])
for (int i = 1; i < inFiles.size(); ++i) {
Translator tr2;
if (!tr2.load(inFiles[i].name, cd, inFiles[i].format)) {
- qWarning() << qPrintable(cd.error());
+ std::cerr << qPrintable(cd.error());
return 2;
}
tr2.reportDuplicates(tr2.resolveDuplicates(), inFiles[i].name, verbose);
@@ -273,11 +273,11 @@ int main(int argc, char *argv[])
tr.normalizeTranslations(cd);
if (!cd.errors().isEmpty()) {
- qWarning("%s", qPrintable(cd.error()));
+ std::cerr << qPrintable(cd.error());
cd.clearErrors();
}
if (!tr.save(outFileName, cd, outFormat)) {
- qWarning("%s", qPrintable(cd.error()));
+ std::cerr << qPrintable(cd.error());
return 3;
}
return 0;
diff --git a/tools/linguist/lrelease/main.cpp b/tools/linguist/lrelease/main.cpp
index 266474e..b5cff90 100644
--- a/tools/linguist/lrelease/main.cpp
+++ b/tools/linguist/lrelease/main.cpp
@@ -55,6 +55,8 @@
#include <QtCore/QStringList>
#include <QtCore/QTextStream>
+#include <iostream>
+
QT_USE_NAMESPACE
#ifdef QT_BOOTSTRAPPED
@@ -106,7 +108,7 @@ static bool loadTsFile(Translator &tor, const QString &tsFileName, bool /* verbo
ConversionData cd;
bool ok = tor.load(tsFileName, cd, QLatin1String("auto"));
if (!ok) {
- qWarning("lrelease error: %s\n", qPrintable(cd.error()));
+ std::cerr << "lrelease error: " << qPrintable(cd.error());
} else {
if (!cd.errors().isEmpty())
printOut(cd.error());
@@ -130,8 +132,8 @@ static bool releaseTranslator(Translator &tor, const QString &qmFileName,
QFile file(qmFileName);
if (!file.open(QIODevice::WriteOnly)) {
- qWarning("lrelease error: cannot create '%s': %s\n",
- qPrintable(qmFileName), qPrintable(file.errorString()));
+ std::cerr << "lrelease error: cannot create '" << qPrintable(qmFileName)
+ << "': " << qPrintable(file.errorString()) << std::endl;
return false;
}
@@ -140,8 +142,8 @@ static bool releaseTranslator(Translator &tor, const QString &qmFileName,
file.close();
if (!ok) {
- qWarning("lrelease error: cannot save '%s': %s\n",
- qPrintable(qmFileName), qPrintable(cd.error()));
+ std::cerr << "lrelease error: cannot save '" << qPrintable(qmFileName)
+ << "': " << qPrintable(cd.error());
} else if (!cd.errors().isEmpty()) {
printOut(cd.error());
}
@@ -253,19 +255,20 @@ int main(int argc, char **argv)
visitor.setVerbose(cd.isVerbose());
if (!visitor.queryProFile(&pro)) {
- qWarning("lrelease error: cannot read project file '%s'.", qPrintable(inputFile));
+ std::cerr << "lrelease error: cannot read project file '"
+ << qPrintable(inputFile) << "'.\n";
continue;
}
if (!visitor.accept(&pro)) {
- qWarning("lrelease error: cannot process project file '%s'.", qPrintable(inputFile));
+ std::cerr << "lrelease error: cannot process project file '"
+ << qPrintable(inputFile) << "'.\n";
continue;
}
QStringList translations = visitor.values(QLatin1String("TRANSLATIONS"));
if (translations.isEmpty()) {
- qWarning("lrelease warning: Met no 'TRANSLATIONS' entry in"
- " project file '%s'\n",
- qPrintable(inputFile));
+ std::cerr << "lrelease warning: Met no 'TRANSLATIONS' entry in project file '"
+ << qPrintable(inputFile) << "'\n";
} else {
QDir proDir(fi.absolutePath());
foreach (const QString &trans, translations)
diff --git a/tools/linguist/lupdate/cpp.cpp b/tools/linguist/lupdate/cpp.cpp
index db4bbca..b3e7e84 100644
--- a/tools/linguist/lupdate/cpp.cpp
+++ b/tools/linguist/lupdate/cpp.cpp
@@ -51,6 +51,8 @@
#include <QtCore/QTextCodec>
#include <QtCore/QTextStream>
+#include <iostream>
+
#include <ctype.h> // for isXXX()
QT_BEGIN_NAMESPACE
@@ -226,6 +228,8 @@ private:
int elseLine;
};
+ std::ostream &yyMsg(int line = 0);
+
uint getChar();
uint getToken();
bool getMacroArgs();
@@ -352,6 +356,12 @@ CppParser::CppParser(ParseResults *_results)
inDefine = false;
}
+
+std::ostream &CppParser::yyMsg(int line)
+{
+ return std::cerr << qPrintable(yyFileName) << ':' << (line ? line : yyLineNo) << ": ";
+}
+
void CppParser::setInput(const QString &in)
{
yyInStr = in;
@@ -613,9 +623,9 @@ uint CppParser::getToken()
if (yyBracketDepth != is.bracketDepth1st
|| yyBraceDepth != is.braceDepth1st
|| yyParenDepth != is.parenDepth1st)
- qWarning("%s:%d: Parenthesis/bracket/brace mismatch between "
- "#if and #else branches; using #if branch\n",
- qPrintable(yyFileName), is.elseLine);
+ yyMsg(is.elseLine)
+ << "Parenthesis/bracket/brace mismatch between "
+ "#if and #else branches; using #if branch\n";
} else {
is.bracketDepth1st = yyBracketDepth;
is.braceDepth1st = yyBraceDepth;
@@ -636,9 +646,9 @@ uint CppParser::getToken()
if (yyBracketDepth != is.bracketDepth1st
|| yyBraceDepth != is.braceDepth1st
|| yyParenDepth != is.parenDepth1st)
- qWarning("%s:%d: Parenthesis/brace mismatch between "
- "#if and #else branches; using #if branch\n",
- qPrintable(yyFileName), is.elseLine);
+ yyMsg(is.elseLine)
+ << "Parenthesis/brace mismatch between "
+ "#if and #else branches; using #if branch\n";
yyBracketDepth = is.bracketDepth1st;
yyBraceDepth = is.braceDepth1st;
yyParenDepth = is.parenDepth1st;
@@ -664,8 +674,7 @@ uint CppParser::getToken()
forever {
yyCh = getChar();
if (yyCh == EOF) {
- qWarning("%s:%d: Unterminated C++ comment\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Unterminated C++ comment\n";
break;
}
@@ -795,8 +804,7 @@ uint CppParser::getToken()
forever {
yyCh = getChar();
if (yyCh == EOF) {
- qWarning("%s:%d: Unterminated C++ comment\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Unterminated C++ comment\n";
break;
}
*ptr++ = yyCh;
@@ -829,8 +837,7 @@ uint CppParser::getToken()
yyWord.resize(ptr - (ushort *)yyWord.unicode());
if (yyCh != '"')
- qWarning("%s:%d: Unterminated C++ string\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Unterminated C++ string\n";
else
yyCh = getChar();
return Tok_String;
@@ -867,8 +874,7 @@ uint CppParser::getToken()
forever {
if (yyCh == EOF || yyCh == '\n') {
- qWarning("%s:%d: Unterminated C++ character\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Unterminated C++ character\n";
break;
}
yyCh = getChar();
@@ -887,9 +893,9 @@ uint CppParser::getToken()
case '}':
if (yyBraceDepth == yyMinBraceDepth) {
if (!inDefine)
- qWarning("%s:%d: Excess closing brace in C++ code"
- " (or abuse of the C++ preprocessor)\n",
- qPrintable(yyFileName), yyCurLineNo);
+ yyMsg(yyCurLineNo)
+ << "Excess closing brace in C++ code"
+ " (or abuse of the C++ preprocessor)\n";
// Avoid things getting messed up even more
yyCh = getChar();
return Tok_Semicolon;
@@ -905,9 +911,9 @@ uint CppParser::getToken()
return Tok_LeftParen;
case ')':
if (yyParenDepth == 0)
- qWarning("%s:%d: Excess closing parenthesis in C++ code"
- " (or abuse of the C++ preprocessor)\n",
- qPrintable(yyFileName), yyCurLineNo);
+ yyMsg(yyCurLineNo)
+ << "Excess closing parenthesis in C++ code"
+ " (or abuse of the C++ preprocessor)\n";
else
yyParenDepth--;
yyCh = getChar();
@@ -920,9 +926,9 @@ uint CppParser::getToken()
return Tok_LeftBracket;
case ']':
if (yyBracketDepth == 0)
- qWarning("%s:%d: Excess closing bracket in C++ code"
- " (or abuse of the C++ preprocessor)\n",
- qPrintable(yyFileName), yyCurLineNo);
+ yyMsg(yyCurLineNo)
+ << "Excess closing bracket in C++ code"
+ " (or abuse of the C++ preprocessor)\n";
else
yyBracketDepth--;
yyCh = getChar();
@@ -1290,8 +1296,7 @@ void CppParser::processInclude(const QString &file, ConversionData &cd,
QString cleanFile = QDir::cleanPath(file);
if (inclusions.contains(cleanFile)) {
- qWarning("%s:%d: circular inclusion of %s\n",
- qPrintable(yyFileName), yyLineNo, qPrintable(cleanFile));
+ yyMsg() << "circular inclusion of " << qPrintable(cleanFile) << std::endl;
return;
}
@@ -1315,9 +1320,9 @@ void CppParser::processInclude(const QString &file, ConversionData &cd,
QFile f(cleanFile);
if (!f.open(QIODevice::ReadOnly)) {
- qWarning("%s:%d: Cannot open %s: %s\n",
- qPrintable(yyFileName), yyLineNo,
- qPrintable(cleanFile), qPrintable(f.errorString()));
+ yyMsg()
+ << "Cannot open " << qPrintable(cleanFile) << ": "
+ << qPrintable(f.errorString()) << std::endl;
return;
}
@@ -1656,8 +1661,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
// Forward-declared class definitions can be namespaced.
NamespaceList nsl;
if (!fullyQualify(namespaces, quali, true, &nsl, 0)) {
- qWarning("%s:%d: Ignoring definition of undeclared qualified class\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Ignoring definition of undeclared qualified class\n";
break;
}
namespaceDepths.push(namespaces.count());
@@ -1757,8 +1761,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
if (!tor)
goto case_default;
if (!sourcetext.isEmpty())
- qWarning("%s:%d: //%% cannot be used with tr() / QT_TR_NOOP(). Ignoring\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "//%% cannot be used with tr() / QT_TR_NOOP(). Ignoring\n";
utf8 = (yyTok == Tok_trUtf8);
line = yyLineNo;
yyTok = getToken();
@@ -1779,10 +1782,9 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
QStringList unresolved;
if (!fullyQualify(namespaces, pendingContext, true, &functionContext, &unresolved)) {
functionContextUnresolved = unresolved.join(strColons);
- qWarning("%s:%d: Qualifying with unknown namespace/class %s::%s\n",
- qPrintable(yyFileName), yyLineNo,
- qPrintable(stringifyNamespace(functionContext)),
- qPrintable(unresolved.first()));
+ yyMsg() << "Qualifying with unknown namespace/class "
+ << qPrintable(stringifyNamespace(functionContext)) << "::"
+ << qPrintable(unresolved.first()) << std::endl;
}
pendingContext.clear();
}
@@ -1790,8 +1792,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
if (functionContextUnresolved.isEmpty()) {
int idx = functionContext.length();
if (idx < 2) {
- qWarning("%s:%d: tr() cannot be called without context\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "tr() cannot be called without context\n";
break;
}
Namespace *fctx;
@@ -1800,9 +1801,8 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
context = stringifyNamespace(functionContext);
fctx = findNamespace(functionContext)->classDef;
if (!fctx->complained) {
- qWarning("%s:%d: Class '%s' lacks Q_OBJECT macro\n",
- qPrintable(yyFileName), yyLineNo,
- qPrintable(context));
+ yyMsg() << "Class '" << qPrintable(context)
+ << "' lacks Q_OBJECT macro\n";
fctx->complained = true;
}
goto gotctx;
@@ -1830,9 +1830,8 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
int last = prefix.lastIndexOf(strColons);
QString className = prefix.mid(last == -1 ? 0 : last + 2);
if (!className.isEmpty() && className == functionName) {
- qWarning("%s::%d: It is not recommended to call tr() from within a constructor '%s::%s' ",
- qPrintable(yyFileName), yyLineNo,
- className.constData(), functionName.constData());
+ yyMsg() << "It is not recommended to call tr() from within a constructor '"
+ << qPrintable(className) << "::" << qPrintable(functionName) << "'\n";
}
#endif
prefix.chop(2);
@@ -1847,9 +1846,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
context = fctx->trQualification;
}
if (!fctx->hasTrFunctions && !fctx->complained) {
- qWarning("%s:%d: Class '%s' lacks Q_OBJECT macro\n",
- qPrintable(yyFileName), yyLineNo,
- qPrintable(context));
+ yyMsg() << "Class '" << qPrintable(context) << "' lacks Q_OBJECT macro\n";
fctx->complained = true;
}
} else {
@@ -1870,8 +1867,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
if (!tor)
goto case_default;
if (!sourcetext.isEmpty())
- qWarning("%s:%d: //%% cannot be used with translate() / QT_TRANSLATE_NOOP(). Ignoring\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "//%% cannot be used with translate() / QT_TRANSLATE_NOOP(). Ignoring\n";
utf8 = (yyTok == Tok_translateUtf8);
line = yyLineNo;
yyTok = getToken();
@@ -1925,8 +1921,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
if (!tor)
goto case_default;
if (!msgid.isEmpty())
- qWarning("%s:%d: //= cannot be used with qtTrId() / QT_TRID_NOOP(). Ignoring\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "//= cannot be used with qtTrId() / QT_TRID_NOOP(). Ignoring\n";
//utf8 = false; // Maybe use //%% or something like that
line = yyLineNo;
yyTok = getToken();
@@ -1993,15 +1988,13 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
if (isspace(c))
continue;
if (c != '"') {
- qWarning("%s:%d: Unexpected character in meta string\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Unexpected character in meta string\n";
break;
}
forever {
if (p >= yyWord.length()) {
whoops:
- qWarning("%s:%d: Unterminated meta string\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Unterminated meta string\n";
break;
}
c = yyWord.unicode()[p++].unicode();
@@ -2054,8 +2047,7 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
case Tok_Arrow:
yyTok = getToken();
if (yyTok == Tok_tr || yyTok == Tok_trUtf8)
- qWarning("%s:%d: Cannot invoke tr() like this\n",
- qPrintable(yyFileName), yyLineNo);
+ yyMsg() << "Cannot invoke tr() like this\n";
break;
case Tok_ColonColon:
if (yyBraceDepth == namespaceDepths.count() && yyParenDepth == 0 && !yyTokColonSeen)
@@ -2123,17 +2115,17 @@ void CppParser::parseInternal(ConversionData &cd, QSet<QString> &inclusions)
}
if (yyBraceDepth != 0)
- qWarning("%s:%d: Unbalanced opening brace in C++ code"
- " (or abuse of the C++ preprocessor)\n",
- qPrintable(yyFileName), yyBraceLineNo);
+ yyMsg(yyBraceLineNo)
+ << "Unbalanced opening brace in C++ code"
+ " (or abuse of the C++ preprocessor)\n";
else if (yyParenDepth != 0)
- qWarning("%s:%d: Unbalanced opening parenthesis in C++ code"
- " (or abuse of the C++ preprocessor)\n",
- qPrintable(yyFileName), yyParenLineNo);
+ yyMsg(yyParenLineNo)
+ << "Unbalanced opening parenthesis in C++ code"
+ " (or abuse of the C++ preprocessor)\n";
else if (yyBracketDepth != 0)
- qWarning("%s:%d: Unbalanced opening bracket in C++ code"
- " (or abuse of the C++ preprocessor)\n",
- qPrintable(yyFileName), yyBracketLineNo);
+ yyMsg(yyBracketLineNo)
+ << "Unbalanced opening bracket in C++ code"
+ " (or abuse of the C++ preprocessor)\n";
}
const ParseResults *CppParser::recordResults(bool isHeader)
diff --git a/tools/linguist/lupdate/java.cpp b/tools/linguist/lupdate/java.cpp
index 27988b04..dc66e2b 100644
--- a/tools/linguist/lupdate/java.cpp
+++ b/tools/linguist/lupdate/java.cpp
@@ -51,6 +51,8 @@
#include <QtCore/QString>
#include <QtCore/QTextCodec>
+#include <iostream>
+
#include <ctype.h>
QT_BEGIN_NAMESPACE
@@ -107,6 +109,11 @@ static QString yyPackage;
static QStack<Scope*> yyScope;
static QString yyDefaultContext;
+std::ostream &yyMsg(int line = 0)
+{
+ return std::cerr << qPrintable(yyFileName) << ':' << (line ? line : yyLineNo) << ": ";
+}
+
static QChar getChar()
{
if (yyInPos >= yyInStr.size())
@@ -189,10 +196,7 @@ static int getToken()
while ( !metAsterSlash ) {
yyCh = getChar();
if ( yyCh == EOF ) {
- qFatal( "%s: Unterminated Java comment starting at"
- " line %d\n",
- qPrintable(yyFileName), yyLineNo );
-
+ yyMsg() << "Unterminated Java comment.\n";
return Tok_Comment;
}
@@ -228,8 +232,8 @@ static int getToken()
else {
int sub(yyCh.toLower().toAscii() - 87);
if( sub > 15 || sub < 10) {
- qFatal( "%s:%d: Invalid Unicode",
- qPrintable(yyFileName), yyLineNo );
+ yyMsg() << "Invalid Unicode value.\n";
+ break;
}
unicode += sub;
}
@@ -251,8 +255,7 @@ static int getToken()
}
if ( yyCh != QLatin1Char('"') )
- qFatal( "%s:%d: Unterminated string",
- qPrintable(yyFileName), yyLineNo );
+ yyMsg() << "Unterminated string.\n";
yyCh = getChar();
@@ -365,9 +368,8 @@ static bool matchString( QString &s )
if (yyTok == Tok_String)
s += yyString;
else {
- qWarning( "%s:%d: String used in translation can only contain strings"
- " concatenated with other strings, not expressions or numbers.",
- qPrintable(yyFileName), yyLineNo );
+ yyMsg() << "String used in translation can contain only literals"
+ " concatenated with other literals, not expressions or numbers.\n";
return false;
}
yyTok = getToken();
@@ -475,8 +477,8 @@ static void parse( Translator *tor )
yyScope.push(new Scope(yyIdent, Scope::Clazz, yyLineNo));
}
else {
- qFatal( "%s:%d: Class must be followed by a classname",
- qPrintable(yyFileName), yyLineNo );
+ yyMsg() << "'class' must be followed by a class name.\n";
+ break;
}
while (!match(Tok_LeftBrace)) {
yyTok = getToken();
@@ -547,8 +549,7 @@ static void parse( Translator *tor )
case Tok_RightBrace:
if ( yyScope.isEmpty() ) {
- qFatal( "%s:%d: Unbalanced right brace in Java code\n",
- qPrintable(yyFileName), yyLineNo );
+ yyMsg() << "Excess closing brace.\n";
}
else
delete (yyScope.pop());
@@ -577,8 +578,7 @@ static void parse( Translator *tor )
yyPackage.append(QLatin1String("."));
break;
default:
- qFatal( "%s:%d: Package keyword should be followed by com.package.name;",
- qPrintable(yyFileName), yyLineNo );
+ yyMsg() << "'package' must be followed by package name.\n";
break;
}
yyTok = getToken();
@@ -591,11 +591,9 @@ static void parse( Translator *tor )
}
if ( !yyScope.isEmpty() )
- qFatal( "%s:%d: Unbalanced braces in Java code\n",
- qPrintable(yyFileName), yyScope.top()->line );
+ yyMsg(yyScope.top()->line) << "Unbalanced opening brace.\n";
else if ( yyParenDepth != 0 )
- qFatal( "%s:%d: Unbalanced parentheses in Java code\n",
- qPrintable(yyFileName), yyParenLineNo );
+ yyMsg(yyParenLineNo) << "Unbalanced opening parenthesis.\n";
}
diff --git a/tools/linguist/lupdate/main.cpp b/tools/linguist/lupdate/main.cpp
index 6c9157a..a575192 100644
--- a/tools/linguist/lupdate/main.cpp
+++ b/tools/linguist/lupdate/main.cpp
@@ -57,16 +57,15 @@
static QString m_defaultExtensions;
-static void printErr(const QString & out)
-{
- qWarning("%s", qPrintable(out));
-}
-
static void printOut(const QString & out)
{
std::cerr << qPrintable(out);
}
+class LU {
+ Q_DECLARE_TR_FUNCTIONS(LUpdate)
+};
+
static void recursiveFileInfoList(const QDir &dir,
const QSet<QString> &nameFilters, QDir::Filters filter,
QFileInfoList *fileinfolist)
@@ -150,24 +149,25 @@ static void updateTsFiles(const Translator &fetchedTor, const QStringList &tsFil
cd.m_sortContexts = !(options & NoSort);
if (QFile(fileName).exists()) {
if (!tor.load(fileName, cd, QLatin1String("auto"))) {
- printErr(cd.error());
+ printOut(cd.error());
*fail = true;
continue;
}
tor.resolveDuplicates();
cd.clearErrors();
if (setCodec && fetchedTor.codec() != tor.codec())
- qWarning("lupdate warning: Codec for tr() '%s' disagrees with "
- "existing file's codec '%s'. Expect trouble.",
- fetchedTor.codecName().constData(), tor.codecName().constData());
+ printOut(LU::tr("lupdate warning: Codec for tr() '%1' disagrees with"
+ " existing file's codec '%2'. Expect trouble.\n")
+ .arg(QString::fromLatin1(fetchedTor.codecName()),
+ QString::fromLatin1(tor.codecName())));
if (!targetLanguage.isEmpty() && targetLanguage != tor.languageCode())
- qWarning("lupdate warning: Specified target language '%s' disagrees with "
- "existing file's language '%s'. Ignoring.",
- qPrintable(targetLanguage), qPrintable(tor.languageCode()));
+ printOut(LU::tr("lupdate warning: Specified target language '%1' disagrees with"
+ " existing file's language '%2'. Ignoring.\n")
+ .arg(targetLanguage, tor.languageCode()));
if (!sourceLanguage.isEmpty() && sourceLanguage != tor.sourceLanguageCode())
- qWarning("lupdate warning: Specified source language '%s' disagrees with "
- "existing file's language '%s'. Ignoring.",
- qPrintable(sourceLanguage), qPrintable(tor.sourceLanguageCode()));
+ printOut(LU::tr("lupdate warning: Specified source language '%1' disagrees with"
+ " existing file's language '%2'. Ignoring.\n")
+ .arg(sourceLanguage, tor.sourceLanguageCode()));
} else {
if (setCodec)
tor.setCodec(fetchedTor.codec());
@@ -210,11 +210,11 @@ static void updateTsFiles(const Translator &fetchedTor, const QStringList &tsFil
out.normalizeTranslations(cd);
if (!cd.errors().isEmpty()) {
- printErr(cd.error());
+ printOut(cd.error());
cd.clearErrors();
}
if (!out.save(fileName, cd, QLatin1String("auto"))) {
- printErr(cd.error());
+ printOut(cd.error());
*fail = true;
}
}
@@ -296,8 +296,9 @@ static void processProject(
if (!tmp.isEmpty()) {
codecForSource = tmp.last().toLatin1();
if (!QTextCodec::codecForName(codecForSource)) {
- qWarning("lupdate warning: Codec for source '%s' is invalid. "
- "Falling back to codec for tr().", codecForSource.constData());
+ printOut(LU::tr("lupdate warning: Codec for source '%1' is invalid."
+ " Falling back to codec for tr().\n")
+ .arg(QString::fromLatin1(codecForSource)));
codecForSource.clear();
}
}
@@ -452,7 +453,7 @@ int main(int argc, char **argv)
} else if (arg == QLatin1String("-target-language")) {
++i;
if (i == argc) {
- qWarning("The option -target-language requires a parameter.");
+ printOut(LU::tr("The option -target-language requires a parameter.\n"));
return 1;
}
targetLanguage = args[i];
@@ -460,7 +461,7 @@ int main(int argc, char **argv)
} else if (arg == QLatin1String("-source-language")) {
++i;
if (i == argc) {
- qWarning("The option -source-language requires a parameter.");
+ printOut(LU::tr("The option -source-language requires a parameter.\n"));
return 1;
}
sourceLanguage = args[i];
@@ -468,7 +469,7 @@ int main(int argc, char **argv)
} else if (arg == QLatin1String("-disable-heuristic")) {
++i;
if (i == argc) {
- qWarning("The option -disable-heuristic requires a parameter.");
+ printOut(LU::tr("The option -disable-heuristic requires a parameter.\n"));
return 1;
}
arg = args[i];
@@ -479,14 +480,14 @@ int main(int argc, char **argv)
} else if (arg == QLatin1String("number")) {
options &= ~HeuristicNumber;
} else {
- qWarning("Invalid heuristic name passed to -disable-heuristic.");
+ printOut(LU::tr("Invalid heuristic name passed to -disable-heuristic.\n"));
return 1;
}
continue;
} else if (arg == QLatin1String("-locations")) {
++i;
if (i == argc) {
- qWarning("The option -locations requires a parameter.");
+ printOut(LU::tr("The option -locations requires a parameter.\n"));
return 1;
}
if (args[i] == QLatin1String("none")) {
@@ -496,7 +497,7 @@ int main(int argc, char **argv)
} else if (args[i] == QLatin1String("absolute")) {
options |= AbsoluteLocations;
} else {
- qWarning("Invalid parameter passed to -locations.");
+ printOut(LU::tr("Invalid parameter passed to -locations.\n"));
return 1;
}
continue;
@@ -522,7 +523,7 @@ int main(int argc, char **argv)
} else if (arg == QLatin1String("-codecfortr")) {
++i;
if (i == argc) {
- qWarning("The -codecfortr option should be followed by a codec name.");
+ printOut(LU::tr("The -codecfortr option should be followed by a codec name.\n"));
return 1;
}
codecForTr = args[i].toLatin1();
@@ -533,7 +534,7 @@ int main(int argc, char **argv)
} else if (arg == QLatin1String("-extensions")) {
++i;
if (i == argc) {
- qWarning("The -extensions option should be followed by an extension list.");
+ printOut(LU::tr("The -extensions option should be followed by an extension list.\n"));
return 1;
}
extensions = args[i];
@@ -541,7 +542,7 @@ int main(int argc, char **argv)
} else if (arg == QLatin1String("-pro")) {
++i;
if (i == argc) {
- qWarning("The -pro option should be followed by a filename of .pro file.");
+ printOut(LU::tr("The -pro option should be followed by a filename of .pro file.\n"));
return 1;
}
proFiles += args[i];
@@ -551,7 +552,7 @@ int main(int argc, char **argv)
if (arg.length() == 2) {
++i;
if (i == argc) {
- qWarning("The -I option should be followed by a path.");
+ printOut(LU::tr("The -I option should be followed by a path.\n"));
return 1;
}
includePath += args[i];
@@ -560,7 +561,7 @@ int main(int argc, char **argv)
}
continue;
} else if (arg.startsWith(QLatin1String("-")) && arg != QLatin1String("-")) {
- qWarning("Unrecognized option '%s'", qPrintable(arg));
+ printOut(LU::tr("Unrecognized option '%1'.\n").arg(arg));
return 1;
}
@@ -568,8 +569,8 @@ int main(int argc, char **argv)
if (arg.startsWith(QLatin1String("@"))) {
QFile lstFile(arg.mid(1));
if (!lstFile.open(QIODevice::ReadOnly)) {
- qWarning("lupdate error: List file '%s' is not readable",
- qPrintable(lstFile.fileName()));
+ printOut(LU::tr("lupdate error: List file '%1' is not readable.\n")
+ .arg(lstFile.fileName()));
return 1;
}
while (!lstFile.atEnd())
@@ -586,16 +587,16 @@ int main(int argc, char **argv)
if (!fi.exists() || fi.isWritable()) {
tsFileNames.append(QFileInfo(file).absoluteFilePath());
} else {
- qWarning("lupdate warning: For some reason, '%s' is not writable.\n",
- qPrintable(file));
+ printOut(LU::tr("lupdate warning: For some reason, '%1' is not writable.\n")
+ .arg(file));
}
found = true;
break;
}
}
if (!found) {
- qWarning("lupdate error: File '%s' has no recognized extension\n",
- qPrintable(file));
+ printOut(LU::tr("lupdate error: File '%1' has no recognized extension.\n")
+ .arg(file));
return 1;
}
}
@@ -604,7 +605,7 @@ int main(int argc, char **argv)
foreach (const QString &file, files) {
QFileInfo fi(file);
if (!fi.exists()) {
- qWarning("lupdate error: File '%s' does not exists\n", qPrintable(file));
+ printOut(LU::tr("lupdate error: File '%1' does not exist.\n").arg(file));
return 1;
}
if (file.endsWith(QLatin1String(".pro"), Qt::CaseInsensitive)
@@ -612,7 +613,7 @@ int main(int argc, char **argv)
proFiles << file;
} else if (fi.isDir()) {
if (options & Verbose)
- printOut(QObject::tr("Scanning directory '%1'...").arg(file));
+ printOut(QObject::tr("Scanning directory '%1'...\n").arg(file));
QDir dir = QDir(fi.filePath());
projectRoots.insert(dir.absolutePath() + QLatin1Char('/'));
if (extensionsNameFilters.isEmpty()) {
@@ -650,6 +651,7 @@ int main(int argc, char **argv)
}
} else {
sourceFiles << QDir::cleanPath(fi.absoluteFilePath());;
+ projectRoots.insert(fi.absolutePath() + QLatin1Char('/'));
}
}
numFiles++;
@@ -662,16 +664,16 @@ int main(int argc, char **argv)
}
if (!targetLanguage.isEmpty() && tsFileNames.count() != 1)
- std::cerr << "lupdate warning: -target-language usually only "
- "makes sense with exactly one TS file.\n";
+ printOut(LU::tr("lupdate warning: -target-language usually only"
+ " makes sense with exactly one TS file.\n"));
if (!codecForTr.isEmpty() && tsFileNames.isEmpty())
- std::cerr << "lupdate warning: -codecfortr has no effect without -ts.\n";
+ printOut(LU::tr("lupdate warning: -codecfortr has no effect without -ts.\n"));
bool fail = false;
if (proFiles.isEmpty()) {
if (tsFileNames.isEmpty())
- std::cerr << "lupdate warning: no TS files specified. "
- "Only diagnostics will be produced.\n";
+ printOut(LU::tr("lupdate warning:"
+ " no TS files specified. Only diagnostics will be produced.\n"));
Translator fetchedTor;
ConversionData cd;
@@ -685,7 +687,8 @@ int main(int argc, char **argv)
sourceLanguage, targetLanguage, options, &fail);
} else {
if (!sourceFiles.isEmpty() || !includePath.isEmpty()) {
- qWarning("lupdate error: Both project and source files / include paths specified.\n");
+ printOut(LU::tr("lupdate error:"
+ " Both project and source files / include paths specified.\n"));
return 1;
}
if (!tsFileNames.isEmpty()) {
diff --git a/tools/linguist/lupdate/qscript.cpp b/tools/linguist/lupdate/qscript.cpp
index 33276e6..188ac36 100644
--- a/tools/linguist/lupdate/qscript.cpp
+++ b/tools/linguist/lupdate/qscript.cpp
@@ -53,6 +53,8 @@
#include <QtCore/qtextcodec.h>
#include <QtCore/qvariant.h>
+#include <iostream>
+
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
@@ -2214,13 +2216,13 @@ case 66: {
if ((name == QLatin1String("qsTranslate")) || (name == QLatin1String("QT_TRANSLATE_NOOP"))) {
QVariantList args = sym(2).toList();
if (args.size() < 2) {
- qWarning("%s:%d: %s() requires at least two arguments",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "() requires at least two arguments.\n";
} else {
if ((args.at(0).type() != QVariant::String)
|| (args.at(1).type() != QVariant::String)) {
- qWarning("%s:%d: %s(): both arguments must be literal strings",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "(): both arguments must be literal strings.\n";
} else {
QString context = args.at(0).toString();
QString text = args.at(1).toString();
@@ -2234,12 +2236,12 @@ case 66: {
} else if ((name == QLatin1String("qsTr")) || (name == QLatin1String("QT_TR_NOOP"))) {
QVariantList args = sym(2).toList();
if (args.size() < 1) {
- qWarning("%s:%d: %s() requires at least one argument",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "() requires at least one argument.\n";
} else {
if (args.at(0).type() != QVariant::String) {
- qWarning("%s:%d: %s(): text to translate must be a literal string",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "(): text to translate must be a literal string.\n";
} else {
QString context = QFileInfo(fileName).baseName();
QString text = args.at(0).toString();
@@ -2377,8 +2379,8 @@ bool loadQScript(Translator &translator, const QString &filename, ConversionData
lexer.setCode(code, /*lineNumber=*/1);
QScriptParser parser;
if (!parser.parse(&lexer, filename, &translator)) {
- qWarning("%s:%d: %s", qPrintable(filename), parser.errorLineNumber(),
- qPrintable(parser.errorMessage()));
+ std::cerr << qPrintable(filename) << ':' << parser.errorLineNumber() << ": "
+ << qPrintable(parser.errorMessage()) << std::endl;
return false;
}
diff --git a/tools/linguist/lupdate/qscript.g b/tools/linguist/lupdate/qscript.g
index a473500..857c58a 100644
--- a/tools/linguist/lupdate/qscript.g
+++ b/tools/linguist/lupdate/qscript.g
@@ -90,6 +90,8 @@
#include <QtCore/qtextcodec.h>
#include <QtCore/qvariant.h>
+#include <iostream>
+
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
@@ -106,7 +108,7 @@ static void recordMessage(
fileName, lineNo, QStringList(),
TranslatorMessage::Unfinished, plural);
msg.setExtraComment(extracomment.simplified());
- tor->replace(msg);
+ tor->extend(msg);
}
@@ -1630,13 +1632,13 @@ case $rule_number: {
if ((name == QLatin1String("qsTranslate")) || (name == QLatin1String("QT_TRANSLATE_NOOP"))) {
QVariantList args = sym(2).toList();
if (args.size() < 2) {
- qWarning("%s:%d: %s() requires at least two arguments",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "() requires at least two arguments.\n";
} else {
if ((args.at(0).type() != QVariant::String)
|| (args.at(1).type() != QVariant::String)) {
- qWarning("%s:%d: %s(): both arguments must be literal strings",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "(): both arguments must be literal strings.\n";
} else {
QString context = args.at(0).toString();
QString text = args.at(1).toString();
@@ -1650,12 +1652,12 @@ case $rule_number: {
} else if ((name == QLatin1String("qsTr")) || (name == QLatin1String("QT_TR_NOOP"))) {
QVariantList args = sym(2).toList();
if (args.size() < 1) {
- qWarning("%s:%d: %s() requires at least one argument",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "() requires at least one argument.\n";
} else {
if (args.at(0).type() != QVariant::String) {
- qWarning("%s:%d: %s(): text to translate must be a literal string",
- qPrintable(fileName), identLineNo, qPrintable(name));
+ std::cerr << qPrintable(fileName) << ':' << identLineNo << ": "
+ << qPrintable(name) << "(): text to translate must be a literal string.\n";
} else {
QString context = QFileInfo(fileName).baseName();
QString text = args.at(0).toString();
@@ -2009,8 +2011,8 @@ bool loadQScript(Translator &translator, const QString &filename, ConversionData
lexer.setCode(code, /*lineNumber=*/1);
QScriptParser parser;
if (!parser.parse(&lexer, filename, &translator)) {
- qWarning("%s:%d: %s", qPrintable(filename), parser.errorLineNumber(),
- qPrintable(parser.errorMessage()));
+ std::cerr << qPrintable(filename) << ':' << parser.errorLineNumber() << ": "
+ << qPrintable(parser.errorMessage()) << std::endl;
return false;
}
diff --git a/tools/linguist/phrasebooks/hungarian.qph b/tools/linguist/phrasebooks/hungarian.qph
new file mode 100644
index 0000000..0e1dd12
--- /dev/null
+++ b/tools/linguist/phrasebooks/hungarian.qph
@@ -0,0 +1,752 @@
+<!DOCTYPE QPH>
+<QPH language="hu_HU">
+<phrase>
+ <source>OK</source>
+ <target>OK</target>
+</phrase>
+<phrase>
+ <source>Bookmarks</source>
+ <target>Könyvjelzők</target>
+</phrase>
+<phrase>
+ <source>Remove</source>
+ <target>Törlés</target>
+</phrase>
+<phrase>
+ <source>New Folder</source>
+ <target>Új könyvtár</target>
+</phrase>
+<phrase>
+ <source>Add</source>
+ <target>Hozzáadás</target>
+</phrase>
+<phrase>
+ <source>Previous</source>
+ <target>Előző</target>
+</phrase>
+<phrase>
+ <source>Font</source>
+ <target>Betűtípus</target>
+</phrase>
+<phrase>
+ <source>Help</source>
+ <target>Segítség</target>
+</phrase>
+<phrase>
+ <source>Done</source>
+ <target>Kész</target>
+</phrase>
+<phrase>
+ <source>Install</source>
+ <target>Telepítés</target>
+</phrase>
+<phrase>
+ <source>Cancel</source>
+ <target>Mégsem</target>
+</phrase>
+<phrase>
+ <source>Installation Path:</source>
+ <target>Telepítési útvonal:</target>
+</phrase>
+<phrase>
+ <source>Index</source>
+ <target>Index</target>
+</phrase>
+<phrase>
+ <source>Contents</source>
+ <target>Tartalom</target>
+</phrase>
+<phrase>
+ <source>Search</source>
+ <target>Keresés</target>
+</phrase>
+<phrase>
+ <source>Print Preview...</source>
+ <target>Nyomtatási kép...</target>
+</phrase>
+<phrase>
+ <source>About...</source>
+ <target>Névjegy...</target>
+</phrase>
+<phrase>
+ <source>Toolbars</source>
+ <target>Eszköztárak</target>
+</phrase>
+<phrase>
+ <source>Address:</source>
+ <target>Cím:</target>
+</phrase>
+<phrase>
+ <source>Open Source Edition</source>
+ <target>Nyíltforrású kiadás</target>
+</phrase>
+<phrase>
+ <source>Yes</source>
+ <target>Igen</target>
+</phrase>
+<phrase>
+ <source>No</source>
+ <target>Nem</target>
+</phrase>
+<phrase>
+ <source>Apply</source>
+ <target>Alkalmaz</target>
+</phrase>
+<phrase>
+ <source>Ignore</source>
+ <target>Kihagyás</target>
+</phrase>
+<phrase>
+ <source>Abort</source>
+ <target>Megszakítás</target>
+</phrase>
+<phrase>
+ <source>Play</source>
+ <target>Lejátszás</target>
+</phrase>
+<phrase>
+ <source>Pause</source>
+ <target>Szünet</target>
+</phrase>
+<phrase>
+ <source>File</source>
+ <target>Fájl</target>
+ <definition>menu</definition>
+</phrase>
+<phrase>
+ <source>file</source>
+ <target>fájl</target>
+</phrase>
+<phrase>
+ <source>directory</source>
+ <target>könyvtár</target>
+</phrase>
+<phrase>
+ <source>Symlink</source>
+ <target>Szimbolikus link</target>
+</phrase>
+<phrase>
+ <source>Delete</source>
+ <target>Törlés</target>
+</phrase>
+<phrase>
+ <source>Rename</source>
+ <target>Átnevezés</target>
+</phrase>
+<phrase>
+ <source>Back</source>
+ <target>Vissza</target>
+</phrase>
+<phrase>
+ <source>Forward</source>
+ <target>Előre</target>
+</phrase>
+<phrase>
+ <source>Finish</source>
+ <target>Befejezés</target>
+</phrase>
+<phrase>
+ <source>Quit</source>
+ <target>Kilépés</target>
+</phrase>
+<phrase>
+ <source>Exit</source>
+ <target>Kilépés</target>
+</phrase>
+<phrase>
+ <source>Close</source>
+ <target>Bezárás</target>
+</phrase>
+<phrase>
+ <source>Close All</source>
+ <target>Mindent bezár</target>
+</phrase>
+<phrase>
+ <source>Error</source>
+ <target>Hiba</target>
+</phrase>
+<phrase>
+ <source>Warning</source>
+ <target>Figyelmeztetés</target>
+</phrase>
+<phrase>
+ <source>Information</source>
+ <target>Információ</target>
+</phrase>
+<phrase>
+ <source>Question</source>
+ <target>Kérdés</target>
+</phrase>
+<phrase>
+ <source>document</source>
+ <target>dokumentum</target>
+</phrase>
+<phrase>
+ <source>author</source>
+ <target>szerző</target>
+</phrase>
+<phrase>
+ <source>subsidiary(-ies)</source>
+ <target>leányvállalata(i)</target>
+</phrase>
+<phrase>
+ <source>Help</source>
+ <target>Súgó</target>
+</phrase>
+<phrase>
+ <source>Undo</source>
+ <target>Visszavonás</target>
+</phrase>
+<phrase>
+ <source>Redo</source>
+ <target>Újra</target>
+</phrase>
+<phrase>
+ <source>Open</source>
+ <target>Megnyitás</target>
+</phrase>
+<phrase>
+ <source>Save</source>
+ <target>Mentés</target>
+</phrase>
+<phrase>
+ <source>Save all</source>
+ <target>Mindet menti</target>
+</phrase>
+<phrase>
+ <source>click</source>
+ <target>kattintás</target>
+ <definition>noun</definition>
+</phrase>
+<phrase>
+ <source>click</source>
+ <target>kattintson</target>
+ <definition>ask</definition>
+</phrase>
+<phrase>
+ <source>Recent</source>
+ <target>Előző</target>
+ <definition>Recent files/Előző fájlok</definition>
+</phrase>
+<phrase>
+ <source>Window</source>
+ <target>Ablak</target>
+</phrase>
+<phrase>
+ <source>Cascade</source>
+ <target>Lépcsőzetes</target>
+</phrase>
+<phrase>
+ <source>Tile</source>
+ <target>Mozaikszerű</target>
+</phrase>
+<phrase>
+ <source>Game</source>
+ <target>Játék</target>
+</phrase>
+<phrase>
+ <source>New Game</source>
+ <target>Új játék</target>
+</phrase>
+<phrase>
+ <source>Untitled</source>
+ <target>Névtelen</target>
+</phrase>
+<phrase>
+ <source>Unknown error</source>
+ <target>Ismeretlen hiba</target>
+</phrase>
+<phrase>
+ <source>New Folder</source>
+ <target>Új mappa</target>
+</phrase>
+<phrase>
+ <source>folder</source>
+ <target>mappa</target>
+</phrase>
+<phrase>
+ <source>New Directory</source>
+ <target>Új könyvtár</target>
+</phrase>
+<phrase>
+ <source>unknown</source>
+ <target>ismeretlen</target>
+</phrase>
+<phrase>
+ <source>Copy</source>
+ <target>Másolás</target>
+</phrase>
+<phrase>
+ <source>Cut</source>
+ <target>Kivágás</target>
+</phrase>
+<phrase>
+ <source>Paste</source>
+ <target>Beillesztés</target>
+</phrase>
+<phrase>
+ <source>Paste special</source>
+ <target>Speciális beillesztés</target>
+</phrase>
+<phrase>
+ <source>Insert</source>
+ <target>Beszúrás</target>
+</phrase>
+<phrase>
+ <source>Copy here</source>
+ <target>Másolás ide</target>
+</phrase>
+<phrase>
+ <source>Minimize</source>
+ <target>Minimalizálás</target>
+</phrase>
+<phrase>
+ <source>Zoom</source>
+ <target>Nagyítás</target>
+</phrase>
+<phrase>
+ <source>&amp;Edit</source>
+ <target>S&amp;zerkesztés</target>
+</phrase>
+<phrase>
+ <source>&amp;View</source>
+ <target>&amp;Nézet</target>
+</phrase>
+<phrase>
+ <source>Application</source>
+ <target>Alkalmazás</target>
+</phrase>
+<phrase>
+ <source>Documentation</source>
+ <target>Dokumentáció</target>
+</phrase>
+<phrase>
+ <source>Network</source>
+ <target>Hálózat</target>
+</phrase>
+<phrase>
+ <source>Current Page</source>
+ <target>Aktuális oldal</target>
+</phrase>
+<phrase>
+ <source>Find</source>
+ <target>Keresés</target>
+</phrase>
+<phrase>
+ <source>Locale</source>
+ <target>Nyelv</target>
+</phrase>
+<phrase>
+ <source>Cannot open &apos;%1&apos;.</source>
+ <target>&apos;%1&apos; nem nyitható meg.</target>
+</phrase>
+<phrase>
+ <source>Cannot find the string &apos;%1&apos;.</source>
+ <target>A szöveg nem található: &apos;%1&apos;.</target>
+</phrase>
+<phrase>
+ <source>A file called &apos;%1&apos; already exists. Please choose another name.</source>
+ <target>&apos;%1&apos; nevű fájl már létezik. Válasszon egy másik nevet.</target>
+</phrase>
+<phrase>
+ <source>The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</source>
+ <target>Ez a program abban a reményben került közreadásra, hogy hasznos lesz, de minden egyéb GARANCIA NÉLKÜL, az ELADHATÓSÁGRA vagy VALAMELY CÉLRA VALÓ ALKALMAZHATÓSÁGRA való származtatott garanciát is beleértve.</target>
+ <definition>License text in most Qt programs</definition>
+</phrase>
+<phrase>
+ <source>Open Link</source>
+ <target>Link megnyitása</target>
+</phrase>
+<phrase>
+ <source>Next</source>
+ <target>Következő</target>
+</phrase>
+<phrase>
+ <source>Case Sensitive</source>
+ <target>Kis/nagybetű érzékeny</target>
+</phrase>
+<phrase>
+ <source>Whole words</source>
+ <target>Teljes szó</target>
+</phrase>
+<phrase>
+ <source>Open Link in New Tab</source>
+ <target>Link megnyitása új lapon</target>
+</phrase>
+<phrase>
+ <source>Download canceled.</source>
+ <target>Letöltés megszakítva.</target>
+</phrase>
+<phrase>
+ <source>The file %1 already exists. Do you want to overwrite it?</source>
+ <target>A(z) &apos;%1&apos; nevű fájl már létezik. Felülírja?</target>
+</phrase>
+<phrase>
+ <source>Qt Assistant</source>
+ <target>Qt Asszisztens</target>
+</phrase>
+<phrase>
+ <source>Preferences...</source>
+ <target>Beállítások...</target>
+</phrase>
+<phrase>
+ <source>&amp;File</source>
+ <target>&amp;Fájl</target>
+</phrase>
+<phrase>
+ <source>Browser</source>
+ <target>Böngésző</target>
+</phrase>
+<phrase>
+ <source>Filters</source>
+ <target>Szűrők</target>
+</phrase>
+<phrase>
+ <source>Delete Folder</source>
+ <target>Mappa törlése</target>
+</phrase>
+<phrase>
+ <source>Rename Folder</source>
+ <target>Mappa átnevezése</target>
+</phrase>
+<phrase>
+ <source>You need a commercial Qt license for development of proprietary (closed source) applications. Please see &lt;a href=&quot;http://www.trolltech.com/company/model.html&quot;&gt;www.trolltech.com/company/model.html&lt;/a&gt; for an overview of Qt licensing.</source>
+ <target>Amennyiben zárt forrású alkalmazás fejlesztéséhez kívánja a Qt-t felhasználni, szüksége lesz a Qt kereskedelmi verziójára. Kérem tekintse meg az &lt;tt&gt;http://www.trolltech.com/company/model.html&lt;/tt&gt; oldalt a Qt licenszelésének áttekintéséhez.</target>
+</phrase>
+<phrase>
+ <source>New Tab</source>
+ <target>Új fül</target>
+</phrase>
+<phrase>
+ <source>Close Tab</source>
+ <target>Fül bezárása</target>
+</phrase>
+<phrase>
+ <source>Close Other Tabs</source>
+ <target>A többi fül bezárása</target>
+</phrase>
+<phrase>
+ <source>True</source>
+ <target>Igaz</target>
+</phrase>
+<phrase>
+ <source>False</source>
+ <target>Hamis</target>
+</phrase>
+<phrase>
+ <source>Update</source>
+ <target>Frissítés</target>
+</phrase>
+<phrase>
+ <source>Normal</source>
+ <target>Normál</target>
+</phrase>
+<phrase>
+ <source>Bold</source>
+ <target>Félkövér</target>
+</phrase>
+<phrase>
+ <source>Italic</source>
+ <target>Dőlt</target>
+</phrase>
+<phrase>
+ <source>Greek</source>
+ <target>Görög</target>
+</phrase>
+<phrase>
+ <source>Cyrillic</source>
+ <target>Cirill</target>
+</phrase>
+<phrase>
+ <source>Armenian</source>
+ <target>Örmény</target>
+</phrase>
+<phrase>
+ <source>Hebrew</source>
+ <target>Héber</target>
+</phrase>
+<phrase>
+ <source>Arabic</source>
+ <target>Arab</target>
+</phrase>
+<phrase>
+ <source>Syriac</source>
+ <target>Szír</target>
+</phrase>
+<phrase>
+ <source>Permission denied</source>
+ <target>Hozzáférés megtagadva</target>
+</phrase>
+<phrase>
+ <source>Too many open files</source>
+ <target>Túl sok fájl van nyitva</target>
+</phrase>
+<phrase>
+ <source>No such file or directory</source>
+ <target>Nincs ilyen fájl vagy könyvtár</target>
+</phrase>
+<phrase>
+ <source>No space left on device</source>
+ <target>Nincs több hely az eszközön</target>
+</phrase>
+<phrase>
+ <source>Width:</source>
+ <target>Szélesség:</target>
+</phrase>
+<phrase>
+ <source>Height:</source>
+ <target>Magasság:</target>
+</phrase>
+<phrase>
+ <source>Margins</source>
+ <target>Margók</target>
+</phrase>
+<phrase>
+ <source>top margin</source>
+ <target>felső margó</target>
+</phrase>
+<phrase>
+ <source>left margin</source>
+ <target>bal margó</target>
+</phrase>
+<phrase>
+ <source>right margin</source>
+ <target>jobb margó</target>
+</phrase>
+<phrase>
+ <source>bottom margin</source>
+ <target>alsó margó</target>
+</phrase>
+<phrase>
+ <source>Next page</source>
+ <target>Következő oldal</target>
+</phrase>
+<phrase>
+ <source>Previous page</source>
+ <target>Előző oldal</target>
+</phrase>
+<phrase>
+ <source>First page</source>
+ <target>Első oldal</target>
+</phrase>
+<phrase>
+ <source>Last page</source>
+ <target>Utolsó oldal</target>
+</phrase>
+<phrase>
+ <source>Fit width</source>
+ <target>Szélesség igazítása</target>
+</phrase>
+<phrase>
+ <source>Fit page</source>
+ <target>Oldal igazítása</target>
+</phrase>
+<phrase>
+ <source>Zoom in</source>
+ <target>Nagyítás</target>
+</phrase>
+<phrase>
+ <source>Zoom out</source>
+ <target>Kicsinyítés</target>
+</phrase>
+<phrase>
+ <source>Portrait</source>
+ <target>Álló</target>
+</phrase>
+<phrase>
+ <source>Landscape</source>
+ <target>Fekvő</target>
+</phrase>
+<phrase>
+ <source>Print</source>
+ <target>Nyomtatás</target>
+</phrase>
+<phrase>
+ <source>Page setup</source>
+ <target>Oldalbeállítás</target>
+</phrase>
+<phrase>
+ <source>Color</source>
+ <target>Szín</target>
+</phrase>
+<phrase>
+ <source>Grayscale</source>
+ <target>Szürkeárnyalatos</target>
+</phrase>
+<phrase>
+ <source>None</source>
+ <target>Nincs</target>
+</phrase>
+<phrase>
+ <source>...</source>
+ <target>...</target>
+</phrase>
+<phrase>
+ <source>Menu</source>
+ <target>Menü</target>
+</phrase>
+<phrase>
+ <source>Keep</source>
+ <target>Meghagy</target>
+</phrase>
+<phrase>
+ <source>Pause</source>
+ <target>Megállít</target>
+</phrase>
+<phrase>
+ <source>Log</source>
+ <target>Napló</target>
+</phrase>
+<phrase>
+ <source>Mi&amp;nimize</source>
+ <target>&amp;Kis méret</target>
+</phrase>
+<phrase>
+ <source>Press</source>
+ <target>Nyomja meg</target>
+</phrase>
+<phrase>
+ <source>Submit</source>
+ <target>Küldés</target>
+</phrase>
+<phrase>
+ <source>Underline</source>
+ <target>Aláhúzott</target>
+</phrase>
+<phrase>
+ <source>Outline</source>
+ <target>Áthúzott</target>
+</phrase>
+<phrase>
+ <source>Direction</source>
+ <target>Irány</target>
+</phrase>
+<phrase>
+ <source>Configuration</source>
+ <target>Konfiguráció</target>
+</phrase>
+<phrase>
+ <source>None</source>
+ <target>Semmi</target>
+</phrase>
+<phrase>
+ <source>Save As...</source>
+ <target>Mentés másként...</target>
+</phrase>
+<phrase>
+ <source>Context</source>
+ <target>Környezet</target>
+</phrase>
+<phrase>
+ <source>Edit</source>
+ <target>Szerkesztés</target>
+</phrase>
+<phrase>
+ <source>Toolbar</source>
+ <target>Eszköztár</target>
+</phrase>
+<phrase>
+ <source>&amp;Print...</source>
+ <target>&amp;Nyomtatás...</target>
+</phrase>
+<phrase>
+ <source>E&amp;xit</source>
+ <target>&amp;Kilépés</target>
+</phrase>
+<phrase>
+ <source>Sidebar</source>
+ <target>Oldalsáv</target>
+</phrase>
+<phrase>
+ <source>Bookmark</source>
+ <target>Könyvjelző</target>
+</phrase>
+<phrase>
+ <source>Save As</source>
+ <target>Mentés másként</target>
+</phrase>
+<phrase>
+ <source>Select All</source>
+ <target>Összes kijelölése</target>
+</phrase>
+<phrase>
+ <source>Name</source>
+ <target>Név</target>
+</phrase>
+<phrase>
+ <source>Type</source>
+ <target>Típus</target>
+</phrase>
+<phrase>
+ <source>Date</source>
+ <target>Dátum</target>
+</phrase>
+<phrase>
+ <source>Name</source>
+ <target>Név</target>
+</phrase>
+<phrase>
+ <source>Unknown</source>
+ <target>Ismeretlen</target>
+</phrase>
+<phrase>
+ <source>Value</source>
+ <target>Érték</target>
+</phrase>
+<phrase>
+ <source>Default</source>
+ <target>Alapértelmezett</target>
+</phrase>
+<phrase>
+ <source>New</source>
+ <target>Új</target>
+</phrase>
+<phrase>
+ <source>Level</source>
+ <target>Szint</target>
+</phrase>
+<phrase>
+ <source>Location</source>
+ <target>Hely</target>
+</phrase>
+<phrase>
+ <source>Reload</source>
+ <target>Újratöltés</target>
+</phrase>
+<phrase>
+ <source>Pictures</source>
+ <target>Képek</target>
+</phrase>
+<phrase>
+ <source>Battery</source>
+ <target>Elem</target>
+</phrase>
+<phrase>
+ <source>No error</source>
+ <target>Nincs hiba</target>
+</phrase>
+<phrase>
+ <source>Whole words</source>
+ <target>Teljes szó</target>
+</phrase>
+<phrase>
+ <source>(Új bejegyzés)</source>
+ <target></target>
+</phrase>
+<phrase>
+ <source>Horizontal</source>
+ <target>Vízszintes</target>
+</phrase>
+<phrase>
+ <source>Enabled</source>
+ <target>Engedélyezve</target>
+</phrase>
+<phrase>
+ <source>Up</source>
+ <target>Fel</target>
+</phrase>
+<phrase>
+ <source>Down</source>
+ <target>Le</target>
+</phrase>
+</QPH>
diff --git a/tools/linguist/shared/po.cpp b/tools/linguist/shared/po.cpp
index 99a8751..a692332 100644
--- a/tools/linguist/shared/po.cpp
+++ b/tools/linguist/shared/po.cpp
@@ -353,6 +353,29 @@ static void slurpComment(QByteArray &msg, const QList<QByteArray> &lines, int &
--l;
}
+static void splitContext(QByteArray *comment, QByteArray *context)
+{
+ char *data = comment->data();
+ int len = comment->size();
+ int sep = -1, j = 0;
+
+ for (int i = 0; i < len; i++, j++) {
+ if (data[i] == '~' && i + 1 < len)
+ i++;
+ else if (data[i] == '|')
+ sep = j;
+ data[j] = data[i];
+ }
+ if (sep >= 0) {
+ QByteArray tmp = comment->mid(sep + 1, j - sep - 1);
+ comment->truncate(sep);
+ *context = *comment;
+ *comment = tmp;
+ } else {
+ comment->truncate(j);
+ }
+}
+
static QString makePoHeader(const QString &str)
{
return QLatin1String("po-header-") + str.toLower().replace(QLatin1Char('-'), QLatin1Char('_'));
@@ -411,6 +434,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
lines.append(QByteArray());
int l = 0, lastCmtLine = -1;
+ bool qtContexts = false;
PoItem item;
for (; l != lines.size(); ++l) {
QByteArray line = lines.at(l);
@@ -437,7 +461,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
continue;
int idx = hdr.indexOf(':');
if (idx < 0) {
- cd.appendError(QString::fromLatin1("Unexpected PO header format '%1'\n")
+ cd.appendError(QString::fromLatin1("Unexpected PO header format '%1'")
.arg(QString::fromLatin1(hdr)));
error = true;
break;
@@ -449,6 +473,8 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
translator.setLanguageCode(QString::fromLatin1(hdrValue));
} else if (hdrName == "X-Source-Language") {
translator.setSourceLanguageCode(QString::fromLatin1(hdrValue));
+ } else if (hdrName == "X-Qt-Contexts") {
+ qtContexts = (hdrValue == "true");
} else if (hdrName == "Plural-Forms") {
pluralForms = hdrValue;
} else if (hdrName == "MIME-Version") {
@@ -456,7 +482,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
} else if (hdrName == "Content-Type") {
if (cd.m_codecForSource.isEmpty()) {
if (!hdrValue.startsWith("text/plain; charset=")) {
- cd.appendError(QString::fromLatin1("Unexpected Content-Type header '%1'\n")
+ cd.appendError(QString::fromLatin1("Unexpected Content-Type header '%1'")
.arg(QString::fromLatin1(hdrValue)));
error = true;
// This will avoid a flood of conversion errors.
@@ -465,7 +491,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
QByteArray cod = hdrValue.mid(20);
QTextCodec *cdc = QTextCodec::codecForName(cod);
if (!cdc) {
- cd.appendError(QString::fromLatin1("Unsupported codec '%1'\n")
+ cd.appendError(QString::fromLatin1("Unsupported codec '%1'")
.arg(QString::fromLatin1(cod)));
error = true;
// This will avoid a flood of conversion errors.
@@ -477,7 +503,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
}
} else if (hdrName == "Content-Transfer-Encoding") {
if (hdrValue != "8bit") {
- cd.appendError(QString::fromLatin1("Unexpected Content-Transfer-Encoding '%1'\n")
+ cd.appendError(QString::fromLatin1("Unexpected Content-Transfer-Encoding '%1'")
.arg(QString::fromLatin1(hdrValue)));
return false;
}
@@ -498,7 +524,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
// Keep in sync with savePO
static const char * const dfltHdrs[] = {
"MIME-Version", "Content-Type", "Content-Transfer-Encoding",
- "Plural-Forms", "X-Language", "X-Source-Language"
+ "Plural-Forms", "X-Language", "X-Source-Language", "X-Qt-Contexts"
};
uint cdh = 0;
for (int cho = 0; cho < hdrOrder.length(); cho++) {
@@ -596,7 +622,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
slurpComment(item.translatorComments, lines, l);
break;
case '.':
- if (line.startsWith("#. ts-context ")) {
+ if (line.startsWith("#. ts-context ")) { // legacy
item.context = line.mid(14);
} else if (line.startsWith("#. ts-id ")) {
item.id = line.mid(9);
@@ -615,8 +641,10 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
codec->toUnicode(extra);
} else if (line.startsWith("#| msgctxt ")) {
item.oldTscomment = slurpEscapedString(lines, l, 11, "#| ", cd);
+ if (qtContexts)
+ splitContext(&item.oldTscomment, &item.context);
} else {
- cd.appendError(QString(QLatin1String("PO-format parse error in line %1: '%2'\n"))
+ cd.appendError(QString(QLatin1String("PO-format parse error in line %1: '%2'"))
.arg(l + 1).arg(codec->toUnicode(lines[l])));
error = true;
}
@@ -633,13 +661,13 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
} else if (line.startsWith("#~ msgctxt ")) {
item.tscomment = slurpEscapedString(lines, l, 11, "#~ ", cd);
} else {
- cd.appendError(QString(QLatin1String("PO-format parse error in line %1: '%2'\n"))
+ cd.appendError(QString(QLatin1String("PO-format parse error in line %1: '%2'"))
.arg(l + 1).arg(codec->toUnicode(lines[l])));
error = true;
}
break;
default:
- cd.appendError(QString(QLatin1String("PO-format parse error in line %1: '%2'\n"))
+ cd.appendError(QString(QLatin1String("PO-format parse error in line %1: '%2'"))
.arg(l + 1).arg(codec->toUnicode(lines[l])));
error = true;
break;
@@ -647,6 +675,8 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
lastCmtLine = l;
} else if (line.startsWith("msgctxt ")) {
item.tscomment = slurpEscapedString(lines, l, 8, QByteArray(), cd);
+ if (qtContexts)
+ splitContext(&item.tscomment, &item.context);
} else if (line.startsWith("msgid ")) {
item.msgId = slurpEscapedString(lines, l, 6, QByteArray(), cd);
} else if (line.startsWith("msgid_plural ")) {
@@ -655,7 +685,7 @@ bool loadPO(Translator &translator, QIODevice &dev, ConversionData &cd)
item.extra[QLatin1String("po-msgid_plural")] = codec->toUnicode(extra);
item.isPlural = true;
} else {
- cd.appendError(QString(QLatin1String("PO-format error in line %1: '%2'\n"))
+ cd.appendError(QString(QLatin1String("PO-format error in line %1: '%2'"))
.arg(l + 1).arg(codec->toUnicode(lines[l])));
error = true;
}
@@ -672,6 +702,16 @@ static void addPoHeader(Translator::ExtraData &headers, QStringList &hdrOrder,
headers[makePoHeader(qName)] = value;
}
+static QString escapeComment(const QString &in, bool escape)
+{
+ QString out = in;
+ if (escape) {
+ out.replace(QLatin1Char('~'), QLatin1String("~~"));
+ out.replace(QLatin1Char('|'), QLatin1String("~|"));
+ }
+ return out;
+}
+
bool savePO(const Translator &translator, QIODevice &dev, ConversionData &cd)
{
QString str_format = QLatin1String("-format");
@@ -680,6 +720,13 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &cd)
QTextStream out(&dev);
out.setCodec(cd.m_outputCodec.isEmpty() ? QByteArray("UTF-8") : cd.m_outputCodec);
+ bool qtContexts = false;
+ foreach (const TranslatorMessage &msg, translator.messages())
+ if (!msg.context().isEmpty()) {
+ qtContexts = true;
+ break;
+ }
+
QString cmt = translator.extra(QLatin1String("po-header_comment"));
if (!cmt.isEmpty())
out << cmt << '\n';
@@ -703,6 +750,8 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &cd)
}
if (!translator.sourceLanguageCode().isEmpty())
addPoHeader(headers, hdrOrder, "X-Source-Language", translator.sourceLanguageCode());
+ if (qtContexts)
+ addPoHeader(headers, hdrOrder, "X-Qt-Contexts", QLatin1String("true"));
QString hdrStr;
foreach (const QString &hdr, hdrOrder) {
hdrStr += hdr;
@@ -721,8 +770,6 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &cd)
if (!msg.extraComment().isEmpty())
out << poEscapedLines(QLatin1String("#."), true, msg.extraComment());
- if (!msg.context().isEmpty())
- out << QLatin1String("#. ts-context ") << msg.context() << '\n';
if (!msg.id().isEmpty())
out << QLatin1String("#. ts-id ") << msg.id() << '\n';
@@ -770,15 +817,21 @@ bool savePO(const Translator &translator, QIODevice &dev, ConversionData &cd)
QString prefix = QLatin1String("#| ");
if (!msg.oldComment().isEmpty())
- out << poEscapedString(prefix, QLatin1String("msgctxt"), noWrap, msg.oldComment());
+ out << poEscapedString(prefix, QLatin1String("msgctxt"), noWrap,
+ escapeComment(msg.oldComment(), qtContexts));
if (!msg.oldSourceText().isEmpty())
out << poEscapedString(prefix, QLatin1String("msgid"), noWrap, msg.oldSourceText());
QString plural = msg.extra(QLatin1String("po-old_msgid_plural"));
if (!plural.isEmpty())
out << poEscapedString(prefix, QLatin1String("msgid_plural"), noWrap, plural);
prefix = QLatin1String((msg.type() == TranslatorMessage::Obsolete) ? "#~ " : "");
- if (!msg.comment().isEmpty())
- out << poEscapedString(prefix, QLatin1String("msgctxt"), noWrap, msg.comment());
+ if (!msg.context().isEmpty())
+ out << poEscapedString(prefix, QLatin1String("msgctxt"), noWrap,
+ escapeComment(msg.context(), true) + QLatin1Char('|')
+ + escapeComment(msg.comment(), true));
+ else if (!msg.comment().isEmpty())
+ out << poEscapedString(prefix, QLatin1String("msgctxt"), noWrap,
+ escapeComment(msg.comment(), qtContexts));
out << poEscapedString(prefix, QLatin1String("msgid"), noWrap, msg.sourceText());
if (!msg.isPlural()) {
QString transl = msg.translation();
diff --git a/tools/linguist/shared/profileevaluator.cpp b/tools/linguist/shared/profileevaluator.cpp
index 5e1ee1f..a21408c 100644
--- a/tools/linguist/shared/profileevaluator.cpp
+++ b/tools/linguist/shared/profileevaluator.cpp
@@ -2594,19 +2594,19 @@ void ProFileEvaluator::addProperties(const QHash<QString, QString> &properties)
void ProFileEvaluator::logMessage(const QString &message)
{
if (d->m_verbose && !d->m_skipLevel)
- qWarning("%s", qPrintable(message));
+ fprintf(stderr, "%s\n", qPrintable(message));
}
void ProFileEvaluator::fileMessage(const QString &message)
{
if (!d->m_skipLevel)
- qWarning("%s", qPrintable(message));
+ fprintf(stderr, "%s\n", qPrintable(message));
}
void ProFileEvaluator::errorMessage(const QString &message)
{
if (!d->m_skipLevel)
- qWarning("%s", qPrintable(message));
+ fprintf(stderr, "%s\n", qPrintable(message));
}
void ProFileEvaluator::setVerbose(bool on)
diff --git a/tools/linguist/shared/qm.cpp b/tools/linguist/shared/qm.cpp
index e2c4f4a..6678943 100644
--- a/tools/linguist/shared/qm.cpp
+++ b/tools/linguist/shared/qm.cpp
@@ -773,11 +773,11 @@ static bool saveQM(const Translator &translator, QIODevice &dev, ConversionData
if (saved && cd.isVerbose()) {
int generatedCount = finished + unfinished;
cd.appendError(QCoreApplication::translate("LRelease",
- " Generated %n translation(s) (%1 finished and %2 unfinished)\n", 0,
+ " Generated %n translation(s) (%1 finished and %2 unfinished)", 0,
QCoreApplication::CodecForTr, generatedCount).arg(finished).arg(unfinished));
if (untranslated)
cd.appendError(QCoreApplication::translate("LRelease",
- " Ignored %n untranslated source text(s)\n", 0,
+ " Ignored %n untranslated source text(s)", 0,
QCoreApplication::CodecForTr, untranslated));
}
return saved;
diff --git a/tools/linguist/shared/translator.cpp b/tools/linguist/shared/translator.cpp
index c86a9dd..36af8da 100644
--- a/tools/linguist/shared/translator.cpp
+++ b/tools/linguist/shared/translator.cpp
@@ -43,6 +43,8 @@
#include "simtexth.h"
+#include <iostream>
+
#include <stdio.h>
#ifdef Q_OS_WIN
// required for _setmode, to avoid _O_TEXT streams...
@@ -586,22 +588,21 @@ void Translator::reportDuplicates(const Duplicates &dupes,
const QString &fileName, bool verbose)
{
if (!dupes.byId.isEmpty() || !dupes.byContents.isEmpty()) {
+ std::cerr << "Warning: dropping duplicate messages in '" << qPrintable(fileName);
if (!verbose) {
- qWarning("Warning: dropping duplicate messages in '%s'\n(try -verbose for more info).",
- qPrintable(fileName));
+ std::cerr << "'\n(try -verbose for more info).\n";
} else {
- qWarning("Warning: dropping duplicate messages in '%s':", qPrintable(fileName));
+ std::cerr << "':\n";
foreach (int i, dupes.byId)
- qWarning("\n* ID: %s", qPrintable(message(i).id()));
+ std::cerr << "\n* ID: " << qPrintable(message(i).id()) << std::endl;
foreach (int j, dupes.byContents) {
const TranslatorMessage &msg = message(j);
- qWarning("\n* Context: %s\n* Source: %s",
- qPrintable(msg.context()),
- qPrintable(msg.sourceText()));
+ std::cerr << "\n* Context: " << qPrintable(msg.context())
+ << "\n* Source: " << qPrintable(msg.sourceText()) << std::endl;
if (!msg.comment().isEmpty())
- qWarning("* Comment: %s", qPrintable(msg.comment()));
+ std::cerr << "* Comment: " << qPrintable(msg.comment()) << std::endl;
}
- qWarning();
+ std::cerr << std::endl;
}
}
}
@@ -688,7 +689,7 @@ void Translator::normalizeTranslations(ConversionData &cd)
cd.appendError(QLatin1String(
"Removed plural forms as the target language has less "
"forms.\nIf this sounds wrong, possibly the target language is "
- "not set or recognized.\n"));
+ "not set or recognized."));
}
QString Translator::guessLanguageCodeFromFileName(const QString &filename)
@@ -737,7 +738,7 @@ void Translator::setCodecName(const QByteArray &name)
QTextCodec *codec = QTextCodec::codecForName(name);
if (!codec) {
if (!name.isEmpty())
- qWarning("No QTextCodec for %s available. Using Latin1\n", name.constData());
+ std::cerr << "No QTextCodec for " << name.constData() << " available. Using Latin1.\n";
m_codec = QTextCodec::codecForName("ISO-8859-1");
} else {
m_codec = codec;
diff --git a/tools/linguist/shared/translator.h b/tools/linguist/shared/translator.h
index bb199f0..cfb2178 100644
--- a/tools/linguist/shared/translator.h
+++ b/tools/linguist/shared/translator.h
@@ -92,7 +92,7 @@ public:
bool sortContexts() const { return m_sortContexts; }
void appendError(const QString &error) { m_errors.append(error); }
- QString error() const { return m_errors.join(QLatin1String("\n")); }
+ QString error() const { return m_errors.isEmpty() ? QString() : m_errors.join(QLatin1String("\n")) + QLatin1Char('\n'); }
QStringList errors() const { return m_errors; }
void clearErrors() { m_errors.clear(); }
diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index bf80277..f6b8c06 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -519,14 +519,14 @@ int HtmlGenerator::generateAtom(const Atom *atom,
out() << formattingRightMap()[ATOM_FORMATTING_TELETYPE];
break;
case Atom::Code:
- out() << "<pre class=\"highlightedCode\">"
+ out() << "<pre class=\"highlightedCode brush: cpp\">"
<< trimmedTrailing(highlightedCode(indent(codeIndent,atom->string()),
marker,relative))
<< "</pre>\n";
break;
#ifdef QDOC_QML
case Atom::Qml:
- out() << "<pre class=\"highlightedCode\">"
+ out() << "<pre class=\"highlightedCode brush: cpp\">"
<< trimmedTrailing(highlightedCode(indent(codeIndent,atom->string()),
marker,relative))
<< "</pre>\n";
@@ -534,7 +534,7 @@ int HtmlGenerator::generateAtom(const Atom *atom,
#endif
case Atom::CodeNew:
out() << "<p>you can rewrite it as</p>\n"
- << "<pre class=\"highlightedCode\">"
+ << "<pre class=\"highlightedCode brush: cpp\">"
<< trimmedTrailing(highlightedCode(indent(codeIndent,atom->string()),
marker,relative))
<< "</pre>\n";
@@ -543,7 +543,7 @@ int HtmlGenerator::generateAtom(const Atom *atom,
out() << "<p>For example, if you have code like</p>\n";
// fallthrough
case Atom::CodeBad:
- out() << "<pre class=\"highlightedCode\">"
+ out() << "<pre class=\"highlightedCode brush: cpp\">"
<< trimmedTrailing(protectEnc(plainCode(indent(codeIndent,atom->string()))))
<< "</pre>\n";
break;
@@ -1797,31 +1797,51 @@ void HtmlGenerator::generateHeader(const QString& title,
out() << " <title>" << shortVersion << protectEnc(title) << "</title>\n";
- out() << " <!--[if IE]>";
- out() << "<meta name=\"MSSmartTagsPreventParsing\" content=\"true\">";
- out() << "<meta http-equiv=\"imagetoolbar\" content=\"no\">";
- out() << "<![endif]-->";
- out() << "<!--[if lt IE 7]>";
- out() << "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/style_ie6.css\">";
- out() << "<![endif]-->";
- out() << "<!--[if IE 7]>";
- out() << "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/style_ie7.css\">";
- out() << "<![endif]-->";
- out() << "<!--[if IE 8]>";
- out() << "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/style_ie8.css\">";
- out() << "<![endif]-->";
-
-
//out() << " <title>Qt Reference Documentation</title>";
- out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/style.css\" />\n";
- out() << " <script src=\"scripts/jquery.js\" type=\"text/javascript\"></script>\n";
- out() << " <script src=\"scripts/functions.js\" type=\"text/javascript\"></script>\n";
- out() << "</head>\n";
if (offlineDocs)
- out() << "<body class=\"offline\" onload=\"CheckEmptyAndLoadList();\">\n";
+ {
+ out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/OfflineStyle.css\" />";
+ out() << "</head>\n";
+ out() << "<body class=\"offline narrow\" >\n"; // narrow mainly for Creator
+ }
else
- out() << "<body class=\"\" onload=\"CheckEmptyAndLoadList();\">\n";
+ {
+ out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/style.css\"\n />";
+ out() << " <!--[if IE]>\n";
+ out() << "<meta name=\"MSSmartTagsPreventParsing\" content=\"true\">\n";
+ out() << "<meta http-equiv=\"imagetoolbar\" content=\"no\">\n";
+ out() << "<![endif]-->\n";
+ out() << "<!--[if lt IE 7]>\n";
+ out() << "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/style_ie6.css\">\n";
+ out() << "<![endif]-->\n";
+ out() << "<!--[if IE 7]>\n";
+ out() << "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/style_ie7.css\">\n";
+ out() << "<![endif]-->\n";
+ out() << "<!--[if IE 8]>\n";
+ out() << "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/style_ie8.css\">\n";
+ out() << "<![endif]-->\n";
+ // jquery functions
+ out() << " <script src=\"scripts/jquery.js\" type=\"text/javascript\"></script>\n";
+ out() << " <script src=\"scripts/functions.js\" type=\"text/javascript\"></script>\n";
+ // menus and small docs js and css
+ out() << " <script src=\"./scripts/superfish.js\" type=\"text/javascript\"></script>\n";
+ out() << " <script src=\"./scripts/narrow.js\" type=\"text/javascript\"></script>\n";
+ out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/superfish.css\" />";
+ out() << " <link rel=\"stylesheet\" type=\"text/css\" href=\"style/narrow.css\" />";
+
+ // syntax highlighter js and css
+ // out() << " <link type=\"text/css\" rel=\"stylesheet\" href=\"style/shCore.css\"/>\n";
+ // out() << " <link type=\"text/css\" rel=\"stylesheet\" href=\"style/shThemeDefault.css\"/>\n";
+ // out() << " <script type=\"text/javascript\" src=\"scripts/shCore.js\"></script>\n";
+ // out() << " <script type=\"text/javascript\" src=\"scripts/shBrushCpp.js\"></script>\n";
+ // out() << " <script type=\"text/javascript\">\n";
+ // out() << " SyntaxHighlighter.all();\n";
+ // out() << " </script>\n";
+
+ out() << "</head>\n";
+ out() << "<body class=\"\" onload=\"CheckEmptyAndLoadList();\">\n";
+ }
#ifdef GENERATE_MAC_REFS
if (mainPage)
@@ -1863,8 +1883,16 @@ void HtmlGenerator::generateFooter(const Node *node)
out() << QString(footer).replace("\\" + COMMAND_VERSION, myTree->version())
<< QString(address).replace("\\" + COMMAND_VERSION, myTree->version());
- out() << " <script src=\"scripts/functions.js\" type=\"text/javascript\"></script>\n";
+
+ if (offlineDocs)
+ {
out() << "</body>\n";
+ }
+ else
+ {
+ out() << " <script src=\"scripts/functions.js\" type=\"text/javascript\"></script>\n";
+ out() << "</body>\n";
+ }
out() << "</html>\n";
}
@@ -1886,7 +1914,7 @@ void HtmlGenerator::generateBrief(const Node *node, CodeMarker *marker,
void HtmlGenerator::generateIncludes(const InnerNode *inner, CodeMarker *marker)
{
if (!inner->includes().isEmpty()) {
- out() << "<pre class=\"highlightedCode\">"
+ out() << "<pre class=\"highlightedCode brush: cpp\">"
<< trimmedTrailing(highlightedCode(indent(codeIndent,
marker->markedUpIncludes(inner->includes())),
marker,inner))
@@ -2110,6 +2138,8 @@ void HtmlGenerator::generateNavigationBar(const NavigationBar& bar,
out() << "</a>]\n";
#endif
}
+ if (fake->name() != QString("index.html"))
+ {
if (bar.current.begin() != 0) {
out() << "[<a href=\"" << "home"
<< ".html\">Home</a>]\n";
@@ -2121,6 +2151,7 @@ void HtmlGenerator::generateNavigationBar(const NavigationBar& bar,
out() << "</a>]\n";
}
out() << "</p>\n";
+ }
}
}
#endif
diff --git a/tools/qdoc3/node.cpp b/tools/qdoc3/node.cpp
index 4ba3a32..3c7e9dc 100644
--- a/tools/qdoc3/node.cpp
+++ b/tools/qdoc3/node.cpp
@@ -624,7 +624,7 @@ void InnerNode::removeChild(Node *child)
QMap<QString, Node *>::Iterator prim =
primaryFunctionMap.find(child->name());
NodeList& secs = secondaryFunctionMap[child->name()];
- if (*prim == child) {
+ if (prim != primaryFunctionMap.end() && *prim == child) {
if (secs.isEmpty()) {
primaryFunctionMap.remove(child->name());
}
@@ -636,12 +636,12 @@ void InnerNode::removeChild(Node *child)
secs.removeAll(child);
}
QMap<QString, Node *>::Iterator ent = childMap.find( child->name() );
- if ( *ent == child )
+ if (ent != childMap.end() && *ent == child)
childMap.erase( ent );
}
else {
QMap<QString, Node *>::Iterator ent = childMap.find(child->name());
- if (*ent == child)
+ if (ent != childMap.end() && *ent == child)
childMap.erase(ent);
}
}
diff --git a/tools/qdoc3/test/assistant.qdocconf b/tools/qdoc3/test/assistant.qdocconf
index 167bb19..4b52992 100644
--- a/tools/qdoc3/test/assistant.qdocconf
+++ b/tools/qdoc3/test/assistant.qdocconf
@@ -30,6 +30,7 @@ qhp.Assistant.extraFiles = images/bg_l.png \
images/page.png \
images/page_bg.png \
images/sprites-combined.png \
+ images/arrow-down.png \
images/spinner.gif \
images/stylesheet-coffee-plastique.png \
images/taskmenuextension-example.png \
@@ -37,6 +38,7 @@ qhp.Assistant.extraFiles = images/bg_l.png \
images/dynamiclayouts-example.png \
scripts/functions.js \
scripts/jquery.js \
+ style/OfflineStyle.css \
style/style_ie6.css \
style/style_ie7.css \
style/style_ie8.css \
diff --git a/tools/qdoc3/test/designer.qdocconf b/tools/qdoc3/test/designer.qdocconf
index 48e3ea1..b1f37dc 100644
--- a/tools/qdoc3/test/designer.qdocconf
+++ b/tools/qdoc3/test/designer.qdocconf
@@ -30,6 +30,7 @@ qhp.Designer.extraFiles = images/bg_l.png \
images/page.png \
images/page_bg.png \
images/sprites-combined.png \
+ images/arrow-down.png \
images/spinner.gif \
images/stylesheet-coffee-plastique.png \
images/taskmenuextension-example.png \
@@ -37,6 +38,7 @@ qhp.Designer.extraFiles = images/bg_l.png \
images/dynamiclayouts-example.png \
scripts/functions.js \
scripts/jquery.js \
+ style/OfflineStyle.css \
style/style_ie6.css \
style/style_ie7.css \
style/style_ie8.css \
diff --git a/tools/qdoc3/test/images/bg_l.png b/tools/qdoc3/test/images/bg_l.png
new file mode 100644
index 0000000..90b1da1
--- /dev/null
+++ b/tools/qdoc3/test/images/bg_l.png
Binary files differ
diff --git a/tools/qdoc3/test/images/bg_l_blank.png b/tools/qdoc3/test/images/bg_l_blank.png
new file mode 100644
index 0000000..5a9673d
--- /dev/null
+++ b/tools/qdoc3/test/images/bg_l_blank.png
Binary files differ
diff --git a/tools/qdoc3/test/images/bg_r.png b/tools/qdoc3/test/images/bg_r.png
new file mode 100644
index 0000000..f0fb121
--- /dev/null
+++ b/tools/qdoc3/test/images/bg_r.png
Binary files differ
diff --git a/tools/qdoc3/test/images/box_bg.png b/tools/qdoc3/test/images/box_bg.png
new file mode 100644
index 0000000..3322f92
--- /dev/null
+++ b/tools/qdoc3/test/images/box_bg.png
Binary files differ
diff --git a/tools/qdoc3/test/images/breadcrumb.png b/tools/qdoc3/test/images/breadcrumb.png
new file mode 100644
index 0000000..0ded551
--- /dev/null
+++ b/tools/qdoc3/test/images/breadcrumb.png
Binary files differ
diff --git a/tools/qdoc3/test/images/bullet_dn.png b/tools/qdoc3/test/images/bullet_dn.png
new file mode 100644
index 0000000..f776247
--- /dev/null
+++ b/tools/qdoc3/test/images/bullet_dn.png
Binary files differ
diff --git a/tools/qdoc3/test/images/bullet_gt.png b/tools/qdoc3/test/images/bullet_gt.png
new file mode 100644
index 0000000..7561b4e
--- /dev/null
+++ b/tools/qdoc3/test/images/bullet_gt.png
Binary files differ
diff --git a/tools/qdoc3/test/images/bullet_sq.png b/tools/qdoc3/test/images/bullet_sq.png
new file mode 100644
index 0000000..a84845e
--- /dev/null
+++ b/tools/qdoc3/test/images/bullet_sq.png
Binary files differ
diff --git a/tools/qdoc3/test/images/bullet_up.png b/tools/qdoc3/test/images/bullet_up.png
new file mode 100644
index 0000000..285e741
--- /dev/null
+++ b/tools/qdoc3/test/images/bullet_up.png
Binary files differ
diff --git a/tools/qdoc3/test/images/feedbackground.png b/tools/qdoc3/test/images/feedbackground.png
new file mode 100644
index 0000000..3a38d99
--- /dev/null
+++ b/tools/qdoc3/test/images/feedbackground.png
Binary files differ
diff --git a/tools/qdoc3/test/images/horBar.png b/tools/qdoc3/test/images/horBar.png
new file mode 100644
index 0000000..100fe91
--- /dev/null
+++ b/tools/qdoc3/test/images/horBar.png
Binary files differ
diff --git a/tools/qdoc3/test/images/page.png b/tools/qdoc3/test/images/page.png
new file mode 100644
index 0000000..1db151b
--- /dev/null
+++ b/tools/qdoc3/test/images/page.png
Binary files differ
diff --git a/tools/qdoc3/test/images/page_bg.png b/tools/qdoc3/test/images/page_bg.png
new file mode 100644
index 0000000..9b3bd99
--- /dev/null
+++ b/tools/qdoc3/test/images/page_bg.png
Binary files differ
diff --git a/tools/qdoc3/test/images/sprites-combined.png b/tools/qdoc3/test/images/sprites-combined.png
new file mode 100644
index 0000000..3a48b21
--- /dev/null
+++ b/tools/qdoc3/test/images/sprites-combined.png
Binary files differ
diff --git a/tools/qdoc3/test/linguist.qdocconf b/tools/qdoc3/test/linguist.qdocconf
index 8974bd7..26fb55c 100644
--- a/tools/qdoc3/test/linguist.qdocconf
+++ b/tools/qdoc3/test/linguist.qdocconf
@@ -30,13 +30,15 @@ qhp.Linguist.extraFiles = images/bg_l.png \
images/page.png \
images/page_bg.png \
images/sprites-combined.png \
- images/spinner.gif \
+ images/arrow-down.png \
+s images/spinner.gif \
images/stylesheet-coffee-plastique.png \
images/taskmenuextension-example.png \
images/coloreditorfactoryimage.png \
images/dynamiclayouts-example.png \
scripts/functions.js \
scripts/jquery.js \
+ style/OfflineStyle.css \
style/style_ie6.css \
style/style_ie7.css \
style/style_ie8.css \
diff --git a/tools/qdoc3/test/qdeclarative.qdocconf b/tools/qdoc3/test/qdeclarative.qdocconf
index 0f2e381..74fd802 100644
--- a/tools/qdoc3/test/qdeclarative.qdocconf
+++ b/tools/qdoc3/test/qdeclarative.qdocconf
@@ -41,6 +41,7 @@ qhp.Qml.extraFiles = images/bg_l.png \
images/page.png \
images/page_bg.png \
images/sprites-combined.png \
+ images/arrow-down.png \
images/spinner.png \
images/stylesheet-coffee-plastique.png \
images/taskmenuextension-example.png \
@@ -48,6 +49,7 @@ qhp.Qml.extraFiles = images/bg_l.png \
images/dynamiclayouts-example.png \
scripts/functions.js \
scripts/jquery.js \
+ style/OfflineStyle.css \
style/style_ie6.css \
style/style_ie7.css \
style/style_ie8.css \
diff --git a/tools/qdoc3/test/qmake.qdocconf b/tools/qdoc3/test/qmake.qdocconf
index ea58059..f069129 100644
--- a/tools/qdoc3/test/qmake.qdocconf
+++ b/tools/qdoc3/test/qmake.qdocconf
@@ -30,6 +30,7 @@ qhp.qmake.extraFiles = images/bg_l.png \
images/page.png \
images/page_bg.png \
images/sprites-combined.png \
+ images/arrow-down.png \
images/spinner.gif \
images/stylesheet-coffee-plastique.png \
images/taskmenuextension-example.png \
@@ -37,6 +38,7 @@ qhp.qmake.extraFiles = images/bg_l.png \
images/dynamiclayouts-example.png \
scripts/functions.js \
scripts/jquery.js \
+ style/OfflineStyle.css \
style/style_ie6.css \
style/style_ie7.css \
style/style_ie8.css \
diff --git a/tools/qdoc3/test/qt-api-only_ja_JP.qdocconf b/tools/qdoc3/test/qt-api-only_ja_JP.qdocconf
new file mode 100644
index 0000000..aa3ab01
--- /dev/null
+++ b/tools/qdoc3/test/qt-api-only_ja_JP.qdocconf
@@ -0,0 +1,30 @@
+include(qt-build-docs_ja_JP.qdocconf)
+
+# Ensures that the generated index contains a URL that can be used by the
+# tools documentation (assistant.qdocconf, designer.qdocconf, linguist.qdocconf,
+# qmake.qdocconf).
+
+url = ./
+
+# Ensures that the documentation for the tools is not included in the generated
+# .qhp file.
+
+qhp.Qt.excluded += $QT_SOURCE_TREE/doc/src/development/assistant-manual.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/simpletextviewer.qdoc \
+ $QT_SOURCE_TREE/doc/src/development/designer-manual.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/calculatorbuilder.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/calculatorform.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/customwidgetplugin.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/taskmenuextension.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/containerextension.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/worldtimeclockbuilder.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/worldtimeclockplugin.qdoc \
+ $QT_SOURCE_TREE/doc/src/internationalization/linguist-manual.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/hellotr.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/arrowpad.qdoc \
+ $QT_SOURCE_TREE/doc/src/examples/trollprint.qdoc \
+ $QT_SOURCE_TREE/doc/src/development/qmake-manual.qdoc
+
+outputdir = $QT_BUILD_TREE/doc-build/html-qt_ja_JP
+tagfile = $QT_BUILD_TREE/doc-build/html-qt_ja_JP/qt.tags
+base = file:$QT_BUILD_TREE/doc-build/html-qt_ja_JP
diff --git a/tools/qdoc3/test/qt-build-docs.qdocconf b/tools/qdoc3/test/qt-build-docs.qdocconf
index bd363a6..216ac6a 100644
--- a/tools/qdoc3/test/qt-build-docs.qdocconf
+++ b/tools/qdoc3/test/qt-build-docs.qdocconf
@@ -36,6 +36,7 @@ qhp.Qt.extraFiles = index.html \
images/page.png \
images/page_bg.png \
images/sprites-combined.png \
+ images/arrow-down.png \
images/spinner.gif \
images/stylesheet-coffee-plastique.png \
images/taskmenuextension-example.png \
@@ -43,6 +44,7 @@ qhp.Qt.extraFiles = index.html \
images/dynamiclayouts-example.png \
scripts/functions.js \
scripts/jquery.js \
+ style/OfflineStyle.css \
style/style_ie6.css \
style/style_ie7.css \
style/style_ie8.css \
@@ -113,6 +115,7 @@ excludedirs = $QT_SOURCE_TREE/src/3rdparty/clucene \
$QT_SOURCE_TREE/src/3rdparty/phonon/mmf \
$QT_SOURCE_TREE/src/3rdparty/phonon/waveout \
$QT_SOURCE_TREE/doc/src/snippets \
+ $QT_SOURCE_TREE/doc/src/ja_JP \
$QT_SOURCE_TREE/doc/src/zh_CN
sources.fileextensions = "*.cpp *.qdoc *.mm"
diff --git a/tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf b/tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf
new file mode 100644
index 0000000..e517b33
--- /dev/null
+++ b/tools/qdoc3/test/qt-build-docs_ja_JP.qdocconf
@@ -0,0 +1,110 @@
+include(compat.qdocconf)
+include(macros.qdocconf)
+include(qt-cpp-ignore.qdocconf)
+include(qt-html-templates_ja_JP.qdocconf)
+include(qt-defines.qdocconf)
+
+project = Qt
+description = Qt リファレンスドキュメント
+url = http://qt.nokia.com/doc/ja_JP/4.7
+
+sourceencoding = UTF-8
+outputencoding = UTF-8
+naturallanguage = ja
+
+indexes = $QT_BUILD_TREE/doc-build/html-qt/qt.index
+
+qhp.projects = Qt
+
+qhp.Qt.file = qt.qhp
+qhp.Qt.namespace = com.trolltech.qt.470
+qhp.Qt.virtualFolder = qdoc
+qhp.Qt.title = Qt
+qhp.Qt.indexTitle = Qt
+qhp.Qt.selectors = fake:example
+
+qhp.Qt.filterAttributes = qt 4.7.0 qtrefdoc ja_JP
+qhp.Qt.customFilters.Qt.name = Qt 4.7.0
+qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.0
+
+# Files not referenced in any qdoc file (last four are needed by qtdemo)
+# See also extraimages.HTML
+qhp.Qt.extraFiles = index.html \
+ images/bg_l.png \
+ images/bg_l_blank.png \
+ images/bg_r.png \
+ images/box_bg.png \
+ images/breadcrumb.png \
+ images/bullet_gt.png \
+ images/bullet_dn.png \
+ images/bullet_sq.png \
+ images/bullet_up.png \
+ images/feedbackground.png \
+ images/horBar.png \
+ images/page.png \
+ images/page_bg.png \
+ images/sprites-combined.png \
+ images/arrow-down.png \
+ images/spinner.gif \
+ images/stylesheet-coffee-plastique.png \
+ images/taskmenuextension-example.png \
+ images/coloreditorfactoryimage.png \
+ images/dynamiclayouts-example.png \
+ scripts/functions.js \
+ scripts/jquery.js \
+ style/OfflineStyle.css \
+ style/style_ie6.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
+ style/style.css
+
+language = Cpp
+
+sourcedirs = $QT_SOURCE_TREE/doc/src/ja_JP
+
+excludedirs = $QT_SOURCE_TREE/src/3rdparty/clucene \
+ $QT_SOURCE_TREE/src/3rdparty/des \
+ $QT_SOURCE_TREE/src/3rdparty/freetype \
+ $QT_SOURCE_TREE/src/3rdparty/harfbuzz \
+ $QT_SOURCE_TREE/src/3rdparty/kdebase \
+ $QT_SOURCE_TREE/src/3rdparty/libjpeg \
+ $QT_SOURCE_TREE/src/3rdparty/libmng \
+ $QT_SOURCE_TREE/src/3rdparty/libpng \
+ $QT_SOURCE_TREE/src/3rdparty/libtiff \
+ $QT_SOURCE_TREE/src/3rdparty/md4 \
+ $QT_SOURCE_TREE/src/3rdparty/md5 \
+ $QT_SOURCE_TREE/src/3rdparty/patches \
+ $QT_SOURCE_TREE/src/3rdparty/sha1 \
+ $QT_SOURCE_TREE/src/3rdparty/sqlite \
+ $QT_SOURCE_TREE/src/3rdparty/webkit/JavaScriptCore \
+ $QT_SOURCE_TREE/src/3rdparty/webkit/WebCore \
+ $QT_SOURCE_TREE/src/3rdparty/wintab \
+ $QT_SOURCE_TREE/src/3rdparty/zlib \
+ $QT_SOURCE_TREE/doc/src/snippets \
+ $QT_SOURCE_TREE/doc/src/zh_CN \
+ $QT_SOURCE_TREE/src/3rdparty/phonon/gstreamer \
+ $QT_SOURCE_TREE/src/3rdparty/phonon/ds9 \
+ $QT_SOURCE_TREE/src/3rdparty/phonon/qt7 \
+ $QT_SOURCE_TREE/src/3rdparty/phonon/mmf \
+ $QT_SOURCE_TREE/src/3rdparty/phonon/waveout
+
+sources.fileextensions = "*.cpp *.qdoc *.mm"
+examples.fileextensions = "*.cpp *.h *.js *.xq *.svg *.xml *.ui *.qhp *.qhcp"
+examples.imageextensions = "*.png"
+
+exampledirs = $QT_SOURCE_TREE/doc/src \
+ $QT_SOURCE_TREE/examples/ja_JP \
+ $QT_SOURCE_TREE/examples \
+ $QT_SOURCE_TREE/examples/tutorials \
+ $QT_SOURCE_TREE \
+ $QT_SOURCE_TREE/qmake/examples \
+ $QT_SOURCE_TREE/src/3rdparty/webkit/WebKit/qt/docs
+imagedirs = $QT_SOURCE_TREE/doc/src/ja_JP/images \
+ $QT_SOURCE_TREE/doc/src/images \
+ $QT_SOURCE_TREE/examples \
+ $QT_SOURCE_TREE/doc/src/template/images
+outputdir = $QT_BUILD_TREE/doc/html_ja_JP
+tagfile = $QT_BUILD_TREE/doc/html_ja_JP/qt.tags
+base = file:$QT_BUILD_TREE/doc/html_ja_JP
+
+HTML.generatemacrefs = "true"
diff --git a/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf b/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf
index caf5f73..909a2d4 100644
--- a/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf
+++ b/tools/qdoc3/test/qt-build-docs_zh_CN.qdocconf
@@ -30,31 +30,32 @@ qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.0
# Files not referenced in any qdoc file (last four are needed by qtdemo)
# See also extraimages.HTML
qhp.Qt.extraFiles = index.html \
- images/bg_l.png \
- images/bg_l_blank.png \
- images/bg_r.png \
- images/box_bg.png \
- images/breadcrumb.png \
- images/bullet_gt.png \
- images/bullet_dn.png \
- images/bullet_sq.png \
- images/bullet_up.png \
- images/feedbackground.png \
- images/horBar.png \
- images/page.png \
- images/page_bg.png \
- images/sprites-combined.png \
- images/spinner.gif \
- images/stylesheet-coffee-plastique.png \
- images/taskmenuextension-example.png \
- images/coloreditorfactoryimage.png \
- images/dynamiclayouts-example.png \
- scripts/functions.js \
- scripts/jquery.js \
- style/style_ie6.css \
- style/style_ie7.css \
- style/style_ie8.css \
- style/style.css
+ images/bg_l.png \
+ images/bg_l_blank.png \
+ images/bg_r.png \
+ images/box_bg.png \
+ images/breadcrumb.png \
+ images/bullet_gt.png \
+ images/bullet_dn.png \
+ images/bullet_sq.png \
+ images/bullet_up.png \
+ images/feedbackground.png \
+ images/horBar.png \
+ images/page.png \
+ images/page_bg.png \
+ images/sprites-combined.png \
+ images/arrow-down.png \
+ images/spinner.gif \
+ images/stylesheet-coffee-plastique.png \
+ images/taskmenuextension-example.png \
+ images/coloreditorfactoryimage.png \
+ images/dynamiclayouts-example.png \
+ scripts/functions.js \
+ scripts/jquery.js \
+ style/style_ie6.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
+ style/style.css
language = Cpp
@@ -79,6 +80,7 @@ excludedirs = $QT_SOURCE_TREE/src/3rdparty/clucene \
$QT_SOURCE_TREE/src/3rdparty/wintab \
$QT_SOURCE_TREE/src/3rdparty/zlib \
$QT_SOURCE_TREE/doc/src/snippets \
+ $QT_SOURCE_TREE/doc/src/ja_JP \
$QT_SOURCE_TREE/src/3rdparty/phonon/gstreamer \
$QT_SOURCE_TREE/src/3rdparty/phonon/ds9 \
$QT_SOURCE_TREE/src/3rdparty/phonon/qt7 \
diff --git a/tools/qdoc3/test/qt-defines.qdocconf b/tools/qdoc3/test/qt-defines.qdocconf
index 3e71d07..9e41d93 100644
--- a/tools/qdoc3/test/qt-defines.qdocconf
+++ b/tools/qdoc3/test/qt-defines.qdocconf
@@ -20,34 +20,49 @@ codeindent = 1
# See also qhp.Qt.extraFiles
extraimages.HTML = qt-logo \
trolltech-logo \
- bg_l.png \
- bg_l_blank.png \
- bg_r.png \
- box_bg.png \
- breadcrumb.png \
- bullet_gt.png \
- bullet_dn.png \
- bullet_sq.png \
- bullet_up.png \
- feedbackground.png \
- horBar.png \
- page.png \
- page_bg.png \
- sprites-combined.png \
- spinner.gif \
- taskmenuextension-example.png \
- coloreditorfactoryimage.png \
- dynamiclayouts-example.png \
- stylesheet-coffee-plastique.png
+ bg_l.png \
+ bg_l_blank.png \
+ bg_ll_blank.png \
+ bg_ul_blank.png \
+ header_bg.png \
+ bg_r.png \
+ box_bg.png \
+ breadcrumb.png \
+ bullet_gt.png \
+ bullet_dn.png \
+ bullet_sq.png \
+ bullet_up.png \
+ arrow_down.png \
+ feedbackground.png \
+ horBar.png \
+ page.png \
+ page_bg.png \
+ sprites-combined.png \
+ spinner.gif \
+ stylesheet-coffee-plastique.png \
+ taskmenuextension-example.png \
+ coloreditorfactoryimage.png \
+ dynamiclayouts-example.png \
# This stuff is used by the new doc format.
scriptdirs = $QT_SOURCE_TREE/doc/src/template/scripts
styledirs = $QT_SOURCE_TREE/doc/src/template/style
scripts.HTML = functions.js \
+ shBrushCpp.js \
+ shCore.js \
+ shLegacy.js \
+ narrow.js \
+ superfish.js \
jquery.js
styles.HTML = style.css \
+ shCore.css \
+ shThemeDefault.css \
+ narrow.css \
+ superfish.css \
+ superfish_skin.css \
+ OfflineStyle.css \
style_ie6.css \
style_ie7.css \
style_ie8.css
diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf
index b72a1eb..60f5fb1 100644
--- a/tools/qdoc3/test/qt-html-templates.qdocconf
+++ b/tools/qdoc3/test/qt-html-templates.qdocconf
@@ -1,12 +1,19 @@
-HTML.stylesheets = style/style_ie6.css \
+HTML.stylesheets = style/style.css \
+ style/OfflineStyle.css \
style/style_ie7.css \
style/style_ie8.css \
- style/style.css
+ style/style_ie6.css
HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \
+ " <div class=\"content\"> \n" \
" <div id=\"nav-logo\">\n" \
" <a href=\"index.html\">Home</a></div>\n" \
" <a href=\"index.html\" class=\"qtref\"><span>Qt Reference Documentation</span></a>\n" \
+ " <div id=\"narrowsearch\"><form onsubmit=\"return false;\" action=\"\" id=\"qtdocsearch\">\n" \
+ " <fieldset>\n" \
+ " <input type=\"text\" value=\"\" id=\"pageType\" name=\"searchstring\">\n" \
+ " </fieldset>\n" \
+ " </form></div>\n" \
" <div id=\"nav-topright\">\n" \
" <ul>\n" \
" <li class=\"nav-topright-home\"><a href=\"http://qt.nokia.com/\">Qt HOME</a></li>\n" \
@@ -21,9 +28,39 @@ HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \
" <div id=\"shortCut\">\n" \
" <ul>\n" \
" <li class=\"shortCut-topleft-inactive\"><span><a href=\"index.html\">Qt 4.7</a></span></li>\n" \
- " <li class=\"shortCut-topleft-active\"><a href=\"http://qt.nokia.com/doc/\">ALL Qt VERSIONS" \
+ " <li class=\"shortCut-topleft-active\"><a href=\"http://qt.nokia.com/doc/\">ALL VERSIONS" \
" </a></li>\n" \
" </ul>\n" \
+ " </div>\n" \
+ " <ul class=\"sf-menu sf-js-enabled sf-shadow\" id=\"narrowmenu\"> \n" \
+ " <li><a href=\"#\">API Lookup</a> \n" \
+ " <ul id=\"topmenuLook\"> \n" \
+ " <li><a href=\"classes.html\">Class index</a></li> \n" \
+ " <li><a href=\"functions.html\">Function index</a></li> \n" \
+ " <li><a href=\"modules.html\">Modules</a></li> \n" \
+ " <li><a href=\"namespaces.html\">Namespaces</a></li> \n" \
+ " <li><a href=\"qtglobal.html\">Global stuff</a></li> \n" \
+ " <li><a href=\"qdeclarativeelements.html\">QML elements</a></li> \n" \
+ " </ul> \n" \
+ " </li> \n" \
+ " <li><a href=\"#\">Qt Topics</a> \n" \
+ " <ul id=\"topmenuTopic\"> \n" \
+ " <li><a href=\"qt-basic-concepts.html\">Basic Qt architecture</a></li> \n" \
+ " <li><a href=\"declarativeui.html\">Device UI's &amp; Qt Quick</a></li> \n" \
+ " <li><a href=\"qt-gui-concepts.html\">Desktop UI components</a></li> \n" \
+ " <li><a href=\"platform-specific.html\">Platform-specific info</a></li> \n" \
+ " </ul> \n" \
+ " </li> \n" \
+ " <li><a href=\"#\">Examples</a> \n" \
+ " <ul id=\"topmenuexample\"> \n" \
+ " <li><a href=\"all-examples.html\">Examples</a></li> \n" \
+ " <li><a href=\"tutorials.html\">Tutorials</a></li> \n" \
+ " <li><a href=\"demos.html\">Demos</a></li> \n" \
+ " <li><a href=\"qdeclarativeexamples.html\">QML Examples</a></li> \n" \
+ " <li><a href=\"qdeclarativeexamples.html#Demos\">QML Demos</a></li> \n" \
+ " </ul> \n" \
+ " </li> \n" \
+ " </ul> \n" \
" </div>\n" \
" </div>\n" \
" <div class=\"wrapper\">\n" \
@@ -35,14 +72,14 @@ HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \
" <div class=\"searchlabel\">\n" \
" Search index:</div>\n" \
" <div class=\"search\">\n" \
- " <form id=\"qtdocsearch\" action=\"\">\n" \
+ " <form id=\"qtdocsearch\" action=\"\" onsubmit=\"return false;\">\n" \
" <fieldset>\n" \
" <input type=\"text\" name=\"searchstring\" id=\"pageType\" value=\"\" />\n" \
" </fieldset>\n" \
" </form>\n" \
" </div>\n" \
" <div class=\"box first bottombar\" id=\"lookup\">\n" \
- " <h2><span></span>\n" \
+ " <h2 title=\"API Lookup\"><span></span>\n" \
" API Lookup</h2>\n" \
" <div id=\"list001\" class=\"list\">\n" \
" <ul id=\"ul001\" >\n" \
@@ -56,7 +93,7 @@ HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \
" </div>\n" \
" </div>\n" \
" <div class=\"box bottombar\" id=\"topics\">\n" \
- " <h2><span></span>\n" \
+ " <h2 title=\"Qt Topics\"><span></span>\n" \
" Qt Topics</h2>\n" \
" <div id=\"list002\" class=\"list\">\n" \
" <ul id=\"ul002\" >\n" \
@@ -68,7 +105,7 @@ HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \
" </div>\n" \
" </div>\n" \
" <div class=\"box\" id=\"examples\">\n" \
- " <h2><span></span>\n" \
+ " <h2 title=\"Examples\"><span></span>\n" \
" Examples</h2>\n" \
" <div id=\"list003\" class=\"list\">\n" \
" <ul id=\"ul003\">\n" \
@@ -129,7 +166,7 @@ HTML.footer = " <!-- /div -->\n" \
" </div>\n" \
" <div id=\"blurpage\">\n" \
" </div>\n" \
- "<!-- <script type=\"text/javascript\">\n" \
+ "<script type=\"text/javascript\">\n" \
" var _gaq = _gaq || [];\n" \
" _gaq.push([\'_setAccount\', \'UA-4457116-5\']);\n" \
" _gaq.push([\'_trackPageview\']);\n" \
@@ -138,4 +175,4 @@ HTML.footer = " <!-- /div -->\n" \
" ga.src = (\'https:\' == document.location.protocol ? \'https://ssl\' : \'http://www\') + \'.google-analytics.com/ga.js\';\n" \
" var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(ga, s);\n" \
" })();\n" \
- "</script> -->\n"
+ "</script>\n"
diff --git a/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf b/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf
new file mode 100644
index 0000000..027548e
--- /dev/null
+++ b/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf
@@ -0,0 +1,178 @@
+HTML.stylesheets = style/style.css \
+ style/OfflineStyle.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
+ style/style_ie6.css
+
+HTML.postheader = " <div class=\"header\" id=\"qtdocheader\">\n" \
+ " <div class=\"content\"> \n" \
+ " <div id=\"nav-logo\">\n" \
+ " <a href=\"index.html\">Home</a></div>\n" \
+ " <a href=\"index.html\" class=\"qtref\"><span>Qt Reference Documentation</span></a>\n" \
+ " <div id=\"narrowsearch\"><form onsubmit=\"return false;\" action=\"\" id=\"qtdocsearch\">\n" \
+ " <fieldset>\n" \
+ " <input type=\"text\" value=\"\" id=\"pageType\" name=\"searchstring\">\n" \
+ " </fieldset>\n" \
+ " </form></div>\n" \
+ " <div id=\"nav-topright\">\n" \
+ " <ul>\n" \
+ " <li class=\"nav-topright-home\"><a href=\"http://qt.nokia.com/\">Qt HOME</a></li>\n" \
+ " <li class=\"nav-topright-dev\"><a href=\"http://qt.nokia.com/developer\">DEV</a></li>\n" \
+ " <li class=\"nav-topright-labs\"><a href=\"http://labs.qt.nokia.com/blogs/\">LABS</a></li>\n" \
+ " <li class=\"nav-topright-doc nav-topright-doc-active\"><a href=\"http://doc.qt.nokia.com/\">\n" \
+ " DOC</a></li>\n" \
+ " <li class=\"nav-topright-blog\"><a href=\"http://blog.qt.nokia.com/\">BLOG</a></li>\n" \
+ " <li class=\"nav-topright-shop\"><a title=\"SHOP\" href=\"http://shop.qt.nokia.com\">SHOP</a></li>\n" \
+ " </ul>\n" \
+ " </div>\n" \
+ " <div id=\"shortCut\">\n" \
+ " <ul>\n" \
+ " <li class=\"shortCut-topleft-inactive\"><span><a href=\"index.html\">Qt 4.7</a></span></li>\n" \
+ " <li class=\"shortCut-topleft-active\"><a href=\"http://qt.nokia.com/doc/\">ALL VERSIONS" \
+ " </a></li>\n" \
+ " </ul>\n" \
+ " </div>\n" \
+ " <ul class=\"sf-menu sf-js-enabled sf-shadow\" id=\"narrowmenu\"> \n" \
+ " <li><a href=\"#\">API Lookup</a> \n" \
+ " <ul id=\"topmenuLook\"> \n" \
+ " <li><a href=\"classes.html\">Class index</a></li> \n" \
+ " <li><a href=\"functions.html\">Function index</a></li> \n" \
+ " <li><a href=\"modules.html\">Modules</a></li> \n" \
+ " <li><a href=\"namespaces.html\">Namespaces</a></li> \n" \
+ " <li><a href=\"qtglobal.html\">Global stuff</a></li> \n" \
+ " <li><a href=\"qdeclarativeelements.html\">QML elements</a></li> \n" \
+ " </ul> \n" \
+ " </li> \n" \
+ " <li><a href=\"#\">Qt Topics</a> \n" \
+ " <ul id=\"topmenuTopic\"> \n" \
+ " <li><a href=\"qt-basic-concepts.html\">Basic Qt architecture</a></li> \n" \
+ " <li><a href=\"declarativeui.html\">Device UI's &amp; Qt Quick</a></li> \n" \
+ " <li><a href=\"qt-gui-concepts.html\">Desktop UI components</a></li> \n" \
+ " <li><a href=\"platform-specific.html\">Platform-specific info</a></li> \n" \
+ " </ul> \n" \
+ " </li> \n" \
+ " <li><a href=\"#\">Examples</a> \n" \
+ " <ul id=\"topmenuexample\"> \n" \
+ " <li><a href=\"all-examples.html\">Examples</a></li> \n" \
+ " <li><a href=\"tutorials.html\">チュートリアル</a></li> \n" \
+ " <li><a href=\"demos.html\">Demos</a></li> \n" \
+ " <li><a href=\"qdeclarativeexamples.html\">QML Examples</a></li> \n" \
+ " <li><a href=\"qdeclarativeexamples.html#Demos\">QML Demos</a></li> \n" \
+ " </ul> \n" \
+ " </li> \n" \
+ " </ul> \n" \
+ " </div>\n" \
+ " </div>\n" \
+ " <div class=\"wrapper\">\n" \
+ " <div class=\"hd\">\n" \
+ " <span></span>\n" \
+ " </div>\n" \
+ " <div class=\"bd group\">\n" \
+ " <div class=\"sidebar\">\n" \
+ " <div class=\"searchlabel\">\n" \
+ " Search index:</div>\n" \
+ " <div class=\"search\">\n" \
+ " <form id=\"qtdocsearch\" action=\"\" onsubmit=\"return false;\">\n" \
+ " <fieldset>\n" \
+ " <input type=\"text\" name=\"searchstring\" id=\"pageType\" value=\"\" />\n" \
+ " </fieldset>\n" \
+ " </form>\n" \
+ " </div>\n" \
+ " <div class=\"box first bottombar\" id=\"lookup\">\n" \
+ " <h2 title=\"API Lookup\"><span></span>\n" \
+ " API Lookup</h2>\n" \
+ " <div id=\"list001\" class=\"list\">\n" \
+ " <ul id=\"ul001\" >\n" \
+ " <li class=\"defaultLink\"><a href=\"classes.html\">Class index</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"functions.html\">Function index</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"modules.html\">Modules</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"namespaces.html\">Namespaces</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qtglobal.html\">Global stuff</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qdeclarativeelements.html\">QML elements</a></li>\n" \
+ " </ul> \n" \
+ " </div>\n" \
+ " </div>\n" \
+ " <div class=\"box bottombar\" id=\"topics\">\n" \
+ " <h2 title=\"Qt Topics\"><span></span>\n" \
+ " Qt Topics</h2>\n" \
+ " <div id=\"list002\" class=\"list\">\n" \
+ " <ul id=\"ul002\" >\n" \
+ " <li class=\"defaultLink\"><a href=\"qt-basic-concepts.html\">Basic Qt architecture</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"declarativeui.html\">Device UI's &amp; Qt Quick</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qt-gui-concepts.html\">Desktop UI components</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"platform-specific.html\">Platform-specific info</a></li>\n" \
+ " </ul> \n" \
+ " </div>\n" \
+ " </div>\n" \
+ " <div class=\"box\" id=\"examples\">\n" \
+ " <h2 title=\"Examples\"><span></span>\n" \
+ " Examples</h2>\n" \
+ " <div id=\"list003\" class=\"list\">\n" \
+ " <ul id=\"ul003\">\n" \
+ " <li class=\"defaultLink\"><a href=\"all-examples.html\">Examples</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"tutorials.html\">チュートリアル</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"demos.html\">Demos</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qdeclarativeexamples.html\">QML Examples</a></li>\n" \
+ " <li class=\"defaultLink\"><a href=\"qdeclarativeexamples.html#Demos\">QML Demos</a></li>\n" \
+ " </ul> \n" \
+ " </div>\n" \
+ " </div>\n" \
+ " </div>\n" \
+ " <div class=\"wrap\">\n" \
+ " <div class=\"toolbar\">\n" \
+ " <div class=\"breadcrumb toolblock\">\n" \
+ " <ul>\n" \
+ " <li class=\"first\"><a href=\"index.html\">Home</a></li>\n" \
+ " <!-- Bread crumbs goes here -->\n"
+
+HTML.postpostheader = " </ul>\n" \
+ " </div>\n" \
+ " <div class=\"toolbuttons toolblock\">\n" \
+ " <ul>\n" \
+ " <li id=\"smallA\" class=\"t_button\">A</li>\n" \
+ " <li id=\"medA\" class=\"t_button active\">A</li>\n" \
+ " <li id=\"bigA\" class=\"t_button\">A</li>\n" \
+ " <li id=\"print\" class=\"t_button\"><a href=\"javascript:this.print();\">\n" \
+ " <span>Print</span></a></li>\n" \
+ " </ul>\n" \
+ " </div>\n" \
+ " </div>\n" \
+ " <div class=\"content\">\n"
+
+HTML.footer = " <!-- /div -->\n" \
+ " <div class=\"feedback t_button\">\n" \
+ " [+] Documentation Feedback</div>\n" \
+ " </div>\n" \
+ " </div>\n" \
+ " <div class=\"ft\">\n" \
+ " <span></span>\n" \
+ " </div>\n" \
+ " </div> \n" \
+ " <div class=\"footer\">\n" \
+ " <p>\n" \
+ " <acronym title=\"Copyright\">&copy;</acronym> 2008-2010 Nokia Corporation and/or its\n" \
+ " subsidiaries. Nokia, Qt and their respective logos are trademarks of Nokia Corporation \n" \
+ " in Finland and/or other countries worldwide.</p>\n" \
+ " <p>\n" \
+ " All other trademarks are property of their respective owners. <a title=\"Privacy Policy\"\n" \
+ " href=\"http://qt.nokia.com/about/privacy-policy\">Privacy Policy</a></p>\n" \
+ " </div>\n" \
+ " <div id=\"feedbackBox\">\n" \
+ " <div id=\"feedcloseX\" class=\"feedclose t_button\">X</div>\n" \
+ " <form id=\"feedform\" action=\"http://doc.qt.nokia.com/docFeedbck/feedback.php\" method=\"get\">\n" \
+ " <p><textarea id=\"feedbox\" name=\"feedText\" rows=\"5\" cols=\"40\">Please submit you feedback...</textarea></p>\n" \
+ " <p><input id=\"feedsubmit\" class=\"feedclose\" type=\"submit\" name=\"feedback\" /></p>\n" \
+ " </form>\n" \
+ " </div>\n" \
+ " <div id=\"blurpage\">\n" \
+ " </div>\n" \
+ "<script type=\"text/javascript\">\n" \
+ " var _gaq = _gaq || [];\n" \
+ " _gaq.push([\'_setAccount\', \'UA-4457116-5\']);\n" \
+ " _gaq.push([\'_trackPageview\']);\n" \
+ " (function() {\n" \
+ " var ga = document.createElement(\'script\'); ga.type = \'text/javascript\'; ga.async = true;\n" \
+ " ga.src = (\'https:\' == document.location.protocol ? \'https://ssl\' : \'http://www\') + \'.google-analytics.com/ga.js\';\n" \
+ " var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(ga, s);\n" \
+ " })();\n" \
+ "</script>\n"
diff --git a/tools/qdoc3/test/qt.qdocconf b/tools/qdoc3/test/qt.qdocconf
index 267d536..d132771 100644
--- a/tools/qdoc3/test/qt.qdocconf
+++ b/tools/qdoc3/test/qt.qdocconf
@@ -28,13 +28,17 @@ qhp.Qt.indexRoot =
qhp.Qt.extraFiles = index.html \
images/bg_l.png \
images/bg_l_blank.png \
- images/bg_r.png \
+ images/bg_ll_blank.png \
+ images/bg_ul_blank.png \
+ images/header_bg.png \
+ images/bg_r.png \
images/box_bg.png \
images/breadcrumb.png \
images/bullet_gt.png \
images/bullet_dn.png \
images/bullet_sq.png \
images/bullet_up.png \
+ images/arrow_down.png \
images/feedbackground.png \
images/horBar.png \
images/page.png \
@@ -47,6 +51,17 @@ qhp.Qt.extraFiles = index.html \
images/dynamiclayouts-example.png \
scripts/functions.js \
scripts/jquery.js \
+ scripts/shBrushCpp.js \
+ scripts/shCore.js \
+ scripts/shLegacy.js \
+ scripts/narrow.js \
+ scripts/superfish.js \
+ style/shCore.css \
+ style/shThemeDefault.css \
+ style/narrow.css \
+ style/superfish.css \
+ style/superfish_skin.css \
+ style/OfflineStyle.css \
style/style_ie6.css \
style/style_ie7.css \
style/style_ie8.css \
@@ -115,6 +130,7 @@ excludedirs = $QTDIR/src/3rdparty/clucene \
$QTDIR/src/3rdparty/phonon/mmf \
$QTDIR/src/3rdparty/phonon/waveout \
$QTDIR/doc/src/snippets \
+ $QTDIR/doc/src/ja_JP \
$QTDIR/doc/src/zh_CN
sources.fileextensions = "*.cpp *.qdoc *.mm"
diff --git a/tools/qdoc3/test/qt_ja_JP.qdocconf b/tools/qdoc3/test/qt_ja_JP.qdocconf
new file mode 100644
index 0000000..d4141c7
--- /dev/null
+++ b/tools/qdoc3/test/qt_ja_JP.qdocconf
@@ -0,0 +1,125 @@
+include(compat.qdocconf)
+include(macros.qdocconf)
+include(qt-cpp-ignore.qdocconf)
+include(qt-html-templates_ja_JP.qdocconf)
+include(qt-defines.qdocconf)
+
+project = Qt
+versionsym =
+version = %VERSION%
+description = Qt リファレンスドキュメント
+url = http://qt.nokia.com/doc/ja_JP/4.7
+
+sourceencoding = UTF-8
+outputencoding = UTF-8
+naturallanguage = ja
+
+indexes = $QTDIR/doc/html/qt.index
+
+qhp.projects = Qt
+
+qhp.Qt.file = qt.qhp
+qhp.Qt.namespace = com.trolltech.qt.470
+qhp.Qt.virtualFolder = qdoc
+qhp.Qt.title = Qt
+qhp.Qt.indexTitle = Qt
+qhp.Qt.selectors = fake:example
+
+qhp.Qt.filterAttributes = qt 4.7.0 qtrefdoc ja_JP
+qhp.Qt.customFilters.Qt.name = Qt 4.7.0
+qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.0
+
+# Files not referenced in any qdoc file (last four are needed by qtdemo)
+# See also extraimages.HTML
+qhp.Qt.extraFiles = index.html \
+ images/bg_l.png \
+ images/bg_l_blank.png \
+ images/bg_ll_blank.png \
+ images/bg_ul_blank.png \
+ images/header_bg.png \
+ images/bg_r.png \
+ images/box_bg.png \
+ images/breadcrumb.png \
+ images/bullet_gt.png \
+ images/bullet_dn.png \
+ images/bullet_sq.png \
+ images/bullet_up.png \
+ images/arrow_down.png \
+ images/feedbackground.png \
+ images/horBar.png \
+ images/page.png \
+ images/page_bg.png \
+ images/sprites-combined.png \
+ images/spinner.gif \
+ images/stylesheet-coffee-plastique.png \
+ images/taskmenuextension-example.png \
+ images/coloreditorfactoryimage.png \
+ images/dynamiclayouts-example.png \
+ scripts/functions.js \
+ scripts/jquery.js \
+ scripts/shBrushCpp.js \
+ scripts/shCore.js \
+ scripts/shLegacy.js \
+ scripts/narrow.js \
+ scripts/superfish.js \
+ style/shCore.css \
+ style/shThemeDefault.css \
+ style/narrow.css \
+ style/superfish.css \
+ style/superfish_skin.css \
+ style/OfflineStyle.css \
+ style/style_ie6.css \
+ style/style_ie7.css \
+ style/style_ie8.css \
+ style/style.css
+
+language = Cpp
+
+sourcedirs = $QTDIR/doc/src/ja_JP
+
+excludedirs = $QTDIR/src/3rdparty/clucene \
+ $QTDIR/src/3rdparty/des \
+ $QTDIR/src/3rdparty/freetype \
+ $QTDIR/src/3rdparty/harfbuzz \
+ $QTDIR/src/3rdparty/kdebase \
+ $QTDIR/src/3rdparty/libjpeg \
+ $QTDIR/src/3rdparty/libmng \
+ $QTDIR/src/3rdparty/libpng \
+ $QTDIR/src/3rdparty/libtiff \
+ $QTDIR/src/3rdparty/md4 \
+ $QTDIR/src/3rdparty/md5 \
+ $QTDIR/src/3rdparty/patches \
+ $QTDIR/src/3rdparty/sha1 \
+ $QTDIR/src/3rdparty/sqlite \
+ $QTDIR/src/3rdparty/webkit/JavaScriptCore \
+ $QTDIR/src/3rdparty/webkit/WebCore \
+ $QTDIR/src/3rdparty/wintab \
+ $QTDIR/src/3rdparty/zlib \
+ $QTDIR/doc/src/snippets \
+ $QTDIR/doc/src/zh_CN \
+ $QTDIR/src/3rdparty/phonon/gstreamer \
+ $QTDIR/src/3rdparty/phonon/ds9 \
+ $QTDIR/src/3rdparty/phonon/qt7 \
+ $QTDIR/src/3rdparty/phonon/mmf \
+ $QTDIR/src/3rdparty/phonon/waveout
+
+sources.fileextensions = "*.cpp *.qdoc *.mm"
+examples.fileextensions = "*.cpp *.h *.js *.xq *.svg *.xml *.ui *.qhp *.qhcp"
+examples.imageextensions = "*.png"
+
+exampledirs = $QTDIR/doc/src \
+ $QTDIR/examples/ja_JP \
+ $QTDIR/examples \
+ $QTDIR/examples/tutorials \
+ $QTDIR \
+ $QTDIR/qmake/examples \
+ $QTDIR/src/3rdparty/webkit/WebKit/qt/docs
+imagedirs = $QTDIR/doc/src/ja_JP/images \
+ $QTDIR/doc/src/images \
+ $QTDIR/examples \
+ $QTDIR/doc/src/template/images
+outputdir = $QTDIR/doc/html_ja_JP
+tagfile = $QTDIR/doc/html_ja_JP/qt.tags
+base = file:$QTDIR/doc/html_ja_JP
+
+HTML.generatemacrefs = "true"
diff --git a/tools/qdoc3/test/qt_zh_CN.qdocconf b/tools/qdoc3/test/qt_zh_CN.qdocconf
index db02478..4983f9e 100644
--- a/tools/qdoc3/test/qt_zh_CN.qdocconf
+++ b/tools/qdoc3/test/qt_zh_CN.qdocconf
@@ -32,28 +32,28 @@ qhp.Qt.customFilters.Qt.filterAttributes = qt 4.7.0
# Files not referenced in any qdoc file (last four are needed by qtdemo)
# See also extraimages.HTML
qhp.Qt.extraFiles = index.html \
- images/bg_l.png \
- images/bg_l_blank.png \
- images/bg_r.png \
- images/box_bg.png \
- images/breadcrumb.png \
- images/bullet_gt.png \
- images/bullet_dn.png \
- images/bullet_sq.png \
- images/bullet_up.png \
- images/feedbackground.png \
- images/horBar.png \
- images/page.png \
- images/page_bg.png \
- images/sprites-combined.png \
- images/spinner.gif \
- images/stylesheet-coffee-plastique.png \
- images/taskmenuextension-example.png \
- images/coloreditorfactoryimage.png \
- images/dynamiclayouts-example.png \
- scripts/functions.js \
- scripts/jquery.js \
- style/style.css
+ images/bg_l.png \
+ images/bg_l_blank.png \
+ images/bg_r.png \
+ images/box_bg.png \
+ images/breadcrumb.png \
+ images/bullet_gt.png \
+ images/bullet_dn.png \
+ images/bullet_sq.png \
+ images/bullet_up.png \
+ images/feedbackground.png \
+ images/horBar.png \
+ images/page.png \
+ images/page_bg.png \
+ images/sprites-combined.png \
+ images/spinner.gif \
+ images/stylesheet-coffee-plastique.png \
+ images/taskmenuextension-example.png \
+ images/coloreditorfactoryimage.png \
+ images/dynamiclayouts-example.png \
+ scripts/functions.js \
+ scripts/jquery.js \
+ style/style.css
language = Cpp
@@ -78,6 +78,7 @@ excludedirs = $QTDIR/src/3rdparty/clucene \
$QTDIR/src/3rdparty/wintab \
$QTDIR/src/3rdparty/zlib \
$QTDIR/doc/src/snippets \
+ $QTDIR/doc/src/ja_JP \
$QTDIR/src/3rdparty/phonon/gstreamer \
$QTDIR/src/3rdparty/phonon/ds9 \
$QTDIR/src/3rdparty/phonon/qt7 \
diff --git a/tools/qml/deviceorientation.cpp b/tools/qml/deviceorientation.cpp
index e7c70d5..a13b912 100644
--- a/tools/qml/deviceorientation.cpp
+++ b/tools/qml/deviceorientation.cpp
@@ -47,7 +47,7 @@ class DefaultDeviceOrientation : public DeviceOrientation
{
Q_OBJECT
public:
- DefaultDeviceOrientation() : DeviceOrientation(), m_orientation(DeviceOrientation::Portrait) {}
+ DefaultDeviceOrientation() : DeviceOrientation(), m_orientation(DeviceOrientation::TopUp) {}
Orientation orientation() const {
return m_orientation;
diff --git a/tools/qml/deviceorientation.h b/tools/qml/deviceorientation.h
index d209005..fe73868 100644
--- a/tools/qml/deviceorientation.h
+++ b/tools/qml/deviceorientation.h
@@ -52,7 +52,14 @@ class DeviceOrientation : public QObject
Q_OBJECT
Q_ENUMS(Orientation)
public:
- enum Orientation { UnknownOrientation, Portrait, Landscape };
+ enum Orientation {
+ UnknownOrientation,
+ TopUp,
+ TopDown,
+ LeftUp,
+ RightUp
+ };
+
virtual Orientation orientation() const = 0;
virtual void setOrientation(Orientation) = 0;
diff --git a/tools/qml/deviceorientation_maemo.cpp b/tools/qml/deviceorientation_maemo.cpp
index 9f12f3d..501ff79 100644
--- a/tools/qml/deviceorientation_maemo.cpp
+++ b/tools/qml/deviceorientation_maemo.cpp
@@ -48,11 +48,11 @@ class MaemoOrientation : public DeviceOrientation
Q_OBJECT
public:
MaemoOrientation()
- : DeviceOrientation(),m_current(Portrait), m_lastSeen(Portrait), m_lastSeenCount(0)
+ : DeviceOrientation(),m_current(TopUp), m_lastSeen(TopUp), m_lastSeenCount(0)
{
m_current = get();
if (m_current == UnknownOrientation)
- m_current = Portrait;
+ m_current = TopUp;
startTimer(100);
}
@@ -101,9 +101,13 @@ private:
if (abs(az) > 850) {
o = UnknownOrientation;
} else if (ax < -750) {
- o = Portrait;
+ o = LeftUp;
+ } else if (ax > 750) {
+ o = RightUp;
} else if (ay < -750) {
- o = Landscape;
+ o = TopUp;
+ } else if (ay > 750) {
+ o = TopDown;
}
return o;
diff --git a/tools/qml/qmlruntime.cpp b/tools/qml/qmlruntime.cpp
index fe323c1..f681303 100644
--- a/tools/qml/qmlruntime.cpp
+++ b/tools/qml/qmlruntime.cpp
@@ -367,7 +367,7 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags)
#endif
, loggerWindow(new LoggerWidget())
, frame_stream(0), mb(0)
- , portraitOrientation(0), landscapeOrientation(0)
+ , orientation(0)
, showWarningsWindow(0)
, m_scriptOptions(0)
, tester(0)
@@ -418,7 +418,7 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags)
if (!(flags & Qt::FramelessWindowHint)) {
createMenu(menuBar(),0);
- setPortrait();
+ changeOrientation(orientation->actions().value(0));
}
#if !defined(Q_OS_SYMBIAN)
@@ -571,26 +571,25 @@ void QDeclarativeViewer::createMenu(QMenuBar *menu, QMenu *flatmenu)
QMenu *propertiesMenu = settingsMenu->addMenu(tr("Properties"));
- QActionGroup *orientation = new QActionGroup(parent);
+ orientation = new QActionGroup(parent);
- QAction *toggleOrientation = new QAction(tr("&Toggle Orientation"), parent);
- toggleOrientation->setCheckable(true);
- toggleOrientation->setShortcut(QKeySequence("Ctrl+T"));
- settingsMenu->addAction(toggleOrientation);
- connect(toggleOrientation, SIGNAL(triggered()), this, SLOT(toggleOrientation()));
+ QAction *rotateOrientation = new QAction(tr("Rotate orientation"), parent);
+ rotateOrientation->setShortcut(QKeySequence("Ctrl+T"));
+ settingsMenu->addAction(rotateOrientation);
+ connect(rotateOrientation, SIGNAL(triggered()), this, SLOT(rotateOrientation()));
orientation->setExclusive(true);
- portraitOrientation = new QAction(tr("orientation: Portrait"), parent);
- portraitOrientation->setCheckable(true);
- connect(portraitOrientation, SIGNAL(triggered()), this, SLOT(setPortrait()));
- orientation->addAction(portraitOrientation);
- propertiesMenu->addAction(portraitOrientation);
-
- landscapeOrientation = new QAction(tr("orientation: Landscape"), parent);
- landscapeOrientation->setCheckable(true);
- connect(landscapeOrientation, SIGNAL(triggered()), this, SLOT(setLandscape()));
- orientation->addAction(landscapeOrientation);
- propertiesMenu->addAction(landscapeOrientation);
+ connect(orientation, SIGNAL(triggered(QAction*)), this, SLOT(changeOrientation(QAction*)));
+
+ orientation->addAction(tr("orientation: TopUp"));
+ orientation->addAction(tr("orientation: LeftUp"));
+ orientation->addAction(tr("orientation: TopDown"));
+ orientation->addAction(tr("orientation: RightUp"));
+ QList<QAction *> actions = orientation->actions();
+ for (int i=0; i<actions.count(); i++) {
+ propertiesMenu->addAction(actions[i]);
+ actions[i]->setCheckable(true);
+ }
if (flatmenu) flatmenu->addSeparator();
@@ -624,21 +623,16 @@ void QDeclarativeViewer::proxySettingsChanged()
reload ();
}
-void QDeclarativeViewer::setPortrait()
-{
- DeviceOrientation::instance()->setOrientation(DeviceOrientation::Portrait);
- portraitOrientation->setChecked(true);
-}
-
-void QDeclarativeViewer::setLandscape()
+void QDeclarativeViewer::rotateOrientation()
{
- DeviceOrientation::instance()->setOrientation(DeviceOrientation::Landscape);
- landscapeOrientation->setChecked(true);
-}
+ QAction *current = orientation->checkedAction();
+ QList<QAction *> actions = orientation->actions();
+ int index = actions.indexOf(current);
+ if (index < 0)
+ return;
-void QDeclarativeViewer::toggleOrientation()
-{
- DeviceOrientation::instance()->setOrientation(DeviceOrientation::instance()->orientation()==DeviceOrientation::Portrait?DeviceOrientation::Landscape:DeviceOrientation::Portrait);
+ QAction *newOrientation = actions[(index + 1) % actions.count()];
+ changeOrientation(newOrientation);
}
void QDeclarativeViewer::toggleFullScreen()
@@ -971,12 +965,7 @@ void QDeclarativeViewer::keyPressEvent(QKeyEvent *event)
} else if (event->key() == Qt::Key_F9 || (event->key() == Qt::Key_9 && devicemode)) {
toggleRecording();
} else if (event->key() == Qt::Key_F10) {
- if (portraitOrientation) {
- if (portraitOrientation->isChecked())
- setLandscape();
- else
- setPortrait();
- }
+ rotateOrientation();
}
QWidget::keyPressEvent(event);
@@ -1181,6 +1170,23 @@ void QDeclarativeViewer::recordFrame()
}
}
+void QDeclarativeViewer::changeOrientation(QAction *action)
+{
+ if (!action)
+ return;
+ action->setChecked(true);
+
+ QString o = action->text().split(QLatin1Char(':')).value(1).trimmed();
+ if (o == QLatin1String("TopUp"))
+ DeviceOrientation::instance()->setOrientation(DeviceOrientation::TopUp);
+ else if (o == QLatin1String("TopDown"))
+ DeviceOrientation::instance()->setOrientation(DeviceOrientation::TopDown);
+ else if (o == QLatin1String("LeftUp"))
+ DeviceOrientation::instance()->setOrientation(DeviceOrientation::LeftUp);
+ else if (o == QLatin1String("RightUp"))
+ DeviceOrientation::instance()->setOrientation(DeviceOrientation::RightUp);
+}
+
void QDeclarativeViewer::orientationChanged()
{
if (canvas->resizeMode() == QDeclarativeView::SizeRootObjectToView) {
diff --git a/tools/qml/qmlruntime.h b/tools/qml/qmlruntime.h
index 5086e02..27bd217 100644
--- a/tools/qml/qmlruntime.h
+++ b/tools/qml/qmlruntime.h
@@ -124,7 +124,7 @@ public slots:
void ffmpegFinished(int code);
void showProxySettings ();
void proxySettingsChanged ();
- void toggleOrientation();
+ void rotateOrientation();
void statusChanged();
void setSlowMode(bool);
void launch(const QString &);
@@ -140,9 +140,8 @@ private slots:
void recordFrame();
void chooseRecordingOptions();
void pickRecordingFile();
- void setPortrait();
- void setLandscape();
void toggleFullScreen();
+ void changeOrientation(QAction*);
void orientationChanged();
void showWarnings(bool show);
@@ -183,9 +182,7 @@ private:
bool ffmpegAvailable;
bool convertAvailable;
- QAction *portraitOrientation;
- QAction *landscapeOrientation;
-
+ QActionGroup *orientation;
QAction *showWarningsWindow;
QString m_script;
diff --git a/translations/assistant_hu.ts b/translations/assistant_hu.ts
index e43070c..50e30d7 100644
--- a/translations/assistant_hu.ts
+++ b/translations/assistant_hu.ts
@@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.0" language="hu">
+<TS version="2.0" language="hu_HU">
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+110"/>
+ <location filename="../tools/assistant/tools/assistant/aboutdialog.cpp" line="+117"/>
<source>&amp;Close</source>
- <translation>&amp;Bezárás</translation>
+ <translation>Be&amp;zárás</translation>
</message>
</context>
<context>
<name>AboutLabel</name>
<message>
- <location line="-14"/>
+ <location line="-15"/>
<source>Warning</source>
<translation>Figyelmeztetés</translation>
</message>
@@ -20,17 +20,91 @@
<location line="+1"/>
<source>Unable to launch external application.
</source>
- <translation>Nem lehet külső alkalmazást elindítani.</translation>
+ <translation>A külső alkalmazás elindítása sikertelen.
+</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+0"/>
<source>OK</source>
<translation>OK</translation>
</message>
</context>
<context>
+ <name>Assistant</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/main.cpp" line="+177"/>
+ <source>Error registering documentation file &apos;%1&apos;: %2</source>
+ <translation>Hiba a(z) &apos;%1&apos; dokumentáció fájl regisztrálásakor: %2</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>Error: %1</source>
+ <translation>Hiba: %1</translation>
+ </message>
+ <message>
+ <location line="+42"/>
+ <source>Could not register documentation file
+%1
+
+Reason:
+%2</source>
+ <translation>A dokumentációs fájl regisztrálása sikertelen
+%1
+
+Oka:
+%2</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Documentation successfully registered.</source>
+ <translation>A dokumentáció regisztrálása sikerült.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Could not unregister documentation file
+%1
+
+Reason:
+%2</source>
+ <translation>A dokumentációs fájl eltávolítása sikertelen
+%1
+
+Oka:
+%2</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Documentation successfully unregistered.</source>
+ <translation>A dokumentáció eltávolítása sikerült.</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Error reading collection file &apos;%1&apos;: %2.</source>
+ <translation>Hiba a(z) &apos;%1&apos; gyűjteményfájl olvasásakor: %2.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Error creating collection file &apos;%1&apos;: %2.</source>
+ <translation>Hiba a(z) &apos;%1&apos; gyűjteményfájl létrehozásakor: %2.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Error reading collection file &apos;%1&apos;: %2</source>
+ <translation>Hiba a(z) &apos;%1&apos; gyűjteményfájl olvasásakor: %2</translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>Cannot load sqlite database driver!</source>
+ <translation>Az sqlite adatbázisdriver nem tölthető be!</translation>
+ </message>
+</context>
+<context>
<name>BookmarkDialog</name>
<message>
+ <source>Bookmarks</source>
+ <translation type="obsolete">Könyvjelzők</translation>
+ </message>
+ <message>
<location filename="../tools/assistant/tools/assistant/bookmarkdialog.ui"/>
<source>Add Bookmark</source>
<translation>Könyvjelző hozzáadása</translation>
@@ -43,96 +117,85 @@
<message>
<location/>
<source>Add in Folder:</source>
- <translation>Hozzáadás dossziéban:</translation>
+ <translation>Hozzáadás ide:</translation>
</message>
<message>
<location/>
- <source>New Folder</source>
- <translation>Új dosszié</translation>
- </message>
- <message>
- <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+184"/>
- <location line="+18"/>
- <location line="+39"/>
- <location line="+18"/>
- <location line="+30"/>
- <source>Bookmarks</source>
- <translation>Könyvjelzők</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="-61"/>
+ <location/>
+ <source>New Folder</source>
+ <translation>Új mappa</translation>
+ </message>
+ <message>
<source>Delete Folder</source>
- <translation>Dosszié törlése</translation>
+ <translation type="obsolete">Mappa törlése</translation>
</message>
<message>
- <location line="+1"/>
<source>Rename Folder</source>
- <translation>Dosszié átnevezése</translation>
+ <translation type="obsolete">Mappa átnevezése</translation>
</message>
</context>
<context>
<name>BookmarkManager</name>
<message>
- <location line="+435"/>
<source>Bookmarks</source>
- <translation>Könyvjelzők</translation>
+ <translation type="obsolete">Könyvjelzők</translation>
</message>
<message>
- <location line="+37"/>
+ <location filename="../tools/assistant/tools/assistant/bookmarkmanager.cpp" line="+151"/>
+ <source>Untitled</source>
+ <translation>Névtelen</translation>
+ </message>
+ <message>
+ <location line="+65"/>
<source>Remove</source>
- <translation>Áthelyezés</translation>
+ <translation>Törlés</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>Egy olyan dossziét fog törölni, ami &lt;br&gt; törli annak tartalmát is. Biztos benne, hogy folytatja?</translation>
+ <translation>A mappa törlésekor a tartalma is megsemmisül.&lt;br&gt;Biztosan folytatja?</translation>
</message>
<message>
- <location line="+143"/>
- <location line="+9"/>
- <source>New Folder</source>
- <translation>Új Dosszié</translation>
+ <location line="+147"/>
+ <source>Manage Bookmarks...</source>
+ <translation>Könyvjelzők kezelése...</translation>
</message>
-</context>
-<context>
- <name>BookmarkWidget</name>
<message>
- <location line="-417"/>
- <source>Filter:</source>
- <translation>Szűrő:</translation>
+ <location line="+3"/>
+ <source>Add Bookmark...</source>
+ <translation>Könyvjelző hozzáadása...</translation>
</message>
<message>
- <location line="+33"/>
- <source>Remove</source>
- <translation>Eltávolítás</translation>
+ <location line="+1"/>
+ <source>Ctrl+D</source>
+ <translation></translation>
</message>
<message>
- <location line="-79"/>
+ <location line="+68"/>
<source>Delete Folder</source>
- <translation>Dosszié törlése</translation>
+ <translation>Mappa törlése</translation>
</message>
<message>
<location line="+1"/>
<source>Rename Folder</source>
- <translation>Dosszié átnevezése</translation>
+ <translation>Mappa átnevezése</translation>
</message>
<message>
<location line="+2"/>
<source>Show Bookmark</source>
- <translation>Könyvjelző megjelenítése</translation>
+ <translation>Könyvjelző megnyitása</translation>
</message>
<message>
<location line="+1"/>
<source>Show Bookmark in New Tab</source>
- <translation>Könyvjelző megjelenítése új lapon</translation>
+ <translation>Könyvjelző megnyitása új fülön</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
<source>Delete Bookmark</source>
<translation>Könyvjelző törlése</translation>
</message>
@@ -142,64 +205,165 @@
<translation>Könyvjelző átnevezése</translation>
</message>
<message>
- <location line="+62"/>
+ <source>New Folder</source>
+ <translation type="obsolete">Új mappa</translation>
+ </message>
+</context>
+<context>
+ <name>BookmarkWidget</name>
+ <message>
+ <source>Filter:</source>
+ <translation type="obsolete">Szűrő:</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation type="obsolete">Törlés</translation>
+ </message>
+ <message>
+ <source>Delete Folder</source>
+ <translation type="obsolete">Mappa törlése</translation>
+ </message>
+ <message>
+ <source>Rename Folder</source>
+ <translation type="obsolete">Mappa átnevezése</translation>
+ </message>
+ <message>
+ <source>Show Bookmark</source>
+ <translation type="obsolete">Könyvjelző megnyitása</translation>
+ </message>
+ <message>
+ <source>Show Bookmark in New Tab</source>
+ <translation type="obsolete">Könyvjelző megnyitása új fülön</translation>
+ </message>
+ <message>
+ <source>Delete Bookmark</source>
+ <translation type="obsolete">Könyvjelző törlése</translation>
+ </message>
+ <message>
+ <source>Rename Bookmark</source>
+ <translation type="obsolete">Könyvjelző átnevezése</translation>
+ </message>
+ <message>
<source>Add</source>
- <translation>Hozzáadás</translation>
+ <translation type="obsolete">Hozzáadás</translation>
</message>
</context>
<context>
<name>CentralWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+239"/>
+ <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+121"/>
<source>Add new page</source>
- <translation>Új lap hozzáadása</translation>
+ <translation>Új fül hozzáadása</translation>
</message>
<message>
<location line="+9"/>
<source>Close current page</source>
- <translation>Aktuális lap bezárása</translation>
+ <translation>Az aktuális fül bezárása</translation>
</message>
<message>
- <location line="+312"/>
+ <location line="+287"/>
<source>Print Document</source>
<translation>Dokumentum nyomtatása</translation>
</message>
<message>
- <location line="+130"/>
+ <location line="+126"/>
<location line="+2"/>
<source>unknown</source>
<translation>ismeretlen</translation>
</message>
<message>
- <location line="+93"/>
+ <location line="+101"/>
<source>Add New Page</source>
- <translation>Új lap hozzáadása</translation>
+ <translation>Új fül hozzáadása</translation>
</message>
<message>
<location line="+3"/>
<source>Close This Page</source>
- <translation>Lap bezárása</translation>
+ <translation>Az aktuális fül bezárása</translation>
</message>
<message>
<location line="+3"/>
<source>Close Other Pages</source>
- <translation>Többi lap bezárása</translation>
+ <translation>A többi fül bezárása</translation>
</message>
<message>
<location line="+5"/>
<source>Add Bookmark for this Page...</source>
- <translation>Könyvjelző hozzáadása ehhez a laphoz...</translation>
+ <translation>A lap mentése könyvjelzőként...</translation>
</message>
<message>
- <location line="+235"/>
+ <location line="+264"/>
<source>Search</source>
<translation>Keresés</translation>
</message>
</context>
<context>
+ <name>CmdLineParser</name>
+ <message>
+ <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+137"/>
+ <source>Unknown option: %1</source>
+ <translation>Ismeretlen opció: %1</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>The collection file &apos;%1&apos; does not exist.</source>
+ <translation>A(z) &apos;%1&apos; gyűjteményfájl nem található.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Missing collection file.</source>
+ <translation>Hiányzó gyűjteményfájl.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Invalid URL &apos;%1&apos;.</source>
+ <translation>Érvénytelen URL: &apos;%1&apos;.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Missing URL.</source>
+ <translation>Hiányzó URL.</translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Unknown widget: %1</source>
+ <translation>Ismeretlen elem: %1</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Missing widget.</source>
+ <translation>Hiányzó elem.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>The Qt help file &apos;%1&apos; does not exist.</source>
+ <translation>A(z) &apos;%1&apos; Qt súgófájl nem létezik.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Missing help file.</source>
+ <translation>Hiányzó súgófájl.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Missing filter argument.</source>
+ <translation>Hiányzó szűrőparaméter.</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Error</source>
+ <translation>Hiba</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Notice</source>
+ <translation>Információ</translation>
+ </message>
+</context>
+<context>
<name>ContentWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+158"/>
+ <location filename="../tools/assistant/tools/assistant/contentwindow.cpp" line="+173"/>
<source>Open Link</source>
<translation>Link megnyitása</translation>
</message>
@@ -214,40 +378,35 @@
<message>
<location filename="../tools/assistant/tools/assistant/filternamedialog.ui"/>
<source>Add Filter Name</source>
- <translation>Szűrő név hozzáadása</translation>
+ <translation>Szűrőnév hozzáadása</translation>
</message>
<message>
<location/>
<source>Filter Name:</source>
- <translation>Szűrő név:</translation>
+ <translation>Szűrő neve:</translation>
</message>
</context>
<context>
<name>FindWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-918"/>
<source>Previous</source>
- <translation>Előző</translation>
+ <translation type="obsolete">Előző</translation>
</message>
<message>
- <location line="+4"/>
<source>Next</source>
- <translation>Következő</translation>
+ <translation type="obsolete">Következő</translation>
</message>
<message>
- <location line="+4"/>
<source>Case Sensitive</source>
- <translation>Kis és nagybetű érzékeny</translation>
+ <translation type="obsolete">Kis/nagybetű érzékeny</translation>
</message>
<message>
- <location line="+3"/>
<source>Whole words</source>
- <translation>Egész szavakat</translation>
+ <translation type="obsolete">Teljes szó</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;Keresés tördelése</translation>
+ <translation type="obsolete">&lt;img src=&quot;:/trolltech/assistant/images/wrap.png&quot;&gt;&amp;nbsp;A keresés megszakítva</translation>
</message>
</context>
<context>
@@ -255,77 +414,77 @@
<message>
<location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
- <translation>Betű</translation>
+ <translation>Betűtípus</translation>
</message>
<message>
<location line="+11"/>
<source>&amp;Writing system</source>
- <translation>Rendszer &amp;írása</translation>
+ <translation>Írás&amp;rendszer</translation>
</message>
<message>
<location line="+3"/>
<source>&amp;Family</source>
- <translation>&amp;Család</translation>
+ <translation>Betű&amp;típus</translation>
</message>
<message>
<location line="+4"/>
<source>&amp;Style</source>
- <translation>&amp;Stílus</translation>
+ <translation>Betű&amp;stílus</translation>
</message>
<message>
<location line="+4"/>
<source>&amp;Point size</source>
- <translation>&amp;Pont méret</translation>
+ <translation>Betű&amp;méret</translation>
</message>
</context>
<context>
<name>HelpViewer</name>
<message>
- <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+489"/>
<source>Help</source>
- <translation>Segítség</translation>
+ <translation type="obsolete">Súgó</translation>
</message>
<message>
- <location line="+1"/>
<source>OK</source>
- <translation>OK</translation>
+ <translation type="obsolete">OK</translation>
</message>
<message>
- <location line="-62"/>
+ <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+58"/>
+ <source>&lt;title&gt;about:blank&lt;/title&gt;</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+6"/>
<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-es hiba...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;A lap nem található &lt;/h1&gt;&lt;br&gt;&lt;h3&gt;&apos;%1&apos;&lt;/h3&gt;&lt;/div&gt;</translation>
+ <translation>&lt;title&gt;404-es hiba...&lt;/title&gt;&lt;div align=&quot;center&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;h1&gt;A lap nem található&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;Link címének másolása</translation>
+ <translation type="obsolete">&amp;Link címének másolása</translation>
</message>
<message>
- <location line="+3"/>
<source>Open Link in New Tab Ctrl+LMB</source>
- <translation>Link megnyitása új lapon Ctrl+LMB</translation>
+ <translation type="obsolete">Link megnyitása új lapon Ctrl+LMB</translation>
</message>
<message>
- <location line="-275"/>
<source>Open Link in New Tab</source>
- <translation>Link megnyitása új lapon</translation>
+ <translation type="obsolete">Link megnyitása új lapon</translation>
</message>
<message>
- <location line="+209"/>
<source>Unable to launch external application.
</source>
- <translation>Nem lehet külső alkalmazást indítani.</translation>
+ <translation type="obsolete">A külső alkalmazás elindítása sikertelen.
+</translation>
</message>
</context>
<context>
<name>IndexWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+66"/>
+ <location filename="../tools/assistant/tools/assistant/indexwindow.cpp" line="+68"/>
<source>&amp;Look for:</source>
- <translation>&amp;Keresés:</translation>
+ <translation>&amp;Amit keres:</translation>
</message>
<message>
- <location line="+68"/>
+ <location line="+74"/>
<source>Open Link</source>
<translation>Link megnyitása</translation>
</message>
@@ -339,36 +498,36 @@
<name>InstallDialog</name>
<message>
<location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+76"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+78"/>
<source>Install Documentation</source>
- <translation></translation>
+ <translation>Dokumentáció telepítése</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+30"/>
+ <location filename="../tools/assistant/tools/assistant/installdialog.cpp" line="+33"/>
<source>Downloading documentation info...</source>
- <translation>Dokumentum információ letöltése...</translation>
+ <translation>A dokumentáció információinak letöltése...</translation>
</message>
<message>
- <location line="+48"/>
+ <location line="+51"/>
<source>Download canceled.</source>
- <translation>Letöltés vmegszakítva.</translation>
+ <translation>Letöltés megszakítva.</translation>
</message>
<message>
- <location line="+26"/>
- <location line="+78"/>
+ <location line="+28"/>
+ <location line="+79"/>
<location line="+27"/>
<source>Done.</source>
<translation>Kész.</translation>
</message>
<message>
- <location line="-90"/>
+ <location line="-91"/>
<source>The file %1 already exists. Do you want to overwrite it?</source>
- <translation>A(z) %1 fájl már létezik. Felül szeretné írni?</translation>
+ <translation>A(z) &apos;%1&apos; nevű fájl már létezik. Felülírja?</translation>
</message>
<message>
<location line="+11"/>
<source>Unable to save the file %1: %2.</source>
- <translation>Nem lehet elmenteni a(z) %1 fájlt: %2.</translation>
+ <translation>A(z) %1 mentése sikertelen: %2.</translation>
</message>
<message>
<location line="+8"/>
@@ -376,37 +535,38 @@
<translation>%1 letöltése...</translation>
</message>
<message>
- <location line="+19"/>
+ <location line="+20"/>
<location line="+42"/>
- <location line="+38"/>
+ <location line="+40"/>
<source>Download failed: %1.</source>
- <translation>Nem sikerült a letöltés: %1.</translation>
+ <translation>A letöltés sikertelen: %1.</translation>
</message>
<message>
- <location line="-70"/>
+ <location line="-72"/>
<source>Documentation info file is corrupt!</source>
- <translation>Dokumentum információ sérült!</translation>
+ <translation>A dokumentáció információs fájlja sérült!</translation>
</message>
<message>
<location line="+37"/>
<source>Download failed: Downloaded file is corrupted.</source>
- <translation>Nem sikerült letölteni: A letöltött fájl sérült.</translation>
+ <translation>A letöltés sikertelen: a letöltött fájl sérült.</translation>
</message>
<message>
<location line="+2"/>
<source>Installing documentation %1...</source>
- <translation>%1 dokumentáció telepítése...</translation>
+ <translation>Dokumentáció telepítése %1...</translation>
</message>
<message>
- <location line="+22"/>
+ <location line="+23"/>
<source>Error while installing documentation:
%1</source>
- <translation>Hiba történt a dokumentáció telepítése közben: %1</translation>
+ <translation>Hiba a dokumentáció telepítésekor:
+%1</translation>
</message>
<message>
<location filename="../tools/assistant/tools/assistant/installdialog.ui"/>
<source>Available Documentation:</source>
- <translation>Elérhető dokumentáció:</translation>
+ <translation>Elérhető dokumentációk:</translation>
</message>
<message>
<location/>
@@ -416,7 +576,7 @@
<message>
<location/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
<location/>
@@ -437,20 +597,20 @@
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+110"/>
- <location line="+383"/>
+ <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+123"/>
+ <location line="+369"/>
<source>Index</source>
<translation>Index</translation>
</message>
<message>
- <location line="-377"/>
- <location line="+375"/>
+ <location line="-363"/>
+ <location line="+361"/>
<source>Contents</source>
<translation>Tartalom</translation>
</message>
<message>
- <location line="-370"/>
- <location line="+374"/>
+ <location line="-354"/>
+ <location line="+358"/>
<source>Bookmarks</source>
<translation>Könyvjelzők</translation>
</message>
@@ -460,27 +620,25 @@
<translation>Keresés</translation>
</message>
<message>
- <location line="-364"/>
- <location line="+207"/>
- <location line="+514"/>
+ <location line="-338"/>
+ <location line="+680"/>
+ <location line="+284"/>
<source>Qt Assistant</source>
- <translation>Qt Assistant</translation>
+ <translation>Qt Asszisztens</translation>
</message>
<message>
- <location line="-546"/>
- <location line="+5"/>
<source>Unfiltered</source>
- <translation>Szűrés nélküli</translation>
+ <translation type="obsolete">Szűrő kikapcsolása</translation>
</message>
<message>
- <location line="+107"/>
+ <location line="-705"/>
<source>Page Set&amp;up...</source>
- <translation>Lap Beállí&amp;tás...</translation>
+ <translation>&amp;Oldalbeállítás...</translation>
</message>
<message>
<location line="+2"/>
<source>Print Preview...</source>
- <translation>Nyomtatási előnézet...</translation>
+ <translation>Nyomtatási kép...</translation>
</message>
<message>
<location line="+3"/>
@@ -488,29 +646,34 @@
<translation>&amp;Nyomtatás...</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="-10"/>
<source>New &amp;Tab</source>
- <translation>Új &amp;Lap</translation>
+ <translation>Új &amp;fül</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+17"/>
<source>&amp;Close Tab</source>
- <translation>Lap &amp;bezárása</translation>
+ <translation>Fül be&amp;zárása</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="+5"/>
<source>&amp;Quit</source>
<translation>&amp;Kilépés</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+3"/>
+ <source>CTRL+Q</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+6"/>
<source>&amp;Copy selected Text</source>
- <translation>Kiválasztott szöveg &amp;másolása</translation>
+ <translation>A kijelölés &amp;másolása</translation>
</message>
<message>
<location line="+8"/>
<source>&amp;Find in Text...</source>
- <translation>&amp;Keresés szövegben...</translation>
+ <translation>Ke&amp;resés a szövegben...</translation>
</message>
<message>
<location line="+2"/>
@@ -520,12 +683,12 @@
<message>
<location line="+4"/>
<source>Find &amp;Next</source>
- <translation>&amp;Következő keresés</translation>
+ <translation>Követke&amp;ző keresése</translation>
</message>
<message>
<location line="+4"/>
<source>Find &amp;Previous</source>
- <translation>&amp;Előző keresés</translation>
+ <translation>&amp;Előző keresése</translation>
</message>
<message>
<location line="+5"/>
@@ -535,42 +698,42 @@
<message>
<location line="+4"/>
<source>Zoom &amp;in</source>
- <translation>&amp;Nagyítás</translation>
+ <translation>Na&amp;gyítás</translation>
</message>
<message>
<location line="+6"/>
<source>Zoom &amp;out</source>
- <translation>&amp;Kicsinyítés</translation>
+ <translation>Ki&amp;csinyítés</translation>
</message>
<message>
<location line="+6"/>
<source>Normal &amp;Size</source>
- <translation>Normál &amp;méret</translation>
+ <translation>Normá&amp;l méret</translation>
</message>
<message>
<location line="+4"/>
<source>Ctrl+0</source>
- <translation>Ctrl + 0</translation>
+ <translation></translation>
</message>
<message>
<location line="+5"/>
<source>ALT+C</source>
- <translation>ALT + C</translation>
+ <translation></translation>
</message>
<message>
<location line="+2"/>
<source>ALT+I</source>
- <translation>ALT + l</translation>
+ <translation></translation>
</message>
<message>
<location line="+4"/>
<source>ALT+S</source>
- <translation>ALT + S</translation>
+ <translation></translation>
</message>
<message>
<location line="+3"/>
<source>&amp;Home</source>
- <translation>&amp;Otthon</translation>
+ <translation>Kezdőla&amp;p</translation>
</message>
<message>
<location line="+4"/>
@@ -585,7 +748,7 @@
<message>
<location line="+6"/>
<source>Sync with Table of Contents</source>
- <translation>Tartalomjegyzékkel való szinkronizálás</translation>
+ <translation>Szinkronizálás a tartalomjegyzékkel</translation>
</message>
<message>
<location line="+2"/>
@@ -595,57 +758,61 @@
<message>
<location line="+5"/>
<source>Next Page</source>
- <translation>Következő lap</translation>
+ <translation>Következő oldal</translation>
</message>
<message>
<location line="+1"/>
<source>Ctrl+Alt+Right</source>
- <translation>Ctrl+Alt+Right</translation>
+ <translation></translation>
</message>
<message>
<location line="+3"/>
<source>Previous Page</source>
- <translation>Előző lap</translation>
+ <translation>Előző oldal</translation>
</message>
<message>
<location line="+1"/>
<source>Ctrl+Alt+Left</source>
- <translation>Ctrl+Alt+Left</translation>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+596"/>
+ <source>Could not register file &apos;%1&apos;: %2</source>
+ <translation>A(z) &apos;%1&apos; fájl regisztrálása sikertelen: %2</translation>
</message>
<message>
- <location line="+4"/>
<source>Add Bookmark...</source>
- <translation>Könyvjelző hozzáadása...</translation>
+ <translation type="obsolete">Könyvjelző hozzáadása...</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="-589"/>
<source>About...</source>
<translation>Névjegy...</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+21"/>
<source>Navigation Toolbar</source>
<translation>Navigációs eszköztár</translation>
</message>
<message>
- <location line="+76"/>
+ <location line="+69"/>
<source>Toolbars</source>
- <translation>Eszköztár</translation>
+ <translation>Eszköztárak</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+16"/>
<source>Filter Toolbar</source>
- <translation>Eszköztár szűrő</translation>
+ <translation>Szűrő eszköztár</translation>
</message>
<message>
<location line="+2"/>
<source>Filtered by:</source>
- <translation>Szűrési feltétel:</translation>
+ <translation>Szűrés alapja: </translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+26"/>
<source>Address Toolbar</source>
- <translation>Eszköztár cím</translation>
+ <translation>Cím eszköztár</translation>
</message>
<message>
<location line="+4"/>
@@ -653,27 +820,27 @@
<translation>Cím:</translation>
</message>
<message>
- <location line="+114"/>
+ <location line="+112"/>
<source>Could not find the associated content item.</source>
- <translation>Nem sikerült az összekapcsolt tartalom elemet megtalálni.</translation>
+ <translation>A hozzárendelt tartalom nem található.</translation>
</message>
<message>
- <location line="+71"/>
+ <location line="+60"/>
<source>About %1</source>
- <translation>%1-ről</translation>
+ <translation>%1 névjegye</translation>
</message>
<message>
- <location line="+114"/>
+ <location line="+175"/>
<source>Updating search index</source>
<translation>Keresési index frissítése</translation>
</message>
<message>
- <location line="-640"/>
+ <location line="-669"/>
<source>Looking for Qt Documentation...</source>
<translation>Qt dokumentáció keresése...</translation>
</message>
<message>
- <location line="+241"/>
+ <location line="+227"/>
<source>&amp;Window</source>
<translation>&amp;Ablak</translation>
</message>
@@ -685,22 +852,22 @@
<message>
<location line="+1"/>
<source>Ctrl+M</source>
- <translation>Ctrl + M</translation>
+ <translation></translation>
</message>
<message>
<location line="-2"/>
<source>Zoom</source>
- <translation>Zoomolás</translation>
+ <translation>Nagyítás</translation>
</message>
<message>
- <location line="-159"/>
+ <location line="-169"/>
<source>&amp;File</source>
<translation>&amp;Fájl</translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+32"/>
<source>&amp;Edit</source>
- <translation>&amp;Szerkesztés</translation>
+ <translation>S&amp;zerkesztés</translation>
</message>
<message>
<location line="+27"/>
@@ -710,51 +877,46 @@
<message>
<location line="+30"/>
<source>&amp;Go</source>
- <translation>&amp;Gyerünk</translation>
+ <translation>&amp;Előre</translation>
</message>
<message>
<location line="+2"/>
<source>ALT+Home</source>
- <translation>ALT+Home</translation>
+ <translation></translation>
</message>
<message>
- <location line="+29"/>
+ <location line="+30"/>
<source>&amp;Bookmarks</source>
- <translation>&amp;Könyvjelzők</translation>
+ <translation>Könyv&amp;jelzők</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+2"/>
<source>&amp;Help</source>
- <translation>&amp;Segítség</translation>
+ <translation>&amp;Súgó</translation>
</message>
<message>
- <location line="-40"/>
+ <location line="-38"/>
<source>ALT+O</source>
- <translation>ALT + 0</translation>
- </message>
- <message>
- <location line="+38"/>
- <source>CTRL+D</source>
- <translation>CTRL+D</translation>
+ <translation></translation>
</message>
</context>
<context>
<name>PreferencesDialog</name>
<message>
- <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+259"/>
- <location line="+43"/>
+ <location filename="../tools/assistant/tools/assistant/preferencesdialog.cpp" line="+252"/>
+ <location line="+44"/>
<source>Add Documentation</source>
<translation>Dokumentáció hozzáadása</translation>
</message>
<message>
- <location line="-43"/>
+ <location line="-44"/>
<source>Qt Compressed Help Files (*.qch)</source>
- <translation>Qt tömörített súgó fájlok (*.qch)</translation>
+ <translation>Qt tömörített súgófájlok (*.qch)</translation>
</message>
<message>
- <location line="+37"/>
+ <location line="+38"/>
<source>The specified file is not a valid Qt Help File!</source>
- <translation>A meghatározott fájl egy érvénytelen Qt Súgó fájl!</translation>
+ <translation>A megadott fájl nem Qt súgófájl!</translation>
</message>
<message>
<location line="-8"/>
@@ -762,19 +924,19 @@
<translation>A(z) %1 névtér már regisztrálva van!</translation>
</message>
<message>
- <location line="+31"/>
+ <location line="+32"/>
<source>Remove Documentation</source>
<translation>Dokumentáció eltávolítása</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>Néhány dokumentum jelenleg az Assistant hivatkozásban lett megnyitva, amely az a dokumentum, amit megpróbál eltávolítani. A dokumentum eltávolítása be fogja zárni azokat a dokumentumokat.</translation>
+ <translation>Az eltávolítani kívánt dokumentációból néhány dokumentum jelenleg meg van nyitva az Asszisztensben. A dokumentáció eltávolításával ezen dokumentumok automatikusan bezárulnak.</translation>
</message>
<message>
<location line="+2"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
<location line="+1"/>
@@ -782,9 +944,9 @@
<translation>OK</translation>
</message>
<message>
- <location line="+88"/>
+ <location line="+83"/>
<source>Use custom settings</source>
- <translation>Szokásos beállítások használata</translation>
+ <translation>Egyéni beállítások használata</translation>
</message>
</context>
<context>
@@ -797,12 +959,12 @@
<message>
<location/>
<source>Fonts</source>
- <translation>Betűk</translation>
+ <translation>Betűtípus</translation>
</message>
<message>
<location/>
<source>Font settings:</source>
- <translation>Betű beállítások:</translation>
+ <translation>Betűtípus beállítása:</translation>
</message>
<message>
<location/>
@@ -822,17 +984,17 @@
<message>
<location/>
<source>Filter:</source>
- <translation>Szűrők:</translation>
+ <translation>Szűrő:</translation>
</message>
<message>
<location/>
<source>Attributes:</source>
- <translation>Attrubútumok:</translation>
+ <translation>Attribútumok:</translation>
</message>
<message>
<location/>
<source>1</source>
- <translation>1</translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -842,7 +1004,7 @@
<message>
<location/>
<source>Remove</source>
- <translation>Eltávolítás</translation>
+ <translation>Törlés</translation>
</message>
<message>
<location/>
@@ -867,37 +1029,38 @@
<message>
<location/>
<source>Current Page</source>
- <translation>Aktuális lap</translation>
+ <translation>Aktuális oldal</translation>
</message>
<message>
<location/>
<source>Restore to default</source>
- <translation>Alapértelmezett beállítások visszaállítása</translation>
+ <translation>Alapértelmezés</translation>
</message>
<message>
<location/>
<source>Homepage</source>
- <translation>Honlap</translation>
+ <translation>Kezdőlap</translation>
</message>
<message>
<location/>
<source>On help start:</source>
- <translation>Súgó indításra:</translation>
+ <translation>A súgó indításakor:</translation>
</message>
<message>
<location/>
<source>Show my home page</source>
- <translation>Honlapom megjelenítése</translation>
+ <translation>Mutassa a kezdőlapomat</translation>
</message>
<message>
<location/>
<source>Show a blank page</source>
- <translation>Egy üres lap megjelenítése</translation>
+ <translation>Mutasson egy üres lapot</translation>
</message>
<message>
<location/>
<source>Show my tabs from last session</source>
- <translation>A lapjaim megjelenításe a legutolsó szakaszból</translation>
+ <translatorcomment>Too long...</translatorcomment>
+ <translation>Mutassa az előzőleg megnyitott füleket</translation>
</message>
<message>
<location/>
@@ -908,131 +1071,111 @@
<context>
<name>QObject</name>
<message>
- <location filename="../tools/assistant/tools/assistant/cmdlineparser.cpp" line="+112"/>
<source>The specified collection file does not exist!</source>
- <translation>A meghatározott gyűjtemény fájl nem létezik!</translation>
+ <translation type="obsolete">A megadott gyűjtemény nem található!</translation>
</message>
<message>
- <location line="+4"/>
<source>Missing collection file!</source>
- <translation>Hiányzó gyűjtemény fájl!</translation>
+ <translation type="obsolete">A gyűjtemény fájl hiányzik!</translation>
</message>
<message>
- <location line="+9"/>
<source>Invalid URL!</source>
- <translation>Érvénytelen URL!</translation>
+ <translation type="obsolete">Az URL érvénytelen!</translation>
</message>
<message>
- <location line="+4"/>
<source>Missing URL!</source>
- <translation>Hiányzó URL!</translation>
+ <translation type="obsolete">Az URL hiányzik!</translation>
</message>
<message>
- <location line="+17"/>
- <location line="+19"/>
- <location line="+19"/>
<source>Unknown widget: %1</source>
- <translation>Ismeretlen widget: %1</translation>
+ <translation type="obsolete">Ismeretlen elem: %1</translation>
</message>
<message>
- <location line="-34"/>
- <location line="+19"/>
- <location line="+19"/>
<source>Missing widget!</source>
- <translation>Hiányzó widget!</translation>
+ <translation type="obsolete">Az elem hiányzik!</translation>
</message>
<message>
- <location line="+7"/>
- <location line="+12"/>
<source>The specified Qt help file does not exist!</source>
- <translation>A meghatározott Qt súgó fájl nem létezik!</translation>
+ <translation type="obsolete">A megadott Qt súgófájl nem található!</translation>
</message>
<message>
- <location line="-7"/>
- <location line="+12"/>
<source>Missing help file!</source>
- <translation>Hiányzó súgó fájl!</translation>
+ <translation type="obsolete">A súgófájl hiányzik!</translation>
</message>
<message>
- <location line="+7"/>
<source>Missing filter argument!</source>
- <translation>Hiányzó szűrő argumentum!</translation>
+ <translation type="obsolete">A szűrőparaméter hiányzik!</translation>
</message>
<message>
- <location line="+12"/>
<source>Unknown option: %1</source>
- <translation>Ismeretlen opció: %1</translation>
+ <translation type="obsolete">Ismeretlen opció: %1</translation>
</message>
<message>
- <location line="+30"/>
- <location line="+2"/>
<source>Qt Assistant</source>
- <translation>Qt Assistant</translation>
+ <translation type="obsolete">Qt Asszisztens</translation>
</message>
<message>
- <location filename="../tools/assistant/tools/assistant/main.cpp" line="+225"/>
<source>Could not register documentation file
%1
Reason:
%2</source>
- <translation>Nem sikerült a dokumentációs fájl regisztrálása
+ <translation type="obsolete">A dokumentációs fájl regisztrálása sikertelen
%1
-Ok:
+Oka:
%2</translation>
</message>
<message>
- <location line="+4"/>
<source>Documentation successfully registered.</source>
- <translation>A dokumentáció regisztrálása sikeresen megtörtént.</translation>
+ <translation type="obsolete">A dokumentáció regisztrálása sikerült.</translation>
</message>
<message>
- <location line="+11"/>
<source>Could not unregister documentation file
%1
Reason:
%2</source>
- <translation>Nem sikerült regisztrálni a dokumentációs fájlt
+ <translation type="obsolete">A dokumentációs fájl eltávolítása sikertelen
%1
-Ok:
+Oka:
%2</translation>
</message>
<message>
- <location line="-3"/>
<source>Documentation successfully unregistered.</source>
- <translation>Dokumentáció regisztrációjának megszűntetése sikeresen megtörtént.</translation>
+ <translation type="obsolete">A dokumentáció eltávolítása sikerült.</translation>
</message>
<message>
- <location line="+40"/>
<source>Cannot load sqlite database driver!</source>
- <translation>Nem lehet betölteni az sqlite adatbázis vezérlőt!</translation>
+ <translation type="obsolete">Az sqlite adatbázisdriver nem tölthető be!</translation>
</message>
<message>
- <location line="+9"/>
<source>The specified collection file could not be read!</source>
- <translation>A meghatározott gyűjtemény fájlt nem lehet olvasni!</translation>
+ <translation type="obsolete">A megadott gyűjtemény nem olvasható!</translation>
+ </message>
+ <message>
+ <source>Bookmark</source>
+ <translation type="obsolete">Könyvjelző</translation>
</message>
</context>
<context>
<name>RemoteControl</name>
<message>
- <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+163"/>
+ <location filename="../tools/assistant/tools/assistant/remotecontrol.cpp" line="+165"/>
<source>Debugging Remote Control</source>
- <translation>Debuggolás Távoli Vezérlő</translation>
+ <translation>Hibakövetés távoli vezérlése</translation>
</message>
<message>
<location line="+1"/>
<source>Received Command: %1 %2</source>
- <translation>Elfogadott parancs: %1 %2</translation>
+ <translation>A kapott parancs: %1 %2</translation>
</message>
</context>
<context>
<name>SearchWidget</name>
<message>
- <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+196"/>
+ <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+210"/>
<source>&amp;Copy</source>
<translation>&amp;Másolás</translation>
</message>
@@ -1044,40 +1187,44 @@ Ok:
<message>
<location line="+4"/>
<source>Open Link in New Tab</source>
- <translation>Link megnyitása új lapon</translation>
+ <translation>Link megnyitása új fülön</translation>
</message>
<message>
<location line="+8"/>
<source>Select All</source>
- <translation>Az összes kiválasztása</translation>
+ <translation>Mindent kijelöl</translation>
+ </message>
+ <message>
+ <source>Open Link</source>
+ <translation type="obsolete">Link megnyitása</translation>
</message>
</context>
<context>
<name>TopicChooser</name>
<message>
- <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+54"/>
+ <location filename="../tools/assistant/tools/assistant/topicchooser.cpp" line="+53"/>
<source>Choose a topic for &lt;b&gt;%1&lt;/b&gt;:</source>
- <translation>Topik választása a következőhöz: &lt;b&gt;%1&lt;/b&gt;:</translation>
+ <translation>Téma választása ehhez: &lt;b&gt;%1&lt;/b&gt;:</translation>
</message>
<message>
<location filename="../tools/assistant/tools/assistant/topicchooser.ui"/>
<source>Choose Topic</source>
- <translation>Topik választása</translation>
+ <translation>Téma választása </translation>
</message>
<message>
<location/>
<source>&amp;Topics</source>
- <translation>&amp;Topikok</translation>
+ <translation>&amp;Témák</translation>
</message>
<message>
<location/>
<source>&amp;Display</source>
- <translation>&amp;Kijelzés</translation>
+ <translation>Meg&amp;jelenítés</translation>
</message>
<message>
<location/>
<source>&amp;Close</source>
- <translation>&amp;Bezárás</translation>
+ <translation>Be&amp;zárás</translation>
</message>
</context>
</TS>
diff --git a/translations/check-ts.pl b/translations/check-ts.pl
new file mode 100755
index 0000000..7b46bf5
--- /dev/null
+++ b/translations/check-ts.pl
@@ -0,0 +1,85 @@
+#! /usr/bin/perl -w
+
+use strict;
+
+# "qt" must come last to avoid prefix matching.
+my @groups = ("assistant", "designer", "linguist", "qt_help", "qtconfig", "qvfb", "qt");
+
+my %scores = ();
+my %langs = ();
+
+my $files = join("\n", <*.ts>);
+my $res = `xmlpatterns -param files=\"$files\" check-ts.xq`;
+for my $i (split(/ /, $res)) {
+ $i =~ /^([^.]+).ts:(.*)$/;
+ my ($fn, $pc) = ($1, $2);
+ for my $g (@groups) {
+ if ($fn =~ /^${g}_(.*)$/) {
+ my $lang = $1;
+ $scores{$g}{$lang} = $pc;
+ $langs{$lang} = 1;
+ last;
+ }
+ }
+}
+
+# now we move "qt" to the front, as it should be the first column.
+pop @groups;
+unshift @groups, "qt";
+
+my $code = "";
+
+print "L10n ";
+for my $g (@groups) {
+ print " ".$g." ";
+}
+print "\n";
+for my $lang (sort(keys(%langs))) {
+ printf "%-5s ", $lang;
+ my $qt = 1;
+ my $rest = 1;
+ my $line = "";
+ for my $g (@groups) {
+ my $pc = $scores{$g}{$lang};
+ $pc = "0" if !defined($pc);
+ if (int($pc) < 98 or !$qt) {
+ if ($g eq "qt") {
+ $qt = 0;
+ } else {
+ $rest = 0;
+ }
+ } else {
+ $line .= " ".$g."_".$lang.".ts";
+ }
+ printf " %-".(length($g)+1)."s", $pc;
+ }
+ if ($qt) {
+ $code .= " \\\n ".$line;
+ if (!$rest) {
+ print " (partial)";
+ }
+ } else {
+ print " (excluded)";
+ }
+ print "\n";
+}
+
+my $fn = "translations.pro";
+my $nfn = $fn."new";
+open IN, $fn or die;
+open OUT, ">".$nfn or die;
+while (1) {
+ $_ = <IN>;
+ last if (/^TRANSLATIONS /);
+ print OUT $_;
+}
+while ($_ =~ /\\\n$/) {
+ $_ = <IN>;
+}
+print OUT "TRANSLATIONS =".$code."\n";
+while (<IN>) {
+ print OUT $_;
+}
+close OUT;
+close IN;
+rename $nfn, $fn;
diff --git a/translations/check-ts.xq b/translations/check-ts.xq
new file mode 100644
index 0000000..2d6404c
--- /dev/null
+++ b/translations/check-ts.xq
@@ -0,0 +1,3 @@
+for $file in tokenize($files, codepoints-to-string(10))
+ let $fresh := doc($file)/TS/context/message[not (translation/@type = 'obsolete')]
+ return concat($file, ":", count($fresh/translation[not (@type = 'unfinished')]) * 100 idiv count($fresh))
diff --git a/translations/designer_hu.ts b/translations/designer_hu.ts
index c2960bc..6375cde 100644
--- a/translations/designer_hu.ts
+++ b/translations/designer_hu.ts
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.0" language="hu">
+<TS version="2.0" language="hu_HU">
<context>
<name>AbstractFindWidget</name>
<message>
@@ -16,33 +16,33 @@
<message>
<location line="+24"/>
<source>&amp;Case sensitive</source>
- <translation>&amp;Kis ér nagybetű érzékeny</translation>
+ <translation>Kis/&amp;nagybetű érzékeny</translation>
</message>
<message>
<location line="+8"/>
<source>Whole &amp;words</source>
- <translation>Egész &amp;szavakat</translation>
+ <translation>&amp;Teljes szó</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;Keresés tördelve</translation>
+ <translation>&lt;img src=&quot;:/trolltech/shared/images/wrap.png&quot;&gt;&amp;nbsp;A keresés befejeződött</translation>
</message>
</context>
<context>
<name>AddLinkDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/addlinkdialog.ui" line="+5"/>
+ <location filename="../tools/designer/src/lib/shared/addlinkdialog.ui"/>
<source>Insert Link</source>
<translation>Link beszúrása</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Title:</source>
<translation>Cím:</translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>URL:</source>
<translation>URL:</translation>
</message>
@@ -52,7 +52,7 @@
<message>
<location filename="../tools/designer/src/designer/appfontdialog.cpp" line="+418"/>
<source>Additional Fonts</source>
- <translation>További betűl</translation>
+ <translation>További betűtípusok</translation>
</message>
</context>
<context>
@@ -60,37 +60,37 @@
<message>
<location line="-267"/>
<source>&apos;%1&apos; is not a file.</source>
- <translation>%1 nem egy fájl.</translation>
+ <translation>&apos;%1&apos; nem egy fájl.</translation>
</message>
<message>
<location line="+4"/>
<source>The font file &apos;%1&apos; does not have read permissions.</source>
- <translation>&apos;%1&apos; betű fájlnak nincsen olvasási engedélye.</translation>
+ <translation>A(z) &apos;%1&apos; font fájlon nincs olvasási jog.</translation>
</message>
<message>
<location line="+8"/>
<source>The font file &apos;%1&apos; is already loaded.</source>
- <translation>&apos;%1&apos; font fájl már be van töltve.</translation>
+ <translation>A(z) &apos;%1&apos; betűtípus már be van töltve.</translation>
</message>
<message>
<location line="+7"/>
<source>The font file &apos;%1&apos; could not be loaded.</source>
- <translation>&apos;%1&apos; font fájlt nem sikerült betölteni.</translation>
+ <translation>A(z) &apos;%1&apos; betűtípus nem tölthető be.</translation>
</message>
<message>
<location line="+17"/>
<source>&apos;%1&apos; is not a valid font id.</source>
- <translation>&apos;%1&apos; nem egy érvényes betű azonosító.</translation>
+ <translation>&apos;%1&apos; nem egy érvényes betűtípus azonosító.</translation>
</message>
<message>
<location line="+11"/>
<source>There is no loaded font matching the id &apos;%1&apos;.</source>
- <translation>Nincsen &apos;%1&apos; azonosítóval megegyező betöltött betű.</translation>
+ <translation>Nincs &apos;%1&apos; azonosítójú betűtípus betöltve.</translation>
</message>
<message>
<location line="+15"/>
<source>The font &apos;%1&apos; (%2) could not be unloaded.</source>
- <translation>&apos;%1&apos; betűt (%2) nem lehetett kirakni.</translation>
+ <translation>A(z) &apos;%1&apos; (%2) betűtípus nem távolítható el.</translation>
</message>
</context>
<context>
@@ -98,65 +98,65 @@
<message>
<location line="+26"/>
<source>Fonts</source>
- <translation>Betűk</translation>
+ <translation>Betűtípusok</translation>
</message>
<message>
<location line="+58"/>
<source>Add font files</source>
- <translation>Betű fájlok hozzáadása</translation>
+ <translation>Betűtípus fájl hozzáadása</translation>
</message>
<message>
<location line="+5"/>
<source>Remove current font file</source>
- <translation>Aktuális betű fájl eltávolítása</translation>
+ <translation>A jelenlegi betűtípus fájl eltávolítása</translation>
</message>
<message>
<location line="+4"/>
<source>Remove all font files</source>
- <translation>Az összes betű fájl eltávolítása</translation>
+ <translation>Minden betűtłpus fájl eltávolítása</translation>
</message>
<message>
<location line="+19"/>
<source>Add Font Files</source>
- <translation>Betű fájlok hozzáadása</translation>
+ <translation>Betűtípus fájl hozzáadása</translation>
</message>
<message>
<location line="+1"/>
<source>Font files (*.ttf)</source>
- <translation>Betű fájlok (*.ttf)</translation>
+ <translation>Betűtípus fájlok (*.ttf)</translation>
</message>
<message>
<location line="+13"/>
<source>Error Adding Fonts</source>
- <translation>Hiba történt a betűk hozzáadásakor</translation>
+ <translation>Hiba a betűtípus fájlok hozzáadásakor</translation>
</message>
<message>
<location line="+24"/>
<source>Error Removing Fonts</source>
- <translation>Hiba történt a betűk eltávolításakor</translation>
+ <translation>Hiba a betűtípus fájlok eltávolításakor</translation>
</message>
<message>
<location line="+22"/>
<source>Remove Fonts</source>
- <translation>Betűk eltávolítása</translation>
+ <translation>Betűtípus fájl eltávolítása</translation>
</message>
<message>
<location line="+0"/>
<source>Would you like to remove all fonts?</source>
- <translation>El szeretné távolítani az összes betűt?</translation>
+ <translation>Minden betűtípust eltávolít?</translation>
</message>
</context>
<context>
<name>AppearanceOptionsWidget</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.ui" line="+14"/>
+ <location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.ui"/>
<source>Form</source>
<translation></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>User Interface Mode</source>
- <translation>Felhasználói interfész mód</translation>
+ <translation>Felhasználói felület mód</translation>
</message>
</context>
<context>
@@ -164,17 +164,17 @@
<message>
<location filename="../tools/designer/src/designer/assistantclient.cpp" line="+100"/>
<source>Unable to send request: Assistant is not responding.</source>
- <translation>Nem lehet elküldeni a kérést, az Assistant nem válaszol.</translation>
+ <translation>A kérés elküldése nem sikerült: az Assistant nem válaszol.</translation>
</message>
<message>
<location line="+39"/>
<source>The binary &apos;%1&apos; does not exist.</source>
- <translation>&apos;%1&apos; bináris nem létezik.</translation>
+ <translation>A(z) &apos;%1&apos; bináris nem létezik.</translation>
</message>
<message>
<location line="+9"/>
<source>Unable to launch assistant (%1).</source>
- <translation>Nem lehet elindítani a(z) %1 assistant.</translation>
+ <translation>Az Assistant (%1) elindítása sikertelen.</translation>
</message>
</context>
<context>
@@ -182,12 +182,12 @@
<message>
<location filename="../tools/designer/src/components/propertyeditor/brushpropertymanager.cpp" line="+52"/>
<source>No brush</source>
- <translation>Nincs kefe</translation>
+ <translation>Nincs ecset</translation>
</message>
<message>
<location line="+1"/>
<source>Solid</source>
- <translation>Szolid</translation>
+ <translation>Lágy</translation>
</message>
<message>
<location line="+1"/>
@@ -227,12 +227,12 @@
<message>
<location line="+1"/>
<source>Horizontal</source>
- <translation>Horizontális</translation>
+ <translation>Vízszintes</translation>
</message>
<message>
<location line="+1"/>
<source>Vertical</source>
- <translation>Vertikális</translation>
+ <translation>Függőleges</translation>
</message>
<message>
<location line="+1"/>
@@ -242,20 +242,20 @@
<message>
<location line="+1"/>
<source>Backward diagonal</source>
- <translation>Visszafele átlós</translation>
+ <translation>Fordított átlós</translation>
</message>
<message>
<location line="+1"/>
<source>Forward diagonal</source>
- <translation>Előre átlós</translation>
+ <translation>Átlós</translation>
</message>
<message>
<location line="+1"/>
<source>Crossing diagonal</source>
- <translation>Kereszt átlós</translation>
+ <translation>Keresztátlós</translation>
</message>
<message>
- <location line="+83"/>
+ <location line="+93"/>
<source>Style</source>
<translation>Stílus</translation>
</message>
@@ -267,7 +267,7 @@
<message>
<location line="+105"/>
<source>[%1, %2]</source>
- <translation>[%1, %2]</translation>
+ <translation></translation>
</message>
</context>
<context>
@@ -276,66 +276,66 @@
<location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="+208"/>
<location line="+258"/>
<source>Change signal</source>
- <translation>Jel változtatás</translation>
+ <translation>Jelzés megváltoztatása</translation>
</message>
<message>
<location line="-256"/>
<location line="+268"/>
<source>Change slot</source>
- <translation>Szlot változtatás</translation>
+ <translation>Slot megváltoztatása</translation>
</message>
<message>
<location line="-220"/>
<source>Change signal-slot connection</source>
- <translation>Jel szlot kapcsolat változtatása</translation>
+ <translation>Jelzés-slot kapcsolat megváltoztatása</translation>
</message>
<message>
<location line="+234"/>
<source>Change sender</source>
- <translation>Küldő változtatás</translation>
+ <translation>Küldő megváltoztatása</translation>
</message>
<message>
<location line="+18"/>
<source>Change receiver</source>
- <translation>Fogadó változtatás</translation>
+ <translation>Fogadó megváltoztatása</translation>
</message>
<message>
<location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+221"/>
<source>Create button group</source>
- <translation>Gomb csoport létrehozása</translation>
+ <translation>Gombcsoport létrehozása</translation>
</message>
<message>
<location line="+27"/>
<source>Break button group</source>
- <translation>Gomb csoport törése</translation>
+ <translation>Gombcsoport széttörése</translation>
</message>
<message>
<location line="+9"/>
<source>Break button group &apos;%1&apos;</source>
- <translation>&apos;%1&apos; gomb csoport törése</translation>
+ <translation>A(z) &apos;%1&apos; gombcsoport széttörése</translation>
</message>
<message>
<location line="+17"/>
<source>Add buttons to group</source>
- <translation>Gomb hozzáadása a csoporthoz</translation>
+ <translation>Gomb(ok) hozzáadása a csoporthoz</translation>
</message>
<message>
<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>&apos;%1&apos; hozzáadása &apos;%2&apos;-höz</translation>
+ <translation>&apos;%1&apos; hozzáadása ehhez: &apos;%2&apos;</translation>
</message>
<message>
<location line="+14"/>
<source>Remove buttons from group</source>
- <translation>Gomb eltávolítása a csoportból</translation>
+ <translation>Gomb(ok) eltávolítása a csoportból</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>&apos;%1&apos; eltávolítása &apos;%2&apos;-ból</translation>
+ <translation>&apos;%1&apos; eltávolítása innen: &apos;%2&apos;</translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+143"/>
@@ -345,7 +345,7 @@
<message>
<location line="+54"/>
<source>Adjust connection</source>
- <translation>Kapcsolat beállítása</translation>
+ <translation>Kapcsolat módosítása</translation>
</message>
<message>
<location line="+19"/>
@@ -355,18 +355,18 @@
<message>
<location line="+58"/>
<source>Change source</source>
- <translation>Forrás változtatása</translation>
+ <translation>Forrás megváltoztatása</translation>
</message>
<message>
<location line="+2"/>
<source>Change target</source>
- <translation>Cél változtatása</translation>
+ <translation>Cél megváltoztatása</translation>
</message>
<message>
<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; alakváltoztatása %3-re</translation>
+ <translation>%1/&apos;%2&apos; átalakítása erre: %3</translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_command.cpp" line="+149"/>
@@ -381,12 +381,12 @@
<message>
<location line="+34"/>
<source>Raise &apos;%1&apos;</source>
- <translation>&apos;%1&apos; növelése</translation>
+ <translation>&apos;%1&apos; előrehozása</translation>
</message>
<message>
<location line="+33"/>
<source>Lower &apos;%1&apos;</source>
- <translation>Alsó &apos;%1&apos;</translation>
+ <translation>&apos;%1&apos; hátrébbküldése</translation>
</message>
<message>
<location line="+113"/>
@@ -396,49 +396,49 @@
<message>
<location line="+119"/>
<source>Reparent &apos;%1&apos;</source>
- <translation>&apos;%1&apos; újra szülősítése</translation>
+ <translation type="unfinished">&apos;%1&apos; szülőjének megváltoztatása</translation>
</message>
<message>
<location line="+53"/>
<source>Promote to custom widget</source>
- <translation>Egyéni widget elősegítése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+42"/>
<source>Demote from custom widget</source>
- <translation>Egyéni widget lefokozása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+79"/>
<source>Lay out using grid</source>
- <translation>Tervraj rácsok használatával</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lay out vertically</source>
- <translation>Tervrajz vertikálisan</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lay out horizontally</source>
- <translation>Tervrajz horizontálisan</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+41"/>
<source>Break layout</source>
- <translation>Tervrajz törése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+105"/>
<source>Simplify Grid Layout</source>
- <translation>Egyszerűsített rács tervrajz</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+135"/>
<location line="+235"/>
<location line="+78"/>
<source>Move Page</source>
- <translation>Lap mozgatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-279"/>
@@ -446,18 +446,18 @@
<location line="+188"/>
<location line="+666"/>
<source>Delete Page</source>
- <translation>Lap törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-939"/>
<location line="+123"/>
<source>Page</source>
- <translation>Lap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+860"/>
<source>page</source>
- <translation>lap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-978"/>
@@ -465,251 +465,249 @@
<location line="+186"/>
<location line="+667"/>
<source>Insert Page</source>
- <translation>Lap beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-647"/>
<source>Change Tab order</source>
- <translation>Tab sorrend változtatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+28"/>
<source>Create Menu Bar</source>
- <translation>Menü sáv</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+44"/>
<source>Delete Menu Bar</source>
- <translation>Menü sáv törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+47"/>
<source>Create Status Bar</source>
- <translation>Státusz sáv létrehozása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+42"/>
<source>Delete Status Bar</source>
- <translation>Státusz sáv törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+45"/>
<source>Add Tool Bar</source>
- <translation>Eszköz sáv hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+59"/>
<source>Add Dock Window</source>
- <translation>Dokk ablak hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+53"/>
<source>Adjust Size of &apos;%1&apos;</source>
- <translation>&apos;%1&apos; méretének igazítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+57"/>
<source>Change Form Layout Item Geometry</source>
- <translation>Űrlap tervrajz elem geometriájának megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+95"/>
<source>Change Layout Item Geometry</source>
- <translation>Tervrajz elem geometriájának megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+138"/>
<source>Delete Subwindow</source>
- <translation>Alablak törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+44"/>
<source>Insert Subwindow</source>
- <translation>Alablak beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>subwindow</source>
- <translation>alablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Subwindow</source>
- <translation>Alablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+391"/>
<source>Change Table Contents</source>
- <translation>Táblázat tartalom megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+107"/>
<source>Change Tree Contents</source>
- <translation>Fa tartalom megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+74"/>
<location line="+146"/>
<source>Add action</source>
- <translation>Tevékenység hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-120"/>
<location line="+126"/>
<source>Remove action</source>
- <translation>Tevékenység eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+53"/>
<source>Add menu</source>
- <translation>Menü hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Remove menu</source>
- <translation>Menü eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Create submenu</source>
- <translation>Almenü létrehozása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+31"/>
<source>Delete Tool Bar</source>
- <translation>Eszköz sáv törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<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>&apos;%1&apos; tervrajz megváltoztatása %2-ről %3-ra</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1195"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="+1194"/>
<source>Set action text</source>
- <translation>Tevékenység szöveg beállítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Insert action</source>
- <translation>Tevékenység beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+89"/>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+907"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+915"/>
<source>Move action</source>
- <translation>Tevékenység mozgatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-424"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-432"/>
<source>Change Title</source>
- <translation>Cím megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Insert Menu</source>
- <translation>Menü beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1213"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertycommand.cpp" line="+1225"/>
<source>Changed &apos;%1&apos; of &apos;%2&apos;</source>
- <translation>&apos;%2&apos; &apos;%1&apos;-ének megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+3"/>
<source>Changed &apos;%1&apos; of %n objects</source>
- <translation>
- <numerusform>%n objektum %1-ének megváltoztatása</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
- <location line="+76"/>
+ <location line="+84"/>
<source>Reset &apos;%1&apos; of &apos;%2&apos;</source>
- <translation>&apos;%2&apos; &apos;%1&apos;-ének megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+3"/>
<source>Reset &apos;%1&apos; of %n objects</source>
- <translation>
- <numerusform>%n objektum &apos;%1&apos;-ének újraindítása</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
<location line="+89"/>
<source>Add dynamic property &apos;%1&apos; to &apos;%2&apos;</source>
- <translation>&apos;%2&apos; &apos;%1&apos; dinamikus tulajdonságának hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+3"/>
<source>Add dynamic property &apos;%1&apos; to %n objects</source>
- <translation>
- <numerusform>%n objektum&apos; &apos;%1&apos; dinamikus tulajdonságának hozzáadása</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
<location line="+86"/>
<source>Remove dynamic property &apos;%1&apos; from &apos;%2&apos;</source>
- <translation>&apos;%1&apos; dinamikus tulajdonság eltávolítáas &apos;%2&apos;-ből</translation>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+3"/>
<source>Remove dynamic property &apos;%1&apos; from %n objects</source>
- <translation>
- <numerusform>&apos;%1&apos; dinamikus tulajdonság eltávolítása %n objektumból</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/scriptcommand.cpp" line="+55"/>
<source>Change script</source>
- <translation>Szkript megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/signalslotdialog.cpp" line="+202"/>
<source>Change signals/slots</source>
- <translation>Jelek/Szlotok megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ConnectDialog</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/connectdialog.ui" line="+13"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/connectdialog.ui"/>
<source>Configure Connection</source>
- <translation>Kapcsolat konfigurálása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
- <location line="+40"/>
+ <location/>
<source>GroupBox</source>
- <translation>CsoportDoboz</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-25"/>
- <location line="+40"/>
+ <location/>
<source>Edit...</source>
- <translation>Szerkesztés...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
+ <location/>
<source>Show signals and slots inherited from QWidget</source>
- <translation>QWidget-ből örökölt jelek és szlotok megjelenítése</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ConnectionDelegate</name>
<message>
- <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+643"/>
+ <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+644"/>
<source>&lt;object&gt;</source>
- <translation>&lt;objekttum&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
<source>&lt;signal&gt;</source>
- <translation>&lt;jel&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>&lt;slot&gt;</source>
- <translation>&lt;szlot&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -718,109 +716,108 @@
<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>Szabványos (96 x 96)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Greenphone (179 x 185)</source>
<extracomment>Embedded device screen resolution</extracomment>
- <translation>Greenphone (179 x 185)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>High (192 x 192)</source>
<extracomment>Embedded device high definition screen resolution</extracomment>
- <translation>Magasság (192 x 192)</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Designer</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+449"/>
+ <location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+446"/>
<source>Qt Designer</source>
- <translation>Qt Designer</translation>
+ <translation type="unfinished"></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>Ez a fájl felső szintű távtartókat tartalmaz.&lt;br&gt; Nem tartalmaznak &lt;b&gt;SEMMIT&lt;/b&gt;, ami el lenne mentve az űrlapba.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Perhaps you forgot to create a layout?</source>
- <translation>Talán elfelejtette létrehozni a tervrajzot?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+173"/>
<source>Invalid UI file: The root element &lt;ui&gt; is missing.</source>
- <translation>Érvénytelen UI fájl. A rendszergazda elem &lt;ui&gt; hiányzik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>An error has occurred while reading the UI file at line %1, column %2: %3</source>
- <translation>Hiba történt az UI fájl olvasás közben %1 sorban, %2 oszlopban: %3</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+26"/>
<source>This file cannot be read because it was created using %1.</source>
- <translation>A fájl nem olvasható, mert %1 használatával hozták létre.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+14"/>
<source>This file was created using Designer from Qt-%1 and cannot be read.</source>
- <translation>A fájlt a(z) %1 Qt Designer-rel hozták létre és nem olvasható.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+30"/>
<source>The converted file could not be read.</source>
- <translation>A konvertált fájlt nem sikerült olvasni.</translation>
+ <translation type="unfinished"></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>A fájlt a(z) %1 Qt Designer-rel hozták létre és a Qt Designer egy új űrlapra fogja konvertálni.</translation>
+ <translation type="unfinished"></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>A régi űrlap nem lett érintve, de az űrlapot új néven kell majd elmentenie.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<source>This file was created using Designer from Qt-%1 and could not be read:
%2</source>
- <translation>A fájl a(z) %1 Qt Designer-rel lett létrehozva és nem olvasható:
-%2</translation>
+ <translation type="unfinished"></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>Kérem futtassa a &lt;br&gt;uic3&amp;nbsp;-convert&lt;/b&gt; Qt 4-s ui formára konvertáláshoz.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+31"/>
<source>This file cannot be read because the extra info extension failed to load.</source>
- <translation>Ez a fájl nem olvasható, mert az extra információ kiterjesztést nem sikerült betölteni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/qsimpleresource.cpp" line="+339"/>
<source>Custom Widgets</source>
- <translation>Egyéni Widgetek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>Promoted Widgets</source>
- <translation>Támogatott Widgetek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_utils.cpp" line="+682"/>
<source>Unable to launch %1.</source>
- <translation>Nem lehet elindítani %1-t.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>%1 timed out.</source>
- <translation>%1 időtúllépés.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -828,12 +825,12 @@
<message>
<location line="-513"/>
<source>%1 is not a valid enumeration value of &apos;%2&apos;.</source>
- <translation>%1 nem egy érvényes &apos;%2&apos; felsorolási érték.</translation>
+ <translation type="unfinished"></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>&apos;%1&apos; nem konvertálható egy &apos;%2&apos; típusú felsorolási értékre.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -841,7 +838,7 @@
<message>
<location line="+78"/>
<source>&apos;%1&apos; could not be converted to a flag value of type &apos;%2&apos;.</source>
- <translation>&apos;%1&apos; nem konvertálható egy &apos;%2&apos; típusú jelző értékre.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -850,40 +847,40 @@
<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; nem egy szám.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+23"/>
<source>An invalid tag &lt;%1&gt; was encountered.</source>
- <translation>Egy érvénytelen címkét &lt;%1&gt; talált.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DeviceProfileDialog</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.ui" line="+20"/>
+ <location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.ui"/>
<source>&amp;Family</source>
- <translation>&amp;Család</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&amp;Point Size</source>
- <translation>&amp;Pont méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Style</source>
- <translation>Stílus</translation>
+ <translation type="unfinished">Stílus</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Device DPI</source>
- <translation>Eszköz DPI</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Name</source>
- <translation>Név</translation>
+ <translation type="unfinished">Név</translation>
</message>
</context>
<context>
@@ -891,57 +888,57 @@
<message>
<location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
<source>The image file &apos;%1&apos; could not be loaded.</source>
- <translation>Nem sikerült betölteni a(z) &apos;%1&apos; kép fájlt.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+64"/>
<source>The skin directory &apos;%1&apos; does not contain a configuration file.</source>
- <translation>A(z) &apos;%1&apos; szkin könyvtár nem tartalmaz egy konfigurációs fájlt sem.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>The skin configuration file &apos;%1&apos; could not be opened.</source>
- <translation>A(z) &apos;%1&apos; szkin konfigurációs fájlt nem sikerült megnyitni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>The skin configuration file &apos;%1&apos; could not be read: %2</source>
- <translation>A(z) &apos;%1&apos; szkin konfigurációs fájlt nem sikerült olvasni: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+70"/>
<source>Syntax error: %1</source>
- <translation>Szintakszis hiba: %1</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+21"/>
<source>The skin &quot;up&quot; image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1&apos; szkin &apos;fel&apos; kép fájl nem létezik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>The skin &quot;down&quot; image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1&apos; szkin &apos;le&apos; kép fájl nem létezik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<source>The skin &quot;closed&quot; image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1&apos; szkin &apos;zárt&apos; kép fájl nem létezik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>The skin cursor image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1&apos; szkin kurzor kép fájl nem létezik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+25"/>
<source>Syntax error in area definition: %1</source>
- <translation>Szintakszis hiba a terület definícióban: %1</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+38"/>
<source>Mismatch in number of areas, expected %1, got %2.</source>
- <translation>Rossz párosítás a területek számában, várt %1, kapot %2.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -950,7 +947,7 @@
<location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="+307"/>
<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;Betű&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;Stílus&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;Felbontás&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>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -959,13 +956,13 @@
<location line="+103"/>
<source>Embedded Design</source>
<extracomment>Tab in preferences dialog</extracomment>
- <translation>Tab a beállítások párbeszéd ablakban</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>Device Profiles</source>
<extracomment>EmbeddedOptionsControl group box&quot;</extracomment>
- <translation>BeágyazottOpciókVezérlő csoport doboz&quot;</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -973,27 +970,27 @@
<message>
<location filename="../tools/shared/fontpanel/fontpanel.cpp" line="+63"/>
<source>Font</source>
- <translation>Betű</translation>
+ <translation type="unfinished">Betűtípus</translation>
</message>
<message>
<location line="+11"/>
<source>&amp;Writing system</source>
- <translation>Rendszer &amp;írása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>&amp;Family</source>
- <translation>&amp;Család</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>&amp;Style</source>
- <translation>&amp;Stílus</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>&amp;Point size</source>
- <translation>&amp;Pont méret</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1001,37 +998,37 @@
<message>
<location filename="../tools/designer/src/components/propertyeditor/fontpropertymanager.cpp" line="+62"/>
<source>PreferDefault</source>
- <translation>AlapértelmezettPreferálása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>NoAntialias</source>
- <translation>NincsÁtlapolás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>PreferAntialias</source>
- <translation>ÁtlapolásPreferálása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+61"/>
<source>Antialiasing</source>
- <translation>Átlapolás</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+359"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+375"/>
<source>Invalid stretch value for &apos;%1&apos;: &apos;%2&apos;</source>
<extracomment>Parsing layout stretch values</extracomment>
- <translation>Érvénytelen érték kiterjesztés &apos;%1&apos;-re: &apos;%2&apos;</translation>
+ <translation type="unfinished"></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>Érvénytelen minimum méret &apos;%1&apos;-re: &apos;%2&apos;</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1039,144 +1036,142 @@
<message>
<location filename="../tools/designer/src/components/formeditor/formeditor_optionspage.cpp" line="+91"/>
<source>%1 %</source>
- <translation>%1 %</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Preview Zoom</source>
- <translation>Zoom előnézet</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Default Zoom</source>
- <translation>Alapértelmezett zoom</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+29"/>
<source>Forms</source>
<extracomment>Tab in preferences dialog</extracomment>
- <translation>Űrlapok</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<source>Default Grid</source>
- <translation>Alapértelmezett rács</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormLayoutRowDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui" line="+6"/>
+ <location filename="../tools/designer/src/lib/shared/formlayoutrowdialog.ui"/>
<source>Add Form Layout Row</source>
- <translatorcomment>нелепица какая-то</translatorcomment>
- <translation>Űrlap szerkezet sor hozzaadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>&amp;Label text:</source>
- <translation>&amp;Címke szöveg:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+23"/>
+ <location/>
<source>Field &amp;type:</source>
- <translation>Mező &amp;típus:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>&amp;Field name:</source>
- <translation>&amp;Mező név:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Buddy:</source>
- <translation>&amp;Haver:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>&amp;Row:</source>
- <translation>&amp;Sor:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>Label &amp;name:</source>
- <translation>Címke &amp;név:</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1701"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="+1754"/>
<source>Unexpected element &lt;%1&gt;</source>
- <translation>Váratlan elem &lt;%1&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Error while pasting clipboard contents at line %1, column %2: %3</source>
- <translation>Hiba történt a vágólap tartalom beillesztése közben a(z) %1 sorban, %2 oszlopban: %3</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormWindowSettings</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui" line="+54"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowsettings.ui"/>
<source>Form Settings</source>
- <translation>Űrlap beállítások</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Layout &amp;Default</source>
- <translation>&amp;Alapértelmezett elrendezés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location/>
<source>&amp;Spacing:</source>
- <translation>&amp;Ritkítás:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Margin:</source>
- <translation>&amp;Margó:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>&amp;Layout Function</source>
- <translation>&amp;Elrendezés függvény
-</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+21"/>
+ <location/>
<source>Ma&amp;rgin:</source>
- <translation>Ma&amp;rgó:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Spa&amp;cing:</source>
- <translation>Rit&amp;kítás:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+117"/>
- <source>&amp;Author</source>
- <translation>&amp;Szerző</translation>
+ <location/>
+ <source>&amp;Pixmap Function</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-41"/>
+ <location/>
<source>&amp;Include Hints</source>
- <translation>Célzások &amp;beleértése</translation>
- </message>
- <message>
- <location line="-53"/>
- <source>&amp;Pixmap Function</source>
- <translation>&amp;Pixmap függvény</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+71"/>
+ <location/>
<source>Grid</source>
- <translation>Rács</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Embedded Design</source>
- <translation>Beágyazott terv</translation>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Author</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1184,7 +1179,7 @@
<message>
<location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="+352"/>
<source>All Pixmaps (</source>
- <translation>Az összes Pixmap (</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1193,94 +1188,94 @@
<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 ikon kiválasztásának kikapcsolása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindowBase</name>
<message>
- <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+119"/>
+ <location filename="../tools/designer/src/designer/mainwindow.cpp" line="+121"/>
<source>Main</source>
<extracomment>Not currently used (main tool bar)</extracomment>
- <translation>Fő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>File</source>
- <translation>Fájl</translation>
+ <translation type="unfinished">Fájl</translation>
</message>
<message>
<location line="+1"/>
<source>Edit</source>
- <translation>Szerkesztés</translation>
+ <translation type="unfinished">Szerkesztés</translation>
</message>
<message>
<location line="+1"/>
<source>Tools</source>
- <translation>Eszközök</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Form</source>
- <translation>Űrlap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Qt Designer</source>
- <translation>Qt Designer</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>NewForm</name>
<message>
- <location filename="../tools/designer/src/designer/newform.cpp" line="+79"/>
+ <location filename="../tools/designer/src/designer/newform.cpp" line="+78"/>
+ <source>Show this Dialog on Startup</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>C&amp;reate</source>
- <translation>&amp;Létrehozás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Recent</source>
- <translation>Utóbbi</translation>
+ <translation type="unfinished">Előző</translation>
</message>
<message>
- <location line="+32"/>
+ <location line="+3"/>
+ <source>New Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
<source>&amp;Close</source>
- <translation>&amp;Bezárás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>&amp;Open...</source>
- <translation>&amp;Megnyitás...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>&amp;Recent Forms</source>
- <translation>&amp;Utóbbi űrlapok</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+64"/>
<source>Read error</source>
- <translation>Olvasási hiba</translation>
- </message>
- <message>
- <location line="-100"/>
- <source>New Form</source>
- <translation>Űj űrlap</translation>
- </message>
- <message>
- <location line="-5"/>
- <source>Show this Dialog on Startup</source>
- <translation>Párbeszédablak megjelenítése betöltéskor</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+128"/>
+ <location line="+23"/>
<source>A temporary form file could not be created in %1.</source>
- <translation>Egy átmeneti űrlap fájlt nem sikerült létrehozni %1-ben.</translation>
+ <translation type="unfinished">Az ideiglenes űrlap fájl nem hozható létre a(z) %1 helyen.</translation>
</message>
<message>
<location line="+6"/>
<source>The temporary form file %1 could not be written.</source>
- <translation>A(z) %1 átmeneti űrlap fájlt nem sikerült írni.</translation>
+ <translation type="unfinished">A(z) %1 ideiglenes űrlap fájl nem írható.</translation>
</message>
</context>
<context>
@@ -1288,22 +1283,22 @@
<message>
<location filename="../tools/designer/src/components/objectinspector/objectinspectormodel.cpp" line="+360"/>
<source>Object</source>
- <translation>Objektum</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Class</source>
- <translation>Osztály</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
<source>separator</source>
- <translation>Elválasztó</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+98"/>
<source>&lt;noname&gt;</source>
- <translation>&lt;noname&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1311,68 +1306,66 @@
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_taskmenu.cpp" line="+158"/>
<source>Change Object Name</source>
- <translation>Objektum nevének megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Object Name</source>
- <translation>Objektum név</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PluginDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/plugindialog.ui" line="+54"/>
+ <location filename="../tools/designer/src/lib/shared/plugindialog.ui"/>
<source>Plugin Information</source>
- <translation>Beépülő modul információ</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
+ <location/>
<source>1</source>
- <translation>1</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PreferencesDialog</name>
<message>
- <location filename="../tools/designer/src/designer/preferencesdialog.ui" line="+20"/>
+ <location filename="../tools/designer/src/designer/preferencesdialog.ui"/>
<source>Preferences</source>
- <translation>Beállítások</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PreviewConfigurationWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui" line="+5"/>
+ <location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.ui"/>
<source>Form</source>
- <translation>Űrlap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Print/Preview Configuration</source>
- <translation>Nyomtatás/Előnézet konfiguráció</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
+ <location/>
<source>Style</source>
- <translation>Stílus</translation>
+ <translation type="unfinished">Stílus</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Style sheet</source>
- <translation>Stíluslap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
- <location line="+7"/>
- <location line="+21"/>
+ <location/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
<message>
- <location line="-12"/>
+ <location/>
<source>Device skin</source>
- <translation>Eszköz szkin</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1381,7 +1374,7 @@
<location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+112"/>
<source>Not used</source>
<extracomment>Usage of promoted widgets</extracomment>
- <translation>Nincs használva</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1390,7 +1383,7 @@
<location filename="../tools/designer/src/plugins/widgets/q3wizard/q3wizard_container.cpp" line="+172"/>
<location line="+5"/>
<source>Page</source>
- <translation>Lap</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1398,59 +1391,58 @@
<message>
<location filename="../tools/designer/src/lib/uilib/abstractformbuilder.cpp" line="+206"/>
<source>Unexpected element &lt;%1&gt;</source>
- <translation>Váratlan elem &lt;%1&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>An error has occurred while reading the UI file at line %1, column %2: %3</source>
- <translation>Hiba történt az UI fájl olvasása közben a(z) %1 sorban, %2 oszlopban: %3</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Invalid UI file: The root element &lt;ui&gt; is missing.</source>
- <translation>Érvénytelen UI fájl. A rendszergazda elem &lt;ui&gt; hiányzik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+119"/>
+ <location line="+104"/>
<source>The creation of a widget of the class &apos;%1&apos; failed.</source>
- <translation>A(z) &apos;%1&apos; osztály egy widget-ének létrehozása nem sikerült.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+296"/>
<source>Attempt to add child that is not of class QWizardPage to QWizard.</source>
- <translation>Gyermek hozzáadásának megkísérelése QWizard-hoz, amely nem egy QWizardPage osztály.</translation>
+ <translation type="unfinished"></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>Egy elrendezés hozzáadásának megprónálás egy &quot;%1&apos; widgethez (%2), melynek már egy %3 típusú nem doboz elrendezése van.
-Ez ellentmondást mutat az ui fájlban.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+144"/>
<source>Empty widget item in %1 &apos;%2&apos;.</source>
- <translation>Üres widget elem %1-ben &apos;%2&apos;.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+680"/>
<source>Flags property are not supported yet.</source>
- <translation>Jelző tulajdonság még nem támogatott.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+81"/>
<source>While applying tab stops: The widget &apos;%1&apos; could not be found.</source>
- <translation>Tab stops alkalmazásakor: A(z) &apos;%1&apos; widget nem található.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+908"/>
<source>Invalid QButtonGroup reference &apos;%1&apos; referenced by &apos;%2&apos;.</source>
- <translation>Érvénytelen &apos;%1&apos; QButtonGroup hivatkozásra hivatkozik a(z) &apos;%2&apos;.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+511"/>
<source>This version of the uitools library is linked without script support.</source>
- <translation>Az uitools könyvtár ezen verziója szkript támogatás nélkül linkelt.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1458,12 +1450,12 @@ Ez ellentmondást mutat az ui fájlban.</translation>
<message>
<location filename="../tools/designer/src/plugins/activeqt/qaxwidgetplugin.cpp" line="+75"/>
<source>ActiveX control</source>
- <translation>ActiveX vezérlő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>ActiveX control widget</source>
- <translation>ActiveX vezérlő widget</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1471,22 +1463,22 @@ Ez ellentmondást mutat az ui fájlban.</translation>
<message>
<location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="+119"/>
<source>Set Control</source>
- <translation>Vezérlő beállítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Reset Control</source>
- <translation>Vezérlő újraindítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+41"/>
<source>Licensed Control</source>
- <translation>Felhatalmazott vezérlő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>The control requires a design-time license</source>
- <translation>A vezérlő egy tervezés idejű felhatalmazást igényel</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1494,70 +1486,68 @@ Ez ellentmondást mutat az ui fájlban.</translation>
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_promotion.cpp" line="+83"/>
<source>%1 is not a promoted class.</source>
- <translation>%1 nem egy támogatott osztály.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+65"/>
<source>The base class %1 is invalid.</source>
- <translation>A(z) %1 alap osztály érvénytelen.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>The class %1 already exists.</source>
- <translation>A(z) %1 osztály már létezik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>Promoted Widgets</source>
- <translation>Támogatott Widget-ek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+126"/>
<source>The class %1 cannot be removed</source>
- <translation>A(z) %1 osztályt nem lehet eltávolítani</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>The class %1 cannot be removed because it is still referenced.</source>
- <translation>A(z) %1 osztályt nem lehet eltávolítani, mert még mindig hivatkozott.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>The class %1 cannot be renamed</source>
- <translation>A(z) %1 osztályt nem lehet átnevezni</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>The class %1 cannot be renamed to an empty name.</source>
- <translation>A(z) %1 osztályt nem lehet átnevezni egy üres névűre.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>There is already a class named %1.</source>
- <translation>Már van egy %1 nevű osztály.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+29"/>
<source>Cannot set an empty include file.</source>
- <translatorcomment>перевод близко к тексту - буквальный совсем глаз режет</translatorcomment>
- <translation>Nem lehet beállítani egy üres bennefoglalt fájlt.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/designer/src/lib/uilib/formscriptrunner.cpp" line="+88"/>
<source>Exception at line %1: %2</source>
- <translation>Kivétel a(z) %1 sorban: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+36"/>
<source>Unknown error</source>
- <translation>Ismeretlen hiba</translation>
+ <translation type="unfinished">Ismeretlen hiba</translation>
</message>
<message>
<location line="+50"/>
<source>An error occurred while running the script for %1: %2
Script: %3</source>
- <translation>Hiba történt a szkript futtása közben %1-re: %2
-Szkript: %3</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1565,332 +1555,326 @@ Szkript: %3</translation>
<message>
<location filename="../tools/designer/src/designer/qdesigner.cpp" line="+141"/>
<source>%1 - warning</source>
- <translation>%1 -figyelmeztetés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+96"/>
<source>Qt Designer</source>
- <translation>Qt Designer</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>This application cannot be used for the Console edition of Qt</source>
- <translation>Ezt alkalmazást nem lehet a Qt konzol szerkesztésére használni</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QDesignerActions</name>
<message>
- <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+128"/>
+ <location filename="../tools/designer/src/designer/qdesigner_actions.cpp" line="+130"/>
<source>Saved %1.</source>
- <translation>Mentve: %1.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+50"/>
+ <location line="+26"/>
+ <source>%1 already exists.
+Do you want to replace it?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
<source>Edit Widgets</source>
- <translation>Widget-ek szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location line="+1"/>
+ <source>&amp;New...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>&amp;Open...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>&amp;Save</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Save &amp;As...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Save A&amp;ll</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Save As &amp;Template...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+925"/>
+ <source>&amp;Close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-924"/>
+ <source>Save &amp;Image...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>&amp;Print...</source>
+ <translation type="unfinished">&amp;Nyomtatás...</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>&amp;Quit</source>
- <translation>&amp;Bezárás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+2"/>
+ <source>View &amp;Code...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>&amp;Minimize</source>
- <translation>&amp;Minimalizálás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Bring All to Front</source>
- <translation>Az összes előre hozása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Preferences...</source>
- <translation>Beállítások...</translation>
+ <translation type="unfinished">Beállítások...</translation>
</message>
<message>
- <location line="+298"/>
- <source>Clear &amp;Menu</source>
- <translation>&amp;Menü tisztítása</translation>
+ <location line="+1"/>
+ <source>Additional Fonts...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-233"/>
+ <location line="+72"/>
+ <source>ALT+CTRL+S</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>CTRL+SHIFT+S</source>
- <translation>CTRL+SHIFT+S</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+113"/>
+ <location line="+127"/>
<source>CTRL+R</source>
- <translation>CTRL+R</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
<source>CTRL+M</source>
- <translation>CTRL+M</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+31"/>
<source>Qt Designer &amp;Help</source>
- <translation>Qt Designer &amp;Súgó</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Current Widget Help</source>
- <translation>Aktuális Widget Súgó</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>What&apos;s New in Qt Designer?</source>
- <translation>Mi az újdonság a Qt Designer-ben?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>About Plugins</source>
- <translation>Beépülő modulokról</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<location line="+601"/>
<source>About Qt Designer</source>
- <translation>Qt Designer-ről</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-595"/>
<source>About Qt</source>
- <translation>Qt-ról</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+121"/>
+ <location line="+38"/>
+ <source>Clear &amp;Menu</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Recent Forms</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+77"/>
<location line="+197"/>
<source>Open Form</source>
- <translation>Űrlap megnyitása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-196"/>
<location line="+37"/>
<location line="+160"/>
<source>Designer UI files (*.%1);;All Files (*)</source>
- <translation>Designer UI fájlok (*.%1);;Az összes fájl (*)</translation>
- </message>
- <message>
- <location line="-620"/>
- <source>%1 already exists.
-Do you want to replace it?</source>
- <translation>%1 már létezik.
-Le szeretné cserélni?</translation>
- </message>
- <message>
- <location line="+42"/>
- <source>Additional Fonts...</source>
- <translation>További betűk...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+303"/>
- <source>&amp;Recent Forms</source>
- <translation>&amp;Utóbbi űrlapok</translation>
+ <location line="-160"/>
+ <location line="+248"/>
+ <source>Save Form As</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+202"/>
+ <location line="-161"/>
<source>Designer</source>
- <translation>Designer</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>Feature not implemented yet!</source>
- <translation>A tulajdonság még nincs implementálva!</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+59"/>
+ <location line="+15"/>
+ <source>Code generation failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
<source>Read error</source>
- <translation>Olvasási hiba</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>%1
Do you want to update the file location or generate a new form?</source>
- <translation>%1
-Szeretné frissíteni a fájl helyét vagy generálni egy új űrlapot?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>&amp;Update</source>
- <translation>&amp;Frissítés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>&amp;New Form</source>
- <translation>&amp;Új űrlap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+77"/>
<location line="+40"/>
<source>Save Form?</source>
- <translation>Menti az űrlapot?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-39"/>
<source>Could not open file</source>
- <translation>Nem sikerült megnyitni a fájlt</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location line="+4"/>
+ <source>The file %1 could not be opened.
+Reason: %2
+Would you like to retry or select a different file?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
<source>Select New File</source>
- <translation>Új fájl kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+30"/>
<source>Could not write file</source>
- <translation>Nem sikerült írni a fájlt</translation>
- </message>
- <message>
- <location line="+201"/>
- <source>&amp;Close Preview</source>
- <translation>Előnézet &amp;bezárása</translation>
- </message>
- <message>
- <location line="-905"/>
- <source>&amp;New...</source>
- <translation>&amp;Új...</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>&amp;Open...</source>
- <translation>&amp;Megnyitás...</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>&amp;Save</source>
- <translation>&amp;Mentés</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Save &amp;As...</source>
- <translation>Mentés &amp;másként...</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Save A&amp;ll</source>
- <translation>Az ö&amp;sszes mentése</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>Save As &amp;Template...</source>
- <translation>Mentés &amp;sablonként...</translation>
- </message>
- <message>
- <location line="+1"/>
- <location line="+901"/>
- <source>&amp;Close</source>
- <translation>&amp;Bezárás</translation>
- </message>
- <message>
- <location line="-900"/>
- <source>Save &amp;Image...</source>
- <translation>&amp;Kép mentése...</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>&amp;Print...</source>
- <translation>&amp;Nyomtatás...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
- <source>View &amp;Code...</source>
- <translation>&amp;Kód nézet...</translation>
- </message>
- <message>
- <location line="+68"/>
- <source>ALT+CTRL+S</source>
- <translation>ALT+CTRL+S</translation>
- </message>
- <message>
- <location line="+356"/>
- <location line="+248"/>
- <source>Save Form As</source>
- <translation>Mentés űrlapként</translation>
- </message>
- <message>
- <location line="+429"/>
- <source>Preview failed</source>
- <translation>Előnézet hiba</translation>
- </message>
- <message>
- <location line="-575"/>
- <source>Code generation failed</source>
- <translation>Kód generálási hiba</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>
- <translation>Nem sikerült megnyitni a(z) %1 fájlt.
-Ok: %2
-Meg szeretné újra próbálni vagy kiválasztani egy különböző fájlt?</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>
- <translation>Nem lehetett az egész %1 fájlt a lemezre írni.
-Ok: %2
-Meg szeretné próbálni újra?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+158"/>
<location line="+34"/>
<source>Assistant</source>
- <translation>Assistant</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+47"/>
+ <location line="+6"/>
+ <source>&amp;Close Preview</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+41"/>
<location line="+23"/>
<source>The backup file %1 could not be written.</source>
- <translation>Nem sikerült írni az archivált %1 fájlt.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+107"/>
<source>The backup directory %1 could not be created.</source>
- <translation>Nem sikerült létrehozni a(z) %1 archivált könyvtárat.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>The temporary backup directory %1 could not be created.</source>
- <translation>Nem sikerült létrehozni az átmeneti archivált %1 könyvtárat.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+54"/>
+ <location line="+30"/>
+ <source>Preview failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
<source>Image files (*.%1)</source>
- <translation>Kép fájlok (*.%1)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<location line="+17"/>
<source>Save Image</source>
- <translation>Kép mentése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-4"/>
<source>Saved image %1.</source>
- <translation>Mentett kép: %1.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>The file %1 could not be written.</source>
- <translation>Nem sikerült írni a(z) %1 fájlt.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<source>Please close all forms to enable the loading of additional fonts.</source>
- <translation>Kérem zárja be az összes űrlapot további betűk betöltéséhez.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+52"/>
<source>Printed %1.</source>
- <translation>Kinyomtatva: %1.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1899,7 +1883,7 @@ Meg szeretné próbálni újra?</translation>
<location filename="../tools/designer/src/designer/qdesigner_appearanceoptions.cpp" line="+138"/>
<source>Appearance</source>
<extracomment>Tab in preferences dialog</extracomment>
- <translation>Megjelenés</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1907,17 +1891,17 @@ Meg szeretné próbálni újra?</translation>
<message>
<location line="-53"/>
<source>Docked Window</source>
- <translation>Dokkolt ablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Multiple Top-Level Windows</source>
- <translation>Összes felső szintű ablakok</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Toolwindow Font</source>
- <translation>Eszköz ablak betű</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1925,22 +1909,22 @@ Meg szeretné próbálni újra?</translation>
<message>
<location filename="../tools/designer/src/plugins/activeqt/qaxwidgettaskmenu.cpp" line="-71"/>
<source>Reset control</source>
- <translation>Vezérlés újraindítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Set control</source>
- <translation>Vezérlés beállítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/designer/src/plugins/activeqt/qdesigneraxwidget.cpp" line="+179"/>
<source>Control loaded</source>
- <translation>Vezérlés betöltve</translation>
+ <translation type="unfinished"></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>Egy COM kivétel történt a(z) %1 típusú meta hívás végrehajtása közben, &apos;%3&apos; %2 indexe.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1948,17 +1932,17 @@ Meg szeretné próbálni újra?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_formbuilder.cpp" line="+89"/>
<source>Script errors occurred:</source>
- <translation>Szkript hiba történt:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+307"/>
<source>The preview failed to build.</source>
- <translation>Nem sikerült az előnézetet felépíteni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+65"/>
<source>Designer</source>
- <translation>Designer</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1966,61 +1950,61 @@ Meg szeretné próbálni újra?</translation>
<message>
<location filename="../tools/designer/src/designer/qdesigner_formwindow.cpp" line="+217"/>
<source>%1 - %2[*]</source>
- <translation>%1 - %2[*]</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>Save Form?</source>
- <translation>Űrlap mentése?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Do you want to save the changes to this document before closing?</source>
- <translation>El szeretné menteni a változtatásokat ebbe a dokumentumba a bezárás előtt?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>If you don&apos;t save, your changes will be lost.</source>
- <translation>Ha nem menti el, a változtatásai el fognak veszni.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QDesignerMenu</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1181"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_menu.cpp" line="-1179"/>
<source>Type Here</source>
- <translation>Gépelje be ide</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Add Separator</source>
- <translation>Elválasztó hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+371"/>
<source>Insert separator</source>
- <translation>Elválasztó beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Remove separator</source>
- <translation>Elválasztó eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Remove action &apos;%1&apos;</source>
- <translation>&apos;%1&apos; tevékenység eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+25"/>
- <location line="+650"/>
+ <location line="+648"/>
<source>Add separator</source>
- <translation>Elválasztó hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-348"/>
<source>Insert action</source>
- <translation>Tevékenység beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2028,22 +2012,22 @@ Meg szeretné próbálni újra?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-375"/>
<source>Type Here</source>
- <translation>Gépelje be ide</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+298"/>
<source>Remove Menu &apos;%1&apos;</source>
- <translation>&apos;%1&apos; menü eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>Remove Menu Bar</source>
- <translation>Menü sáv eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+70"/>
<source>Menu</source>
- <translation>Menü</translation>
+ <translation type="unfinished">Menü</translation>
</message>
</context>
<context>
@@ -2051,45 +2035,45 @@ Meg szeretné próbálni újra?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/pluginmanager.cpp" line="+271"/>
<source>An XML error was encountered when parsing the XML of the custom widget %1: %2</source>
- <translation>Egy XML hiba történt az egyéni %1 widget XML-ének elemzése közben: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>A required attribute (&apos;%1&apos;) is missing.</source>
- <translation>Egy szükséges attribútum (&apos;%1&apos;) hiányzik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+38"/>
<source>An invalid property specification (&apos;%1&apos;) was encountered. Supported types: %2</source>
- <translation>Egy érvénytelen tulajdonság specifikációt (&apos;%1&apos;) talált. Támogatott típusok: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+20"/>
<source>&apos;%1&apos; is not a valid string property specification.</source>
- <translation>&apos;%1&apos; nem egy érvényes sztring tulajdonság specifikáció.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+40"/>
<source>The XML of the custom widget %1 does not contain any of the elements &lt;widget&gt; or &lt;ui&gt;.</source>
- <translation>Az egyéni %1 widget XML-je nem tartalmaz semmilyen elemet &lt;widget&gt; vagy &lt;ui&gt;.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>The class attribute for the class %1 is missing.</source>
- <translation>Az osztály attribútum %1 osztályra hiányzik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>The class attribute for the class %1 does not match the class name %2.</source>
- <translation>Az osztály attribútum %1 osztályra nem egyezik meg a(z) %2 osztály nevével.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QDesignerPropertySheet</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+754"/>
+ <location filename="../tools/designer/src/lib/shared/qdesigner_propertysheet.cpp" line="+758"/>
<source>Dynamic Properties</source>
- <translation>Dinamikus tulajdonságok</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2097,32 +2081,31 @@ Meg szeretné próbálni újra?</translation>
<message>
<location filename="../tools/designer/src/components/formeditor/qdesigner_resource.cpp" line="+461"/>
<source>The layout type &apos;%1&apos; is not supported, defaulting to grid.</source>
- <translation>A(z) &apos;%1&apos; elrendezés típus nem támogatott, alapértelmezett rács.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+243"/>
+ <location line="+239"/>
<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>A(z) &apos;%1&apos; (%2) widget konténer kiterjesztése egy olyan widget-et adott vissza, amelyet a(z) &apos;%3&apos; (%4) Designer nem kezel, %5 lap lekéréskor.
-Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az egyéni widget domXML() eljárása által.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+599"/>
+ <location line="+545"/>
<source>Unexpected element &lt;%1&gt;</source>
<extracomment>Parsing clipboard contents</extracomment>
- <translation>Váratlan elem &lt;%1&gt;</translation>
+ <translation type="unfinished"></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>Hiba történt a vágólap tartalmának beillesztése közben a(z) %1 sorban, %2 oszlopban: %3</translation>
+ <translation type="unfinished"></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>Hiba történt a vágólap tartalmának beillesztése közben. A rendszergazda elem &lt;ui&gt; hiányzik.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2130,12 +2113,12 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/designer/src/lib/shared/shared_settings.cpp" line="+83"/>
<source>The template path %1 could not be created.</source>
- <translation>Nem sikerült létrehozni a(z) %1 sablon útvonalat.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+184"/>
<source>An error has been encountered while parsing device profile XML: %1</source>
- <translation>Hiba történt az eszköz profil %1 XML elemzése közben</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2143,32 +2126,32 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/designer/src/designer/qdesigner_toolwindow.cpp" line="+190"/>
<source>Property Editor</source>
- <translation>Tulajdonság szerkesztő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+54"/>
<source>Action Editor</source>
- <translation>Tevékenység szerkesztő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+42"/>
<source>Object Inspector</source>
- <translation>Objektum felügyelő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
<source>Resource Browser</source>
- <translation>Erőforrás böngésző</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+34"/>
<source>Signal/Slot Editor</source>
- <translation>Jel/Szlot szerkesztő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+41"/>
<source>Widget Box</source>
- <translation>Widget doboz</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2176,143 +2159,153 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/designer/src/designer/qdesigner_workbench.cpp" line="+199"/>
<source>&amp;File</source>
- <translation>&amp;Fájl</translation>
+ <translation type="unfinished">&amp;Fájl</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+2"/>
+ <source>Edit</source>
+ <translation type="unfinished">Szerkesztés</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>F&amp;orm</source>
- <translation>&amp;Űrlap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Preview in</source>
- <translation>Előnézetben</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+4"/>
+ <source>&amp;View</source>
+ <translation type="unfinished">&amp;Nézet</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>&amp;Window</source>
- <translation>&amp;Ablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>&amp;Help</source>
- <translation>&amp;Súgó</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-15"/>
- <source>Edit</source>
- <translation>Szerkesztés</translation>
+ <location line="+23"/>
+ <source>Toolbars</source>
+ <translation type="unfinished">Eszköztárak</translation>
</message>
<message>
- <location line="+38"/>
- <source>Toolbars</source>
- <translation>Eszközsávok</translation>
+ <location line="+177"/>
+ <source>Widget Box</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+465"/>
+ <location line="+289"/>
<source>Save Forms?</source>
- <translation>Űrlap mentése?</translation>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+1"/>
<source>There are %n forms with unsaved changes. Do you want to review these changes before quitting?</source>
- <translation>
- <numerusform>%n űrlapban vannak el nem mentett változtatások. Át szeretné tekintei ezeket a változtatásokat a kilépés előtt?</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
- <location line="-495"/>
- <source>&amp;View</source>
- <translation>&amp;Nézet</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>&amp;Settings</source>
- <translation>&amp;Beállítások</translation>
- </message>
- <message>
- <location line="+204"/>
- <source>Widget Box</source>
- <translation>Widget doboz</translation>
- </message>
- <message>
- <location line="+292"/>
+ <location line="+3"/>
<source>If you do not review your documents, all your changes will be lost.</source>
- <translation>Ha nem tekinti át újra a dokumentumokat, az összes változtatása el fog veszni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Discard Changes</source>
- <translation>Változtatások eldobása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Review Changes</source>
- <translation>Változtatások áttekintése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+95"/>
<source>Backup Information</source>
- <translation>Archiválási információ</translation>
+ <translation type="unfinished"></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>A Designer utolsó szakasza nem megfelelően állt le. Archivált fájlok hagyott maga után. Be szeretné tölteni őket?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+111"/>
<source>The file &lt;b&gt;%1&lt;/b&gt; could not be opened.</source>
- <translation>A(z) &lt;b&gt;%1&lt;/b&gt; fájlt nem sikerült megnyitni.</translation>
+ <translation type="unfinished"></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>A(z) &lt;b&gt;%1&lt;/b&gt; fájl nem egy érvényes Designer UI fájl.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QFormBuilder</name>
<message>
- <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+163"/>
+ <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+168"/>
<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>Egy üres osztály név volt %1-ra (objektum név: &apos;%2&apos;).</translation>
+ <translation type="unfinished"></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-nek nem sikerült létrehozni egy &apos;%1&apos; osztály egyéni widget-et, alapértelmezés a(z) &apos;%2&apos; alap osztályra.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>QFormBuilder was unable to create a widget of the class &apos;%1&apos;.</source>
- <translation>QFormBuilder-nak nem sikerült létrehoznia egy &apos;%1&apos; osztály widget-et.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+61"/>
<source>The layout type `%1&apos; is not supported.</source>
- <translation>A(z) &apos;%1&apos; elrendezés terv nem támogatott.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../tools/designer/src/lib/uilib/properties.cpp" line="+106"/>
<source>The set-type property %1 could not be read.</source>
- <translation>Nem sikerült olvasni a(z) %1 beállított típusú tulajdonságot.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+23"/>
<source>The enumeration-type property %1 could not be read.</source>
- <translation>A(z) %1 felsorolási típus tulajdonságot nem sikerült olvasni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+190"/>
<source>Reading properties of the type %1 is not supported yet.</source>
- <translation>&apos;%1&apos; típus tulajdonságok olvasása még nem támogatott.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+266"/>
<source>The property %1 could not be written. The type %2 is not supported yet.</source>
- <translation>A(z) %1 tulajdonságot nem sikerült írni. A(z) %2 típus nem támogatott még.</translation>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <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>
+ <message>
+ <location line="+14"/>
+ <source>The flag-value &apos;%1&apos; is invalid. Zero will be used instead.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2320,48 +2313,48 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_stackedbox.cpp" line="+194"/>
<source>Previous Page</source>
- <translation>Előző lap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Next Page</source>
- <translation>Következő lap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
<location line="+1"/>
<source>Before Current Page</source>
- <translation>Aktuális lap előtt</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>After Current Page</source>
- <translation>Aktuális lap után</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Change Page Order...</source>
- <translation>Lap sorrend megváltoztatása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+72"/>
<source>Change Page Order</source>
- <translation>Lap sorrend megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+49"/>
<source>Page %1 of %2</source>
- <translation>%2 %1 lapja</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<location line="+4"/>
<source>Insert Page</source>
- <translation>Lap beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2369,12 +2362,12 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location line="-153"/>
<source>Go to previous page of %1 &apos;%2&apos; (%3/%4).</source>
- <translation>Ugrás a(z) %1 &apos;%2&apos; (%3/%4) előző lapjára.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Go to next page of %1 &apos;%2&apos; (%3/%4).</source>
- <translation>Ugrás a(z) %1 &apos;%2&apos; (%3/%4) következő lapjára.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2382,28 +2375,28 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_tabwidget.cpp" line="+89"/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
<location line="+1"/>
<source>Before Current Page</source>
- <translation>Aktuális lap előtt</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>After Current Page</source>
- <translation>Aktuális lap után</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+283"/>
<source>Page %1 of %2</source>
- <translation>%2 %1 lapja</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<location line="+4"/>
<source>Insert Page</source>
- <translation>Lap beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2411,74 +2404,74 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_toolbox.cpp" line="+64"/>
<source>Delete Page</source>
- <translation>Lap törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Before Current Page</source>
- <translation>Aktuális lap előtt</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>After Current Page</source>
- <translation>Aktuális lap után</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Change Page Order...</source>
- <translation>Lap sorrend megváltoztatása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+116"/>
<source>Change Page Order</source>
- <translation>Lap sorrend megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+44"/>
<source>Page %1 of %2</source>
- <translation>%2 %1 lapja</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>Insert Page</source>
- <translation>Lap beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtBoolEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+226"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+255"/>
<location line="+10"/>
<location line="+25"/>
<source>True</source>
- <translation>Igaz</translation>
+ <translation type="unfinished">Igaz</translation>
</message>
<message>
<location line="-25"/>
<location line="+25"/>
<source>False</source>
- <translation>Hamis</translation>
+ <translation type="unfinished">Hamis</translation>
</message>
</context>
<context>
<name>QtBoolPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1469"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1507"/>
<source>True</source>
- <translation>Igaz</translation>
+ <translation type="unfinished">Igaz</translation>
</message>
<message>
<location line="+1"/>
<source>False</source>
- <translation>Hamis</translation>
+ <translation type="unfinished">Hamis</translation>
</message>
</context>
<context>
<name>QtCharEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1581"/>
+ <location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+1584"/>
<source>Clear Char</source>
- <translation>Karakter ürítése</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2486,128 +2479,128 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location line="+605"/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
</context>
<context>
<name>QtColorPropertyManager</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4743"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+4718"/>
<source>Red</source>
- <translation>Piros</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Green</source>
- <translation>Zöld</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Blue</source>
- <translation>Kék</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Alpha</source>
- <translation>Alfa</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtCursorDatabase</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-206"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-234"/>
<source>Arrow</source>
- <translation>Nyíl</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Up Arrow</source>
- <translation>Felfele nyíl</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Cross</source>
- <translation>Kereszt</translation>
+ <translation type="unfinished">Kereszt</translation>
</message>
<message>
<location line="+2"/>
<source>Wait</source>
- <translation>Várakozás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>IBeam</source>
- <translation>IBeam</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Size Vertical</source>
- <translation>Vertikális méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Size Horizontal</source>
- <translation>Horizontális méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Size Backslash</source>
- <translation>Visszaper méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Size Slash</source>
- <translation>Per méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Size All</source>
- <translation>Az összes méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Blank</source>
- <translation>Üres</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Split Vertical</source>
- <translation>Vertikális feldarabolás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Split Horizontal</source>
- <translation>Horizontális feldarabolás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Pointing Hand</source>
- <translation>Mutató kéz</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Forbidden</source>
- <translation>Tiltott</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Open Hand</source>
- <translation>Nyitott kéz</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Closed Hand</source>
- <translation>Zárt kéz</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>What&apos;s This</source>
- <translation>Mi ez</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Busy</source>
- <translation>Elfoglalt</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2615,12 +2608,12 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/shared/qtpropertybrowser/qteditorfactory.cpp" line="+198"/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
<message>
<location line="+20"/>
<source>Select Font</source>
- <translation>Betű kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2628,45 +2621,45 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-351"/>
<source>Family</source>
- <translation>Család</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<source>Point Size</source>
- <translation>Pont méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Bold</source>
- <translation>Félkövér</translation>
+ <translation type="unfinished">Félkövér</translation>
</message>
<message>
<location line="+7"/>
<source>Italic</source>
- <translation>Dőlt</translation>
+ <translation type="unfinished">Dőlt</translation>
</message>
<message>
<location line="+7"/>
<source>Underline</source>
- <translation>Aláhúzás</translation>
+ <translation type="unfinished">Aláhúzott</translation>
</message>
<message>
<location line="+7"/>
<source>Strikeout</source>
- <translation>Kitalálás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Kerning</source>
- <translation>Szóközökkel feltöltés</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtGradientDialog</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientdialog.ui" line="+53"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientdialog.ui"/>
<source>Edit Gradient</source>
- <translation>Meredekség szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2674,316 +2667,304 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/shared/qtgradienteditor/qtgradienteditor.cpp" line="+431"/>
<source>Start X</source>
- <translation>X indítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Start Y</source>
- <translation>Y indítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Final X</source>
- <translation>Végső X</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Final Y</source>
- <translation>Végső Y</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<location line="+24"/>
<source>Central X</source>
- <translation>X középpont</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-20"/>
<location line="+24"/>
<source>Central Y</source>
- <translation>Y középpont</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-20"/>
<source>Focal X</source>
- <translation>X gyújtópont</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Focal Y</source>
- <translation>Y gyújtópont</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Radius</source>
- <translation>Sugár</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+16"/>
<source>Angle</source>
- <translation>Szög</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+288"/>
<source>Linear</source>
- <translation>Lineáris</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Radial</source>
- <translation>Sugárirányú</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Conical</source>
- <translation>Kúp alakú</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+20"/>
<source>Pad</source>
- <translation>Lyuk</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Repeat</source>
- <translation>Megismétlés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Reflect</source>
- <translation>Prizma</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui" line="+53"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradienteditor.ui"/>
<source>Form</source>
- <translation>Űrlap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+48"/>
+ <location/>
<source>Gradient Editor</source>
- <translation>Meredekség szerkesztő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <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>Ez a mező jeleníti meg a meredekség egy előzetének szerkesztését. Ez engedélyezi a meredekség típusához tartozó paraméter specifikus dolgok szerkesztését, mint a kezdő és végpont, sugár, stb. a fogd &amp; vidd módszerrel.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>1</source>
- <translation>1</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>2</source>
- <translation>2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>3</source>
- <translation>3</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>4</source>
- <translation>4</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>5</source>
- <translation>5</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>Gradient Stops Editor</source>
- <translation>Meredekség leállítás szerkesztő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <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>Ez a mező engedélyezi a meredekség leállításának szerkesztését.Dupla kattintás a létező leállítás kezelőn duplikálja ezt. Dupla kattintás a létező leállítás kezelőn kívül létrehoz egy új leállítást. Fogd &amp; vidd az újrapozíciónálo kezelőt. Használja a jobb egér gombot a felugró menü összefüggéshez extra tevékenységekkel.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Zoom</source>
- <translation>Zoom</translation>
+ <translation type="unfinished">Nagyítás</translation>
</message>
<message>
- <location line="+19"/>
- <location line="+3"/>
+ <location/>
<source>Reset Zoom</source>
- <translation>Újraindítás zoom</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Position</source>
- <translation>Pozíció</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
- <location line="+49"/>
- <location line="+22"/>
+ <location/>
<source>Hue</source>
- <translation>Színárnyalat</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-68"/>
+ <location/>
<source>H</source>
- <translation>H</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+87"/>
- <location line="+49"/>
+ <location/>
<source>Saturation</source>
- <translation>Telítettség</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-46"/>
+ <location/>
<source>S</source>
- <translation>S</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+68"/>
+ <location/>
<source>Sat</source>
- <translation>Sat</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
- <location line="+49"/>
+ <location/>
<source>Value</source>
- <translation>Érték</translation>
+ <translation type="unfinished">Érték</translation>
</message>
<message>
- <location line="-46"/>
+ <location/>
<source>V</source>
- <translation>V</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+68"/>
+ <location/>
<source>Val</source>
- <translation>Val</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
- <location line="+49"/>
- <location line="+22"/>
+ <location/>
<source>Alpha</source>
- <translation>Alfa</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-68"/>
+ <location/>
<source>A</source>
- <translation>A</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+81"/>
+ <location/>
<source>Type</source>
- <translation>Típus</translation>
+ <translation type="unfinished">Típus</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Spread</source>
- <translation>Kiterjedés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>Color</source>
- <translation>Szín</translation>
+ <translation type="unfinished">Szín</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Current stop&apos;s color</source>
- <translation>Aktuális leállítás színe</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Show HSV specification</source>
- <translation>HSV specifikáció megjelenítése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>HSV</source>
- <translation>HSV</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Show RGB specification</source>
- <translation>RGB specifikáció megjelenítése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>RGB</source>
- <translation>RGB</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location/>
<source>Current stop&apos;s position</source>
- <translation>Aktuális leállítás pozíciója</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+188"/>
+ <location/>
<source>%</source>
- <translation>%</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+111"/>
+ <location/>
<source>Zoom In</source>
- <translation>Nagyítás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Zoom Out</source>
- <translation>Kicsinyítés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>Toggle details extension</source>
- <translation>Részlet kiterjesztések kapcsolgatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&gt;</source>
- <translation>&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>Linear Type</source>
- <translation>Lineáris típus</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
- <location line="+22"/>
- <location line="+22"/>
- <location line="+22"/>
- <location line="+22"/>
- <location line="+22"/>
+ <location/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
<message>
- <location line="-91"/>
+ <location/>
<source>Radial Type</source>
- <translation>Sugárirányú típus</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Conical Type</source>
- <translation>Kúp alakú típus</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Pad Spread</source>
- <translation>Lyuk kiterjedés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Repeat Spread</source>
- <translation>Ismétlési kiterjedés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Reflect Spread</source>
- <translation>Prizma kiterjedés</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -2991,37 +2972,37 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/shared/qtgradienteditor/qtgradientstopswidget.cpp" line="+947"/>
<source>New Stop</source>
- <translation>Új leállítás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
<location line="+1"/>
<source>Flip All</source>
- <translation>Az összes feldobása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Select All</source>
- <translation>Az összes kiválasztása</translation>
+ <translation type="unfinished">Összes kijelölése</translation>
</message>
<message>
<location line="+1"/>
<source>Zoom In</source>
- <translation>Nagyítás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Zoom Out</source>
- <translation>Kicsinyítés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Reset Zoom</source>
- <translation>Zoom újraindítása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3029,62 +3010,63 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+107"/>
<source>Grad</source>
- <translation>Diplomás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+26"/>
<source>Remove Gradient</source>
- <translation>Meredekség eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Are you sure you want to remove the selected gradient?</source>
- <translation>El szeretné távolítani a kiválasztott meredekséget?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui" line="+39"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientview.ui"/>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+74"/>
<source>New...</source>
- <translation>Új...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+1"/>
<source>Edit...</source>
- <translation>Szerkesztés...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+1"/>
<source>Rename</source>
- <translation>Átnevezés</translation>
+ <translation type="unfinished">Átnevezés</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+1"/>
<source>Remove</source>
- <translation>Eltávolítás</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
- <location line="-83"/>
+ <location/>
<source>Gradient View</source>
- <translation>Meredekség nézet</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtGradientViewDialog</name>
<message>
- <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui" line="+53"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.ui"/>
+ <location filename="../tools/shared/qtgradienteditor/qtgradientviewdialog.h" line="+62"/>
<source>Select Gradient</source>
- <translation>Meredekség kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtKeySequenceEdit</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+221"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="+249"/>
<source>Clear Shortcut</source>
- <translation>Gyorsbillentyű kitisztítása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3092,17 +3074,17 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-3541"/>
<source>%1, %2</source>
- <translation>%1, %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+53"/>
<source>Language</source>
- <translation>Nyelv</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Country</source>
- <translation>Ország</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3110,17 +3092,17 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location line="+411"/>
<source>(%1, %2)</source>
- <translation>(%1, %2)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+71"/>
<source>X</source>
- <translation>X</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Y</source>
- <translation>Y</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3128,30 +3110,30 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location line="-320"/>
<source>(%1, %2)</source>
- <translation>(%1, %2)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+37"/>
<source>X</source>
- <translation>X</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Y</source>
- <translation>Y</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtPropertyBrowserUtils</name>
<message>
- <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-136"/>
+ <location filename="../tools/shared/qtpropertybrowser/qtpropertybrowserutils.cpp" line="-156"/>
<source>[%1, %2, %3] (%4)</source>
- <translation>[%1, %2, %3] (%4)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+30"/>
<source>[%1, %2]</source>
- <translation>[%1, %2]</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3159,27 +3141,27 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="+1706"/>
<source>[(%1, %2), %3 x %4]</source>
- <translation>[(%1, %2), %3 x %4]</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+156"/>
<source>X</source>
- <translation>X</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Y</source>
- <translation>Y</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Width</source>
- <translation>Szélesség</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>Height</source>
- <translation>Magasság</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3187,27 +3169,27 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<message>
<location line="-612"/>
<source>[(%1, %2), %3 x %4]</source>
- <translation>[(%1, %2), %3 x %4]</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+120"/>
<source>X</source>
- <translation>X</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Y</source>
- <translation>Y</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Width</source>
- <translation>Szélesség</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Height</source>
- <translation>Magasság</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3216,71 +3198,70 @@ Konténer lapokat XML-ben való specifikációjuk által kellene hozzáadni, az
<location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.cpp" line="+76"/>
<source>%1 already exists.
Do you want to replace it?</source>
- <translation>%1 már létezik.
-Le szeretné cserélni?</translation>
+ <translation type="unfinished"></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>A fájl nem egy erőforrás fájl, &apos;%1&apos; elem található, ahol &apos;%2&apos; a várt.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+902"/>
<source>%1 [read-only]</source>
- <translation>%1 [csak olvasható]</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<location line="+198"/>
<source>%1 [missing]</source>
- <translation>%1 [hiányzik]</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-72"/>
<source>&lt;no prefix&gt;</source>
- <translation>&lt;nincs előtag&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+320"/>
<location line="+566"/>
<source>New Resource File</source>
- <translation>Új erőforrás fájl</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-564"/>
<location line="+25"/>
<source>Resource files (*.qrc)</source>
- <translation>Erőforrás fájlok (*.qrc)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-2"/>
<source>Import Resource File</source>
- <translation>Erőforrás fájl importálása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+112"/>
<source>newPrefix</source>
- <translation>újElőtag</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+16"/>
<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;Figyelmeztetés:&lt;/b&gt; A(z)&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;fájl az aktuális erőforrás fájl szülő könyvtárán kívül helyezkedik el.&lt;/p&gt;</translation>
+ <translation type="unfinished"></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;A hiba megoldásához, nyomja le a következőt:&lt;/p&gt;&lt;table&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Másolás&lt;/th&gt;&lt;td&gt;a fájl erőforrás fájljának szülőkönyvtárába másoláshoz.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Másolás másként...&lt;/th&gt;&lt;td&gt;a fájl erőforrás fájljának szülőkönyvtárának egy alkönyvtárába másoláshoz.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th align=&quot;left&quot;&gt;Megtartás&lt;/th&gt;&lt;td&gt;az aktuális helyének használatához. &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+25"/>
<source>Add Files</source>
- <translation>Fájlok hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+21"/>
<source>Incorrect Path</source>
- <translation>Helytelen útvonal</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
@@ -3288,50 +3269,49 @@ Le szeretné cserélni?</translation>
<location line="+212"/>
<location line="+7"/>
<source>Copy</source>
- <translation>Másolás</translation>
+ <translation type="unfinished">Másolás</translation>
</message>
<message>
<location line="-236"/>
<source>Copy As...</source>
- <translation>Másolás, mint...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Keep</source>
- <translation>Megtartás</translation>
+ <translation type="unfinished">Meghagy</translation>
</message>
<message>
<location line="+2"/>
<source>Skip</source>
- <translation>Kihagyás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+87"/>
<source>Clone Prefix</source>
- <translation>Előtag klónozása</translation>
+ <translation type="unfinished"></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>Gépelje be az utótagot, melyet hozzá akar adni a klónozott fájl nevekhez.
-Ez például egy nyelv kiterjesztés lenne, úgy mint &quot;_de&quot;.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+113"/>
<location line="+4"/>
<source>Copy As</source>
- <translation>Másolás, mint</translation>
+ <translation type="unfinished"></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;A kiválaszott fájl:&lt;/p&gt;&lt;p&gt;%1&lt;/p&gt;&lt;p&gt;az aktuális erőforrás fájl könytárán kívül helyezkedik el:&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Kérem válasszon másik útvonalat ezen a könyvtáron belül.&lt;p&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+20"/>
<source>Could not overwrite %1.</source>
- <translation>Nem sikerült felülírni %1.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
@@ -3339,196 +3319,189 @@ Ez például egy nyelv kiterjesztés lenne, úgy mint &quot;_de&quot;.</translat
%1
to
%2</source>
- <translation>Nem sikerült másolni
-%1
-ide
-%2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
<source>A parse error occurred at line %1, column %2 of %3:
%4</source>
- <translation>Egy elemzési hiba történt %3 %1 sorában, %2 oszlopában:
-%4</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+12"/>
<source>Save Resource File</source>
- <translation>Erőforrás fájl mentése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Could not write %1: %2</source>
- <translation>Nem sikerült írni %1: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<source>Edit Resources</source>
- <translation>Erőforrások szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
<source>New...</source>
- <translation>Új...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Open...</source>
- <translation>Megnyitás...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Open Resource File</source>
- <translation>Erőforrás fájl megnyitása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<location line="+11"/>
<source>Remove</source>
- <translation>Eltávolítás</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
<location line="-10"/>
<location line="+11"/>
<source>Move Up</source>
- <translation>Mozgatás felfelé</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-10"/>
<location line="+11"/>
<source>Move Down</source>
- <translation>Mozgatás lefelé</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-9"/>
<location line="+1"/>
<source>Add Prefix</source>
- <translation>Előtag hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Add Files...</source>
- <translation>Fájlok hozzáadása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Change Prefix</source>
- <translation>Előtag megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Change Language</source>
- <translation>Nyelv megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Change Alias</source>
- <translation>Álnév megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Clone Prefix...</source>
- <translation>Előtag klónozása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+37"/>
<source>Prefix / Path</source>
- <translation>Előtag / Útvonal</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Language / Alias</source>
- <translation>Nyelv / Álnév</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+117"/>
<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;Figyelmeztetés:&lt;/b&gt; Hibák történtek az erőforrások újra töltése közben:&lt;/p&gt;&lt;pre&gt;%1&lt;/pre&gt;&lt;/html&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Resource Warning</source>
- <translation>Erőforrás figyelmeztetés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui" line="+13"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceeditordialog.ui"/>
<source>Dialog</source>
- <translation>Párbeszéd ablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
+ <location/>
<source>New File</source>
- <translation>Új fájl</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
- <location line="+50"/>
+ <location/>
<source>N</source>
- <translation>N</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-43"/>
+ <location/>
<source>Remove File</source>
- <translation>Fájl eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
- <location line="+57"/>
+ <location/>
<source>R</source>
- <translation>R</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-34"/>
+ <location/>
<source>I</source>
- <translation>I</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>New Resource</source>
- <translation>Új erőforrás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>A</source>
- <translation>A</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Remove Resource or File</source>
- <translation>Erőforrás vagy fájl eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtResourceView</name>
<message>
- <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+566"/>
+ <location filename="../tools/designer/src/lib/shared/qtresourceview.cpp" line="+567"/>
<source>Size: %1 x %2
%3</source>
- <translation>Méret: %1 x %2
-%3</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+20"/>
<source>Edit Resources...</source>
- <translation>Erőforrások szerkesztése...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Reload</source>
- <translation>Újratöltés</translation>
+ <translation type="unfinished">Újratöltés</translation>
</message>
<message>
<location line="+7"/>
<source>Copy Path</source>
- <translation>Útvonal másolása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QtResourceViewDialog</name>
<message>
- <location line="+250"/>
+ <location line="+252"/>
<source>Select Resource</source>
- <translation>Erőforrás kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3536,17 +3509,17 @@ ide
<message>
<location filename="../tools/shared/qtpropertybrowser/qtpropertymanager.cpp" line="-535"/>
<source>%1 x %2</source>
- <translation>%1 x %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+130"/>
<source>Width</source>
- <translation>Szélesség</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>Height</source>
- <translation>Magasság</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3555,32 +3528,32 @@ ide
<location line="+1709"/>
<location line="+1"/>
<source>&lt;Invalid&gt;</source>
- <translation>&lt;Érvénytelen&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>[%1, %2, %3, %4]</source>
- <translation>[%1, %2, %3, %4]</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+45"/>
<source>Horizontal Policy</source>
- <translation>Horizontális irányvonal</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>Vertical Policy</source>
- <translation>Vertikális irányelv</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>Horizontal Stretch</source>
- <translation>Horizontális terjedelem</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Vertical Stretch</source>
- <translation>Vertikális terjedelem</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3588,17 +3561,17 @@ ide
<message>
<location line="-2286"/>
<source>%1 x %2</source>
- <translation>%1 x %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+96"/>
<source>Width</source>
- <translation>Szélesség</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Height</source>
- <translation>Magasság</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3606,107 +3579,107 @@ ide
<message>
<location filename="../tools/shared/qttoolbardialog/qttoolbardialog.cpp" line="+1240"/>
<source>Custom Toolbar</source>
- <translation>Egyéni eszköz sáv</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+544"/>
<source>&lt; S E P A R A T O R &gt;</source>
- <translation>&lt; E L V Á L A S Z T Ó &gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui" line="+13"/>
+ <location filename="../tools/shared/qttoolbardialog/qttoolbardialog.ui"/>
<source>Customize Toolbars</source>
- <translation>Eszköz sávok testreszabása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>1</source>
- <translation>1</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>Actions</source>
- <translation>Tevékenységek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location/>
<source>Toolbars</source>
- <translation>Eszköz sávok</translation>
+ <translation type="unfinished">Eszköztárak</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Add new toolbar</source>
- <translation>Új eszköz sáv hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>New</source>
- <translation>Új</translation>
+ <translation type="unfinished">Új</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Remove selected toolbar</source>
- <translation>Kiválaszott eszköz sáv eltávolítás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Remove</source>
- <translation>Eltávolítás</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Rename toolbar</source>
- <translation>Eszköz sáv átnevezése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Rename</source>
- <translation>Átnevezés</translation>
+ <translation type="unfinished">Átnevezés</translation>
</message>
<message>
- <location line="+23"/>
+ <location/>
<source>Move action up</source>
- <translation>Tevékenység mozgatása felfelé</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Up</source>
- <translation>Fel</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Remove action from toolbar</source>
- <translation>Tevékenység eltávolítása az eszköz sávról</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&lt;-</source>
- <translation>&lt;-</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Add action to toolbar</source>
- <translation>Tevékenység hozzáadása az eszközsávhoz</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>-&gt;</source>
- <translation>-&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Move action down</source>
- <translation>Tevékenység mozgatása felfele</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Down</source>
- <translation>Le</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+25"/>
+ <location/>
<source>Current Toolbar Actions</source>
- <translation>Aktuális eszköz sáv tevékenységek</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3714,12 +3687,12 @@ ide
<message>
<location filename="../tools/shared/qtpropertybrowser/qttreepropertybrowser.cpp" line="+442"/>
<source>Property</source>
- <translation>Tulajdonság</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Value</source>
- <translation>Érték</translation>
+ <translation type="unfinished">Érték</translation>
</message>
</context>
<context>
@@ -3727,64 +3700,63 @@ ide
<message>
<location filename="../tools/designer/src/designer/saveformastemplate.cpp" line="+72"/>
<source>Add path...</source>
- <translation>Útvonal hozzáadása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+23"/>
<source>Template Exists</source>
- <translation>A sablon létezik</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>A template with the name %1 already exists.
Do you want overwrite the template?</source>
- <translation>Egy %1 nevű sablon már létezik.
-Felül szeretné írni a sablont?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Overwrite Template</source>
- <translation>Sablom felülírása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Open Error</source>
- <translation>Megnyitási hiba</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>There was an error opening template %1 for writing. Reason: %2</source>
- <translation>Hiba történt a(z) %1 sablon írásra megnyitása közben. Ok: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<source>Write Error</source>
- <translation>Írása hiba</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>There was an error writing the template %1 to disk. Reason: %2</source>
- <translation>Hiba történt a(z) %1 sablon lemezre írása közben. Ok: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+27"/>
<source>Pick a directory to save templates in</source>
- <translation>Egy könyvtár gondos kiválasztása, melybe a könytárak lesznek elmentve</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/designer/saveformastemplate.ui" line="+45"/>
+ <location filename="../tools/designer/src/designer/saveformastemplate.ui"/>
<source>Save Form As Template</source>
- <translation>Az űrlap sablonként mentése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+49"/>
- <source>&amp;Category:</source>
- <translation>&amp;Kategória:</translation>
+ <location/>
+ <source>&amp;Name:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-35"/>
- <source>&amp;Name:</source>
- <translation>&amp;Név:</translation>
+ <location/>
+ <source>&amp;Category:</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3793,30 +3765,30 @@ Felül szeretné írni a sablont?</translation>
<location filename="../tools/designer/src/lib/shared/scripterrordialog.cpp" line="+59"/>
<source>An error occurred while running the scripts for &quot;%1&quot;:
</source>
- <translation>Hiba történt a szkriptek futtatása közben &apos;%1&apos;-re:</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SelectSignalDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/selectsignaldialog.ui" line="+14"/>
+ <location filename="../tools/designer/src/lib/shared/selectsignaldialog.ui"/>
<source>Go to slot</source>
- <translation>Szlotra ugrás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Select signal</source>
- <translation>Jel kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>signal</source>
- <translation>jel</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>class</source>
- <translation>osztály</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3824,45 +3796,40 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor.cpp" line="-358"/>
<source>SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4)</source>
- <translation>KÜLDŐ(%1), JEL(%2), FOGADÓ(%3), SZLOT(%4)</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SignalSlotDialogClass</name>
<message>
- <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui" line="+13"/>
+ <location filename="../tools/designer/src/lib/shared/signalslotdialog.ui"/>
<source>Signals and slots</source>
- <translation>Jelek és szlotok</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Slots</source>
- <translation>Szlotok</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+11"/>
- <location line="+49"/>
+ <location/>
<source>Add</source>
- <translation>Hozzáadás</translation>
+ <translation type="unfinished">Hozzáadás</translation>
</message>
<message>
- <location line="-46"/>
- <location line="+10"/>
- <location line="+39"/>
- <location line="+10"/>
+ <location/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
<message>
- <location line="-52"/>
- <location line="+49"/>
+ <location/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
- <location line="-21"/>
+ <location/>
<source>Signals</source>
- <translation>Jelek</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3870,12 +3837,12 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/spacer_widget.cpp" line="+275"/>
<source>Horizontal Spacer &apos;%1&apos;, %2 x %3</source>
- <translation>Horizontális távtartók &apos;%1&apos;, %2 x %3</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>Vertical Spacer &apos;%1&apos;, %2 x %3</source>
- <translation>Vertikális távtartók &apos;%1&apos;, %2 x %3</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3884,8 +3851,7 @@ Felül szeretné írni a sablont?</translation>
<location filename="../tools/designer/src/components/formeditor/templateoptionspage.cpp" line="+156"/>
<source>Template Paths</source>
<extracomment>Tab in preferences dialog</extracomment>
- <translatorcomment>Слово &quot;пути&quot; опустил, т.к. с другими вкладками не перепутать, а длинная вкладка не смотрится.</translatorcomment>
- <translation>Sablon útvonalak</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3893,55 +3859,75 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/designer/mainwindow.cpp" line="+89"/>
<source>Configure Toolbars...</source>
- <translation>Eszköz sávok konfigurálása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>Window</source>
- <translation>Ablak</translation>
+ <translation type="unfinished">Ablak</translation>
</message>
<message>
<location line="+1"/>
<source>Help</source>
- <translation>Súgó</translation>
+ <translation type="unfinished">Segítség</translation>
</message>
<message>
<location line="+7"/>
<source>Style</source>
- <translation>Stílus</translation>
+ <translation type="unfinished">Stílus</translation>
</message>
<message>
<location line="+2"/>
<source>Dock views</source>
- <translation>Dokk nézetek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
+ <source>File</source>
+ <translation type="unfinished">Fájl</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Edit</source>
+ <translation type="unfinished">Szerkesztés</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Tools</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Form</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Toolbars</source>
- <translation>Eszköz sávok</translation>
+ <translation type="unfinished">Eszköztárak</translation>
</message>
</context>
<context>
<name>VersionDialog</name>
<message>
- <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+171"/>
+ <location filename="../tools/designer/src/designer/versiondialog.cpp" line="+170"/>
<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;Verzió %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Qt Designer</source>
- <translation>Qt Designer</translation>
+ <translation type="unfinished"></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 Designer egy grafikus felhasználói felület tervező Qt alkalmazásokhoz.&lt;br/&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>%1&lt;br/&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</source>
- <translation>%1&lt;br/&gt;Szerzői jog (C) 2010 Nokia vállalat és/vagy leányvállalata(i).</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3949,7 +3935,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<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>A fájl egy egyéni &apos;%1&apos; widget-t tartalmaz, aminek az alap osztálya (%2) különbözik az aktuális beviteltől a widget adatbázisban (%3). A widget adatbázis változatlanul lett hagyva.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -3957,120 +3943,120 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/actioneditor.cpp" line="+123"/>
<source>New...</source>
- <translation>Új...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Edit...</source>
- <translation>Szerkesztés...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Go to slot...</source>
- <translation>Ugrás a szlotra...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Copy</source>
- <translation>Másolás</translation>
+ <translation type="unfinished">Másolás</translation>
</message>
<message>
<location line="+1"/>
<source>Cut</source>
- <translation>Kivágás</translation>
+ <translation type="unfinished">Kivágás</translation>
</message>
<message>
<location line="+1"/>
<source>Paste</source>
- <translation>Beillesztés</translation>
+ <translation type="unfinished">Beillesztés</translation>
</message>
<message>
<location line="+1"/>
<source>Select all</source>
- <translation>Az összes kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
<location line="+9"/>
<source>Actions</source>
- <translation>Tevékenységek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+49"/>
<source>Configure Action Editor</source>
- <translation>Tevékenység szerkesztő konfigurálása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Icon View</source>
- <translation>Ikon nézet</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Detailed View</source>
- <translation>Részletezett nézet</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+246"/>
<source>New action</source>
- <translation>Új tevékenység</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+98"/>
<source>Edit action</source>
- <translation>Tevékenység szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+69"/>
<source>Remove action &apos;%1&apos;</source>
- <translation>&apos;%1&apos; tevékenység eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>Remove actions</source>
- <translation>Tevékenységek eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+186"/>
<source>Used In</source>
- <translation>Használva ebben</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::ActionModel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+95"/>
+ <location filename="../tools/designer/src/lib/shared/actionrepository.cpp" line="+89"/>
<source>Name</source>
- <translation>Név</translation>
+ <translation type="unfinished">Név</translation>
</message>
<message>
<location line="+1"/>
<source>Used</source>
- <translation>Használt</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Text</source>
- <translation>Szöveg</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Shortcut</source>
- <translation>Rövidebb út</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Checkable</source>
- <translation>Leellenőrizhető</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>ToolTip</source>
- <translation>Eszköz tipp</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4078,27 +4064,27 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/formeditor/brushmanagerproxy.cpp" line="+219"/>
<source>The element &apos;%1&apos; is missing the required attribute &apos;%2&apos;.</source>
- <translation>A(z) &apos;%1&apos; elem hiányzik, a szükséges attribútum &apos;%2&apos;.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<source>Empty brush name encountered.</source>
- <translation>Üres kefe nevet talált.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>An unexpected element &apos;%1&apos; was encountered.</source>
- <translation>Egy &apos;%1&apos; váratlan elemet talált.</translation>
+ <translation type="unfinished"></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>Hiba történt a(z) &apos;%1&apos; ecset definíciós fájl olvasása közben %2 sorban, %3 oszlopban: %4</translation>
+ <translation type="unfinished"></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>Hiba történt a(z) &apos;%1&apos; erőforrás fájl olvasása közben, %2 sorban, %3 oszlopban: %4</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4106,31 +4092,31 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/buddyeditor/buddyeditor.cpp" line="+261"/>
<source>Add buddy</source>
- <translation>Haver hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+52"/>
<source>Remove buddies</source>
- <translation>Haverok eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+24"/>
<source>Remove %n buddies</source>
- <translation>
- <numerusform>%n haverok eltávolítása</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message numerus="yes">
<location line="+51"/>
<source>Add %n buddies</source>
- <translation>
- <numerusform>%n haver hozzáadása</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
<location line="+47"/>
<source>Set automatically</source>
- <translation>Automatikus beállítás</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4138,7 +4124,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+73"/>
<source>Edit Buddies</source>
- <translation>Haverok szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4146,7 +4132,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+56"/>
<source>Edit Buddies</source>
- <translation>Haverok szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4154,12 +4140,12 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+7"/>
<source>Select members</source>
- <translation>Tagok kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Break</source>
- <translation>Törés</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4167,32 +4153,32 @@ Felül szeretné írni a sablont?</translation>
<message>
<location line="+121"/>
<source>Assign to button group</source>
- <translation>Gomb csoporthoz rendelés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Button group</source>
- <translation>Gomb csoport</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>New button group</source>
- <translation>Új gomb csoport</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Change text...</source>
- <translation>Szöveg megváltoztatása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>None</source>
- <translation>Semmi</translation>
+ <translation type="unfinished">Nincs</translation>
</message>
<message>
<location line="+101"/>
<source>Button group &apos;%1&apos;</source>
- <translation>&apos;%1&apos; gomb csoport</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4205,22 +4191,22 @@ Felül szeretné írni a sablont?</translation>
<message>
<location line="+4"/>
<source>Copy All</source>
- <translation>Az összes másolása</translation>
+ <translation>Mindent másol</translation>
</message>
<message>
<location line="+5"/>
<source>&amp;Find in Text...</source>
- <translation>&amp;Keresés szövegben...</translation>
+ <translation>&amp;Keresés a szövegben...</translation>
</message>
<message>
<location line="+75"/>
<source>A temporary form file could not be created in %1.</source>
- <translation>Egy átmeneti űrlap fájlt nem sikerült létrehozni %1-ben.</translation>
+ <translation>Az ideiglenes űrlap fájl nem hozható létre a(z) %1 helyen.</translation>
</message>
<message>
<location line="+6"/>
<source>The temporary form file %1 could not be written.</source>
- <translation>A(z) %1 átmeneti űrlap fájlt nem sikerült írni.</translation>
+ <translation>A(z) %1 ideiglenes űrlap fájl nem írható.</translation>
</message>
<message>
<location line="+21"/>
@@ -4235,17 +4221,17 @@ Felül szeretné írni a sablont?</translation>
<message>
<location line="+0"/>
<source>Header Files (*.%1)</source>
- <translation>Fejállományok (*.%1)</translation>
+ <translation>Fejléc fájlok (*.%1)</translation>
</message>
<message>
<location line="+6"/>
<source>The file %1 could not be opened: %2</source>
- <translation>A(z) %1 fájlt nem sikerült megnyitni: %2</translation>
+ <translation>A(z) %1 fájl nem nyitható meg: %2</translation>
</message>
<message>
<location line="+5"/>
<source>The file %1 could not be written: %2</source>
- <translation>A(z) %1 fájlt nem sikerült írni: %2</translation>
+ <translation>A(z) %1 fájl nem írható: %2</translation>
</message>
<message>
<location line="+11"/>
@@ -4258,7 +4244,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+246"/>
<source>Text Color</source>
- <translation>Szöveg szín</translation>
+ <translation>Szövegszín</translation>
</message>
</context>
<context>
@@ -4266,12 +4252,13 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+68"/>
<source>Edit Items...</source>
- <translation>Elemek szerkesztése...</translation>
+ <translation>Elem szerkesztése...</translation>
</message>
<message>
<location line="+38"/>
<source>Change Combobox Contents</source>
- <translation>Combobox tartalmának megváltoztatása</translation>
+ <translatorcomment>CHECKIT: too long...</translatorcomment>
+ <translation type="unfinished">Legördülő doboz tartalmának megváltoztatása</translation>
</message>
</context>
<context>
@@ -4279,7 +4266,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/button_taskmenu.cpp" line="+156"/>
<source>Change description...</source>
- <translation>Leírás megváltoztatása...</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4287,17 +4274,17 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/connectionedit.cpp" line="+1313"/>
<source>Select All</source>
- <translation>Az összes kiválasztása</translation>
+ <translation type="unfinished">Összes kijelölése</translation>
</message>
<message>
<location line="+3"/>
<source>Deselect All</source>
- <translation>Az összes kijelölés eltűntetése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
</context>
<context>
@@ -4305,52 +4292,52 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="-465"/>
<source>Sender</source>
- <translation>Küldő</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Signal</source>
- <translation>Jel</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Receiver</source>
- <translation>Fogadó</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Slot</source>
- <translation>Szlot</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+90"/>
<source>&lt;sender&gt;</source>
- <translation>&lt;küldő&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>&lt;signal&gt;</source>
- <translation>&lt;jel&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>&lt;receiver&gt;</source>
- <translation>&lt;fogadó&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>&lt;slot&gt;</source>
- <translation>&lt;szlot&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+108"/>
<source>The connection already exists!&lt;br&gt;%1</source>
- <translation>A kapcsolat már létezik!&lt;br&gt;%1</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Signal and Slot Editor</source>
- <translation>Jel és Szlot szerkesztő</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4358,42 +4345,42 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+79"/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
<location line="+25"/>
<source>Insert</source>
- <translation>Beszúrás</translation>
+ <translation type="unfinished">Beszúrás</translation>
</message>
<message>
<location line="+3"/>
<source>Insert Page Before Current Page</source>
- <translation>Lap beszúrása az aktuális lap elé</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Insert Page After Current Page</source>
- <translation>Lap beszúrása az aktuális lap után</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Add Subwindow</source>
- <translation>Alablak hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+38"/>
<source>Subwindow</source>
- <translation>Al ablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Page</source>
- <translation>Lap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Page %1 of %2</source>
- <translation>%2 %1 lapja</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4402,18 +4389,18 @@ Felül szeretné írni a sablont?</translation>
<location filename="../tools/designer/src/components/formeditor/dpi_chooser.cpp" line="+27"/>
<source>System (%1 x %2)</source>
<extracomment>System resolution</extracomment>
- <translation>Rendszer (%1 x %2)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>User defined</source>
- <translation>Felhasználó által definiált</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
<source> x </source>
<extracomment>DPI X/Y separator</extracomment>
- <translation> x </translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4422,123 +4409,123 @@ Felül szeretné írni a sablont?</translation>
<location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="+647"/>
<location line="+6"/>
<source>AlignLeft</source>
- <translation>IgazításBalra</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-5"/>
<source>AlignHCenter</source>
- <translation>IgazításHKözépre</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>AlignRight</source>
- <translation>IgazításJobbra</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>AlignJustify</source>
- <translation>IgazításFeloldása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>AlignTop</source>
- <translation>IgazításTetejére</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<location line="+4"/>
<source>AlignVCenter</source>
- <translation>IgazításVKözépre</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-3"/>
<source>AlignBottom</source>
- <translation>IgazításAlulra</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+565"/>
<source>%1, %2</source>
- <translation>%1, %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
<location line="+6"/>
<source>Customized (%n roles)</source>
- <translation>
- <numerusform>Testreszabva (%n szabály)</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
<location line="+1"/>
<source>Inherited</source>
- <translation>Örökölt</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+566"/>
<source>Horizontal</source>
- <translation>Horizontális</translation>
+ <translation type="unfinished">Vízszintes</translation>
</message>
<message>
<location line="+9"/>
<source>Vertical</source>
- <translation>Vertikális</translation>
+ <translation type="unfinished">Függőleges</translation>
</message>
<message>
<location line="+15"/>
<source>Normal Off</source>
- <translation>Normál ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Normal On</source>
- <translation>Normál be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Disabled Off</source>
- <translation>Tiltás ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Disabled On</source>
- <translation>Tiltás be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Active Off</source>
- <translation>Aktív ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Active On</source>
- <translation>Aktív be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Selected Off</source>
- <translation>Kiválasztás ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Selected On</source>
- <translation>Kiválasztás be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<location line="+21"/>
<source>translatable</source>
- <translation>fordítható</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-15"/>
<location line="+21"/>
<source>disambiguation</source>
- <translation>Nem félreérthető</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-15"/>
<location line="+21"/>
<source>comment</source>
- <translation>megjegyzés</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4546,106 +4533,106 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/formeditor/deviceprofiledialog.cpp" line="+63"/>
<source>Device Profiles (*.%1)</source>
- <translation>Eszköz profilok (*.%1)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+31"/>
<source>Default</source>
- <translation>Alapértelmezett</translation>
+ <translation type="unfinished">Alapértelmezett</translation>
</message>
<message>
<location line="+67"/>
<source>Save Profile</source>
- <translation>Profil mentése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+10"/>
<source>Save Profile - Error</source>
- <translation>Profil mentése - Hiba</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+0"/>
<source>Unable to open the file &apos;%1&apos; for writing: %2</source>
- <translation>Nem lehet megnyitni a(z) &apos;%1&apos; fájlt írásra: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Open profile</source>
- <translation>Profil megnyitása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<location line="+6"/>
<source>Open Profile - Error</source>
- <translation>Profil megnyitása - Hiba</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-6"/>
<source>Unable to open the file &apos;%1&apos; for reading: %2</source>
- <translation>Nem lehet megnyitni a(z) &apos;%1&apos; fájlt olvasásra: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>&apos;%1&apos; is not a valid profile: %2</source>
- <translation>&apos;%1&apos; nem egy érvényes profil: %2</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::Dialog</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui" line="+53"/>
+ <location filename="../tools/designer/src/components/propertyeditor/stringlisteditor.ui"/>
<source>Dialog</source>
- <translation>Párbeszéd ablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>StringList</source>
- <translation>Sztring lista</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location/>
<source>New String</source>
- <translation>Új Sztring</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;New</source>
- <translation>&amp;Új</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Delete String</source>
- <translation>Sztring törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Delete</source>
- <translation>&amp;Törlés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+33"/>
+ <location/>
<source>&amp;Value:</source>
- <translation>&amp;Érték:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+38"/>
+ <location/>
<source>Move String Up</source>
- <translation>Sztring felfelé mozgatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Up</source>
- <translation>Fel</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move String Down</source>
- <translation>Sztring lefelé mozgatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Down</source>
- <translation>Le</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4653,60 +4640,65 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/formeditor/embeddedoptionspage.cpp" line="-260"/>
<source>None</source>
- <translation>Semmi</translation>
+ <translation type="unfinished">Nincs</translation>
</message>
<message>
<location line="+4"/>
<source>Add a profile</source>
- <translation>Egy profil hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Edit the selected profile</source>
- <translation>A kiválasztott profil szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Delete the selected profile</source>
- <translation>A kiválasztott profil törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+22"/>
<source>Add Profile</source>
- <translation>Profil hozzáadása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>New profile</source>
- <translation>Új profil</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+35"/>
<source>Edit Profile</source>
- <translation>Profil szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+26"/>
<source>Delete Profile</source>
- <translation>Profil törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Would you like to delete the profile &apos;%1&apos;?</source>
- <translation>Törölni szeretné a(z) &apos;%1&apos; profilet?</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+55"/>
<source>Default</source>
- <translation>Alapértelmezett</translation>
+ <translation type="unfinished">Alapértelmezett</translation>
</message>
</context>
<context>
<name>qdesigner_internal::FilterWidget</name>
<message>
- <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+185"/>
- <source>&lt;Filter&gt;</source>
- <translation>&lt;Szűrő&gt;</translation>
+ <location filename="../tools/designer/src/lib/shared/filterwidget.cpp" line="+163"/>
+ <source>Filter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>Clear text</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4714,12 +4706,12 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/formeditor/formeditor.cpp" line="+190"/>
<source>Resource File Changed</source>
- <translation>Erőforrás fájl megváltoztatva</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>The file &quot;%1&quot; has changed outside Designer. Do you want to reload it?</source>
- <translation>A(z) &apos;%1&apos; fájl megváltoztatták a Designer-en kívül. Újra szeretné tölteni?</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -4727,315 +4719,319 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/formlayoutmenu.cpp" line="+24"/>
<source>Add form layout row...</source>
- <translation>Űrlap elrendezési sor hozzáadása...</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::FormWindow</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1267"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1322"/>
<source>Edit contents</source>
- <translation>Tartalom szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>F2</source>
- <translation>F2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+774"/>
+ <location line="+775"/>
<source>Insert widget &apos;%1&apos;</source>
- <translation>&apos;%1&apos; widget beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+67"/>
+ <location line="+65"/>
<source>Resize</source>
- <translation>Átméretezés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+218"/>
- <location line="+15"/>
+ <location line="+248"/>
<source>Key Move</source>
- <translation>Kulcs mozgatás</translation>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Key Resize</source>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location line="+211"/>
+ <location line="+252"/>
<source>Paste %n action(s)</source>
- <translation>
- <numerusform>%n tevékenység beillesztése</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message numerus="yes">
<location line="+2"/>
<source>Paste %n widget(s)</source>
- <translation>
- <numerusform>%n widget beillesztése</numerusform>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
<location line="+1"/>
<source>Paste (%1 widgets, %2 actions)</source>
- <translation>Beillesztés (%1 widget-ek, %2 tevékenységek)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+56"/>
<source>Cannot paste widgets. Designer could not find a container without a layout to paste into.</source>
- <translation>Nem lehet beilleszteni a widget-eket. A Designer nem talált egy tárolót sem elrendezés nélküli beillesztéshez.</translation>
+ <translation type="unfinished"></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>A tároló elrendezésének megtörése, ahová be akarja illeszteni, válassza ki ezt a tárolót és aztán illessze e újra.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Paste error</source>
- <translation>Beillesztési hiba</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+181"/>
<source>Raise widgets</source>
- <translation>Widget-ek növelése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+17"/>
<source>Lower widgets</source>
- <translation>Alsó widget-ek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+204"/>
<source>Select Ancestor</source>
- <translation>Ős kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+41"/>
+ <location line="+46"/>
<source>Lay out</source>
- <translation>Elrendezés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+493"/>
+ <location line="+485"/>
<location line="+55"/>
<source>Drop widget</source>
- <translation>Widget ejtése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="-13"/>
<source>A QMainWindow-based form does not contain a central widget.</source>
- <translation>Egy QMainWindow alapú űrlap nem tartalmaz egy központi widget-et.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::FormWindowBase</name>
<message>
- <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+393"/>
+ <location filename="../tools/designer/src/lib/shared/formwindowbase.cpp" line="+404"/>
<source>Delete &apos;%1&apos;</source>
- <translation>&apos;%1&apos; törlése</translation>
+ <translation type="unfinished">&apos;%1&apos; törlése</translation>
</message>
<message>
<location line="+0"/>
<source>Delete</source>
- <translation>Törlés</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
</context>
<context>
<name>qdesigner_internal::FormWindowManager</name>
<message>
- <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+364"/>
+ <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+365"/>
<source>Cu&amp;t</source>
- <translation>&amp;Kivágás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Cuts the selected widgets and puts them on the clipboard</source>
- <translation>A kiválaszott widget-ek kivágása és vágólapra helyezése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>&amp;Copy</source>
- <translation>&amp;Másolás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Copies the selected widgets to the clipboard</source>
- <translation>A kiválasztott widget-ek vágólapra másolása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>&amp;Paste</source>
- <translation>&amp;Beillesztés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Pastes the clipboard&apos;s contents</source>
- <translation>A vágólap tartalmának beillesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>&amp;Delete</source>
- <translation>&amp;Törlés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Deletes the selected widgets</source>
- <translation>A kiválasztott widget-ek törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Select &amp;All</source>
- <translation>Az &amp;összes kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Selects all widgets</source>
- <translation>Az összes widget kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Bring to &amp;Front</source>
- <translation>&amp;Előre hozás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<location line="+1"/>
<source>Raises the selected widgets</source>
- <translation>A kiválaszott widget-ek növelése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Send to &amp;Back</source>
- <translation>&amp;Visszaküldés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<location line="+1"/>
<source>Lowers the selected widgets</source>
- <translation>Alsó kiválasztott widget-ek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Adjust &amp;Size</source>
- <translation>&amp;Méret igazítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Adjusts the size of the selected widget</source>
- <translation>A kiválasztott widget méretének igazítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Lay Out &amp;Horizontally</source>
- <translation>Elrendezés &amp;Horizontálisan</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lays out the selected widgets horizontally</source>
- <translation>A kiválaszott widget-ek horizontális elrendezése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>Lay Out &amp;Vertically</source>
- <translation>Elrendezés &amp;vertikálisan</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lays out the selected widgets vertically</source>
- <translation>A kiválaszott widget-ek vertikális elrendezése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Lay Out in a &amp;Form Layout</source>
- <translation>Elrendezés egy &amp;Űrlap elrendezésben</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lays out the selected widgets in a form layout</source>
- <translation>A kiválaszott widget-ek elrendezése egy űrlap elrendezésben</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Lay Out in a &amp;Grid</source>
- <translation>Elrendezés egy &amp;rácsban</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lays out the selected widgets in a grid</source>
- <translation>A kiválasztott widget-ek elrendezése egy rácsban</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Lay Out Horizontally in S&amp;plitter</source>
- <translation>Elrendezés Horizontálisan a &amp;csúszkában</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lays out the selected widgets horizontally in a splitter</source>
- <translation>A kiválasztott widget-ek horizontális elrendezése egy csúszkában</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Lay Out Vertically in Sp&amp;litter</source>
- <translation>Elrendezés vertikálisan egy &amp;csúszkában</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Lays out the selected widgets vertically in a splitter</source>
- <translation>A kiválaszott widget-ek vertikális elrendezése egy csúszkában</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>&amp;Break Layout</source>
- <translation>Elrendezés &amp;törése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Breaks the selected layout</source>
- <translation>A kiválaszott elrendezés törése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>Si&amp;mplify Grid Layout</source>
- <translation>Egy&amp;szerűsített rács elrendezés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Removes empty columns and rows</source>
- <translation>Üres oszlopok és sorok eltávolítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>&amp;Preview...</source>
- <translation>&amp;Előnézet...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Preview current form</source>
- <translation>Aktuális űrlap előnézet</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>Form &amp;Settings...</source>
- <translation>Űrlap &amp;beállítások...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+92"/>
+ <location line="+94"/>
<source>Break Layout</source>
- <translation>Elrendezés törése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+26"/>
<source>Adjust Size</source>
- <translation>Méret igazítása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+43"/>
<source>Could not create form preview</source>
<comment>Title of warning message box</comment>
- <translation>Nem sikerült létrehozni az űrlap előnézetet</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+341"/>
<source>Form Settings - %1</source>
- <translation>Űrlap beállítások - %1</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5043,51 +5039,50 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/formeditor/formwindowsettings.cpp" line="+193"/>
<source>None</source>
- <translation>Semmi</translation>
+ <translation type="unfinished">Nincs</translation>
</message>
<message>
<location line="+1"/>
<source>Device Profile: %1</source>
- <translation>Eszköz profil: %1</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::GridPanel</name>
<message>
- <location filename="../tools/designer/src/lib/shared/gridpanel.ui" line="+13"/>
+ <location filename="../tools/designer/src/lib/shared/gridpanel.ui"/>
<source>Form</source>
- <translation>Űrlap</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Grid</source>
- <translation>Rács</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Visible</source>
- <translation>Látható</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Grid &amp;X</source>
- <translation>Rács &amp;X</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+26"/>
- <location line="+57"/>
+ <location/>
<source>Snap</source>
- <translation>Bepattintás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-48"/>
+ <location/>
<source>Reset</source>
- <translation>Újraindítás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>Grid &amp;Y</source>
- <translation>Rács &amp;Y</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5095,7 +5090,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/groupbox_taskmenu.cpp" line="+82"/>
<source>Change title...</source>
- <translation>Cím változtatása...</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5103,7 +5098,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="-58"/>
<source>Insert HTML entity</source>
- <translation>HTML entitás beszúrása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5111,92 +5106,92 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-24"/>
<source>The pixmap file &apos;%1&apos; cannot be read.</source>
- <translation>A(z) &apos;%1&apos; pixmap fájlt nem lehet olvasni.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<source>The file &apos;%1&apos; does not appear to be a valid pixmap file: %2</source>
- <translation>A(z) &apos;%1&apos; fájlt nem egy érvényes pixmap fájl: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+9"/>
<source>The file &apos;%1&apos; could not be read: %2</source>
- <translation>A(z) &apos;%1&apos; fájlt nem sikerült olvasni: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+33"/>
<source>Choose a Pixmap</source>
- <translation>Egy pixmap kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+7"/>
<source>Pixmap Read Error</source>
- <translation>Pixmap olvasási hiba</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+54"/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
<message>
<location line="+6"/>
<source>Normal Off</source>
- <translation>Normál ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Normal On</source>
- <translation>Normál be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Disabled Off</source>
- <translation>Tiltás ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Disabled On</source>
- <translation>Tiltás be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Active Off</source>
- <translation>Aktív ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Active On</source>
- <translation>Aktív be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Selected Off</source>
- <translation>Kiválaszott ki</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Selected On</source>
- <translation>Kiválaszott be</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+8"/>
<source>Choose Resource...</source>
- <translation>Erőforrás kiválasztása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Choose File...</source>
- <translation>Fájl kiválasztása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Reset</source>
- <translation>Újraindítás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Reset All</source>
- <translation>Az összes újraindítása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5204,58 +5199,58 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+358"/>
<source>Properties &amp;&lt;&lt;</source>
- <translation>Tulajdonságok &amp;&lt;&lt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui" line="+143"/>
+ <location filename="../tools/designer/src/components/taskmenu/itemlisteditor.ui"/>
<location filename="../tools/designer/src/components/taskmenu/itemlisteditor.cpp" line="+2"/>
<source>Properties &amp;&gt;&gt;</source>
- <translation>Tulajdonságok &amp;&gt;&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="-75"/>
+ <location/>
<source>Items List</source>
- <translation>Elem lista</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
+ <location/>
<source>New Item</source>
- <translation>Új elem</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;New</source>
- <translation>&amp;Új</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Delete Item</source>
- <translation>Elem törlése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Delete</source>
- <translation>&amp;Törlés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Move Item Up</source>
- <translation>Elem mozgatása felfelé</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>U</source>
- <translation>U</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move Item Down</source>
- <translation>Elem mozgatása lefelé</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>D</source>
- <translation>D</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5263,12 +5258,12 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/label_taskmenu.cpp" line="+85"/>
<source>Change rich text...</source>
- <translation>Gazdag szöveg választása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Change plain text...</source>
- <translation>Egyszerű szöveg választása...</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5276,7 +5271,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/iconselector.cpp" line="-343"/>
<source>Choose Resource</source>
- <translation>Erőforrás kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5284,7 +5279,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/lineedit_taskmenu.cpp" line="+80"/>
<source>Change text...</source>
- <translation>Szöveg kiválasztása...</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5292,17 +5287,17 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/listwidgeteditor.cpp" line="+69"/>
<source>New Item</source>
- <translation>Új elem</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+32"/>
<source>Edit List Widget</source>
- <translation>Widget szerkesztési lista</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+19"/>
<source>Edit Combobox</source>
- <translation>Combobox szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5310,12 +5305,12 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+67"/>
<source>Edit Items...</source>
- <translation>Elemek szerkesztése...</translation>
+ <translation type="unfinished">Elem szerkesztése...</translation>
</message>
<message>
<location line="+38"/>
<source>Change List Contents</source>
- <translation>Tartalom változtatási lista</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5323,22 +5318,22 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="+118"/>
<source>Next Subwindow</source>
- <translation>Új alablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Previous Subwindow</source>
- <translation>Előző alablak</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Tile</source>
- <translation>Cserép</translation>
+ <translation type="unfinished">Mozaikszerű</translation>
</message>
<message>
<location line="+1"/>
<source>Cascade</source>
- <translation>Kaszkád</translation>
+ <translation type="unfinished">Lépcsőzetes</translation>
</message>
</context>
<context>
@@ -5346,7 +5341,7 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/taskmenu/menutaskmenu.cpp" line="+56"/>
<source>Remove</source>
- <translation>Eltávolítás</translation>
+ <translation type="unfinished">Törlés</translation>
</message>
</context>
<context>
@@ -5354,51 +5349,50 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/lib/shared/morphmenu.cpp" line="+264"/>
<source>Morph into</source>
- <translation>Morph into</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::NewActionDialog</name>
<message>
- <location filename="../tools/designer/src/lib/shared/newactiondialog.ui" line="+46"/>
+ <location filename="../tools/designer/src/lib/shared/newactiondialog.ui"/>
<source>New Action...</source>
- <translation>Új tevékenység...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>&amp;Text:</source>
- <translation>&amp;Szöveg:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Object &amp;name:</source>
- <translation>Objektum &amp;név:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&amp;Icon:</source>
- <translation>&amp;Ikon:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+30"/>
+ <location/>
<source>Shortcut:</source>
- <translation>Rövidebb út:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Checkable:</source>
- <translation>Ellenőrizhető:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>ToolTip:</source>
- <translation>Eszköz tipp:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
- <location line="+21"/>
+ <location/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
</context>
<context>
@@ -5406,41 +5400,39 @@ Felül szeretné írni a sablont?</translation>
<message>
<location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.cpp" line="+134"/>
<source>Set Property Name</source>
- <translation>Tulajdonság nevének beállítása</translation>
+ <translation type="unfinished"></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>Az aktuális objektumnak már van egy &apos;%1&apos; nevű tulajdonsága.
-Kérem válasszon másikat, egy egyedülállót.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>The &apos;_q_&apos; prefix is reserved for the Qt library.
Please select another name.</source>
- <translation>Az &apos;_q_&apos; előtag foglalt a Qt könyvtárhoz.
-Kérem válasszon másikat.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui" line="+13"/>
+ <location filename="../tools/designer/src/components/propertyeditor/newdynamicpropertydialog.ui"/>
<source>Create Dynamic Property</source>
- <translation>Dinamikus tulajdonság létrehozása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+24"/>
+ <location/>
<source>Property Name</source>
- <translation>Tulajdonság Neve</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>horizontalSpacer</source>
- <translation>horizontálisTávtartó</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+24"/>
+ <location/>
<source>Property Type</source>
- <translation>Tulajdonság Típusa</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5448,83 +5440,83 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/lib/shared/newformwidget.cpp" line="+104"/>
<source>Default size</source>
- <translation>Alapértelmezett méret</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>QVGA portrait (240x320)</source>
- <translation>QVGA portré (240x320)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>QVGA landscape (320x240)</source>
- <translation>QVGA tájkép (320x240)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>VGA portrait (480x640)</source>
- <translation>VGA portré (480x640)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>VGA landscape (640x480)</source>
- <translation>VGA tájkép: (640x480)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+66"/>
<source>Widgets</source>
<extracomment>New Form Dialog Categories</extracomment>
- <translation>Widget-ek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Custom Widgets</source>
- <translation>Egyéni Widget-ek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+18"/>
<source>None</source>
- <translation>Semmi</translation>
+ <translation type="unfinished">Nincs</translation>
</message>
<message>
<location line="+57"/>
<source>Error loading form</source>
- <translation>Hiba történt az űrlap betöltése közben</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+244"/>
<source>Unable to open the form template file &apos;%1&apos;: %2</source>
- <translation>Nem lehet megnyitni a(z) &apos;%1&apos; űrlap sablon fájlt: %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+67"/>
<source>Internal error: No template selected.</source>
- <translation>Belső hiba: Nincsen sablon kiválasztva.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/newformwidget.ui" line="+82"/>
+ <location filename="../tools/designer/src/lib/shared/newformwidget.ui"/>
<source>0</source>
- <translation>0</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>Choose a template for a preview</source>
- <translation>Válasszon egy sablont egy előnézetre</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+44"/>
+ <location/>
<source>Embedded Design</source>
- <translation>Beágyazott tervezés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Device:</source>
- <translation>Eszköz:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Screen Size:</source>
- <translation>Képernyő méret:</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5532,53 +5524,50 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/lib/shared/qdesigner_promotiondialog.cpp" line="+92"/>
<source>Add</source>
- <translation>Hozzáadás</translation>
+ <translation type="unfinished">Hozzáadás</translation>
</message>
<message>
<location line="+2"/>
<source>New Promoted Class</source>
- <translation>Új támogatott osztály</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>Base class name:</source>
- <translation>Alap osztály név:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Promoted class name:</source>
- <translation>Támogatott osztály neve:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Header file:</source>
- <translation>Fejállomány:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Global include</source>
- <translation>Globális include</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+11"/>
<source>Reset</source>
- <translation>Újraindítás</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::ObjectInspector</name>
<message>
- <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+754"/>
- <source>&amp;Find in Text...</source>
- <translation>&amp;Keresés a szövegben...</translation>
+ <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+316"/>
+ <source>Change Current Page</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>qdesigner_internal::ObjectInspector::ObjectInspectorPrivate</name>
<message>
- <location line="-438"/>
- <source>Change Current Page</source>
- <translation>Aktuális lap megváltoztatása</translation>
+ <location line="+438"/>
+ <source>&amp;Find in Text...</source>
+ <translation type="unfinished">&amp;Keresés a szövegben...</translation>
</message>
</context>
<context>
@@ -5586,80 +5575,80 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/lib/shared/orderdialog.cpp" line="+109"/>
<source>Index %1 (%2)</source>
- <translation>Index %1 (%2)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>%1 %2</source>
- <translation>%1 %2</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/lib/shared/orderdialog.ui" line="+53"/>
+ <location filename="../tools/designer/src/lib/shared/orderdialog.ui"/>
<source>Change Page Order</source>
- <translation>Lap sorrend megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Page Order</source>
- <translation>Lap sorrend</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+57"/>
+ <location/>
<source>Move page up</source>
- <translation>Lap mozgatása felfelé</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move page down</source>
- <translation>Lap mozgatása lefelé</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>qdesigner_internal::PaletteEditor</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui" line="+61"/>
+ <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui"/>
<source>Edit Palette</source>
- <translation>Paletta szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+24"/>
+ <location/>
<source>Tune Palette</source>
- <translation>Paletta finomhangolása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+37"/>
+ <location/>
<source>Show Details</source>
- <translation>Részletek megjelenítése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Compute Details</source>
- <translation>Számítási részletek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Quick</source>
- <translation>Gyors</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Preview</source>
- <translation>Előnézet</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Disabled</source>
- <translation>Tiltott</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Inactive</source>
- <translation>Inaktív</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Active</source>
- <translation>Aktív</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5667,7 +5656,7 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/components/propertyeditor/paletteeditorbutton.cpp" line="+57"/>
<source>Change Palette</source>
- <translation>Paletta megváltoztatása</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5675,22 +5664,22 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/components/propertyeditor/paletteeditor.cpp" line="+374"/>
<source>Color Role</source>
- <translation>Szín szabály</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Active</source>
- <translation>Aktív</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Inactive</source>
- <translation>Inaktív</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>Disabled</source>
- <translation>Tiltott</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5698,28 +5687,28 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/components/propertyeditor/designerpropertymanager.cpp" line="-1541"/>
<source>Choose Resource...</source>
- <translation>Erőforrás kiválasztása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Choose File...</source>
- <translation>Fájl kiválasztása...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Copy Path</source>
- <translation>Útvonal kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Paste Path</source>
- <translation>Útvonal beillesztése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+6"/>
<location line="+16"/>
<source>...</source>
- <translation>...</translation>
+ <translation type="unfinished">...</translation>
</message>
</context>
<context>
@@ -5727,7 +5716,7 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+65"/>
<source>Edit text</source>
- <translation>Szöveg szerkesztése</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5735,37 +5724,37 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/lib/shared/plugindialog.cpp" line="+72"/>
<source>Components</source>
- <translation>Komponensek</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+13"/>
<source>Plugin Information</source>
- <translation>Beépülő modul információ</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>Refresh</source>
- <translation>Felfrissítés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>Scan for newly installed custom widget plugins.</source>
- <translation>Újonnan telepített egyéni widget beépülő modulok letapogatása.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+48"/>
<source>Qt Designer couldn&apos;t find any plugins</source>
- <translation>Qt Designer nem talált egyetlen beépülő modult sem</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+3"/>
<source>Qt Designer found the following plugins</source>
- <translation>Qt Designer a következő beépülő modulokat találta</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+55"/>
<source>New custom widget plugins have been found.</source>
- <translation>Új egyéni widget betöltő modul talált.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5773,7 +5762,7 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/components/formeditor/previewactiongroup.cpp" line="+95"/>
<source>%1 Style</source>
- <translation>%1 Stílus</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5781,52 +5770,48 @@ Kérem válasszon másikat.</translation>
<message>
<location filename="../tools/designer/src/lib/shared/previewconfigurationwidget.cpp" line="+139"/>
<source>Default</source>
- <translation>Alapértelmezett</translation>
+ <translation type="unfinished">Alapértelmezett</translation>
</message>
<message>
<location line="+22"/>
<source>None</source>
- <translation>Semmi</translation>
+ <translation type="unfinished">Nincs</translation>
</message>
<message>
<location line="+6"/>
<source>Browse...</source>
- <translation>Böngészés...</translation>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate</name>
<message>
<location line="+118"/>
<source>Load Custom Device Skin</source>
- <translation>Egyéni eszköz szkin betöltése</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+2"/>
<source>All QVFB Skins (*.%1)</source>
- <translation>Az összes QVFB szkin (*.%1)</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+16"/>
<source>%1 - Duplicate Skin</source>
- <translation>%1 - Duplikált szkin</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+1"/>
<source>The skin &apos;%1&apos; already exists.</source>
- <translation>A(z) &apos;%1&apos; szkin már létezik.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+14"/>
<source>%1 - Error</source>
- <translation>%1 - Hiba</translation>
+ <translation type="unfinished">%1 - Hiba</translation>
</message>
<message>
<location line="+1"/>
<source>%1 is not a valid skin directory:
%2</source>
- <translation>%1 nem egy érvényes szkin könyvtár:
-%2</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5851,7 +5836,7 @@ Kérem válasszon másikat.</translation>
<message>
<location line="+1"/>
<source>&amp;Close</source>
- <translation>&amp;Bezárás</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -5875,57 +5860,57 @@ ate the goose who was loose.</source>
<context>
<name>qdesigner_internal::PreviewWidget</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui" line="+61"/>
+ <location filename="../tools/designer/src/components/propertyeditor/previewwidget.ui"/>
<source>Preview Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>LineEdit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>ComboBox</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>PushButton</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+58"/>
+ <location/>
<source>ButtonGroup2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>CheckBox1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>CheckBox2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>ButtonGroup</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>RadioButton1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>RadioButton2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>RadioButton3</source>
<translation type="unfinished"></translation>
</message>
@@ -5935,7 +5920,7 @@ ate the goose who was loose.</source>
<message>
<location filename="../tools/designer/src/lib/shared/promotionmodel.cpp" line="+17"/>
<source>Name</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Név</translation>
</message>
<message>
<location line="+1"/>
@@ -5984,7 +5969,7 @@ ate the goose who was loose.</source>
<context>
<name>qdesigner_internal::PropertyEditor</name>
<message>
- <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+183"/>
+ <location filename="../tools/designer/src/components/propertyeditor/propertyeditor.cpp" line="+231"/>
<source>Add Dynamic Property...</source>
<translation type="unfinished"></translation>
</message>
@@ -6014,7 +5999,7 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+50"/>
+ <location line="+45"/>
<source>String...</source>
<translation type="unfinished"></translation>
</message>
@@ -6034,7 +6019,7 @@ ate the goose who was loose.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+533"/>
+ <location line="+539"/>
<source>Object: %1
Class: %2</source>
<translation type="unfinished"></translation>
@@ -6073,7 +6058,7 @@ Class: %2</source>
<message>
<location line="+17"/>
<source>%1 - Error</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">%1 - Hiba</translation>
</message>
</context>
<context>
@@ -6296,7 +6281,7 @@ Class: %2</source>
<message>
<location line="+1"/>
<source>Value</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Érték</translation>
</message>
<message>
<location line="+22"/>
@@ -6362,7 +6347,7 @@ Class: %2</source>
<message>
<location line="-302"/>
<source>Bold</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Félkövér</translation>
</message>
<message>
<location line="+1"/>
@@ -6372,7 +6357,7 @@ Class: %2</source>
<message>
<location line="+5"/>
<source>Italic</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Dőlt</translation>
</message>
<message>
<location line="+1"/>
@@ -6382,7 +6367,7 @@ Class: %2</source>
<message>
<location line="+5"/>
<source>Underline</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Aláhúzott</translation>
</message>
<message>
<location line="+1"/>
@@ -6506,7 +6491,7 @@ Class: %2</source>
<message>
<location filename="../tools/designer/src/components/taskmenu/toolbar_taskmenu.cpp" line="+81"/>
<source>Remove</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Törlés</translation>
</message>
</context>
<context>
@@ -6603,49 +6588,49 @@ Class: %2</source>
<context>
<name>qdesigner_internal::TableWidgetEditor</name>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui" line="+97"/>
- <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+218"/>
- <source>Properties &amp;&gt;&gt;</source>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+67"/>
+ <source>New Column</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-44"/>
- <source>Edit Table Widget</source>
+ <location line="+3"/>
+ <source>New Row</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
- <source>&amp;Items</source>
+ <location line="+8"/>
+ <source>&amp;Columns</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
- <source>Table Items</source>
+ <location line="+1"/>
+ <source>&amp;Rows</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="-151"/>
- <source>New Column</source>
+ <location line="+137"/>
+ <source>Properties &amp;&lt;&lt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
- <source>New Row</source>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui"/>
+ <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.cpp" line="+2"/>
+ <source>Properties &amp;&gt;&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+8"/>
- <source>&amp;Columns</source>
+ <location/>
+ <source>Edit Table Widget</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+1"/>
- <source>&amp;Rows</source>
+ <location/>
+ <source>&amp;Items</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+137"/>
- <source>Properties &amp;&lt;&lt;</source>
+ <location/>
+ <source>Table Items</source>
<translation type="unfinished"></translation>
</message>
</context>
@@ -6654,7 +6639,7 @@ Class: %2</source>
<message>
<location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+64"/>
<source>Edit Items...</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Elem szerkesztése...</translation>
</message>
</context>
<context>
@@ -6665,20 +6650,19 @@ Class: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/formeditor/templateoptionspage.ui" line="+13"/>
+ <location filename="../tools/designer/src/components/formeditor/templateoptionspage.ui"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Additional Template Paths</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+9"/>
- <location line="+7"/>
+ <location/>
<source>...</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">...</translation>
</message>
</context>
<context>
@@ -6719,7 +6703,7 @@ Class: %2</source>
<message>
<location line="+5"/>
<source>...</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">...</translation>
</message>
<message>
<location line="+118"/>
@@ -6778,13 +6762,13 @@ Class: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="+101"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/>
<location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+53"/>
<source>New Item</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+19"/>
<source>New Subitem</source>
<translation type="unfinished"></translation>
@@ -6795,88 +6779,88 @@ Class: %2</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui" line="+86"/>
+ <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/>
<location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.cpp" line="+2"/>
<source>Properties &amp;&gt;&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="-144"/>
+ <location/>
<source>Edit Tree Widget</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Items</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+24"/>
+ <location/>
<source>Tree Items</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location/>
<source>1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&amp;New</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>New &amp;Subitem</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Delete Item</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>&amp;Delete</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Move Item Left (before Parent Item)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>L</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move Item Right (as a First Subitem of the Next Sibling Item)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>R</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move Item Up</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>U</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Move Item Down</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>D</source>
<translation type="unfinished"></translation>
</message>
@@ -6886,7 +6870,7 @@ Class: %2</source>
<message>
<location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+63"/>
<source>Edit Items...</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Elem szerkesztése...</translation>
</message>
</context>
<context>
@@ -6932,7 +6916,7 @@ Class: %2</source>
<message>
<location line="+15"/>
<source>Remove</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Törlés</translation>
</message>
<message>
<location line="+2"/>
@@ -6995,12 +6979,12 @@ This indicates an inconsistency in the ui-file.</source>
<message>
<location filename="../tools/designer/src/components/taskmenu/containerwidget_taskmenu.cpp" line="-49"/>
<source>Next</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Következő</translation>
</message>
<message>
<location line="+1"/>
<source>Back</source>
- <translation type="unfinished"></translation>
+ <translation type="unfinished">Vissza</translation>
</message>
</context>
<context>
diff --git a/translations/linguist_hu.ts b/translations/linguist_hu.ts
index aaff893..44c1e4a 100644
--- a/translations/linguist_hu.ts
+++ b/translations/linguist_hu.ts
@@ -1,10 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.0" language="hu_HU" sourcelanguage="hu">
+<TS version="2.0" language="hu_HU">
+<context>
+ <name></name>
+ <message>
+ <source>(New Entry)</source>
+ <translation type="obsolete">(Új bejegyzés)</translation>
+ </message>
+</context>
<context>
<name>AboutDialog</name>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1358"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1366"/>
<source>Qt Linguist</source>
<translation>Qt Linguist</translation>
</message>
@@ -14,7 +21,7 @@
<message>
<location filename="../tools/linguist/linguist/batchtranslationdialog.cpp" line="+79"/>
<source>Batch Translation of &apos;%1&apos; - Qt Linguist</source>
- <translation>&apos;%1&apos; Qt Linguist egy adat fordítása</translation>
+ <translation>&apos;%1&apos; kötegelt fordítása - Qt Linguist</translation>
</message>
<message>
<location line="+37"/>
@@ -24,24 +31,24 @@
<message>
<location line="+0"/>
<source>&amp;Cancel</source>
- <translation>&amp;Mégse</translation>
+ <translation>&amp;Mégsem</translation>
</message>
<message>
<location line="+42"/>
<source>Linguist batch translator</source>
- <translation>Linguist köteg fordító</translation>
+ <translation>Linguist kötegelt fordító</translation>
</message>
<message numerus="yes">
<location line="+1"/>
<source>Batch translated %n entries</source>
<translation>
- <numerusform>%n adat belépés lefordítva</numerusform>
+ <numerusform>%n üzenet sikeresen lefordítva</numerusform>
</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/batchtranslation.ui"/>
<source>Qt Linguist - Batch Translation</source>
- <translation>Qt Linguist adat fordítás</translation>
+ <translation>Qt Linguist - Kötegelt fordítás</translation>
</message>
<message>
<location/>
@@ -51,32 +58,40 @@
<message>
<location/>
<source>Set translated entries to finished</source>
- <translation>Lefordított bevitelek befejezettre állítása</translation>
+ <translation>A lefordított szövegek véglegesítése</translation>
</message>
<message>
<location/>
<source>Retranslate entries with existing translation</source>
- <translation>Bevitelek újrafordítása létező fordításokkal</translation>
+ <translation>A módosított bejegyzések fordítása</translation>
+ </message>
+ <message>
+ <source>Note that the modified entries will be reset to unfinished if &apos;Set translated entries to finished&apos; above is unchecked.</source>
+ <translation type="obsolete">A módosított bejegyzések fordítatlanra lesznek állítva, ha az &quot;A lefordított szövegek véglegesítése&quot; nincs bejelölve.</translation>
</message>
<message>
<location/>
<source>Translate also finished entries</source>
- <translation>Befejezett belépéseknek is a lefordítása</translation>
+ <translation>A véglegesített bejegyzéseket is fordítsa</translation>
</message>
<message>
<location/>
<source>Phrase book preference</source>
- <translation>Fázis könyv beállítások</translation>
+ <translation>Kifejezéstár sorrend</translation>
</message>
<message>
<location/>
<source>Move up</source>
- <translation>Felfelé mozgatás</translation>
+ <translation>Fel</translation>
</message>
<message>
<location/>
<source>Move down</source>
- <translation>Lefelé mozgatás</translation>
+ <translation>Le</translation>
+ </message>
+ <message>
+ <source>The batch translator will search through the selected phrase books in the order given above.</source>
+ <translation type="obsolete">A kötegelt fordító ebben a sorrendben keresi végig a kifejezéskönyveket.</translation>
</message>
<message>
<location/>
@@ -86,17 +101,17 @@
<message>
<location/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</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>Ne felejtse el, hogy a módosított belépések újra lesznek indítva befejezetlenre, ha a &apos;lefordított bevitelek befejezettre állítása&apos; felül meg van jelölve</translation>
+ <translation>A módosított bejegyzések fordítatlanra lesznek állítva, ha az &quot;A lefordított szövegek véglegesítése&quot; nincs bejelölve</translation>
</message>
<message>
<location/>
<source>The batch translator will search through the selected phrase books in the order given above</source>
- <translation>A köteg fordító a kiválasztott fázis könyvek között fog keresni, a fent megadott sorrendben</translation>
+ <translation>A kötegelt fordító ebben a sorrendben keresi végig a kifejezéskönyveket</translation>
</message>
</context>
<context>
@@ -104,23 +119,23 @@
<message>
<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;Dupliált üzenetek találhatóak a(z) &apos;%1&apos;-ben:</translation>
+ <translation>&lt;qt&gt;Duplikált üzenetek a(z) &apos;%1&apos; fájlban:</translation>
</message>
<message>
<location line="+4"/>
<location line="+8"/>
<source>&lt;p&gt;[more duplicates omitted]</source>
- <translation>&lt;p&gt;[többi duplikáció kihagyása]</translation>
+ <translation>&lt;p&gt;[a többi duplikátum kihagyva]</translation>
</message>
<message>
<location line="-5"/>
<source>&lt;p&gt;* ID: %1</source>
- <translation>&lt;p&gt;* Azonosító: %1</translation>
+ <translation>&lt;p&gt;* ID: %1</translation>
</message>
<message>
<location line="+8"/>
<source>&lt;p&gt;* Context: %1&lt;br&gt;* Source: %2</source>
- <translation>&lt;p&gt;* Szövegösszefüggés: %1&lt;br&gt;* Forrás: %2</translation>
+ <translation>&lt;p&gt;* Környezet: %1&lt;br&gt;* Forrás: %2</translation>
</message>
<message>
<location line="+3"/>
@@ -131,17 +146,18 @@
<location line="+71"/>
<source>Linguist does not know the plural rules for &apos;%1&apos;.
Will assume a single universal form.</source>
- <translation>A Linguist nem ismeri a többes számú szabályokat a &apos;%1&apos;-re. Egy egyszerű univerzális formát fog feltételezni.</translation>
+ <translation>A Linguist nem ismer többesszámképzést a(z) &apos;%1&apos;-hez.
+Az egyes számú általános forma lesz alkalmazva.</translation>
</message>
<message>
<location line="+56"/>
<source>Cannot create &apos;%2&apos;: %1</source>
- <translation>Nem lehet létrehozni &apos;%2&apos;: %1</translation>
+ <translation>&apos;%2&apos; létrehozása sikertelen: %1</translation>
</message>
<message>
<location line="+56"/>
<source>Universal Form</source>
- <translation>Univerzális forma</translation>
+ <translation>Általános forma</translation>
</message>
</context>
<context>
@@ -149,32 +165,32 @@ Will assume a single universal form.</source>
<message>
<location filename="../tools/linguist/linguist/errorsview.cpp" line="+76"/>
<source>Accelerator possibly superfluous in translation.</source>
- <translation>A gyorsítás valószínűleg nélkülözhető a fordításban.</translation>
+ <translation>Felesleges gyorsbillentyű van a fordításban.</translation>
</message>
<message>
<location line="+3"/>
<source>Accelerator possibly missing in translation.</source>
- <translation>A gyorsítás valószínűleg hiányzik a fordításban.</translation>
+ <translation>Egy gyorsbillentyű valószínűleg hiányzik a fordításból.</translation>
</message>
<message>
<location line="+3"/>
<source>Translation does not end with the same punctuation as the source text.</source>
- <translation>A fordítás nem ugyanazzal az írásjellel végződik, mint a forrás szöveg.</translation>
+ <translation>A lefordított mondat nem ugyanazzal az írásjellel végződik, mint a forrás.</translation>
</message>
<message>
<location line="+3"/>
<source>A phrase book suggestion for &apos;%1&apos; was ignored.</source>
- <translation>A(z) &apos;%1&apos;-re tett fáziskönyv ajánlat mellőzve lett.</translation>
+ <translation>A &apos;%1&apos; kifejezéskönyvi ajánlás figyelmen kívül lett hagyva.</translation>
</message>
<message>
<location line="+3"/>
<source>Translation does not refer to the same place markers as in the source text.</source>
- <translation>Nem ugyanazok a hely megjelölők találhatóak a fordításban, mint a forrás szövegben.</translation>
+ <translation>A fordítás nem tartalmazza az összes %n helyfoglalót a szövegből.</translation>
</message>
<message>
<location line="+3"/>
<source>Translation does not contain the necessary %n place marker.</source>
- <translation>A fordítás nem tartalmazza a szükséges %n hely megjelölőket.</translation>
+ <translation>A fordításból kimaradt egy szükséges %n helyfoglaló.</translation>
</message>
<message>
<location line="+3"/>
@@ -187,12 +203,12 @@ Will assume a single universal form.</source>
<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>Ez az ablak engedélyezi, hogy szöveget keresses a fordítás forrás fájlban.</translation>
+ <translation>Itt lehet keresni egy szöveget a fordítás alatt álló fájlban.</translation>
</message>
<message>
<location/>
<source>Type in the text to search for.</source>
- <translation>Gépelje be szövegbe, amit keres..</translation>
+ <translation>A keresendő szöveg helye.</translation>
</message>
<message>
<location/>
@@ -202,68 +218,67 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Source texts are searched when checked.</source>
- <translation>Forrás szövegek keresési ellenőrzéskor.</translation>
+ <translation>A forrásszövegek is keresve lesznek.</translation>
</message>
<message>
<location/>
<source>Translations are searched when checked.</source>
- <translation>Fordítások keresése ellenőrzéskor.</translation>
+ <translation>A fordítások is keresve lesznek.</translation>
</message>
<message>
<location/>
<source>Texts such as &apos;TeX&apos; and &apos;tex&apos; are considered as different when checked.</source>
- <translation>&apos;TeX&apos; és &apos;tex&apos; szövegek különbözőként kezelése bejelöléskor.</translation>
+ <translation>A kis/nagybetű különbseg figyelembe lesz véve.</translation>
</message>
<message>
<location/>
<source>Comments and contexts are searched when checked.</source>
- <translation>Megjegyzések és tartalmak keresése bejelöléskor.</translation>
+ <translation>A megjegyzések és környezetek is keresve lesznek.</translation>
</message>
<message>
<location/>
<source>Find</source>
- <translation>Keresés
-</translation>
+ <translation>Keresés</translation>
</message>
<message>
<location/>
<source>&amp;Find what:</source>
- <translation>Ennek &amp;keresése:</translation>
+ <translation>Amit &amp;keres:</translation>
</message>
<message>
<location/>
<source>&amp;Source texts</source>
- <translation>&amp;Forrás szövegek</translation>
+ <translation>Fo&amp;rrásszöveg</translation>
</message>
<message>
<location/>
<source>&amp;Translations</source>
- <translation>&amp;Fordítások</translation>
+ <translation>For&amp;dítások</translation>
</message>
<message>
<location/>
<source>&amp;Match case</source>
- <translation>&amp;Egyezés</translation>
+ <translation>K&amp;is/nagybetű</translation>
</message>
<message>
<location/>
<source>&amp;Comments</source>
- <translation>&amp;Kommentek</translation>
+ <translation>&amp;Megjegyzések</translation>
</message>
<message>
<location/>
<source>Ignore &amp;accelerators</source>
- <translation>&amp;Gyorsítások mellőzése</translation>
+ <translation>&amp;Gyorsbillentyűk kihagyása</translation>
</message>
<message>
<location/>
<source>Click here to find the next occurrence of the text you typed in.</source>
- <translation>Kattintson ide a begépelt szöveg következő előfordulásának megkereséséhez.</translation>
+ <translation>A következő találat megjelenítéséhez kattintson ide.</translation>
</message>
<message>
<location/>
<source>Find Next</source>
- <translation>Következő keresése</translation>
+ <translation>Következő</translation>
</message>
<message>
<location/>
@@ -273,37 +288,34 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/finddialog.cpp" line="+12"/>
+ <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>
- <translatorcomment>Válassza ki a Szerkesztés/Keresés opciót a menüből vagy nyomja le a Ctrl+F billentyűket a keresési párbeszédablak felugrásához</translatorcomment>
<translation></translation>
</message>
</context>
<context>
<name>FormMultiWidget</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditorwidgets.cpp" line="+296"/>
+ <location filename="../tools/linguist/linguist/messageeditorwidgets.cpp" line="+302"/>
<source>Alt+Delete</source>
<extracomment>translate, but don&apos;t change</extracomment>
- <translatorcomment>fordítsd, de ne változtasd</translatorcomment>
- <translation>ALT+Delete</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Shift+Alt+Insert</source>
<extracomment>translate, but don&apos;t change</extracomment>
- <translatorcomment>Fordítsd, de ne változtasd.</translatorcomment>
- <translation>Shift+Alt+Insert</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Alt+Insert</source>
<extracomment>translate, but don&apos;t change</extracomment>
- <translation>Alt+Insert</translation>
+ <translation></translation>
</message>
<message>
<location line="+131"/>
@@ -313,23 +325,23 @@ Will assume a single universal form.</source>
<message>
<location line="+1"/>
<source>Delete non-empty length variant?</source>
- <translation>Törölje az 0 hosszúságú változatok?</translation>
+ <translation>Biztosan törli ezt a hosszú változatot?</translation>
</message>
</context>
<context>
<name>LRelease</name>
<message numerus="yes">
- <location filename="../tools/linguist/shared/qm.cpp" line="+761"/>
+ <location filename="../tools/linguist/shared/qm.cpp" line="+763"/>
<source>Dropped %n message(s) which had no ID.</source>
<translation>
- <numerusform>%n üzenez eldobva, melyek nem rendelkeztek azonosítóval.</numerusform>
+ <numerusform>%n azonosító nélküli üzenet eldobva.</numerusform>
</translation>
</message>
<message numerus="yes">
<location line="+4"/>
<source>Excess context/disambiguation dropped from %n message(s).</source>
<translation>
- <numerusform>Fölösleges szövegösszefüggés/egyértelműsítés törlése %n üzenetből.</numerusform>
+ <numerusform>A többlet kontextus/egyértelmüsítés eltávolítva %n üzenetből.</numerusform>
</translation>
</message>
<message numerus="yes">
@@ -337,7 +349,8 @@ Will assume a single universal form.</source>
<source> Generated %n translation(s) (%1 finished and %2 unfinished)
</source>
<translation>
- <numerusform>%n fordítás legenerálása (%1 befejezett és %2 befejezetlen)</numerusform>
+ <numerusform> %n fordítás legenerálva (%1 végleges és %2 nem végleges)
+</numerusform>
</translation>
</message>
<message numerus="yes">
@@ -345,7 +358,8 @@ Will assume a single universal form.</source>
<source> Ignored %n untranslated source text(s)
</source>
<translation>
- <numerusform>%n lefordítatlan forrás szöveg mellőzése</numerusform>
+ <numerusform> %n lefordítatlan szöveg kihagyva
+</numerusform>
</translation>
</message>
</context>
@@ -354,32 +368,32 @@ Will assume a single universal form.</source>
<message>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>MainWindow</source>
- <translation>FőAblak</translation>
+ <translation>MainWindow</translation>
</message>
<message>
<location/>
<source>&amp;Phrases</source>
- <translation>&amp;Fázisok</translation>
+ <translation>&amp;Kifejezések</translation>
</message>
<message>
<location/>
<source>&amp;Close Phrase Book</source>
- <translation>&amp;Fázis könyvek bezárása</translation>
+ <translation>Kifejezéstár &amp;bezárása</translation>
</message>
<message>
<location/>
<source>&amp;Edit Phrase Book</source>
- <translation>Fázis könyvek &amp;szerkesztése</translation>
+ <translation>Kifejezéstár sz&amp;erkesztése</translation>
</message>
<message>
<location/>
<source>&amp;Print Phrase Book</source>
- <translation>&amp;Fázis könyvek nyomtatása</translation>
+ <translation>Kifejezéstár &amp;nyomtatása</translation>
</message>
<message>
<location/>
<source>V&amp;alidation</source>
- <translation>&amp;Érvényesítés</translation>
+ <translation>&amp;Ellenőrzés</translation>
</message>
<message>
<location/>
@@ -394,7 +408,7 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>&amp;Toolbars</source>
- <translation>&amp;Eszköztár</translation>
+ <translation>&amp;Eszköztárak</translation>
</message>
<message>
<location/>
@@ -404,7 +418,7 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>&amp;Translation</source>
- <translation>&amp;Fordítások</translation>
+ <translation>F&amp;ordítás</translation>
</message>
<message>
<location/>
@@ -413,23 +427,23 @@ Will assume a single universal form.</source>
</message>
<message>
<location/>
- <source>&amp;Edit</source>
- <translation>&amp;Szerkesztés</translation>
+ <source>Recently Opened &amp;Files</source>
+ <translation>Előzőleg megnyitott &amp;fájlok</translation>
</message>
<message>
<location/>
- <source>&amp;Open...</source>
- <translation>&amp;Megnyitás...</translation>
+ <source>&amp;Edit</source>
+ <translation>Sz&amp;erkesztés</translation>
</message>
<message>
<location/>
<source>Open a Qt translation source file (TS file) for editing</source>
- <translation>Egy Qt fordítási forrás fájl (TS fájl) megnyitása szerkesztésre</translation>
+ <translation>Qt fordytási forrás (TS fájl) megnyitása szerkesztésre</translation>
</message>
<message>
<location/>
<source>Ctrl+O</source>
- <translation>Ctrl+O</translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -439,170 +453,95 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Close this window and exit.</source>
- <translation>Ablak bezárása és kilépés.</translation>
+ <translation>Kilépés, és az ablak bezárása.</translation>
</message>
<message>
<location/>
<source>Ctrl+Q</source>
- <translation>Ctrl+Q</translation>
+ <translation></translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+646"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+668"/>
<location line="+15"/>
<source>&amp;Save</source>
- <translation>&amp;Mentés</translation>
+ <translation>Menté&amp;s</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Save changes made to this Qt translation source file</source>
- <translation>Változtatások elmentése a Qt fordítási forrás fájlban</translation>
- </message>
- <message>
- <location/>
- <source>Move to the previous unfinished item.</source>
- <translation>Az előző befejezetlen elemre mozgatás.</translation>
- </message>
- <message>
- <location/>
- <source>Move to the next unfinished item.</source>
- <translation>A következő befejezetlen elemre mozgatás.</translation>
- </message>
- <message>
- <location/>
- <source>Move to the previous item.</source>
- <translation>Az előző elemre mozgatás.</translation>
- </message>
- <message>
- <location/>
- <source>Move to the next item.</source>
- <translation>A következő elemre mozgatás.</translation>
- </message>
- <message>
- <location/>
- <source>Mark this item as done and move to the next unfinished item.</source>
- <translation>Az elem készre jelölése és a következő befejezetlen elemre mozgás.</translation>
- </message>
- <message>
- <location/>
- <source>Copy from source text</source>
- <translation>Másolás forrás szövegből</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>Gyorsítások érvényesség ellenőrzésének kapcsolgatása, lásd vajon az et jelek száma megegyezik-e a a forrás és lefordított szövegben. Ha ez az ellenőrzés hibásan zárul le, a figyelmeztető ablakban egy üzenet tűnik fel.</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>A végződő írásjelek érvényesség ellenőrzésének kapcsolgatása. Ha ez az ellenőrzés nem sikerült, akkor egy üzenet bukkan fel a figyelmeztető ablakban.</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>Fázis ajánlások ellenőrzésének kapcsolgatása. Ha az ellenőrzés sikertelen, akkor egy üzenet bukkan fel a figyelmeztető ablakban.</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>A hely megjelelölők érvényesség ellenőrzésének kapcsolgatása, lásd vajon a(z) %1, %2.. következetesen vannak-e használva a forrás és lefordított szövegben. Ha az ellenőrzés sikertelen, egy üzenet bukkan fel a figyelmeztető ablakban.</translation>
+ <translation>A fordításon végzett változtatások elmentése</translation>
</message>
<message>
<location/>
<source>Open Read-O&amp;nly...</source>
- <translation>&amp;Csak olvasható megnyitása...</translation>
+ <translation>Megnyitás csak &amp;olvasásra...</translation>
</message>
<message>
<location/>
<source>&amp;Save All</source>
- <translation>Az összes &amp;mentése</translation>
+ <translation>Mind&amp;et menti</translation>
</message>
<message>
<location/>
<source>Ctrl+S</source>
- <translation>Ctrl+S</translation>
+ <translation></translation>
</message>
<message>
<location/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="-14"/>
<location line="+11"/>
<source>Save &amp;As...</source>
- <translation>&amp;Másként mentés...</translation>
+ <translation>Mentés má&amp;sként...</translation>
</message>
<message>
<location/>
<source>Save As...</source>
- <translation>Másként mentés...</translation>
+ <translation>Mentés másként...</translation>
</message>
<message>
<location/>
<source>Save changes made to this Qt translation source file into a new file.</source>
- <translation>A változtatások egy új fájlba mentése, amik ebben a Qt fordítási forrás fájlban keletkeztek.</translation>
+ <translation>A fordításon végzett változtatások elmentése egy új fájlba.</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+4"/>
<source>&amp;Release</source>
- <translation>&amp;Kiadás</translation>
+ <translation>Kia&amp;dás</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 üzenez fájl létrehozása az aktuális üzenet fájlból, ami alkalmas a kiadásra.</translation>
- </message>
- <message>
- <location/>
- <source>&amp;Print...</source>
- <translation>&amp;Nyomtatás...</translation>
+ <translation>Az alkalmazások számára használható Qt üzenetfájl létrehozása a jelenlegi fájlból.</translation>
</message>
<message>
<location/>
<source>Ctrl+P</source>
- <translation>Ctrl+P</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>&amp;Undo</source>
- <translation>&amp;Visszacsinálás</translation>
- </message>
- <message>
- <location/>
- <source>Recently Opened &amp;Files</source>
- <translation>&amp;Utoljára megnyitott &amp;fájlok</translation>
- </message>
- <message>
- <location/>
- <source>Save</source>
- <translation>Mentés</translation>
- </message>
- <message>
- <location/>
- <source>Print a list of all the translation units in the current translation source file.</source>
- <translation>Az összes fordítási egység kinyomtatása az aktuális fordítási forrás fájlban.</translation>
- </message>
- <message>
- <location/>
- <source>Undo the last editing operation performed on the current translation.</source>
- <translation>Az utoljára szerkesztett művelet visszavonása az aktuális fordításon.</translation>
+ <translation>&amp;Visszavonás</translation>
</message>
<message>
<location/>
<source>Ctrl+Z</source>
- <translation>Ctrl+Z</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>&amp;Redo</source>
- <translation>&amp;Helyreállítás</translation>
+ <translation>Új&amp;ra</translation>
</message>
<message>
<location/>
<source>Redo an undone editing operation performed on the translation.</source>
- <translation>Szerkesztő művelet helyreállítása és visszavonása, ami az aktuális fordításon lett végrehajtva.</translation>
+ <translation>Egy visszavont szerkesztési művelet újra végrehajtása a fordításon.</translation>
</message>
<message>
<location/>
<source>Ctrl+Y</source>
- <translation>Ctrl+Y</translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -612,12 +551,12 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Copy the selected translation text to the clipboard and deletes it.</source>
- <translation>A kiválasztott fordítási szöveg vágólapra másolása és törlése.</translation>
+ <translation>A kijelölt szöveg vágólapra másolása és törlése.</translation>
</message>
<message>
<location/>
<source>Ctrl+X</source>
- <translation>Ctrl+X</translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -627,12 +566,12 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Copy the selected translation text to the clipboard.</source>
- <translation>A kiválaszott fordítási szöveg vágólapra másolása.</translation>
+ <translation>A kijelölt szöveg vágólapra másolása.</translation>
</message>
<message>
<location/>
<source>Ctrl+C</source>
- <translation>Ctrl+C</translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -642,42 +581,37 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Paste the clipboard text into the translation.</source>
- <translation>A vágólapon levő szöveg fordításba illesztése.</translation>
+ <translation>A vágólap tartalmának beillesztése a fordításba.</translation>
</message>
<message>
<location/>
<source>Ctrl+V</source>
- <translation>Ctrl+V</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Select &amp;All</source>
- <translation>Az &amp;összes kiválasztása</translation>
+ <translation>Ö&amp;sszes kijelölése</translation>
</message>
<message>
<location/>
<source>Select the whole translation text.</source>
- <translation>Az egész fordítási szöveg kiválasztása.</translation>
+ <translation>A fordítás teljes szövegét kijelöli.</translation>
</message>
<message>
<location/>
<source>Ctrl+A</source>
- <translation>Ctrl+A</translation>
- </message>
- <message>
- <location/>
- <source>&amp;Find...</source>
- <translation>&amp;Keresés...</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Search for some text in the translation source file.</source>
- <translation>Néhány szövegre keresés a fordítási forrás fájlban.</translation>
+ <translation>Szöveg keresése a fordítás alatt levő fájlban.</translation>
</message>
<message>
<location/>
<source>Ctrl+F</source>
- <translation>Ctrl+F</translation>
+ <translation></translation>
</message>
<message>
<location/>
@@ -687,182 +621,150 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Continue the search where it was left.</source>
- <translation>A keresés folytatása ott, ahol abba lett hagyva.</translation>
+ <translation>Az előző keresés folytatása.</translation>
</message>
<message>
<location/>
<source>F3</source>
- <translation>F3</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>&amp;Prev Unfinished</source>
- <translation>Az &amp;előző befejezetlen</translation>
- </message>
- <message>
- <location/>
- <source>Close</source>
- <translation>Bezárás</translation>
- </message>
- <message>
- <location/>
- <source>&amp;Close All</source>
- <translation>Az összes &amp;bezárása</translation>
- </message>
- <message>
- <location/>
- <source>Ctrl+W</source>
- <translation>Ctrl+W</translation>
+ <translation>&amp;Előző befejezetlen</translation>
</message>
<message>
<location/>
<source>Ctrl+K</source>
- <translation>Ctrl+K</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>&amp;Next Unfinished</source>
- <translation>&amp;Következő befejezetlen</translation>
+ <translation>Következő befejezetle&amp;n</translation>
</message>
<message>
<location/>
<source>P&amp;rev</source>
- <translation>&amp;Előző</translation>
+ <translation>E&amp;lőző</translation>
</message>
<message>
<location/>
<source>Ctrl+Shift+K</source>
- <translation>Ctrl+Shift+K</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Ne&amp;xt</source>
- <translation>&amp;Következő</translation>
+ <translation>Kö&amp;vetkező</translation>
</message>
<message>
<location/>
<source>&amp;Done and Next</source>
- <translation>&amp;Kész és Következő</translation>
+ <translation>Vé&amp;glegesítés és ugrás</translation>
</message>
<message>
<location/>
<source>Copies the source text into the translation field.</source>
- <translation>Forrás szövegek fordítási mezőbe másolása.</translation>
+ <translation>A forrás szöveg bemásolása a fordításba.</translation>
</message>
<message>
<location/>
<source>Ctrl+B</source>
- <translation>Ctrl+B</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>&amp;Accelerators</source>
- <translation>&amp;Gyorsítások</translation>
+ <translation>&amp;Gyorsbillentyűk</translation>
</message>
<message>
<location/>
<source>&amp;Ending Punctuation</source>
- <translation>&amp;Vég írásjelek</translation>
+ <translation>&amp;Záró írásjelek</translation>
</message>
<message>
<location/>
<source>&amp;Phrase matches</source>
- <translation>&amp;Fázis egyezés</translation>
+ <translation>&amp;Kifejezés egyezések</translation>
</message>
<message>
- <location/>
- <source>Place &amp;Marker Matches</source>
- <translation>Hely &amp;megjelölők egyezései</translation>
+ <source>Toggle checking that phrase suggestions are used.</source>
+ <translation type="obsolete">A kifejezéstár ajánlásainak használatának engedélyezése.</translation>
</message>
<message>
<location/>
- <source>&amp;New Phrase Book...</source>
- <translation>&amp;Új fázis könyv...</translation>
+ <source>Place &amp;Marker Matches</source>
+ <translation>&amp;Helyfoglalók egyezése</translation>
</message>
<message>
<location/>
<source>Create a new phrase book.</source>
- <translation>Egy új fázis könyv létrehozása.</translation>
+ <translation>Kifejezéstár létrehozása.</translation>
</message>
<message>
<location/>
<source>Ctrl+N</source>
- <translation>Ctrl+N</translation>
- </message>
- <message>
- <location/>
- <source>&amp;Open Phrase Book...</source>
- <translation>Fázis könyv &amp;megnyitása...</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Open a phrase book to assist translation.</source>
- <translation>Fáris könyv megnyitása a fordítás támogatásával.</translation>
+ <translation>Kifejezéstár megnyitása a fordításhoz.</translation>
</message>
<message>
<location/>
<source>Ctrl+H</source>
- <translation>Ctrl+H</translation>
- </message>
- <message>
- <location/>
- <source>&amp;Reset Sorting</source>
- <translation>&amp;Rendezés helyreállítása</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Sort the items back in the same order as in the message file.</source>
- <translation>Az elemek visszarendezése ugyanabba a sorrendben, ahogy az üzenet fájlban található.</translation>
+ <translation>Az üzenetfájlbeli sorrend visszaállítása.</translation>
</message>
<message>
<location/>
<source>&amp;Display guesses</source>
- <translation>Feltételezések &amp;kijelzése</translation>
+ <translation>&amp;Tippek megjelenítése</translation>
</message>
<message>
<location/>
<source>Set whether or not to display translation guesses.</source>
- <translation>Annak beállítása, hogy vajon kijelezze a fordítási feltételezéseket vagy sem.</translation>
+ <translation>Fordítási tippek megjelenítése vagy elrejtése.</translation>
</message>
<message>
<location/>
<source>&amp;Statistics</source>
- <translation>&amp;Statisztikák</translation>
- </message>
- <message>
- <location/>
- <source>Display translation statistics.</source>
- <translation>Fordítási statisztikák kijelzése.</translation>
+ <translation>&amp;Statisztika</translation>
</message>
<message>
<location/>
<source>&amp;Manual</source>
- <translation>&amp;Kézi</translation>
+ <translation>&amp;Kézikönyv</translation>
</message>
<message>
<location/>
<source>F1</source>
- <translation>F1</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>About Qt Linguist</source>
- <translation>Qt Linguist-ról</translation>
+ <translation>A Qt Linguist névjegye</translation>
</message>
<message>
<location/>
<source>About Qt</source>
- <translation>Qt-ról</translation>
+ <translation>A Qt névjegye</translation>
</message>
<message>
- <location/>
<source>Display information about the Qt toolkit by Trolltech.</source>
- <translation>Információ megjelenítése a Trolltech Qt eszközrendszeréről.</translation>
+ <translation type="obsolete">Információk a Trolltech Qt eszközkészletéről.</translation>
</message>
<message>
<location/>
<source>&amp;What&apos;s This?</source>
- <translation>&amp;Mi ez?</translation>
+ <translation>Mi e&amp;z?</translation>
</message>
<message>
<location/>
@@ -872,52 +774,44 @@ Will assume a single universal form.</source>
<message>
<location/>
<source>Enter What&apos;s This? mode.</source>
- <translation>Mi ez? beviteli mód.</translation>
+ <translation>Átlépés &quot;Mi ez?&quot; módba.</translation>
</message>
<message>
<location/>
<source>Shift+F1</source>
- <translation>Shift+F1</translation>
- </message>
- <message>
- <location/>
- <source>&amp;Search And Translate...</source>
- <translation>&amp;Keresés és fordítás...</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Replace the translation on all entries that matches the search source text.</source>
- <translation>A fordítások kicserélése az összes olyan helyen, ahol az megegyezik a keresett forrás szöveggel.</translation>
- </message>
- <message>
- <location/>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+21"/>
- <source>&amp;Batch Translation...</source>
- <translation>&amp;Köteg fordítás...</translation>
+ <translation>A fordítás cseréje minden olyan előfordulásnál, ahol a forrásszöveg illeszkedik a keresett szóra.</translation>
</message>
<message>
<location/>
<source>Batch translate all entries using the information in the phrase books.</source>
- <translation>Köteg fordítás mindenhol, ahol az információ a fázis könyvekben van haszálva.</translation>
+ <translation>Az összes bejegyzés automatikus fordítása a kifejezéstárak alapján.</translation>
</message>
<message>
<location/>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-34"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-13"/>
<location line="+10"/>
<source>Release As...</source>
- <translation>Kiadás, mint...</translation>
+ <translation>Kiadás másként...</translation>
+ </message>
+ <message>
+ <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 type="obsolete">Az alkalmazások számára használható Qt üzenetfájl létrehozása a jelenlegi fájlból. A fájlnév a jelenlegi ts fájl nevéből lesz megállapítva.</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2005"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2035"/>
<source></source>
<comment>This is the application&apos;s main window.</comment>
- <translatorcomment>Ez az alkalmazás fő ablaka.</translatorcomment>
<translation></translation>
</message>
<message>
- <location line="+188"/>
+ <location line="+190"/>
<source>Source text</source>
- <translation>Forrás szöveg</translation>
+ <translation>Forrás</translation>
</message>
<message>
<location line="+1"/>
@@ -929,7 +823,7 @@ Will assume a single universal form.</source>
<location line="-2"/>
<location line="+63"/>
<source>Context</source>
- <translation>Összefüggés</translation>
+ <translation>Környezet</translation>
</message>
<message>
<location line="-62"/>
@@ -939,22 +833,22 @@ Will assume a single universal form.</source>
<message>
<location line="+79"/>
<source>This panel lists the source contexts.</source>
- <translation>Ez a panel kilistázza a forrás összefüggéseket.</translation>
+ <translation>Ez a panel a környezeteket listázza.</translation>
</message>
<message>
- <location line="+15"/>
+ <location line="+13"/>
<source>Strings</source>
- <translation>Sztringek</translation>
+ <translation>Szövegek</translation>
</message>
<message>
- <location line="+39"/>
+ <location line="+37"/>
<source>Phrases and guesses</source>
- <translation>Kommunikációk és feltételezések</translation>
+ <translation>Kifejezések és tippek</translation>
</message>
<message>
<location line="+10"/>
<source>Sources and Forms</source>
- <translation>Források és formák</translation>
+ <translation>Források és űrlapok</translation>
</message>
<message>
<location line="+15"/>
@@ -965,10 +859,10 @@ Will assume a single universal form.</source>
<location line="+59"/>
<source> MOD </source>
<comment>status bar: file(s) modified</comment>
- <translation>MOD</translation>
+ <translation> MOD </translation>
</message>
<message>
- <location line="+130"/>
+ <location line="+139"/>
<source>Loading...</source>
<translation>Betöltés...</translation>
</message>
@@ -983,30 +877,30 @@ Will assume a single universal form.</source>
<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>A(z) &apos;%1&apos; fájl nem tartozik hozzá egyetlen aktuálisan megnyitott &apos;%2&apos; fájlhoz sem.
+ <translation>A(z) &apos;%1&apos; fájl nem kapcsolható a jelenleg megnyitott fájlokhoz (%2).
-Bezárja először a megnyitott fájl(oka)t?</translation>
+Bezárja a nyitott fájlokat?</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>
- <translation>A(z) &apos;%1&apos; fájl nem tartozik egyetlen &apos;%2&apos; fájlhoz sem, amelyik ugyanúgy be lett töltve.
+ <translation>A(z) &apos;%1&apos; fájl nem a &apos;%2&apos; fájlhoz tartozónak tűnik.
-Azt első megnevezett fájl betöltésének kihagyása?</translation>
+Kihagyja ennek a fájlnak a betöltését?</translation>
</message>
<message numerus="yes">
<location line="+61"/>
<source>%n translation unit(s) loaded.</source>
<translation>
- <numerusform>%n fordítási egység betöltése.</numerusform>
+ <numerusform>%n fordítási egység betöltve.</numerusform>
</translation>
</message>
<message>
- <location line="+93"/>
+ <location line="+94"/>
<source>Related files (%1);;</source>
- <translation>Hozzákapcsolodó fájlok (%1);;</translation>
+ <translation>Hozzátartozó fájlok (%1);;</translation>
</message>
<message>
<location line="+4"/>
@@ -1017,27 +911,27 @@ Azt első megnevezett fájl betöltésének kihagyása?</translation>
<location line="+10"/>
<location line="+31"/>
<source>File saved.</source>
- <translation>Fájl elmentve.</translation>
+ <translation>A fájl elmentve.</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+15"/>
- <location line="+1165"/>
+ <location line="+1187"/>
<source>Release</source>
<translation>Kiadás</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1164"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1186"/>
<source>Qt message files for released applications (*.qm)
All files (*)</source>
- <translation>Qt üzenet fájlok a kiadott alkalmazásra (*.qm)
-Az összes fájl(*)</translation>
+ <translation>Qt üzenetfájlok a kiadott alkalmazásokhoz (*.qm)
+Minden fájl (*)</translation>
</message>
<message>
<location line="+3"/>
<location line="+12"/>
<source>File created.</source>
- <translation>Fál létrehozva.</translation>
+ <translation>A fájl létrehozva.</translation>
</message>
<message>
<location line="+34"/>
@@ -1048,34 +942,34 @@ Az összes fájl(*)</translation>
<message>
<location line="-347"/>
<source>Context: %1</source>
- <translation>Összefüggés: %1</translation>
+ <translation>Környezet: %1</translation>
</message>
<message>
<location line="+32"/>
<source>finished</source>
- <translation>Befejezve</translation>
+ <translation>végleges</translation>
</message>
<message>
<location line="+3"/>
<source>unresolved</source>
- <translation>Nincs megoldva</translation>
+ <translation>hibás</translation>
</message>
<message>
<location line="+3"/>
<source>obsolete</source>
- <translation>Elavulás</translation>
+ <translation>elavult</translation>
</message>
<message>
<location line="+15"/>
<location line="+307"/>
<source>Printing... (page %1)</source>
- <translation>Nyomtatás... (%1 lap)</translation>
+ <translation>Nyomtatás... (oldal %1)</translation>
</message>
<message>
<location line="-300"/>
<location line="+307"/>
<source>Printing completed</source>
- <translation>Nyomtatás teljesítve</translation>
+ <translation>Nyomtatás befejezve</translation>
</message>
<message>
<location line="-305"/>
@@ -1086,7 +980,7 @@ Az összes fájl(*)</translation>
<message>
<location line="-232"/>
<source>Search wrapped.</source>
- <translation>Keresés elrejtése.</translation>
+ <translation>A keresés befejeződött.</translation>
</message>
<message>
<location line="+17"/>
@@ -1094,7 +988,7 @@ Az összes fájl(*)</translation>
<location line="+34"/>
<location line="+24"/>
<location line="+22"/>
- <location line="+516"/>
+ <location line="+538"/>
<location line="+1"/>
<location line="+274"/>
<location line="+40"/>
@@ -1103,67 +997,67 @@ Az összes fájl(*)</translation>
<translation>Qt Linguist</translation>
</message>
<message>
- <location line="-1198"/>
+ <location line="-1220"/>
<location line="+102"/>
<source>Cannot find the string &apos;%1&apos;.</source>
- <translation>A(z) &apos;%1&apos; sztring nem található.</translation>
+ <translation>A szöveg nem található: &apos;%1&apos;.</translation>
</message>
<message>
<location line="-82"/>
<source>Search And Translate in &apos;%1&apos; - Qt Linguist</source>
- <translation>Keresés és fordítás a(z) &apos;%1&apos;-ben - Qt Linguist</translation>
+ <translation>Keresés és fordítás itt: &apos;%1&apos; - Qt Linguist</translation>
</message>
<message>
<location line="+34"/>
<location line="+23"/>
<location line="+24"/>
<source>Translate - Qt Linguist</source>
- <translation>Qt Linguist fordítása</translation>
+ <translation>Fordítás - Qt Linguist</translation>
</message>
<message numerus="yes">
<location line="-46"/>
<source>Translated %n entry(s)</source>
<translation>
- <numerusform>%n bevitel lefordítva</numerusform>
+ <numerusform>%n bejegyzés lefordítva</numerusform>
</translation>
</message>
<message>
<location line="+23"/>
<source>No more occurrences of &apos;%1&apos;. Start over?</source>
- <translation>Nem található &apos;%1&apos; több előfordulása. Előlről kezdi?</translation>
+ <translation>Nincs több találat erre: &apos;%1&apos;. Kezdjük elölről?</translation>
</message>
<message>
<location line="+30"/>
<source>Create New Phrase Book</source>
- <translation>Új kommunikációs könyv létrehozása</translation>
+ <translation>Kifejezéstár létrehozása</translation>
</message>
<message>
<location line="+1"/>
<source>Qt phrase books (*.qph)
All files (*)</source>
- <translation>Qt kommunikációs könyv (*.qph)
-Az összes fájl (*)</translation>
+ <translation>Qt kifejezéstárak (*.qph)
+Minden fájl (*)</translation>
</message>
<message>
<location line="+11"/>
<source>Phrase book created.</source>
- <translation>Kommunikációs könyv létrehozva.</translation>
+ <translation>A kifejezéstár létrehozva.</translation>
</message>
<message>
<location line="+17"/>
<source>Open Phrase Book</source>
- <translation>Kommunikációs könyv megnyitása</translation>
+ <translation>Kifejezéstár megnyitása</translation>
</message>
<message>
<location line="+1"/>
<source>Qt phrase books (*.qph);;All files (*)</source>
- <translation>Qt kommunikációs könyvek (*.qpm);;Az összes fájl (*)</translation>
+ <translation>Qt kifejezéstárak (*.qph);;Minden fájl (*)</translation>
</message>
<message numerus="yes">
<location line="+7"/>
<source>%n phrase(s) loaded.</source>
<translation>
- <numerusform>%n kommunikáció betöltése.</numerusform>
+ <numerusform>%n kifejezés betöltve.</numerusform>
</translation>
</message>
<message>
@@ -1171,47 +1065,56 @@ Az összes fájl (*)</translation>
<location line="+3"/>
<location line="+7"/>
<source>Add to phrase book</source>
- <translation>Kommunikációs könyv hozzáadása</translation>
+ <translation>Hozzáadás a kifejezéstárhoz</translation>
</message>
<message>
<location line="-9"/>
<source>No appropriate phrasebook found.</source>
- <translation>Nem található megfelelő kommunikációs könyv.</translation>
+ <translation>Nincs megfelelő kifejezéstár.</translation>
</message>
<message>
<location line="+3"/>
<source>Adding entry to phrasebook %1</source>
- <translation>Új elem hozzáadása a(z) %1 fázis fáziskönyvhöz</translation>
+ <translation>Hozzáadás ehhez kifejezéstárhoz: &apos;%1&apos;</translation>
</message>
<message>
<location line="+7"/>
<source>Select phrase book to add to</source>
- <translation>Kommunikációs könyv kiválasztása hozzáadásra</translation>
+ <translation>Válassza ki a bővítendő kifejezéstárat</translation>
</message>
<message>
<location line="+29"/>
<source>Unable to launch Qt Assistant (%1)</source>
- <translation>Nem lehet elindítani a Qt Assistant (%1)</translation>
+ <translation>A Qt Asszisztens elindítása sikertelen (%1)</translation>
</message>
<message>
<location line="+17"/>
<source>Version %1</source>
- <translation>%1 Verzió</translation>
+ <translation>Verzió %1</translation>
</message>
<message>
<location line="+3"/>
<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;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</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 Linguist egy olyan eszköz, amelyekkel fordítások adhat hozzá a Qt alkalmazásokhoz.&lt;/p&gt;&lt;p&gt;Szerzői jog(C) 2010 Nokia Vállalat és/vagy leányvállalatai.</translation>
+ <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;A Qt Linguist a Qt alkalmazások fordítását segítő eszköz.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</translation>
+ </message>
+ <message>
+ <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;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).</source>
+ <translatorcomment>&lt;/p&gt;</translatorcomment>
+ <translation type="obsolete">&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;A Qt Linguist a Qt alkalmazások fordítását segítő eszköz.&lt;/p&gt;&lt;p&gt;Copyright (C) 2009 Nokia Corporation és leányvállalata(i).</translation>
+ </message>
+ <message>
+ <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="obsolete">&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;A Qt Linguist a Qt alkalmazások fordítását segítő eszköz.&lt;/p&gt;&lt;p&gt;%2&lt;/p&gt;&lt;p&gt;Copyright (C) 2000-2007 Trolltech ASA. Minden jog fenntartva.&lt;/p&gt;&lt;p&gt;Ez a program abban a reményben került közreadásra, hogy hasznos lesz, de minden egyéb GARANCIA NÉLKÜL, az ELADHATÓSÁGRA vagy VALAMELY CÉLRA VALÓ ALKALMAZHATÓSÁGRA való származtatott garanciát is beleértve.&lt;/p&gt;</translation>
</message>
<message>
<location line="+38"/>
<source>Do you want to save the modified files?</source>
- <translation>El szeretné menteni a módosított fájlokat?</translation>
+ <translation>Menti a módosított fájlokat?</translation>
</message>
<message>
<location line="+22"/>
<source>Do you want to save &apos;%1&apos;?</source>
- <translation>El szeretné menteni a(z) %1-t ?</translation>
+ <translation>Menti ezt a fájlt &apos;%1&apos;?</translation>
</message>
<message>
<location line="+43"/>
@@ -1227,10 +1130,10 @@ Az összes fájl (*)</translation>
<location line="+267"/>
<location line="+12"/>
<source>No untranslated translation units left.</source>
- <translation>Nem maradtak lefordítatlan fordítások.</translation>
+ <translation>Nincs több lefordítandó kifejezés.</translation>
</message>
<message>
- <location line="+176"/>
+ <location line="+198"/>
<source>&amp;Window</source>
<translation>&amp;Ablak</translation>
</message>
@@ -1242,27 +1145,27 @@ Az összes fájl (*)</translation>
<message>
<location line="+1"/>
<source>Ctrl+M</source>
- <translation>Ctrl+M</translation>
+ <translation></translation>
</message>
<message>
<location line="+12"/>
<source>Display the manual for %1.</source>
- <translation>A manuál megjelenítése %1-re vonatkozóan.</translation>
+ <translation>%1 kézikönyvének megtekintése.</translation>
</message>
<message>
<location line="+1"/>
<source>Display information about %1.</source>
- <translation>Információ megjelenítése a(z) %1-ről.</translation>
+ <translation>Információk megjelenítése erről: %1.</translation>
</message>
<message>
<location line="+70"/>
<source>&amp;Save &apos;%1&apos;</source>
- <translation>&apos;%1&apos; &amp;mentése</translation>
+ <translation>&apos;%1&apos; menté&amp;se</translation>
</message>
<message>
<location line="+1"/>
<source>Save &apos;%1&apos; &amp;As...</source>
- <translation>&apos;%1&apos; &amp;másként mentése...</translation>
+ <translation>&apos;%1&apos; mentése máské&amp;nt...</translation>
</message>
<message>
<location line="+1"/>
@@ -1272,12 +1175,12 @@ Az összes fájl (*)</translation>
<message>
<location line="+1"/>
<source>Release &apos;%1&apos; As...</source>
- <translation>&apos;%1&apos; másként kiadása...</translation>
+ <translation>&apos;%1&apos; kiadása mint...</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Close &apos;%1&apos;</source>
- <translation>&apos;%1&apos; &amp;bezárása</translation>
+ <translation>&apos;%1&apos; be&amp;zárása</translation>
</message>
<message>
<location line="+6"/>
@@ -1288,33 +1191,33 @@ Az összes fájl (*)</translation>
<message>
<location line="-10"/>
<source>Save All</source>
- <translation>Az összes mentése</translation>
+ <translation>Mindet menti</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1"/>
<source>&amp;Release All</source>
- <translation>Az összes &amp;kiadása</translation>
+ <translation>Összes k&amp;iadása</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1"/>
<source>Close All</source>
- <translation>Az összes bezárása</translation>
+ <translation>Mindet bezár</translation>
</message>
<message>
<location line="+23"/>
<source>Translation File &amp;Settings for &apos;%1&apos;...</source>
- <translation>Fordítási fájlok &amp;beállítása erre &apos;%1&apos;...</translation>
+ <translation>Fordításfájl beállítá&amp;sok ehhez: &apos;%1&apos;...</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Batch Translation of &apos;%1&apos;...</source>
- <translation>A(z) &apos;%1&apos; &amp;köteg fordítása...</translation>
+ <translation>&apos;%1&apos; köte&amp;gelt fordítása...</translation>
</message>
<message>
<location line="+1"/>
<source>Search And &amp;Translate in &apos;%1&apos;...</source>
- <translation>Keresés és &amp;fordítás &apos;%1&apos;-ben...</translation>
+ <translation>Keresés és fordí&amp;tás itt: &apos;%1&apos;...</translation>
</message>
<message>
<location line="+4"/>
@@ -1343,7 +1246,7 @@ Az összes fájl (*)</translation>
<location/>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+6"/>
<source>Validation</source>
- <translation>Érvényesítés</translation>
+ <translation>Ellenőrzés</translation>
</message>
<message>
<location/>
@@ -1354,151 +1257,313 @@ Az összes fájl (*)</translation>
<message>
<location filename="../tools/linguist/linguist/mainwindow.cpp" line="+84"/>
<source>Cannot read from phrase book &apos;%1&apos;.</source>
- <translation>Nem lehet a(z) &apos;%1&apos; kommunikációs könyvből olvasni.</translation>
+ <translation>Nem lehet a(z) &apos;%1&apos; kifejezéstárból olvasni.</translation>
</message>
<message>
<location line="+15"/>
<source>Close this phrase book.</source>
- <translation>A kommunikációs könyv bezárása.</translation>
+ <translation>Kifejezéstár bezárása.</translation>
</message>
<message>
<location line="+4"/>
<source>Enables you to add, modify, or delete entries in this phrase book.</source>
- <translation>Hozzáadás, módosítás, vagy törlés engedélyezése ebben a kommunikációs könyvben.</translation>
+ <translation>Lehetővé teszi a bejegyzések szerkesztését a kifejezéskönyvben.</translation>
</message>
<message>
<location line="+5"/>
<source>Print the entries in this phrase book.</source>
- <translation>Az összes bevitel kinyomtatása ebben a társalgási szótárban.</translation>
+ <translation>A kifejezéskönyv tartalmának nyomtatása.</translation>
</message>
<message>
<location line="+16"/>
<source>Cannot create phrase book &apos;%1&apos;.</source>
- <translation>Nem lehet a &apos;%1&apos; társalgási szótárat létrehozni.</translation>
+ <translation>A(z) &apos;%1&apos; kifejezéstár létrehozása sikertelen.</translation>
</message>
<message>
<location line="+10"/>
<source>Do you want to save phrase book &apos;%1&apos;?</source>
- <translation>El szeretné menteni a &apos;%1&apos; társalgási szótárat?</translation>
+ <translation>Biztosan menti a(z) &apos;%1&apos; kifejezéskönyvet?</translation>
</message>
<message>
- <location line="+323"/>
+ <location line="+349"/>
<source>All</source>
- <translation>Mind</translation>
+ <translation>Minden</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/mainwindow.ui"/>
<source>Open/Refresh Form &amp;Preview</source>
- <translation>Forma megnyitása/felfrissítése &amp;nézet</translation>
+ <translation>Form &amp;előnézet megnyitása/frissítése</translation>
</message>
<message>
<location/>
<source>Form Preview Tool</source>
- <translation>Forma előnézeti eszköz</translation>
+ <translation>Form előnézeti eszköz</translation>
</message>
<message>
<location/>
<source>F5</source>
- <translation>F5</translation>
+ <translation></translation>
</message>
<message>
<location/>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-536"/>
+ <source>&amp;Open...</source>
+ <translation>Meg&amp;nyitás...</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Save</source>
+ <translation>Mentés</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Print...</source>
+ <translation>&amp;Nyomtatás...</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Print a list of all the translation units in the current translation source file.</source>
+ <translation>A fordítási egységeket listázza a jelenlegi fordításfájlban.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Undo the last editing operation performed on the current translation.</source>
+ <translation>A legutolsó szerkesztő művelet visszavonása a fordításon.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Find...</source>
+ <translation>K&amp;eresés...</translation>
+ </message>
+ <message>
+ <source>Previous unfinished item.</source>
+ <translation type="obsolete">Előző lefordítatlan bejegyzés.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Move to the previous unfinished item.</source>
+ <translation>Ugrás a előző lefordítatlan bejegyzésre.</translation>
+ </message>
+ <message>
+ <source>Next unfinished item.</source>
+ <translation type="obsolete">Következő lefordítatlan bejegyzés.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Move to the next unfinished item.</source>
+ <translation>Ugrás a következő lefordítatlan bejegyzésre.</translation>
+ </message>
+ <message>
+ <source>Move to previous item.</source>
+ <translation type="obsolete">Ugrás az előző bejegyzésre.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Move to the previous item.</source>
+ <translation>Ugrás az előző bejegyzésre.</translation>
+ </message>
+ <message>
+ <source>Next item.</source>
+ <translation type="obsolete">Következő bejegyzés.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Move to the next item.</source>
+ <translation>Ugrás a következő bejegyzésre.</translation>
+ </message>
+ <message>
+ <source>Mark item as done and move to the next unfinished item.</source>
+ <translation type="obsolete">Az aktuális bejegyzés késznek jelölése és ugrás a következő lefordítatlanra.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Mark this item as done and move to the next unfinished item.</source>
+ <translation>Ezt a bejegyzést késznek jelöli és a következő lefordítatlanra ugrik.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Copy from source text</source>
+ <translation>Forrásszöveg másolása</translation>
+ </message>
+ <message>
+ <source>Toggle the validity check of accelerators.</source>
+ <translation type="obsolete">A gyorsbillentyűk meglétének ellenőrzése.</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>A gyorsbillentyűk meglétének ellenőrzése, vagyis hogy a forrás és célszövegben található &amp;&amp; jelek száma megegyezik-e. Ha nem, akkor a figyelmeztetések közt jelezve lesz.</translation>
+ </message>
+ <message>
+ <source>Toggle the validity check of ending punctuation.</source>
+ <translation type="obsolete">A mondatvégi írásjelek ellenőrzése.</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>A mondatvégi írásjelek ellenőrzése. Ha nem, akkor a figyelmeztetések közt jelezve lesz.</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>Az ajánlásokhoz való igazodás ellenőrzése. Ha van ajánlás, mégsincs felhasználva a fordításban, akkor a figyelmeztetések közt jelezve lesz.</translation>
+ </message>
+ <message>
+ <source>Toggle the validity check of place markers.</source>
+ <translation type="obsolete">A helyfoglalók ellenőrzése.</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>A helyfoglalók ellenőrzése, vagyis a %1, %2, ... helyfoglalók konzisztensen vannak-e használva a fordításban. Ha nem, akkor a figyelmeztetések közt jelezve lesz.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;New Phrase Book...</source>
+ <translation>Ú&amp;j kifejezéstár...</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Open Phrase Book...</source>
+ <translation>Kifejezéstár meg&amp;nyitása...</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Reset Sorting</source>
+ <translation>Rendezés &amp;visszaállítása</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Display translation statistics.</source>
+ <translation>Fordítási statisztikák megjelenítése.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Search And Translate...</source>
+ <translation>Keresés és &amp;fordítás...</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Close</source>
+ <translation>Bezárás</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Close All</source>
+ <translation>Mind&amp;et bezár</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Ctrl+W</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-561"/>
+ <source>&amp;Batch Translation...</source>
+ <translation>&amp;Kötegelt fordítás...</translation>
+ </message>
+ <message>
+ <location/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1"/>
<source>Translation File &amp;Settings...</source>
- <translation>Fordítási fájl &amp;beállítások...</translation>
+ <translation>Fordítási fájl beállítá&amp;sai...</translation>
</message>
<message>
<location/>
<source>&amp;Add to Phrase Book</source>
- <translation>Társalgási szótárhoz &amp;hozzáadás</translation>
+ <translation>Hozzá&amp;adás a kifejezéstárhoz</translation>
</message>
<message>
<location/>
<source>Ctrl+T</source>
- <translation>Ctrl+T</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Ctrl+J</source>
- <translation>Ctrl+J</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Ctrl+Shift+J</source>
- <translation>Ctrl+Shift+J</translation>
+ <translation></translation>
</message>
<message>
<location/>
<source>Previous unfinished item</source>
- <translation>Előző befejezetlen elem</translation>
+ <translation>Előző lefordítatlan bejegyzés</translation>
</message>
<message>
<location/>
<source>Next unfinished item</source>
- <translation>Következő befejezetlen elem</translation>
+ <translation>Következő lefordítatlan bejegyzés</translation>
</message>
<message>
<location/>
<source>Move to previous item</source>
- <translation>Az előző befejezetlen elemre mozgás</translation>
+ <translation>Ugrás az előző bejegyzésre</translation>
</message>
<message>
<location/>
<source>Next item</source>
- <translation>Következő elem</translation>
+ <translation>Következő bejegyzés</translation>
</message>
<message>
<location/>
<source>Mark item as done and move to the next unfinished item</source>
- <translation>Az elem készként jelölése és a következő befejezetlen elemre mozgatás</translation>
+ <translation>Az aktuális bejegyzés késznek jelölése és ugrás a következő lefordítatlanra</translation>
</message>
<message>
<location/>
<source>Copies the source text into the translation field</source>
- <translation>A forrás szöveg fordítási szövegbe másolása</translation>
+ <translation>A forrás szöveg bemásolása a fordításba</translation>
</message>
<message>
<location/>
<source>Toggle the validity check of accelerators</source>
- <translation>Gyorsítások érvényesség ellenőrzésének kapcsolgatása</translation>
+ <translation>A gyorsbillentyűk meglétének ellenőrzése</translation>
</message>
<message>
<location/>
<source>Toggle the validity check of ending punctuation</source>
- <translation>Vég írásjelek érvényesség ellenőrzésének kapcsolgatása</translation>
+ <translation>A mondatvégi írásjelek ellenőrzése</translation>
</message>
<message>
<location/>
<source>Toggle checking that phrase suggestions are used</source>
- <translation>A használt társalgási ajánlások ellenőrzésének kapcsolgatása</translation>
+ <translation>A kifejezéstár ajánlásainak használatának engedélyezése</translation>
</message>
<message>
<location/>
<source>Toggle the validity check of place markers</source>
- <translation>Hely megjelölők érvényesség vizsgálatának kapcsolgatása</translation>
+ <translation>A helyfoglalók ellenőrzése</translation>
</message>
<message>
<location/>
<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>Egy Qt üzenet fájl létrehozása az aktuális üzenet fájlból, amely megfelelő az alkalmazás kiadásaira. A fájlnév TS fájl nevéből lesz automatikusan meghatározva.</translation>
+ <translation>Az alkalmazások számára használható Qt üzenetfájl létrehozása a jelenlegi fájlból. A fájlnév a jelenlegi ts fájl nevéből lesz megállapítva.</translation>
</message>
<message>
<location/>
<source>Length Variants</source>
- <translation>Hossz változatok</translation>
+ <translation>Hosszú változat</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Display information about the Qt toolkit by Nokia.</source>
+ <translation>Információk a Nokia Qt eszközkészletéről.</translation>
</message>
</context>
<context>
<name>MessageEditor</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+42"/>
+ <location filename="../../../../../home/hron/Projects/localize/qt-l10n-hu/tools/linguist/linguist/messageeditor.cpp" line="+42"/>
<source></source>
<comment>This is the right panel of the main window.</comment>
- <translatorcomment>Ez a fő ablak jobb panelja.</translatorcomment>
<translation></translation>
</message>
<message>
- <location line="+30"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="+72"/>
<source>Russian</source>
<translation>Orosz</translation>
</message>
@@ -1528,14 +1593,14 @@ Az összes fájl (*)</translation>
<translation>Kínai</translation>
</message>
<message>
- <location line="+53"/>
+ <location line="+47"/>
<source>This whole panel allows you to view and edit the translation of some source text.</source>
- <translation>Ez az egész pabel engedélyezi néhány forrás szöveg fordításának megtekintését és szerkesztését.</translation>
+ <translation>Ezen a panelen tekinthetőek meg és szerkeszthetők a fordítások.</translation>
</message>
<message>
- <location line="+18"/>
+ <location line="+10"/>
<source>Source text</source>
- <translation>Forrás szöveg</translation>
+ <translation>Forrásszöveg</translation>
</message>
<message>
<location line="+2"/>
@@ -1545,12 +1610,12 @@ Az összes fájl (*)</translation>
<message>
<location line="+4"/>
<source>Source text (Plural)</source>
- <translation>Forrás szöveg (Többesszám)</translation>
+ <translation>Forrásszöveg (többes szám)</translation>
</message>
<message>
<location line="+2"/>
<source>This area shows the plural form of the source text.</source>
- <translation>Ez a terület mutatja a forrás szöveg többesszámú formáját.</translation>
+ <translation>Ez a terület mutatja a forrás szöveg többesszámát.</translation>
</message>
<message>
<location line="+4"/>
@@ -1560,22 +1625,22 @@ Az összes fájl (*)</translation>
<message>
<location line="+3"/>
<source>This area shows a comment that may guide you, and the context in which the text occurs.</source>
- <translation>Ez a terület mutatja a megjegyzéseket, ami segítheti Önt, és az összefüggéseket, hogy melyik szövegben fordul elő.</translation>
+ <translation>Ez a rész mutatja meg a fejlesztő segítő megjegyzéseit, és a szövegkörnyezet részleteit.</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>Itt hozzáadhatja a saját megjegyzését saját használatra. Nincsen hatásuk a lefordított alkalmazásokon.</translation>
+ <translation>Ide lehet beírni a fordításhoz tartozó megjegyzéseket. Ez nincs hatással a lefordított alkalmazásokra.</translation>
</message>
<message>
- <location line="+232"/>
+ <location line="+234"/>
<source>%1 translation (%2)</source>
<translation>%1 fordítás (%2)</translation>
</message>
<message>
<location line="+9"/>
<source>This is where you can enter or modify the translation of the above source text.</source>
- <translation>Ez az a hely, ahol beviheti és módosíthatja a fentebb található forrás szöveg fordítását.</translation>
+ <translation>Itt írható be, vagy módosítható a forrás szöveg fordítása.</translation>
</message>
<message>
<location line="+5"/>
@@ -1585,62 +1650,54 @@ Az összes fájl (*)</translation>
<message>
<location line="+1"/>
<source>%1 translator comments</source>
- <translation>%1 fordító megjegyzések</translation>
+ <translation>%1 fordítói megjegyzés</translation>
</message>
<message>
<location line="+157"/>
<source>&apos;%1&apos;
Line: %2</source>
- <translation>&apos;%1&apos;
+ <translation>&apos;%1&apos;
Sor: %2</translation>
</message>
</context>
<context>
<name>MessageModel</name>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+832"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+839"/>
<source>Completion status for %1</source>
- <translation>%1 elkészítési státusza</translation>
+ <translation>Készültségi állapot %1 nyelvhez</translation>
</message>
<message>
<location line="+15"/>
<source>&lt;file header&gt;</source>
- <translation>&lt;file header&gt;</translation>
+ <translation>&lt;fájl fejléc&gt;</translation>
</message>
<message>
<location line="+2"/>
<source>&lt;context comment&gt;</source>
- <translation>&lt;context comment&gt;</translation>
+ <translation>&lt;környezet megjegyzés&gt;</translation>
</message>
<message>
<location line="+71"/>
<source>&lt;unnamed context&gt;</source>
- <translation>&lt;unnamed context&gt;</translation>
+ <translation>&lt;névtelen környezet&gt;</translation>
</message>
</context>
<context>
<name>MsgEdit</name>
<message>
- <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-614"/>
+ <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-600"/>
<source></source>
<comment>This is the right panel of the main window.</comment>
- <translatorcomment>Ez a fő ablak jobb panelja.</translatorcomment>
<translation></translation>
</message>
</context>
<context>
<name>PhraseBookBox</name>
<message>
- <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+12"/>
- <source></source>
- <comment>Go to Phrase &gt; Edit Phrase Book... The dialog that pops up is a PhraseBookBox.</comment>
- <translatorcomment>Társalgás -&gt; Társalgási szótár szerkesztése... A felbukkanó ablak egy TársalgásiSzótárDoboz.</translatorcomment>
- <translation></translation>
- </message>
- <message>
- <location line="+54"/>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="+66"/>
<source>(New Entry)</source>
- <translation>(Új bevitel)</translation>
+ <translation>(Új bejegyzés)</translation>
</message>
<message>
<location line="+3"/>
@@ -1655,17 +1712,12 @@ Sor: %2</translation>
<message>
<location line="+1"/>
<source>Cannot save phrase book &apos;%1&apos;.</source>
- <translation>Nem lehet elmenteni a(z) &apos;%1&apos; társalgási szótárat.</translation>
+ <translation>Nem lehet ezt a kifejezéstárat elmenteni: &apos;%1&apos;.</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/phrasebookbox.ui"/>
<source>Edit Phrase Book</source>
- <translation>Társalgási szótár szerkesztése</translation>
- </message>
- <message>
- <location/>
- <source>This window allows you to add, modify, or delete entries in a phrase book.</source>
- <translation>Ez az ablak engedélyezi új bevitelek hozzáadását, módosítását, vagy törlését egy társalgási szótárban.</translation>
+ <translation>Kifejezéstár szerkesztése</translation>
</message>
<message>
<location/>
@@ -1675,22 +1727,22 @@ Sor: %2</translation>
<message>
<location/>
<source>This is the phrase in the target language corresponding to the source phrase.</source>
- <translation>Ez a forrás társalgás megfelelője a cél nyelvben.</translation>
+ <translation>A forrás nyelvi kifejezés célnyelvi megfelelője.</translation>
</message>
<message>
<location/>
<source>S&amp;ource phrase:</source>
- <translation>&amp;Forrás társalgás:</translation>
+ <translation>F&amp;orrás kifejezés:</translation>
</message>
<message>
<location/>
<source>This is a definition for the source phrase.</source>
- <translation>Ez egy forrás fordítás definíció.</translation>
+ <translation>Ez a forráskifejezés meghatározása.</translation>
</message>
<message>
<location/>
<source>This is the phrase in the source language.</source>
- <translation>Ez egy társalgás a forrás nyelvben.</translation>
+ <translation>Ez a forrás nyelvi kifejezés.</translation>
</message>
<message>
<location/>
@@ -1700,22 +1752,37 @@ Sor: %2</translation>
<message>
<location/>
<source>Click here to add the phrase to the phrase book.</source>
- <translation>Kattintson ide a társalgás hozzáadásához a társalgási könyvben.</translation>
+ <translation>Kattintson ide a kifejezés kifejezéstárba vételéhez.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>&amp;Save</source>
+ <translation>Menté&amp;s</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Click here to save the changes made.</source>
+ <translation>Kattintson ide a változások mentéséhez.</translation>
+ </message>
+ <message>
+ <location/>
+ <source>This window allows you to add, modify, or delete entries in a phrase book.</source>
+ <translation>Ebben az ablakban nyílik lehetőség a kifejezéstár bővítésére, szűkítésére és módosítására.</translation>
</message>
<message>
<location/>
<source>&amp;New Entry</source>
- <translation>&amp;Új bevitel</translation>
+ <translation>Ú&amp;j bejegyzés</translation>
</message>
<message>
<location/>
<source>Click here to remove the entry from the phrase book.</source>
- <translation>Kattintson ide a bevitel társalgási könyvből való eltávolításához.</translation>
+ <translation>Kattintson ide a kifejezés törléséhez a kifejezéstárból.</translation>
</message>
<message>
<location/>
<source>&amp;Remove Entry</source>
- <translation>Bevitel &amp;eltávolítása</translation>
+ <translation>Bejegyzés tö&amp;rlése</translation>
</message>
<message>
<location/>
@@ -1724,13 +1791,8 @@ Sor: %2</translation>
</message>
<message>
<location/>
- <source>Click here to save the changes made.</source>
- <translation>Kattintson ide a változtatások elmentéséhez.</translation>
- </message>
- <message>
- <location/>
- <source>&amp;Save</source>
- <translation>&amp;Mentés</translation>
+ <source>Close</source>
+ <translation>Bezárás</translation>
</message>
<message>
<location/>
@@ -1738,9 +1800,10 @@ Sor: %2</translation>
<translation>Kattintson ide az ablak bezárásához.</translation>
</message>
<message>
- <location/>
- <source>Close</source>
- <translation>Bezárás</translation>
+ <location filename="../tools/linguist/linguist/phrasebookbox.cpp" line="-146"/>
+ <source></source>
+ <comment>Go to Phrase &gt; Edit Phrase Book... The dialog that pops up is a PhraseBookBox.</comment>
+ <translation></translation>
</message>
</context>
<context>
@@ -1748,7 +1811,7 @@ Sor: %2</translation>
<message>
<location filename="../tools/linguist/linguist/phrasemodel.cpp" line="+117"/>
<source>Source phrase</source>
- <translation>Forrás társalgás</translation>
+ <translation>Forrás kifejezés</translation>
</message>
<message>
<location line="+2"/>
@@ -1776,12 +1839,12 @@ Sor: %2</translation>
<message>
<location line="+113"/>
<source>Guess (%1)</source>
- <translation>Feltételezés (%1)</translation>
+ <translation>Tipp (%1)</translation>
</message>
<message>
<location line="+2"/>
<source>Guess</source>
- <translation>Feltételezés</translation>
+ <translation>Tipp</translation>
</message>
</context>
<context>
@@ -1789,20 +1852,21 @@ Sor: %2</translation>
<message>
<location filename="../tools/linguist/shared/qm.cpp" line="+12"/>
<source>Compiled Qt translations</source>
+ <translatorcomment>Released files (*.qm)</translatorcomment>
<translation>Lefordított Qt fordítások</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1280"/>
+ <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-1302"/>
<source>Translation files (%1);;</source>
<translation>Fordítási fájlok (%1);;</translation>
</message>
<message>
<location line="+5"/>
<source>All files (*)</source>
- <translation>Fájlok hozzáadása ( *)</translation>
+ <translation>Minden fájl (*)</translation>
</message>
<message>
- <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1127"/>
+ <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1134"/>
<location line="+27"/>
<location line="+67"/>
<location line="+39"/>
@@ -1813,34 +1877,59 @@ Sor: %2</translation>
<translation>Qt Linguist</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/po.cpp" line="+658"/>
+ <source>C++ source files</source>
+ <translation type="obsolete">C++ forrásfájlok</translation>
+ </message>
+ <message>
+ <source>Java source files</source>
+ <translation type="obsolete">Java forrásfájlok</translation>
+ </message>
+ <message>
+ <location filename="../tools/linguist/shared/po.cpp" line="+817"/>
<source>GNU Gettext localization files</source>
<translation>GNU Gettext lokalizációs fájlok</translation>
</message>
<message>
+ <location line="+7"/>
+ <source>GNU Gettext localization template files</source>
+ <translation>GNU Gettext lokalizációs sablonfájlok</translation>
+ </message>
+ <message>
+ <source>Qt Script source files</source>
+ <translation type="obsolete">Qt szkript fájlok</translation>
+ </message>
+ <message>
<location filename="../tools/linguist/shared/ts.cpp" line="+752"/>
<source>Qt translation sources (format 1.1)</source>
- <translation>Qt fordítási forrása (1.1 formátum)</translation>
+ <translation>Qt fordítási fájlok (1.1-es formátum)</translation>
</message>
<message>
<location line="+8"/>
<source>Qt translation sources (format 2.0)</source>
- <translation>Qt fordítás források (2.0 formátum)</translation>
+ <translation>Qt fordítási fájlok (2.0-ás formátum)</translation>
</message>
<message>
<location line="+9"/>
<source>Qt translation sources (latest format)</source>
- <translation>Qt fordítási források (legutolsó formátum)</translation>
+ <translation>Qt fordítási fájlok (legújabb formátum)</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/xliff.cpp" line="+827"/>
+ <source>Qt Designer form files</source>
+ <translation type="obsolete">Qt Designer űrlapfájlok</translation>
+ </message>
+ <message>
+ <source>Qt Jambi form files</source>
+ <translation type="obsolete">Qt Jambi űrlapfájlok</translation>
+ </message>
+ <message>
+ <location filename="../tools/linguist/shared/xliff.cpp" line="+829"/>
<source>XLIFF localization files</source>
<translation>XLIFF lokalizációs fájlok</translation>
</message>
<message>
- <location filename="../tools/linguist/shared/qph.cpp" line="+183"/>
+ <location filename="../tools/linguist/shared/qph.cpp" line="+195"/>
<source>Qt Linguist &apos;Phrase Book&apos;</source>
- <translation>Qt Linguist &apos;Társalgási Könyv&apos;</translation>
+ <translation>Qt Linguist &apos;Kifejezéstár&apos;</translation>
</message>
</context>
<context>
@@ -1848,17 +1937,17 @@ Sor: %2</translation>
<message>
<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;A forrás kód nem elérhető&lt;/i&gt;</translation>
+ <translation>&lt;i&gt;A forráskód nem elérhető&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;A(z) %1 fájl nem elérhető&lt;/i&gt;</translation>
+ <translation>&lt;i&gt;A fájl (%1) nem elérhető&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;A(z) %1 fájl nem olvasható&lt;/i&gt;</translation>
+ <translation>&lt;i&gt;A fájl (%1) nem olvasható&lt;/i&gt;</translation>
</message>
</context>
<context>
@@ -1886,17 +1975,17 @@ Sor: %2</translation>
<message>
<location/>
<source>Words:</source>
- <translation>Szavak:</translation>
+ <translation>Szavak száma:</translation>
</message>
<message>
<location/>
<source>Characters:</source>
- <translation>Karakterek:</translation>
+ <translation>Karakterek száma:</translation>
</message>
<message>
<location/>
<source>Characters (with spaces):</source>
- <translation>Karakterek (szóközökkel):</translation>
+ <translation>Karakterek száma (szóközökkel):</translation>
</message>
<message>
<location/>
@@ -1905,16 +1994,25 @@ Sor: %2</translation>
</message>
</context>
<context>
+ <name>TrWindow</name>
+ <message>
+ <location filename="../tools/linguist/linguist/trwindow.cpp" line="+14"/>
+ <source></source>
+ <comment>This is the application&apos;s main window.</comment>
+ <translation></translation>
+ </message>
+</context>
+<context>
<name>TranslateDialog</name>
<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>Ez az ablak engedélyezi, hogy rákeressen néhány szövegre a fordítási forrás fájlban.</translation>
+ <translation>Ebben az ablakban kereshetsz a fordítás forrásfájljában.</translation>
</message>
<message>
<location/>
<source>Type in the text to search for.</source>
- <translation>Gépelje be a keresni kívánt szöveget.</translation>
+ <translation>Írd be a keresett szöveget.</translation>
</message>
<message>
<location/>
@@ -1924,32 +2022,32 @@ Sor: %2</translation>
<message>
<location/>
<source>&amp;Translate to:</source>
- <translation>&amp;Fordítás erre:</translation>
+ <translation>Fordí&amp;tása:</translation>
</message>
<message>
<location/>
<source>Search options</source>
- <translation>Keresés opciók</translation>
+ <translation>Keresési opciók</translation>
</message>
<message>
<location/>
<source>Texts such as &apos;TeX&apos; and &apos;tex&apos; are considered as different when checked.</source>
- <translation>&apos;TeX&apos; és &apos;text&apos; szövegek különbözően kezelése bejelöléskor.</translation>
+ <translation>Kis- és nagybetű érzékeny keresés.</translation>
</message>
<message>
<location/>
<source>Match &amp;case</source>
- <translation>Megegyező &amp;eset</translation>
+ <translation>Kis/nagy&amp;betű</translation>
</message>
<message>
<location/>
<source>Mark new translation as &amp;finished</source>
- <translation>Új fordítások &amp;befejezettként jelölése</translation>
+ <translation>Új fordítás megjelölése be&amp;fejezettként</translation>
</message>
<message>
<location/>
<source>Click here to find the next occurrence of the text you typed in.</source>
- <translation>Kattintson ide a begépelt szöveg következő előfordulásának megkereséséhez.</translation>
+ <translation>Kattints ide a megadott szöveg következő előfordulásának megkereséséhez.</translation>
</message>
<message>
<location/>
@@ -1964,31 +2062,31 @@ Sor: %2</translation>
<message>
<location/>
<source>Translate All</source>
- <translation>Az összes fordítása</translation>
+ <translation>Összes fordítása</translation>
</message>
<message>
<location/>
<source>Click here to close this window.</source>
- <translation>Kattintson ide az ablak bezárásához.</translation>
+ <translation>Kattints ide az ablak bezárásához.</translation>
</message>
<message>
<location/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
</context>
<context>
<name>TranslationSettingsDialog</name>
<message>
- <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+68"/>
+ <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+93"/>
<source>Any Country</source>
- <translation>Bármeny ország</translation>
+ <translation>Bármely ország</translation>
</message>
<message>
- <location line="+11"/>
+ <location line="-22"/>
<location line="+8"/>
<source>Settings for &apos;%1&apos; - Qt Linguist</source>
- <translation>&apos;%1&apos;-re állítás - Qt Linguist</translation>
+ <translation>&apos;%1&apos; beállításai - Qt Linguist</translation>
</message>
<message>
<location filename="../tools/linguist/linguist/translationsettings.ui"/>
@@ -2003,7 +2101,7 @@ Sor: %2</translation>
<message>
<location/>
<source>Country/Region</source>
- <translation>OrszágRégió</translation>
+ <translation>Ország/Régió</translation>
</message>
<message>
<location/>
diff --git a/translations/qt_de.ts b/translations/qt_de.ts
index 226b7da..7d32ead 100644
--- a/translations/qt_de.ts
+++ b/translations/qt_de.ts
@@ -4,7 +4,7 @@
<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2266"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2313"/>
<source>Close Tab</source>
<translation>Schließen</translation>
</message>
@@ -12,7 +12,7 @@
<context>
<name>FakeReply</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2217"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2278"/>
<source>Fake error !</source>
<translation>Fake error !</translation>
</message>
@@ -25,7 +25,7 @@
<context>
<name>MAC_APPLICATION_MENU</name>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2316"/>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2348"/>
<source>Services</source>
<translation>Dienste</translation>
</message>
@@ -1275,7 +1275,7 @@ nach
<translation>Diese Socket-Operation wird nicht unterstützt</translation>
</message>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+614"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+625"/>
<location filename="../src/network/socket/qabstractsocket.cpp" line="+203"/>
<source>Socket operation timed out</source>
<translation>Das Zeitlimit für die Operation wurde überschritten</translation>
@@ -1597,7 +1597,7 @@ nach
<context>
<name>QDeclarativeAbstractAnimation</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+165"/>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+166"/>
<source>Cannot animate non-existent property &quot;%1&quot;</source>
<translation>Die Eigenschaft &apos;%1&quot; existiert nicht und kann daher nicht animiert werden</translation>
</message>
@@ -1606,11 +1606,24 @@ nach
<source>Cannot animate read-only property &quot;%1&quot;</source>
<translation>Die Eigenschaft &apos;%1&quot; ist schreibgeschützt und kann daher nicht animiert werden</translation>
</message>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeutilmodule.cpp" line="+122"/>
+ <source>Animation is an abstract class</source>
+ <translation>Die Klasse Animation ist abstrakt</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeAnchorAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+2568"/>
+ <source>Cannot set a duration of &lt; 0</source>
+ <translation>Es kann keine Zeitdauer &lt;0 gesetzt werden</translation>
+ </message>
</context>
<context>
<name>QDeclarativeAnchors</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativeanchors.cpp" line="+181"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeanchors.cpp" line="+180"/>
<source>Possible anchor loop detected on fill.</source>
<translation>Bei der Fülloperation wurde eine potentielle Endlosschleife der Anker festgestellt.</translation>
</message>
@@ -1676,9 +1689,17 @@ nach
</message>
</context>
<context>
+ <name>QDeclarativeAnimatedImage</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp" line="+86"/>
+ <source>Qt was built without support for QMovie</source>
+ <translation>Diese Version der Qt-Bibliothek wurde ohne Unterstützung für die Klasse QMovie erstellt</translation>
+ </message>
+</context>
+<context>
<name>QDeclarativeBehavior</name>
<message>
- <location filename="../src/declarative/util/qdeclarativebehavior.cpp" line="+122"/>
+ <location filename="../src/declarative/util/qdeclarativebehavior.cpp" line="+127"/>
<source>Cannot change the animation assigned to a Behavior.</source>
<translation>Die zu einem Behavior-Element gehörende Animation kann nicht geändert werden.</translation>
</message>
@@ -1686,7 +1707,7 @@ nach
<context>
<name>QDeclarativeBinding</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativebinding.cpp" line="+222"/>
+ <location filename="../src/declarative/qml/qdeclarativebinding.cpp" line="+238"/>
<source>Binding loop detected for property &quot;%1&quot;</source>
<translation>Bei der für die Eigenschaft &quot;%1&quot; angegebenen Bindung wurde eine Endlosschleife festgestellt</translation>
</message>
@@ -1694,7 +1715,7 @@ nach
<context>
<name>QDeclarativeCompiledBindings</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativecompiledbindings.cpp" line="+305"/>
+ <location filename="../src/declarative/qml/qdeclarativecompiledbindings.cpp" line="+372"/>
<source>Binding loop detected for property &quot;%1&quot;</source>
<translation>Bei der für die Eigenschaft &quot;%1&quot; angegebenen Bindung wurde eine Endlosschleife festgestellt</translation>
</message>
@@ -1703,16 +1724,16 @@ nach
<name>QDeclarativeCompiler</name>
<message>
<location filename="../src/declarative/qml/qdeclarativecompiler.cpp" line="+186"/>
- <location line="+1654"/>
- <location line="+187"/>
- <location line="+82"/>
+ <location line="+1596"/>
+ <location line="+186"/>
+ <location line="+81"/>
<location line="+75"/>
- <location line="+488"/>
+ <location line="+487"/>
<source>Invalid property assignment: &quot;%1&quot; is a read-only property</source>
<translation>Ungültige Zuweisung bei Eigenschaft: &quot;%1&quot; ist schreibgeschützt</translation>
</message>
<message>
- <location line="-2477"/>
+ <location line="-2416"/>
<source>Invalid property assignment: unknown enumeration</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Ungültiger Aufzählungswert</translation>
</message>
@@ -1727,32 +1748,32 @@ nach
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine URL erwartet</translation>
</message>
<message>
- <location line="+6"/>
+ <location line="+10"/>
<source>Invalid property assignment: unsigned int expected</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine vorzeichenloser Ganzzahlwert erwartet</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+11"/>
<source>Invalid property assignment: int expected</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird ein Ganzzahlwert erwartet</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+4"/>
<source>Invalid property assignment: float expected</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Gleitkommazahl erwartet</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+3"/>
<source>Invalid property assignment: double expected</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Gleitkommazahl (double) erwartet</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+6"/>
<source>Invalid property assignment: color expected</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Farbspezifikation erwartet</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+8"/>
<source>Invalid property assignment: date expected</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Datumsangabe erwartet</translation>
</message>
@@ -1767,7 +1788,7 @@ nach
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Datumsangabe erwartet</translation>
</message>
<message>
- <location line="+8"/>
+ <location line="+9"/>
<source>Invalid property assignment: point expected</source>
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird eine Koordinatenangabe für einen Punkt erwartet</translation>
</message>
@@ -1797,63 +1818,38 @@ nach
<translation>Ungültige Zuweisung bei Eigenschaft: Der Typ &quot;%1&quot; ist nicht unterstützt</translation>
</message>
<message>
- <location line="+269"/>
+ <location line="+277"/>
<source>Element is not creatable.</source>
<translation>Das Element kann nicht erzeugt werden.</translation>
</message>
<message>
- <location line="+603"/>
+ <location line="+618"/>
<source>Component elements may not contain properties other than id</source>
<translation>Komponenten dürfen außer id keine weiteren Eigenschaften enthalten.</translation>
</message>
<message>
- <location line="+3"/>
- <source>Component elements may not contain script blocks</source>
- <translation>Komponenten dürfen keine Skripte enthalten</translation>
- </message>
- <message>
<location line="+7"/>
<source>Invalid component id specification</source>
<translation>Ungültige Komponentenspezifikation</translation>
</message>
<message>
<location line="+6"/>
- <location line="+558"/>
+ <location line="+478"/>
<source>id is not unique</source>
<translation>ID-Wert nicht eindeutig</translation>
</message>
<message>
- <location line="-548"/>
+ <location line="-468"/>
<source>Invalid component body specification</source>
<translation>Inhalt der Komponente ungültig</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+14"/>
<source>Cannot create empty component specification</source>
<translation>Es kann keine leere Komponentenangabe erzeugt werden</translation>
</message>
<message>
- <location line="+19"/>
- <source>Invalid Script block. Specify either the source property or inline script</source>
- <translation>Ungültiges Skript. Es muss die Eigenschaft oder ein eingebettetes Skript angegeben werden</translation>
- </message>
- <message>
- <location line="+4"/>
- <source>Invalid Script source value</source>
- <translation>Ungültige Angabe für Skript</translation>
- </message>
- <message>
- <location line="+25"/>
- <source>Properties cannot be set on Script block</source>
- <translation>Für ein Skript können keine Eigenschaften angegeben werden</translation>
- </message>
- <message>
- <location line="+14"/>
- <source>Invalid Script block</source>
- <translation>Ungültiges Skript</translation>
- </message>
- <message>
- <location line="+128"/>
+ <location line="+105"/>
<source>Empty signal assignment</source>
<translation>Leere Signalzuweisung</translation>
</message>
@@ -1869,29 +1865,29 @@ nach
</message>
<message>
<location line="+15"/>
- <location line="+104"/>
+ <location line="+102"/>
<source>Non-existent attached object</source>
<translation>Es existiert kein Bezugselement für die Eigenschaft</translation>
</message>
<message>
- <location line="-100"/>
- <location line="+103"/>
+ <location line="-98"/>
+ <location line="+101"/>
<source>Invalid attached object assignment</source>
<translation>Ungültige Zuweisung des Bezugselements</translation>
</message>
<message>
- <location line="-50"/>
+ <location line="-48"/>
<source>Cannot assign to non-existent default property</source>
<translation>Es kann keine Zuweisung erfolgen, da keine Vorgabe-Eigenschaft existiert</translation>
</message>
<message>
<location line="+2"/>
- <location line="+355"/>
+ <location line="+352"/>
<source>Cannot assign to non-existent property &quot;%1&quot;</source>
<translation>Es kann keine Zuweisung erfolgen, da keine Eigenschaft des Namens &apos;%1&quot; existiert</translation>
</message>
<message>
- <location line="-324"/>
+ <location line="-322"/>
<source>Invalid use of namespace</source>
<translation>Ungültige Verwendung eines Namensraums</translation>
</message>
@@ -1901,24 +1897,44 @@ nach
<translation>Kein gültiger Name einer Eigenschaft des Typs &apos;attached&apos;</translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+182"/>
<source>Invalid use of id property</source>
<translation>Ungültige Verwendung einer Eigenschaft des Typs &apos;Id&apos;</translation>
</message>
<message>
- <location line="-356"/>
+ <location line="-357"/>
<source>Incorrectly specified signal assignment</source>
<translation></translation>
</message>
<message>
- <location line="+445"/>
+ <location line="-100"/>
+ <source>Component objects cannot declare new properties.</source>
+ <translation>Komponentenobjekte können keine neuen Eigenschaften deklarieren.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Component objects cannot declare new signals.</source>
+ <translation>Komponentenobjekte können keine neuen Signale deklarieren.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Component objects cannot declare new functions.</source>
+ <translation>Komponentenobjekte können keine neuen Funktionen deklarieren.</translation>
+ </message>
+ <message>
+ <location line="+108"/>
+ <source>Cannot assign a value to a signal (expecting a script to be run)</source>
+ <translation>Einem Signal können keine Werte zugewiesen werden (es wird ein Skript erwartet)</translation>
+ </message>
+ <message>
+ <location line="+434"/>
<location line="+2"/>
<source>Property has already been assigned a value</source>
<translation>Der Eigenschaft wurde bereits ein Wert zugewiesen</translation>
</message>
<message>
<location line="+12"/>
- <location line="+8"/>
+ <location line="+7"/>
<source>Invalid grouped property access</source>
<translation>Falsche Gruppierung bei Zugriff auf Eigenschaft</translation>
</message>
@@ -1973,7 +1989,7 @@ nach
<translation>Ungültige Zuweisung bei Eigenschaft: Es wird ein Skript erwartet</translation>
</message>
<message>
- <location line="+106"/>
+ <location line="+105"/>
<source>Cannot assign object to property</source>
<translation>Zuweisung eines Objekts an eine Eigenschaft nicht zulässig</translation>
</message>
@@ -2033,7 +2049,7 @@ nach
<translation>Eine als &apos;FINAL&apos; ausgewiesene Eigenschaft kann nicht überschrieben werden</translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+24"/>
<source>Invalid property type</source>
<translation>Ungültiger Typ der Eigenschaft</translation>
</message>
@@ -2088,7 +2104,7 @@ nach
<context>
<name>QDeclarativeComponent</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativecomponent.cpp" line="+452"/>
+ <location filename="../src/declarative/qml/qdeclarativecomponent.cpp" line="+459"/>
<source>Invalid empty URL</source>
<translation>Ungültige (leere) URL</translation>
</message>
@@ -2096,23 +2112,23 @@ nach
<context>
<name>QDeclarativeCompositeTypeManager</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativecompositetypemanager.cpp" line="+483"/>
- <location line="+268"/>
+ <location filename="../src/declarative/qml/qdeclarativecompositetypemanager.cpp" line="+475"/>
+ <location line="+266"/>
<source>Resource %1 unavailable</source>
<translation>Auf die Ressource %1 konnte nicht zugegriffen werden</translation>
</message>
<message>
- <location line="-119"/>
+ <location line="-122"/>
<source>Namespace %1 cannot be used as a type</source>
<translation>Der Namensraum %1 kann nicht als Typangabe verwendet werden</translation>
</message>
<message>
<location line="+2"/>
- <source>%1 is not a type</source>
- <translation>%1 ist keine Typangabe</translation>
+ <source>%1 %2</source>
+ <translation>%1 %2</translation>
</message>
<message>
- <location line="+46"/>
+ <location line="+47"/>
<source>Type %1 unavailable</source>
<translation>Der Typ %1 ist nicht verfügbar</translation>
</message>
@@ -2120,14 +2136,13 @@ nach
<context>
<name>QDeclarativeConnections</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeconnections.cpp" line="+172"/>
- <location line="+54"/>
- <location line="+7"/>
+ <location filename="../src/declarative/util/qdeclarativeconnections.cpp" line="+209"/>
+ <location line="+60"/>
<source>Cannot assign to non-existent property &quot;%1&quot;</source>
<translation>Es kann keine Zuweisung erfolgen, da keine Eigenschaft des Namens &apos;%1&quot; existiert</translation>
</message>
<message>
- <location line="-51"/>
+ <location line="-50"/>
<source>Connections: nested objects not allowed</source>
<translation>Verbindungen: Verschachtelte Objekte sind nicht zulässig</translation>
</message>
@@ -2175,13 +2190,29 @@ nach
<source>SQL: database version mismatch</source>
<translation>SQL: Die Version der Datenbank entspricht nicht der erwarteten Version</translation>
</message>
+</context>
+<context>
+ <name>QDeclarativeFlipable</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeflipable.cpp" line="+129"/>
+ <source>front is a write-once property</source>
+ <translation>&apos;front&apos; kann nur einmal zugewiesen werden</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>back is a write-once property</source>
+ <translation>&apos;back&apos; kann nur einmal zugewiesen werden</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeImportDatabase</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativeengine.cpp" line="+1515"/>
+ <location filename="../src/declarative/qml/qdeclarativeimport.cpp" line="+294"/>
<source>module &quot;%1&quot; definition &quot;%2&quot; not readable</source>
<translation>Modul &quot;%1&quot; Definition &quot;%2&quot; kann nicht gelesen werden</translation>
</message>
<message>
- <location line="+23"/>
+ <location line="+20"/>
<source>plugin cannot be loaded for module &quot;%1&quot;: %2</source>
<translation>Das Plugin des Moduls &quot;%1&quot; konnte nicht geladen werden: %2</translation>
</message>
@@ -2191,7 +2222,7 @@ nach
<translation>Modul &quot;%1&quot; Plugin &quot;%2&quot; konnte nicht gefunden werden</translation>
</message>
<message>
- <location line="+82"/>
+ <location line="+79"/>
<location line="+55"/>
<source>module &quot;%1&quot; version %2.%3 is not installed</source>
<translation>Modul &quot;%1&quot; Version %2.%3 ist nicht installiert</translation>
@@ -2210,29 +2241,59 @@ nach
<message>
<location line="-2"/>
<source>import &quot;%1&quot; has no qmldir and no namespace</source>
- <translation>&quot;qmldir&quot; und Namensraum fehlt bei Import &quot;%1&quot;</translation>
+ <translation>&quot;qmldir&quot; und Namensraum fehlen bei dem Import &quot;%1&quot;</translation>
</message>
-</context>
-<context>
- <name>QDeclarativeFlipable</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativeflipable.cpp" line="+125"/>
- <source>front is a write-once property</source>
- <translation>&apos;front&apos; kann nur einmal zugewiesen werden</translation>
+ <location line="+46"/>
+ <source>- %1 is not a namespace</source>
+ <translation>- %1 ist kein gültiger Namensraum</translation>
</message>
<message>
- <location line="+19"/>
- <source>back is a write-once property</source>
- <translation>&apos;back&apos; kann nur einmal zugewiesen werden</translation>
+ <location line="+6"/>
+ <source>- nested namespaces not allowed</source>
+ <translation>- geschachtelte Namensräume sind nicht zulässig</translation>
+ </message>
+ <message>
+ <location line="+47"/>
+ <location line="+4"/>
+ <source>local directory</source>
+ <translation>Lokales Verzeichnis&apos;</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>is ambiguous. Found in %1 and in %2</source>
+ <translation>ist mehrdeutig. Es kommt in %1 und in %2 vor</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>is ambiguous. Found in %1 in version %2.%3 and %4.%5</source>
+ <translation>ist mehrdeutig. Es kommt in %1 in den Version %2.%3 und %4.%5 vor</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>is instantiated recursively</source>
+ <translation>wird rekursiv instanziiert</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>is not a type</source>
+ <translation>ist kein Typ</translation>
</message>
</context>
<context>
- <name>QDeclarativeInfo</name>
+ <name>QDeclarativeKeyNavigationAttached</name>
<message>
- <location filename="../src/declarative/qml/qdeclarativeinfo.cpp" line="+113"/>
- <location line="+3"/>
- <source>unknown location</source>
- <translation>Unbekannter Ort</translation>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp" line="+70"/>
+ <source>KeyNavigation is only available via attached properties</source>
+ <translation>Tastennavigation ist nur über Eigenschaften des Typs &apos;attached&apos; verfügbar</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeKeysAttached</name>
+ <message>
+ <location line="+1"/>
+ <source>Keys is only available via attached properties</source>
+ <translation>Die Unterstützung für Tasten ist nur über Eigenschaften des Typs &apos;attached&apos; verfügbar</translation>
</message>
</context>
<context>
@@ -2263,12 +2324,7 @@ nach
<translation>append: Der Wert ist kein Objekt</translation>
</message>
<message>
- <location line="+34"/>
- <source>get: index %1 out of range</source>
- <translation>get: Der Index %1 ist außerhalb des gültigen Bereichs</translation>
- </message>
- <message>
- <location line="+25"/>
+ <location line="+55"/>
<source>set: value is not an object</source>
<translation>set: Der Wert ist kein Objekt</translation>
</message>
@@ -2303,7 +2359,7 @@ nach
<context>
<name>QDeclarativeLoader</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativeloader.cpp" line="+309"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeloader.cpp" line="+323"/>
<source>Loader does not support loading non-visual elements.</source>
<translation>Das Laden nicht-visueller Elemente ist nicht unterstützt.</translation>
</message>
@@ -2311,7 +2367,7 @@ nach
<context>
<name>QDeclarativeParentAnimation</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+2370"/>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="-169"/>
<source>Unable to preserve appearance under complex transform</source>
<translation>Das Erscheinungsbild kann bei einer komplexen Transformation nicht beibehalten werden</translation>
</message>
@@ -2330,7 +2386,7 @@ nach
<context>
<name>QDeclarativeParentChange</name>
<message>
- <location filename="../src/declarative/util/qdeclarativestateoperations.cpp" line="+94"/>
+ <location filename="../src/declarative/util/qdeclarativestateoperations.cpp" line="+95"/>
<source>Unable to preserve appearance under complex transform</source>
<translation>Das Erscheinungsbild kann bei einer komplexen Transformation nicht beibehalten werden</translation>
</message>
@@ -2349,7 +2405,7 @@ nach
<context>
<name>QDeclarativeParser</name>
<message>
- <location filename="../src/declarative/qml/parser/qdeclarativejslexer.cpp" line="+558"/>
+ <location filename="../src/declarative/qml/parser/qdeclarativejslexer.cpp" line="+579"/>
<source>Illegal character</source>
<translation>Ungültiges Zeichen</translation>
</message>
@@ -2364,17 +2420,19 @@ nach
<translation>Ungültiges Escape-Sequenz</translation>
</message>
<message>
- <location line="+46"/>
+ <location line="-77"/>
+ <location line="+123"/>
+ <location line="+54"/>
<source>Illegal unicode escape sequence</source>
<translation>Ungültige Unicode-Escape-Sequenz</translation>
</message>
<message>
- <location line="+26"/>
+ <location line="-28"/>
<source>Unclosed comment at end of file</source>
<translation>Kommentar am Dateiende nicht abgeschlossen</translation>
</message>
<message>
- <location line="+87"/>
+ <location line="+102"/>
<source>Illegal syntax for exponential number</source>
<translation>Ungültige Syntax des Exponenten</translation>
</message>
@@ -2384,16 +2442,27 @@ nach
<translation>Ein Bezeichner darf nicht mit einem numerischen Literal beginnen</translation>
</message>
<message>
- <location line="+331"/>
+ <location line="+338"/>
<source>Unterminated regular expression literal</source>
<translation>Regulärer Ausdruck nicht abgeschlossen</translation>
</message>
<message>
- <location line="+24"/>
+ <location line="+15"/>
<source>Invalid regular expression flag &apos;%0&apos;</source>
<translation>Ungültiger Modifikator &apos;%0&apos; bei regulärem Ausdruck</translation>
</message>
<message>
+ <location line="+16"/>
+ <location line="+22"/>
+ <source>Unterminated regular expression backslash sequence</source>
+ <translation>Regulärer Ausdruck nicht abgeschlossen</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Unterminated regular expression class</source>
+ <translation>Klasse im regulären Ausdruck nicht abgeschlossen</translation>
+ </message>
+ <message>
<location filename="../src/declarative/qml/parser/qdeclarativejsparser.cpp" line="+1828"/>
<location line="+67"/>
<source>Syntax error</source>
@@ -2411,28 +2480,28 @@ nach
<translation>Es wird das Element &apos;%1&apos; erwartet</translation>
</message>
<message>
- <location filename="../src/declarative/qml/qdeclarativescriptparser.cpp" line="+264"/>
- <location line="+481"/>
+ <location filename="../src/declarative/qml/qdeclarativescriptparser.cpp" line="+260"/>
+ <location line="+431"/>
<location line="+59"/>
<source>Property value set multiple times</source>
<translation>Mehrfache Zuweisung eines Wertes an eine Eigenschaft</translation>
</message>
<message>
- <location line="-529"/>
+ <location line="-479"/>
<source>Expected type name</source>
<translation>Es wird ein Typname erwartet</translation>
</message>
<message>
- <location line="+29"/>
- <source>Invalid use of Script block</source>
- <translation>Ungültige Verwendung von Skript-Blöcken</translation>
- </message>
- <message>
- <location line="+161"/>
+ <location line="+136"/>
<source>Invalid import qualifier ID</source>
<translation>Ungültige Id-Angabe bei Import</translation>
</message>
<message>
+ <location line="+8"/>
+ <source>Reserved name &quot;Qt&quot; cannot be used as an qualifier</source>
+ <translation>Der reservierte Name &quot;Qt&quot; kann nicht als Bezeichner verwendet werden</translation>
+ </message>
+ <message>
<location line="+15"/>
<source>Script import qualifiers must be unique.</source>
<translation>Der für den Skript-Import angegebene Qualifizierer muss eindeutig sein.</translation>
@@ -2448,7 +2517,7 @@ nach
<translation>Der Import einer Bibliothek erfordert eine Versionsangabe</translation>
</message>
<message>
- <location line="+60"/>
+ <location line="+59"/>
<source>Expected parameter type</source>
<translation>Es wird eine Typangabe für den Parameter erwartet</translation>
</message>
@@ -2473,20 +2542,15 @@ nach
<translation>&apos;read-only&apos; wird an dieser Stelle noch nicht unterstützt</translation>
</message>
<message>
- <location line="+222"/>
+ <location line="+215"/>
<source>JavaScript declaration outside Script element</source>
<translation>Eine JavaScript-Deklaration ist außerhalb eines Skriptelementes nicht zulässig</translation>
</message>
- <message>
- <location line="+19"/>
- <source>Variable declarations not allow in inline Script blocks</source>
- <translation>Variablendeklarationen sind in eingebetteten Script-Blöcken nicht zulässig</translation>
- </message>
</context>
<context>
<name>QDeclarativePauseAnimation</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="-1972"/>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="-1990"/>
<source>Cannot set a duration of &lt; 0</source>
<translation>Es kann keine Zeitdauer &lt;0 gesetzt werden</translation>
</message>
@@ -2494,7 +2558,7 @@ nach
<context>
<name>QDeclarativePixmapCache</name>
<message>
- <location filename="../src/declarative/util/qdeclarativepixmapcache.cpp" line="+197"/>
+ <location filename="../src/declarative/util/qdeclarativepixmapcache.cpp" line="+190"/>
<source>Error decoding: %1: %2</source>
<translation>Fehler beim Decodieren: %1: %2</translation>
</message>
@@ -2505,7 +2569,7 @@ nach
</message>
<message>
<location line="+19"/>
- <location line="+342"/>
+ <location line="+345"/>
<source>Cannot open: %1</source>
<translation>Fehlschlag beim Öffnen: %1</translation>
</message>
@@ -2518,7 +2582,7 @@ nach
<context>
<name>QDeclarativePropertyAnimation</name>
<message>
- <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+1100"/>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+1113"/>
<source>Cannot set a duration of &lt; 0</source>
<translation>Es kann keine Zeitdauer &lt;0 gesetzt werden</translation>
</message>
@@ -2526,12 +2590,12 @@ nach
<context>
<name>QDeclarativePropertyChanges</name>
<message>
- <location filename="../src/declarative/util/qdeclarativepropertychanges.cpp" line="+231"/>
+ <location filename="../src/declarative/util/qdeclarativepropertychanges.cpp" line="+267"/>
<source>PropertyChanges does not support creating state-specific objects.</source>
<translation>Die Erzeugung von Objekten, die einem Zustand zugeordnet sind, wird von PropertyChanges nicht unterstützt.</translation>
</message>
<message>
- <location line="+151"/>
+ <location line="+157"/>
<source>Cannot assign to non-existent property &quot;%1&quot;</source>
<translation>Es kann keine Zuweisung erfolgen, da keine Eigenschaft des Namens &apos;%1&quot; existiert</translation>
</message>
@@ -2544,13 +2608,13 @@ nach
<context>
<name>QDeclarativeTextInput</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativetextinput.cpp" line="+783"/>
- <location line="+9"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativetextinput.cpp" line="+793"/>
+ <location line="+8"/>
<source>Could not load cursor delegate</source>
<translation>Cursor-Delegate konnte nicht geladen werden</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+11"/>
<source>Could not instantiate cursor delegate</source>
<translation>Cursor-Delegate konnte angelegt werden</translation>
</message>
@@ -2563,7 +2627,7 @@ nach
<translation>Es konnte kein Objekt des Typs %1 erzeugt werden</translation>
</message>
<message>
- <location line="+380"/>
+ <location line="+390"/>
<source>Cannot assign value %1 to property %2</source>
<translation>Der Wert &apos;%1&apos; kann nicht der Eigenschaft %2 zugewiesen werden</translation>
</message>
@@ -2583,7 +2647,7 @@ nach
<translation>Der Signal-Eigenschaft %1 kann kein Objekt zugewiesen werden</translation>
</message>
<message>
- <location line="+153"/>
+ <location line="+146"/>
<source>Cannot assign object to list</source>
<translation>Zuweisung eines Objekts an eine Liste nicht zulässig</translation>
</message>
@@ -2606,15 +2670,24 @@ nach
<context>
<name>QDeclarativeVisualDataModel</name>
<message>
- <location filename="../src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp" line="+1032"/>
+ <location filename="../src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp" line="+1090"/>
<source>Delegate component must be Item type.</source>
<translation>Delegate-Komponente muss vom Typ &apos;Item&apos; sein</translation>
</message>
</context>
<context>
+ <name>QDeclarativeXmlListModel</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeutilmodule.cpp" line="-12"/>
+ <location line="+2"/>
+ <source>Qt was built without support for xmlpatterns</source>
+ <translation>Diese Version der Qt-Bibliothek wurde ohne Unterstützung für xmlpatterns erstellt</translation>
+ </message>
+</context>
+<context>
<name>QDeclarativeXmlListModelRole</name>
<message>
- <location filename="../src/declarative/util/qdeclarativexmllistmodel_p.h" line="+168"/>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel_p.h" line="+174"/>
<source>An XmlRole query must not start with &apos;/&apos;</source>
<translation>Eine XmlRole-Abfrage darf nicht mit &apos;/&apos; beginnen</translation>
</message>
@@ -2622,7 +2695,7 @@ nach
<context>
<name>QDeclarativeXmlRoleList</name>
<message>
- <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="+638"/>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="+712"/>
<source>An XmlListModel query must start with &apos;/&apos; or &quot;//&quot;</source>
<translation>Eine XmlListModel-Abfrage muss mit &apos;/&apos; oder &quot;//&quot; beginnen</translation>
</message>
@@ -3690,7 +3763,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>Unbekannter Fehler</translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+175"/>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+171"/>
<source>No host name given</source>
<translation>Es wurde kein Hostname angegeben</translation>
</message>
@@ -3698,9 +3771,9 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+259"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+260"/>
<location line="+32"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+216"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+215"/>
<location line="+27"/>
<source>Host not found</source>
<translation>Rechner konnte nicht gefunden werden</translation>
@@ -4051,7 +4124,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+2099"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+2120"/>
<source>Permission denied</source>
<translation>Zugriff verweigert</translation>
</message>
@@ -4071,7 +4144,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="+1596"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1598"/>
<source>Unknown error</source>
<translation>Unbekannter Fehler</translation>
</message>
@@ -4188,7 +4261,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2110"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2116"/>
<source>Select All</source>
<translation>Alles auswählen</translation>
</message>
@@ -4509,39 +4582,6 @@ Möchten Sie die Datei trotzdem löschen?</translation>
</message>
</context>
<context>
- <name>QMediaPlayer</name>
- <message>
- <location filename="../src/multimedia/playback/qmediaplayer.cpp" line="+496"/>
- <source>The QMediaPlayer object does not have a valid service</source>
- <translation>Das QMediaPlayer-Objekt verfügt über keinen gültigen Dienst</translation>
- </message>
-</context>
-<context>
- <name>QMediaPlaylist</name>
- <message>
- <location filename="../src/multimedia/base/qmediaplaylist.cpp" line="+455"/>
- <location line="+46"/>
- <source>Could not add items to read only playlist.</source>
- <translation>Es konnten keine Einträge zur Wiedergabeliste hinzugefügt werden, da sie schreibgeschützt ist.</translation>
- </message>
- <message>
- <location line="-27"/>
- <location line="+46"/>
- <source>Playlist format is not supported</source>
- <translation>Das Format der Wiedergabeliste ist nicht unterstützt</translation>
- </message>
- <message>
- <location line="+26"/>
- <source>The file could not be accessed.</source>
- <translation>Auf die Datei konnte nicht zugegriffen werden.</translation>
- </message>
- <message>
- <location line="+35"/>
- <source>Playlist format is not supported.</source>
- <translation>Das Format der Wiedergabeliste ist nicht unterstützt.</translation>
- </message>
-</context>
-<context>
<name>QMenu</name>
<message>
<location filename="../src/plugins/accessible/widgets/qaccessiblemenu.cpp" line="+157"/>
@@ -4566,7 +4606,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QMenuBar</name>
<message>
- <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+452"/>
+ <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+456"/>
<source>Actions</source>
<translation>Optionen</translation>
</message>
@@ -4867,7 +4907,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+645"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+652"/>
<source>No suitable proxy found</source>
<translation>Es konnte kein geeigneter Proxy-Server gefunden werden</translation>
</message>
@@ -4875,7 +4915,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkAccessManager</name>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+910"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+942"/>
<source>Network access is disabled.</source>
<translation>Der Zugriff auf das Netzwerk ist nicht gestattet.</translation>
</message>
@@ -4883,12 +4923,12 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkReply</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+101"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+100"/>
<source>Error downloading %1 - server replied: %2</source>
<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="-828"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="-860"/>
<source>Protocol &quot;%1&quot; is unknown</source>
<translation>Das Protokoll &quot;%1&quot; ist unbekannt</translation>
</message>
@@ -4898,7 +4938,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<translation>Fehler bei Netzwerkverbindung.</translation>
</message>
<message>
- <location line="+329"/>
+ <location line="+352"/>
<source>Temporary network failure.</source>
<translation>Das Netzwerk ist zur Zeit ausgefallen.</translation>
</message>
@@ -4906,7 +4946,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+111"/>
+ <location line="+120"/>
<location line="+28"/>
<source>Operation canceled</source>
<translation>Operation abgebrochen</translation>
@@ -4924,7 +4964,7 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<name>QNetworkSessionPrivateImpl</name>
<message>
<location filename="../src/plugins/bearer/qnetworksession_impl.cpp" line="+272"/>
- <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+227"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+271"/>
<source>Unknown session error.</source>
<translation>Unbekannter Fehler bei Netzwerkverbindung.</translation>
</message>
@@ -5130,11 +5170,17 @@ Möchten Sie die Datei trotzdem löschen?</translation>
<context>
<name>QObject</name>
<message>
- <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="-194"/>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="-241"/>
<source>&quot;%1&quot; duplicates a previous role name and will be disabled.</source>
<translation>&quot;%1&quot; ist bereits als Name einer Rolle vergeben und wird daher deaktiviert.</translation>
</message>
<message>
+ <location line="+515"/>
+ <location line="+4"/>
+ <source>invalid query: &quot;%1&quot;</source>
+ <translation>Ungültige Abfrage: &quot;%1&quot;</translation>
+ </message>
+ <message>
<location filename="../src/3rdparty/phonon/phonon/pulsesupport.cpp" line="+162"/>
<location line="+11"/>
<source>PulseAudio Sound Server</source>
@@ -6212,7 +6258,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+538"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+539"/>
<source>Error opening database</source>
<translation>Die Datenbankverbindung konnte nicht geöffnet werden</translation>
</message>
@@ -6240,8 +6286,8 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QSQLiteResult</name>
<message>
- <location line="-395"/>
- <location line="+62"/>
+ <location line="-396"/>
+ <location line="+63"/>
<location line="+8"/>
<source>Unable to fetch row</source>
<translation>Der Datensatz konnte nicht abgeholt werden</translation>
@@ -6267,7 +6313,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Die Anzahl der Parameter ist falsch</translation>
</message>
<message>
- <location line="-200"/>
+ <location line="-201"/>
<source>No query</source>
<translation>Kein Abfrage</translation>
</message>
@@ -6810,8 +6856,9 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+393"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+396"/>
<source>Space</source>
+ <extracomment>This and all following &quot;incomprehensible&quot; strings in QShortcut context are key names. Please use the localized names appearing on actual keyboards or whatever is commonly used.</extracomment>
<translation>Leertaste</translation>
</message>
<message>
@@ -7999,7 +8046,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Abbrechen</translation>
</message>
<message>
- <location filename="../src/gui/kernel/qsoftkeymanager_s60.cpp" line="+319"/>
+ <location filename="../src/gui/kernel/qsoftkeymanager_s60.cpp" line="+321"/>
<source>Exit</source>
<translation>Beenden</translation>
</message>
@@ -8343,7 +8390,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+2036"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+2046"/>
<source>&amp;Undo</source>
<translation>&amp;Rückgängig</translation>
</message>
@@ -9056,7 +9103,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Unbekannt</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+236"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+253"/>
<source>Web Inspector - %2</source>
<translation>Web Inspector - %2</translation>
</message>
@@ -9067,7 +9114,12 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>%1 (%2x%3 Pixel)</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+456"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+347"/>
+ <source>Redirection limit reached</source>
+ <translation>Maximal Anzahl von Weiterleitungen wurde erreicht</translation>
+ </message>
+ <message>
+ <location line="+121"/>
<source>Bad HTTP request</source>
<translation>Ungültige HTTP-Anforderung</translation>
</message>
@@ -9152,7 +9204,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1959"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+2033"/>
<source>JavaScript Alert - %1</source>
<translation>JavaScript-Hinweis - %1</translation>
</message>
@@ -9177,7 +9229,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Das Skript dieser Webseite ist fehlerhaft. Möchten Sie es anhalten?</translation>
</message>
<message>
- <location line="+374"/>
+ <location line="+395"/>
<source>Move the cursor to the next character</source>
<translation>Positionsmarke auf folgendes Zeichen setzen</translation>
</message>
@@ -9398,7 +9450,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5809"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5806"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -11303,13 +11355,13 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
</message>
<message>
<location line="+28"/>
- <location line="+408"/>
+ <location line="+415"/>
<location line="+30"/>
<source>Type %1 of %2 element cannot be resolved.</source>
<translation>Der Typ %1 des Elements %2 kann nicht aufgelöst werden.</translation>
</message>
<message>
- <location line="-416"/>
+ <location line="-423"/>
<source>Base type %1 of complex type cannot be resolved.</source>
<translation>Der Basistyp %1 des komplexen Typs kann nicht aufgelöst werden.</translation>
</message>
@@ -11319,7 +11371,7 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>%1 kann keinen komplexen Basistyp haben, der &apos;%2&apos; spezifiziert.</translation>
</message>
<message>
- <location line="+279"/>
+ <location line="+286"/>
<source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
<translation>Das Inhaltsmodell des komplexen Typs %1enthält ein Element &apos;%2&apos;; es kann daher nicht durch Erweiterung von einem Typ abgeleitet werden, der nicht leer ist.</translation>
</message>
@@ -12229,27 +12281,4 @@ Bitte wählen Sie einen anderen Dateinamen.</translation>
<translation>Das Attribut &apos;%1&apos; enthält einen ungültigen qualifizierten Namen: %2.</translation>
</message>
</context>
-<context>
- <name>Widget</name>
- <message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/tests/hybridPixmap/widget.ui"/>
- <source>Widget</source>
- <translation>Widget</translation>
- </message>
- <message>
- <location/>
- <source>about:blank</source>
- <translation>about:blank</translation>
- </message>
- <message>
- <location/>
- <source>Image from Qt to HTML</source>
- <translation>Bild von Qt zu HTML</translation>
- </message>
- <message>
- <location/>
- <source>Pixmap from Qt to HTML</source>
- <translation>Pixmap von Qt zu HTML</translation>
- </message>
-</context>
</TS>
diff --git a/translations/qt_help_hu.ts b/translations/qt_help_hu.ts
index 3fbe0e9..4107a2e 100644
--- a/translations/qt_help_hu.ts
+++ b/translations/qt_help_hu.ts
@@ -4,85 +4,108 @@
<context>
<name>QCLuceneResultWidget</name>
<message>
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+110"/>
<source>Search Results</source>
- <translation>Keresési eredmény</translation>
+ <translation>Keresési eredmények</translation>
</message>
<message>
+ <location line="+7"/>
<source>Note:</source>
+ <translatorcomment>CHECKIT</translatorcomment>
<translation>Megjegyzés:</translation>
</message>
<message>
+ <location line="+1"/>
<source>The search results may not be complete since the documentation is still being indexed!</source>
- <translation>A keresési eredmény lehet, hogy nem teljes, mivel a dokumentáció még mindig indexelvan van!</translation>
+ <translation>A keresés eredménye hiányos lehet, mert a dokumentáció indexelés alatt van!</translation>
</message>
<message>
+ <location line="+11"/>
<source>Your search did not match any documents.</source>
- <translation>A keresési feltételeknek megfelően nincs találat.</translation>
+ <translation>Nincs a keresési feltételeknek megfelelő dokumentum.</translation>
</message>
<message>
+ <location line="+4"/>
<source>(The reason for this might be that the documentation is still being indexed.)</source>
- <translation>(Ennek az oka az lehet, hogy a dokumentáció még mindig indexelve van.)</translation>
+ <translation>(Ez amiatt lehet, hogy a dokumentáció indexelése még nincs befejezve.)</translation>
</message>
</context>
<context>
<name>QHelpCollectionHandler</name>
<message>
+ <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+79"/>
<source>The collection file &apos;%1&apos; is not set up yet!</source>
- <translation>A(z) &apos;%1&apos;gyűjtemény fájl még nincs beállítva!</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>A(z) &apos;%1&apos;gyűjteményfájl még nincs beállítva!</translation>
</message>
<message>
+ <location line="+23"/>
<source>Cannot load sqlite database driver!</source>
- <translation>Nem lehet betölteni az sqlite adatbázis vezérlőt!</translation>
+ <translation>Az sqlite adatbázisvezérlő nem tölthető be!</translation>
</message>
<message>
+ <location line="+11"/>
+ <location line="+52"/>
<source>Cannot open collection file: %1</source>
<translation>Nem lehet megnyitni a gyűjtemény fájlt: %1</translation>
</message>
<message>
+ <location line="-40"/>
<source>Cannot create tables in file %1!</source>
- <translation>Nem lehet lehet a(z) %1 fájlban táblákat létrehozni!</translation>
+ <translation>Nem sikerült táblákat létrehozni a(z) %1 fájlban!</translation>
</message>
<message>
+ <location line="+16"/>
<source>The collection file &apos;%1&apos; already exists!</source>
<translation>A(z) &apos;%1&apos; gyűjtemény fájl már létezik!</translation>
</message>
<message>
+ <location line="+151"/>
<source>Unknown filter &apos;%1&apos;!</source>
- <translation>Ismeretlen szűrő &apos;%1&apos;!</translation>
+ <translation>Ismeretlen szűrő: &apos;%1&apos;!</translation>
</message>
<message>
+ <location line="+103"/>
<source>Invalid documentation file &apos;%1&apos;!</source>
<translation>Érvénytelen dokumentációs fájl &apos;%1&apos;!</translation>
</message>
<message>
+ <location line="+167"/>
<source>Cannot register namespace &apos;%1&apos;!</source>
- <translation>Nem lehet regisztrálni a(z) &apos;%1&apos; névteret!</translation>
+ <translation>A(z) &apos;%1&apos; névtér regisztrálása nem sikerült!</translation>
</message>
<message>
+ <location line="+24"/>
<source>Cannot open database &apos;%1&apos; to optimize!</source>
<translation>Nem lehet optimalizálásra megnyitni a(z) &apos;%1&apos; adatbázist!</translation>
</message>
<message>
+ <location line="-439"/>
<source>Cannot create directory: %1</source>
- <translation>Nem lehet a könyvtárat létrehozni: %1</translation>
+ <translation>A könyvtár létrehozása sikertelen: %1</translation>
</message>
<message>
+ <location line="+26"/>
<source>Cannot copy collection file: %1</source>
- <translation>Nem lehet a gyűjtemény fájlt másolni: %1</translation>
+ <translation>A gyűjtemény fájl másolása sikertelen: %1</translation>
</message>
<message>
+ <location line="+172"/>
<source>Cannot register filter %1!</source>
- <translation>Nem lehet regisztrálni a(z) %1 szűrőt!</translation>
+ <translation>A(z) %1 szűrő regisztrálása sikertelen!</translation>
</message>
<message>
+ <location line="+44"/>
<source>Cannot open documentation file %1!</source>
- <translation>Nem lehet megnyitni a(z) %1 dokumentációs fájlt!</translation>
+ <translation>A(z) %1 dokumentációs fájl megnyitása sikertelen!</translation>
</message>
<message>
+ <location line="+40"/>
<source>The namespace %1 was not registered!</source>
<translation>A(z) %1 névteret nem regisztrálták!</translation>
</message>
<message>
+ <location line="+120"/>
<source>Namespace %1 already exists!</source>
<translation>A(z) %1 névtér már létezik!</translation>
</message>
@@ -90,209 +113,333 @@
<context>
<name>QHelpDBReader</name>
<message>
+ <location filename="../tools/assistant/lib/qhelpdbreader.cpp" line="+98"/>
<source>Cannot open database &apos;%1&apos; &apos;%2&apos;: %3</source>
+ <extracomment>The placeholders are: %1 - The name of the database which cannot be opened %2 - The unique id for the connection %3 - The actual error string</extracomment>
<translation>Nem lehet megnyitni az adatbázist &apos;%1&apos; &apos;%2&apos;: %3</translation>
</message>
</context>
<context>
<name>QHelpEngineCore</name>
<message>
+ <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+122"/>
+ <source>Cannot open documentation file %1: %2!</source>
+ <translation>Nem lehet megnyitni a(z) %1 fájlt: %2!</translation>
+ </message>
+ <message>
+ <location line="+404"/>
<source>The specified namespace does not exist!</source>
- <translation>A meghatározott névtér nem létezik!</translation>
+ <translation>A megadott névtér nem létezik!</translation>
</message>
</context>
<context>
<name>QHelpEngineCorePrivate</name>
<message>
<source>Cannot open documentation file %1: %2!</source>
- <translation>Nem lehet megnyitni a(z) %1 fájlt: %2!</translation>
+ <translation type="obsolete">Nem lehet megnyitni a(z) %1 fájlt: %2!</translation>
</message>
</context>
<context>
<name>QHelpGenerator</name>
<message>
+ <location filename="../tools/assistant/lib/qhelpgenerator.cpp" line="+158"/>
<source>Invalid help data!</source>
- <translation>Érvénytelen segítség adat!</translation>
+ <translation>Érvénytelen súgó adat!</translation>
</message>
<message>
+ <location line="+6"/>
<source>No output file name specified!</source>
- <translation>Nincsen kimeneti fájl meghatározva!</translation>
+ <translation>Nincsen kimeneti fájl megadva!</translation>
</message>
<message>
+ <location line="+14"/>
<source>Building up file structure...</source>
<translation>Fájl struktúra felépítése...</translation>
</message>
<message>
+ <location line="-7"/>
<source>The file %1 cannot be overwritten!</source>
- <translation>Nem lehet felülírni a(z) %1 fájlt!</translation>
+ <translation>A(z) %1 fájl felülírása sikertelen!</translation>
</message>
<message>
+ <location line="+18"/>
<source>Cannot open data base file %1!</source>
- <translation>Nem lehet megnyitni a(z) %1 adatbázis fájlt!</translation>
+ <translation>A(z) %1 adatbázis fájl megnyitása sikertelen!</translation>
</message>
<message>
+ <location line="+14"/>
<source>Cannot register namespace %1!</source>
<translation>Nem lehet regisztrálni a(z) %1 névteret!</translation>
</message>
<message>
+ <location line="+6"/>
<source>Insert custom filters...</source>
- <translation>Szokásos szűrő beszúrása...</translation>
+ <translation>Egyedi szűrő hozzáadása...</translation>
</message>
<message>
+ <location line="+12"/>
<source>Insert help data for filter section (%1 of %2)...</source>
- <translation>Segítség adatok beszúrása a szűrő szegmens számára (%1 %2-től)...</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
+ <location line="+18"/>
<source>Documentation successfully generated.</source>
- <translation>A dokumentáció legenerálása sikeresen lezajlott.</translation>
+ <translation>A dokumentáció generálása sikerült.</translation>
</message>
<message>
+ <location line="+76"/>
<source>Some tables already exist!</source>
<translation>Néhány tábla már létezik!</translation>
</message>
<message>
+ <location line="+61"/>
<source>Cannot create tables!</source>
- <translation>Nem lehet a táblákat létrehozni!</translation>
+ <translation>Nem lehet táblákat létrehozni!</translation>
</message>
<message>
+ <location line="+86"/>
<source>Cannot register virtual folder!</source>
- <translation>Nem lehet registrálni a virtuális dossziét!</translation>
+ <translation>Nem lehet regisztrálni virtuális mappát!</translation>
</message>
<message>
+ <location line="+10"/>
<source>Insert files...</source>
<translation>Fájlok beszúrása...</translation>
</message>
<message>
+ <location line="+42"/>
<source>The referenced file %1 must be inside or within a subdirectory of (%2). Skipping it.</source>
- <translation>A(z) %1 hivatkozott fájlnak a(z) (%2) alkönyvtárán belül kell elhelyezkednie. Ennek kihagyása.</translation>
+ <translation>A(z) %1 hivatkozott fájlnak a(z) (%2) alkönyvtárán belül kell elhelyezkednie. A fájl kihagyása.</translation>
</message>
<message>
+ <location line="+7"/>
<source>The file %1 does not exist! Skipping it.</source>
- <translation>A(z) %1 fájl nem létezik! Ennek kihagyása.</translation>
+ <translation>A(z) %1 fájl nem létezik! A fájl kihagyása.</translation>
</message>
<message>
+ <location line="+6"/>
<source>Cannot open file %1! Skipping it.</source>
- <translation>Nem lehet megnyitni a(z) %1 fájlt! Ennek kihagyása.</translation>
+ <translation>Nem lehet megnyitni a(z) %1 fájlt! A fájl kihagyása.</translation>
</message>
<message>
+ <location line="+133"/>
<source>The filter %1 is already registered!</source>
<translation>A(z) %1 szűrő már regisztrálva van!</translation>
</message>
<message>
+ <location line="+5"/>
<source>Cannot register filter %1!</source>
- <translation>Nem lehet regisztrálni a(z) %1 szűrőt!</translation>
+ <translation>Az) %1 szűrő regisztrálása sikertelen!</translation>
</message>
<message>
+ <location line="+24"/>
<source>Insert indices...</source>
<translation>Indexek beszúrása...</translation>
</message>
<message>
+ <location line="+91"/>
<source>Insert contents...</source>
<translation>Tartalom beszúrása...</translation>
</message>
<message>
+ <location line="+8"/>
<source>Cannot insert contents!</source>
- <translation>Nem lehet beszúrni a tartalmat!</translation>
+ <translation>A tartalom beszúrása sikertelen!</translation>
</message>
<message>
+ <location line="+12"/>
<source>Cannot register contents!</source>
- <translation>Nem lehet regisztrálni a tartalmat!</translation>
+ <translation>A tartalom regisztrálása sikertelen!</translation>
+ </message>
+ <message>
+ <location line="+56"/>
+ <source>File &apos;%1&apos; does not exist.</source>
+ <translation>A(z) &apos;%1&apos; fájl nem létezik.</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>File &apos;%1&apos; cannot be opened.</source>
+ <translation>A(z) &apos;%1&apos; nem nyitható meg.</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>File &apos;%1&apos; contains an invalid link to file &apos;%2&apos;</source>
+ <translation>A(z) &apos;%1&apos; érvénytelen hivatkozást tartalmaz a(z) &apos;%2&apos; fájlra</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Invalid links in HTML files.</source>
+ <translation>Érvénytelen hivatkozások a HTML fájlokban.</translation>
+ </message>
+</context>
+<context>
+ <name>QHelpProject</name>
+ <message>
+ <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+88"/>
+ <source>Unknown token.</source>
+ <translation>Ismeretlen token.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Unknown token. Expected &quot;QtHelpProject&quot;!</source>
+ <translation>Ismeretlen token. A várt: &quot;QtHelpProject&quot;!</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Error in line %1: %2</source>
+ <translation>Hiba a(z) %1. sorban: %2</translation>
+ </message>
+ <message>
+ <source>A virtual folder must not contain a &apos;/&apos; character!</source>
+ <translation type="obsolete">A virtuális mappa neve nem tartalmazhat &apos;/&apos; karaktert!</translation>
+ </message>
+ <message>
+ <source>A namespace must not contain a &apos;/&apos; character!</source>
+ <translation type="obsolete">A névtér neve nem tartalmazhat &apos;/&apos; karaktert!</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Virtual folder has invalid syntax.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Namespace has invalid syntax.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Missing namespace in QtHelpProject.</source>
+ <translation>Hiányzó névtér a QtHelpProject-ben.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Missing virtual folder in QtHelpProject</source>
+ <translation>Hiányzó virtuális mappa a QtHelpProject-ben</translation>
+ </message>
+ <message>
+ <location line="+89"/>
+ <source>Missing attribute in keyword at line %1.</source>
+ <translation>Hiányzó attirbútum a kulcsszóban a(z) %1 sorban.</translation>
+ </message>
+ <message>
+ <location line="+141"/>
+ <source>The input file %1 could not be opened!</source>
+ <translation>A(z) %1 bemeneti fájl megnyitása sikertelen!</translation>
</message>
</context>
<context>
<name>QHelpSearchQueryWidget</name>
<message>
+ <location filename="../tools/assistant/lib/qhelpsearchquerywidget.cpp" line="+124"/>
<source>Search for:</source>
- <translation>Keresés erre:</translation>
+ <translation>Ezt keresi:</translation>
</message>
<message>
+ <location line="+1"/>
<source>Previous search</source>
- <translation>Előző keresése</translation>
+ <translation>Előző találat</translation>
</message>
<message>
+ <location line="+1"/>
<source>Next search</source>
- <translation>Következő keresése</translation>
+ <translation>Következő találat</translation>
</message>
<message>
+ <location line="+1"/>
<source>Search</source>
<translation>Keresés</translation>
</message>
<message>
+ <location line="+2"/>
<source>Advanced search</source>
<translation>Összetett keresés</translation>
</message>
<message>
+ <location line="+1"/>
<source>words &lt;B&gt;similar&lt;/B&gt; to:</source>
- <translation>szavak &lt;B&gt;hasonlóak&lt;/B&gt; ehhez:</translation>
+ <translation>szavak, melyek &lt;B&gt;hasonlóak&lt;/B&gt; ehhez:</translation>
</message>
<message>
+ <location line="+1"/>
<source>&lt;B&gt;without&lt;/B&gt; the words:</source>
<translation>Ezen szavak &lt;B&gt;nélkül&lt;/B&gt;:</translation>
</message>
<message>
+ <location line="+1"/>
<source>with &lt;B&gt;exact phrase&lt;/B&gt;:</source>
<translation>&lt;B&gt;Pontos kifejezés&lt;/B&gt;:</translation>
</message>
<message>
+ <location line="+1"/>
<source>with &lt;B&gt;all&lt;/B&gt; of the words:</source>
<translation>Ezen szavak&lt;B&gt;mindegyikével&lt;/B&gt;:</translation>
</message>
<message>
+ <location line="+1"/>
<source>with &lt;B&gt;at least one&lt;/B&gt; of the words:</source>
<translation>&lt;B&gt;Legalább egy&lt;/B&gt; a következő szavak közül:</translation>
</message>
</context>
<context>
<name>QHelpSearchResultWidget</name>
+ <message numerus="yes">
+ <location filename="../tools/assistant/lib/qhelpsearchresultwidget.cpp" line="+174"/>
+ <source>%1 - %2 of %n Hits</source>
+ <translation>
+ <numerusform>%1 - %2. a(z) %n találatból</numerusform>
+ </translation>
+ </message>
<message>
+ <location line="+61"/>
<source>0 - 0 of 0 Hits</source>
- <translation>0 találat 0 - 0</translation>
+ <translation>0 - 0. a 0 találatból</translation>
</message>
</context>
<context>
<name>QHelpSearchResultWidgetPrivate</name>
<message>
<source>%1 - %2 of %3 Hits</source>
- <translation>%3 Találat %1 - %2</translation>
+ <translation type="obsolete">%1 - %2. a(z) %3 találatból</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<source>Unknown token.</source>
- <translation>Ismeretlen jel.</translation>
+ <translation type="obsolete">Ismeretlen token.</translation>
</message>
<message>
<source>Unknown token. Expected &quot;QtHelpProject&quot;!</source>
- <translation>Ismeretlen hel. &quot;QtSegítségProjekt&quot; várt!</translation>
+ <translation type="obsolete">Ismeretlen token. &quot;QtHelpProject&quot; várt!</translation>
</message>
<message>
<source>Error in line %1: %2</source>
- <translation>Hiba a(z) %1 sorban: %2</translation>
+ <translation type="obsolete">Hiba a(z) %1. sorban: %2</translation>
</message>
<message>
<source>A virtual folder must not contain a &apos;/&apos; character!</source>
- <translation>A virtuális dosszié nem tartalmazhat &apos;/&apos; karaktert!</translation>
+ <translation type="obsolete">A virtuális mappa neve nem tartalmazhat &apos;/&apos; karaktert!</translation>
</message>
<message>
<source>A namespace must not contain a &apos;/&apos; character!</source>
- <translation>A névtér nem tartalmazhat &apos;/&apos; karaktert!</translation>
+ <translation type="obsolete">A névtér neve nem tartalmazhat &apos;/&apos; karaktert!</translation>
</message>
<message>
<source>Missing namespace in QtHelpProject.</source>
- <translation>Hiányzó névtér a QtSegítségProjektben.</translation>
+ <translation type="obsolete">Hiányzó névtér a QtHelpProject-ben.</translation>
</message>
<message>
<source>Missing virtual folder in QtHelpProject</source>
- <translation>Hiányzó virtuális dosszié a QtSegítségProjektben</translation>
+ <translation type="obsolete">Hiányzó virtuális mappa a QtHelpProject-ben.</translation>
</message>
<message>
<source>Missing attribute in keyword at line %1.</source>
- <translation>Hiányzó attirbútum a kulcsszóban a(z) %1 sorban.</translation>
+ <translation type="obsolete">Hiányzó attirbútum a kulcsszóban a(z) %1 sorban.</translation>
</message>
<message>
<source>The input file %1 could not be opened!</source>
- <translation>Nem sikerült megnyitni a(z) %1 bemeneti fájlt!</translation>
+ <translation type="obsolete">A(z) %1 bemeneti fájl megnyitása sikertelen!</translation>
</message>
</context>
</TS>
diff --git a/translations/qt_hu.ts b/translations/qt_hu.ts
index ecc9826..9ee3b32 100644
--- a/translations/qt_hu.ts
+++ b/translations/qt_hu.ts
@@ -2,19 +2,30 @@
<!DOCTYPE TS>
<TS version="2.0" language="hu">
<context>
+ <name>AudioOutput</name>
+ <message>
+ <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="obsolete">&lt;html&gt;A hangeszköz &lt;b&gt;%1&lt;/b&gt; most nem használható.&lt;br/&gt;Visszaállás erre: &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
+ </message>
+ <message>
+ <source>Revert back to device &apos;%1&apos;</source>
+ <translation type="obsolete">Visszaállás a(z) &apos;%1&apos; eszközre</translation>
+ </message>
+</context>
+<context>
<name>CloseButton</name>
<message>
- <location filename="../src/gui/widgets/qtabbar.cpp" line="+2262"/>
+ <location filename="../src/gui/widgets/qtabbar.cpp" line="+2313"/>
<source>Close Tab</source>
- <translation>Lap bezárása</translation>
+ <translation>Fül bezárása</translation>
</message>
</context>
<context>
<name>FakeReply</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2198"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2278"/>
<source>Fake error !</source>
- <translation>Hamisítási hiba !</translation>
+ <translation>Teszt hiba !</translation>
</message>
<message>
<location line="+3"/>
@@ -23,11 +34,60 @@
</message>
</context>
<context>
+ <name>MAC_APPLICATION_MENU</name>
+ <message>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="+2346"/>
+ <source>Services</source>
+ <translation>Szolgáltatások</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide %1</source>
+ <translation>%1 elrejtése</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hide Others</source>
+ <translation>Minden más elrejtése</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show All</source>
+ <translation>Mindet mutat</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Preferences...</source>
+ <translation>Beállítások...</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Quit %1</source>
+ <translation>Kilépés: %1</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>About %1</source>
+ <translation>%1 névjegye</translation>
+ </message>
+</context>
+<context>
+ <name>PPDOptionsModel</name>
+ <message>
+ <source>Name</source>
+ <translation type="obsolete">Név</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation type="obsolete">Érték</translation>
+ </message>
+</context>
+<context>
<name>Phonon::</name>
<message>
<location filename="../src/3rdparty/phonon/phonon/phononnamespace.cpp" line="+55"/>
<source>Notifications</source>
- <translation>Értesítések</translation>
+ <translation>Figyelmeztetések</translation>
</message>
<message>
<location line="+2"/>
@@ -42,7 +102,7 @@
<message>
<location line="+2"/>
<source>Communication</source>
- <translation>Kommunikáció</translation>
+ <translation>Társalgás</translation>
</message>
<message>
<location line="+2"/>
@@ -52,160 +112,502 @@
<message>
<location line="+2"/>
<source>Accessibility</source>
- <translation>Hozzáférhetőség</translation>
+ <translation>Kisegítő lehetőségek</translation>
</message>
</context>
<context>
<name>Phonon::AudioOutput</name>
<message>
- <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+385"/>
+ <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+444"/>
+ <location line="+34"/>
<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;Az audió visszajátszó eszköz &lt;b&gt;%1&lt;/b&gt; nem működik.&lt;br/&gt;Visszavonul ide: &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
+ <translation>&lt;html&gt;A hangeszköz &lt;b&gt;%1&lt;/b&gt; most nem használható.&lt;br/&gt;Visszaállítás erre: &lt;b&gt;%2&lt;/b&gt;.&lt;/html&gt;</translation>
</message>
<message>
- <location line="+13"/>
+ <location line="-21"/>
<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;Az audió visszajátszó eszközre kapcsolás &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;amely éppen elérhetővé vált és magasabb prioritása van.&lt;/html&gt;</translation>
+ <translation>&lt;html&gt;Visszaállás a(z)&lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;hangeszközre, mert az újra elérhető, és jobban preferált.&lt;/html&gt;</translation>
</message>
<message>
<location line="+3"/>
+ <location line="+14"/>
<source>Revert back to device &apos;%1&apos;</source>
- <translation>Visszatérés a(z) &apos;%1&apos; eszközre</translation>
+ <translation>Visszaállás a(z) &apos;%1&apos; eszközre</translation>
+ </message>
+ <message>
+ <location line="-3"/>
+ <source>&lt;html&gt;Switching to the audio playback device &lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;which has higher preference or is specifically configured for this stream.&lt;/html&gt;</source>
+ <translation>&lt;html&gt;Visszaállás a(z)&lt;b&gt;%1&lt;/b&gt;&lt;br/&gt;hangeszközre, mert az jobban preferált, vagy kimondottan ehhez a folyamhoz van konfigurálva.&lt;/html&gt;</translation>
</message>
</context>
<context>
<name>Phonon::Gstreamer::Backend</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/backend.cpp" line="+182"/>
+ <location filename="../src/3rdparty/phonon/gstreamer/backend.cpp" line="+188"/>
<source>Warning: You do not seem to have the package gstreamer0.10-plugins-good installed.
Some video features have been disabled.</source>
- <translation>Figyelmeztetés: Úgy tűnik nem telepítette megfelelően a gstreamer0.10-plugins csomagot.
- Néhány videó tulajdonság tiltva van.</translation>
+ <translation>Figyelmeztetés: Úgy tűnik, a gstreamer0.10-plugins-good nincs telepítve.
+ Néhány videóval kapcsolatos lehetőség le lesz tiltva.</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>Figyelmeztetés: Úgy tűnik nem telepítette az alap GStreamer beépülő modulokat.
- Az összes audió és videó támogatás tiltva van</translation>
+ <translation>Figyelmeztetés: Úgy tűnik nincs semmilyen GStreamer plugin telepítve.
+ Minden hang és videótámogatás le lesz tiltva</translation>
</message>
</context>
<context>
<name>Phonon::Gstreamer::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/>
+ <source>Cannot start playback.
+
+Check your Gstreamer installation and make sure you
+have libgstreamer-plugins-base installed.</source>
+ <translation type="obsolete">A lejátszás elindítása sikertelen.
+
+Kérem, ellenőrizze, hogy a libgstreamer-plugins-base
+telepített-e, és a gstreamer beállításai megfelelők-e.</translation>
+ </message>
+ <message>
+ <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+93"/>
<source>Cannot start playback.
Check your GStreamer installation and make sure you
have libgstreamer-plugins-base installed.</source>
<translation>Nem lehet elindítani a visszajátszást.
-Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy installálta a libgstreamer-plugins-base csomagot.</translation>
+Ellenőrizze le a GStreamer-t és győzödjön meg róla, hogy telepłtette-e a libgstreamer-plugins-base csomagot.</translation>
</message>
<message>
- <location line="+113"/>
+ <location line="+129"/>
+ <source>Missing codec helper script assistant.</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Hiányzó kodek-súgó script.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Plugin codec installation failed for codec: %0</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Plugin kodek telepítése sikertelen ehhez a kodekhez: %0</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>A required codec is missing. You need to install the following codec(s) to play this content: %0</source>
- <translation>Egy szükséges kódek hiányzik. A következő kódek(ek) telepítése szükséges ennek a tartalomnak a lejátszásához: %0</translation>
+ <translation>Hiányzik egy kodek a lejátszáshoz. Kérem telepítse a következő kodek(eket): %0</translation>
</message>
<message>
- <location line="+702"/>
- <location line="+8"/>
- <location line="+15"/>
- <location line="+26"/>
+ <location line="+730"/>
<location line="+6"/>
- <location line="+19"/>
- <location line="+339"/>
+ <location line="+13"/>
+ <location line="+24"/>
+ <location line="+6"/>
+ <location line="+18"/>
+ <location line="+434"/>
<location line="+24"/>
<source>Could not open media source.</source>
- <translation>Nem sikerült megnyitni a média forrást.</translation>
+ <translation>A médiaforrás megnyitása sikertelen.</translation>
</message>
<message>
- <location line="-424"/>
+ <location line="-514"/>
<source>Invalid source type.</source>
- <translation>Érvénytelen forrás típus.</translation>
+ <translation>Érvénytelen forrás.</translation>
</message>
<message>
- <location line="+398"/>
+ <location line="+488"/>
<source>Could not locate media source.</source>
- <translation>Nem sikerült telepíteni a média forrást.</translation>
+ <translation>A médiaforrás nem található.</translation>
</message>
<message>
<location line="+10"/>
<source>Could not open audio device. The device is already in use.</source>
- <translation>Nem sikerült megnyitni az audió eszközt. Az eszköz már használatban van.</translation>
+ <translation>A hangeszköz megnyitása sikertelen, mert valami már használja.</translation>
</message>
<message>
<location line="+13"/>
<source>Could not decode media source.</source>
- <translation>Nem sikerült dekódolni a forrást.</translation>
+ <translation>A médiaforrás dekódolása sikertelen.</translation>
</message>
</context>
<context>
<name>Phonon::MMF</name>
<message>
- <location filename="../src/3rdparty/phonon/mmf/audiooutput.cpp" line="+108"/>
+ <location filename="../src/3rdparty/phonon/mmf/audiooutput.cpp" line="+103"/>
<source>Audio Output</source>
<translation>Audio kimenet</translation>
</message>
<message>
<location line="+1"/>
<source>The audio output device</source>
- <translation>A kimeneti audió eszköz</translation>
+ <translation>Audio kimenet</translation>
</message>
-</context>
-<context>
- <name>Phonon::MMF::AudioEqualizer</name>
<message>
- <location filename="../src/3rdparty/phonon/mmf/audioequalizer.cpp" line="+75"/>
- <source>Frequency band, %1 Hz</source>
- <translation>Frekvencia sáv, &apos;%1&apos; Hz</translation>
+ <location filename="../src/3rdparty/phonon/mmf/utils.cpp" line="+89"/>
+ <source>No error</source>
+ <translation>Nincs hiba</translation>
</message>
-</context>
-<context>
- <name>Phonon::MMF::EffectFactory</name>
<message>
- <location filename="../src/3rdparty/phonon/mmf/effectfactory.cpp" line="+65"/>
- <source>Audio Equalizer</source>
- <translation>Audió hangszínszabályozó</translation>
+ <location line="+2"/>
+ <source>Not found</source>
+ <translation>Nem található</translation>
</message>
<message>
<location line="+2"/>
- <source>Bass Boost</source>
- <translation>Basszus erősítés</translation>
+ <source>Out of memory</source>
+ <translation>A memória elfogyott</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Not supported</source>
+ <translation>Nem támogatott</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Overflow</source>
+ <translation>Túlcsordulás</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Underflow</source>
+ <translation>Alulcsordulás</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Already exists</source>
+ <translation>Már létezik</translation>
</message>
<message>
<location line="+2"/>
- <source>Distance Attenuation</source>
- <translation>Távcsillapítás</translation>
+ <source>Path not found</source>
+ <translation>Az útvonal nem található</translation>
</message>
<message>
<location line="+2"/>
+ <source>In use</source>
+ <translation>Használatban van</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Not ready</source>
+ <translation>Nincs kész</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Access denied</source>
+ <translation>Hozzáférés megtagadva</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Could not connect</source>
+ <translation>Nem lehet kapcsolódni</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Disconnected</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Szétkapcsolva</translation>
+ </message>
+ <message>
<location line="+2"/>
- <source>Environmental Reverb</source>
- <translation>Környezeti visszhang</translation>
+ <source>Permission denied</source>
+ <translation>Hozzáférés megtagadva</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Insufficient bandwidth</source>
+ <translation>Elégtelen sávszélesség</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Network unavailable</source>
+ <translation>A hálózat nem érhető el</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Network communication error</source>
+ <translation>Hálózati kommunikációs hiba</translation>
</message>
<message>
<location line="+2"/>
- <source>Loudness</source>
- <translation>Hangosság</translation>
+ <source>Streaming not supported</source>
+ <translation>A streaming nem támogatott</translation>
</message>
<message>
<location line="+2"/>
- <source>Source Orientation</source>
- <translation>Forrás orientáció</translation>
+ <source>Server alert</source>
+ <translation>Szerver probléma</translation>
</message>
<message>
<location line="+2"/>
- <source>Stereo Widening</source>
- <translation>Sztereó szélesség</translation>
+ <source>Invalid protocol</source>
+ <translation>Érvénytelen protokoll</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Invalid URL</source>
+ <translation>Érvénytelen URL</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Multicast error</source>
+ <translation>Multicast hiba</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Proxy server error</source>
+ <translation>Proxy szerver hiba</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Proxy server not supported</source>
+ <translation>A proxy szerver nem támogatott</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Audio output error</source>
+ <translation>Hang kimeneti hiba</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Video output error</source>
+ <translation>Video kimeneti hiba</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Decoder error</source>
+ <translation>Dekódolási hiba</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Audio or video components could not be played</source>
+ <translation>A hang vagy a video komponens nem játszható le</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>DRM error</source>
+ <translation>DRM hiba</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Unknown error (%1)</source>
+ <translation>Ismeretlen hiba (%1)</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::AbstractMediaPlayer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/abstractmediaplayer.cpp" line="+73"/>
+ <source>Not ready to play</source>
+ <translation>Nem tud még lejátszani</translation>
+ </message>
+ <message>
+ <location line="+161"/>
+ <location line="+10"/>
+ <source>Error opening file</source>
+ <translation>Hiba a fájl megnyitásakor</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error opening URL</source>
+ <translation>Hiba az URL megnyitásakor</translation>
+ </message>
+ <message>
+ <location line="+83"/>
+ <source>Setting volume failed</source>
+ <translation>A hangerő beállítása sikertelen</translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source>Loading clip failed</source>
+ <translation>A klip betöltése sikertelen</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Playback complete</source>
+ <translation>A lejátszás befejeződött</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::AbstractVideoPlayer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/abstractvideoplayer.cpp" line="+108"/>
+ <source>Pause failed</source>
+ <translation>A megállítás sikertelen</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Seek failed</source>
+ <translation>A tekerés sikertelen</translation>
+ </message>
+ <message>
+ <location line="+54"/>
+ <source>Getting position failed</source>
+ <translation>A pozíció lekérése sikertelen</translation>
+ </message>
+ <message>
+ <location line="+66"/>
+ <source>Opening clip failed</source>
+ <translation>A klip megnyitása sikertelen</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::AudioEqualizer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/audioequalizer.cpp" line="+92"/>
+ <source>%1 Hz</source>
+ <translation>%1 Hz</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::AudioPlayer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/audioplayer.cpp" line="+173"/>
+ <source>Getting position failed</source>
+ <translation>A pozíció megállapítása sikertelen</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation type="obsolete">A klip megnyitása sikertelen</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::DsaVideoPlayer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/videoplayer_dsa.cpp" line="+238"/>
+ <location line="+15"/>
+ <location line="+8"/>
+ <location line="+22"/>
+ <location line="+22"/>
+ <source>Video display error</source>
+ <translation>Videó megjelenítési hiba</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::EffectFactory</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/effectfactory.cpp" line="+181"/>
+ <source>Enabled</source>
+ <translation>Engedélyezve</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::EnvironmentalReverb</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/environmentalreverb.cpp" line="+146"/>
+ <source>Decay HF ratio (%)</source>
+ <extracomment>DecayHFRatio: Ratio of high-frequency decay time to the value specified by DecayTime.</extracomment>
+ <translation>NF lecsengés arány (%)</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Decay time (ms)</source>
+ <extracomment>DecayTime: Time over which reverberation is diminished.</extracomment>
+ <translation>NF lecsengés idő (ms)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Density (%)</source>
+ <extracomment>Density Delay between first and subsequent reflections. Note that the S60 platform documentation does not make clear the distinction between this value and the Diffusion value.</extracomment>
+ <translation>Visszaverődési sűrűség (%)</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Diffusion (%)</source>
+ <extracomment>Diffusion: Delay between first and subsequent reflections. Note that the S60 platform documentation does not make clear the distinction between this value and the Density value.</extracomment>
+ <translation>Visszaverődési diffúzió (%)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Reflections delay (ms)</source>
+ <extracomment>ReflectionsDelay: Amount of delay between the arrival the direct path from the source and the arrival of the first reflection.</extracomment>
+ <translation>Visszaverődés késleltetése (ms)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Reflections level (mB)</source>
+ <extracomment>ReflectionsLevel: Amplitude of reflections. This value is corrected by the RoomLevel to give the final reflection amplitude.</extracomment>
+ <translation>Visszaverődés szintje (mB)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Reverb delay (ms)</source>
+ <extracomment>ReverbDelay: Amount of time between arrival of the first reflection and start of the late reverberation.</extracomment>
+ <translation>Visszhang késleltetés (ms)</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Reverb level (mB)</source>
+ <extracomment>ReverbLevel Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude.</extracomment>
+ <translation>Visszhang szint (mB)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Room HF level</source>
+ <extracomment>RoomHFLevel: Amplitude of low-pass filter used to attenuate the high frequency component of reflected sound.</extracomment>
+ <translation>Szoba NF elnyelés szint</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Room level (mB)</source>
+ <extracomment>RoomLevel: Master volume control for all reflected sound.</extracomment>
+ <translation>Szoba szint (mB)</translation>
</message>
</context>
<context>
<name>Phonon::MMF::MediaObject</name>
<message>
- <location filename="../src/3rdparty/phonon/mmf/mediaobject.cpp" line="+291"/>
- <source>Media type could not be determined</source>
- <translation>Nem lehetet meghatározni a média típust</translation>
+ <location filename="../src/3rdparty/phonon/mmf/mediaobject.cpp" line="+276"/>
+ <source>Error opening source: type not supported</source>
+ <translation>Hiba a forrás megnyitásakor: a típus nem támogatott</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Error opening source: media type could not be determined</source>
+ <translation>Hiba a forrás megnyitásakor: a média típusa nem állapítható meg</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::StereoWidening</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/stereowidening.cpp" line="+79"/>
+ <source>Level (%)</source>
+ <translation>Szint (%)</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::SurfaceVideoPlayer</name>
+ <message>
+ <location filename="../src/3rdparty/phonon/mmf/videoplayer_surface.cpp" line="+126"/>
+ <location line="+16"/>
+ <source>Video display error</source>
+ <translation>Videó megjelenítési hiba</translation>
+ </message>
+</context>
+<context>
+ <name>Phonon::MMF::VideoPlayer</name>
+ <message>
+ <source>Pause failed</source>
+ <translation type="obsolete">A megállítás sikertelen</translation>
+ </message>
+ <message>
+ <source>Seek failed</source>
+ <translation type="obsolete">A tekerés sikertelen</translation>
+ </message>
+ <message>
+ <source>Getting position failed</source>
+ <translation type="obsolete">A pozíció megállapłtása sikertelen</translation>
+ </message>
+ <message>
+ <source>Opening clip failed</source>
+ <translation type="obsolete">A klip megnyitása sikertelen</translation>
+ </message>
+ <message>
+ <source>Buffering clip failed</source>
+ <translation type="obsolete">A klip pufferelése sikertelen</translation>
+ </message>
+ <message>
+ <source>Video display error</source>
+ <translation type="obsolete">Videó megjelenítési hiba</translation>
</message>
</context>
<context>
@@ -223,12 +625,12 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<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>Használja ezt a csúszkát a hangerő szabályozásához. A legbaloldalib pozíció: 0%, a legjobboldalibb %1%</translation>
+ <translation>A csúszka segítségével állíthatja be a hangerőt. A bal szélső pozíció 0%-ot, a jobb szélső %1%-ot jelent</translation>
</message>
<message>
<location line="+67"/>
<source>Muted</source>
- <translation>Elnémított</translation>
+ <translation>Elnémítva</translation>
</message>
</context>
<context>
@@ -241,7 +643,7 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+36"/>
<source>Ambiguous %1 not handled</source>
- <translation>Félreérthető %1 nincs lekezelve</translation>
+ <translation>A nem egyértelmű %1 nem lesz kezelve</translation>
</message>
</context>
<context>
@@ -275,9 +677,9 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<context>
<name>Q3FileDialog</name>
<message>
- <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+829"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+835"/>
<source>Copy or Move a File</source>
- <translation>Egy fájl másolása vagy mozgatása</translation>
+ <translation>Fájl másolása vagy áthelyezése</translation>
</message>
<message>
<location line="+8"/>
@@ -294,15 +696,15 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<location line="-22"/>
<location line="+1579"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
<location line="-157"/>
<location line="+49"/>
<location line="+2149"/>
- <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+112"/>
+ <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+133"/>
<source>All Files (*)</source>
- <translation>Az összes fájl (*)</translation>
+ <translation>Minden fájl (*)</translation>
</message>
<message>
<location line="-2085"/>
@@ -338,19 +740,19 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="-1987"/>
<source>Look &amp;in:</source>
- <translation>&amp;Benéz:</translation>
+ <translation>Keresés &amp;itt:</translation>
</message>
<message>
<location line="+1"/>
<location line="+1977"/>
<location line="+16"/>
<source>File &amp;name:</source>
- <translation>Fájl &amp;név:</translation>
+ <translation>Fájl &amp;neve:</translation>
</message>
<message>
<location line="-1992"/>
<source>File &amp;type:</source>
- <translation>Fájl &amp;típus:</translation>
+ <translation>Fájl &amp;típusa:</translation>
</message>
<message>
<location line="+7"/>
@@ -360,12 +762,12 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+7"/>
<source>One directory up</source>
- <translation>Egy könyvtárral kintebb</translation>
+ <translation>Egy szinttel feljebb</translation>
</message>
<message>
<location line="+9"/>
<source>Create New Folder</source>
- <translation>Új mappa létrehozása</translation>
+ <translation>Új könyvtár létrehozása</translation>
</message>
<message>
<location line="+18"/>
@@ -380,17 +782,17 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+9"/>
<source>Preview File Info</source>
- <translation>Fájl információ előnézet</translation>
+ <translation>Fájlinformációk előnézete</translation>
</message>
<message>
<location line="+19"/>
<source>Preview File Contents</source>
- <translation>Fájl tartalom előnézet</translation>
+ <translation>Fájltartalom előnézete</translation>
</message>
<message>
<location line="+88"/>
<source>Read-write</source>
- <translation>Írás olvasás</translation>
+ <translation>Írható-olvasható</translation>
</message>
<message>
<location line="+1"/>
@@ -405,22 +807,22 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+1"/>
<source>Inaccessible</source>
- <translation>Hozzáférhetetlen</translation>
+ <translation>Nem elérhető</translation>
</message>
<message>
<location line="+2"/>
<source>Symlink to File</source>
- <translation>Szimlink a fájlra</translation>
+ <translation>Szimbolikus link a fájlra</translation>
</message>
<message>
<location line="+1"/>
<source>Symlink to Directory</source>
- <translation>Szimlink a könyvtárra</translation>
+ <translation>Szimbolikus link a könyvtárra</translation>
</message>
<message>
<location line="+1"/>
<source>Symlink to Special</source>
- <translation>Szimlink egy speciálisra</translation>
+ <translation>Szimbolikus link a speciális fájlra</translation>
</message>
<message>
<location line="+1"/>
@@ -435,7 +837,7 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+1"/>
<source>Special</source>
- <translation>Speciális</translation>
+ <translation>Speciális fájl</translation>
</message>
<message>
<location line="+704"/>
@@ -461,12 +863,12 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<location line="-357"/>
<location line="+341"/>
<source>&amp;Save</source>
- <translation>&amp;Mentés</translation>
+ <translation>Menté&amp;s</translation>
</message>
<message>
<location line="-334"/>
<source>&amp;Rename</source>
- <translation>&amp;Átnevezés</translation>
+ <translation>Át&amp;nevezés</translation>
</message>
<message>
<location line="+1"/>
@@ -476,27 +878,27 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+20"/>
<source>R&amp;eload</source>
- <translation>&amp;Újratöltés</translation>
+ <translation>B&amp;etöltés újra</translation>
</message>
<message>
<location line="+4"/>
<source>Sort by &amp;Name</source>
- <translation>Rendezés &amp;Név alapján</translation>
+ <translation>Rendezés &amp;név szerint</translation>
</message>
<message>
<location line="+2"/>
<source>Sort by &amp;Size</source>
- <translation>Rendezés &amp;Méret alapján</translation>
+ <translation>Rendezés &amp;méret szerint</translation>
</message>
<message>
<location line="+1"/>
<source>Sort by &amp;Date</source>
- <translation>Rendezés &amp;Dátum alapján</translation>
+ <translation>Rendezés &amp;dátum szerint</translation>
</message>
<message>
<location line="+2"/>
<source>&amp;Unsorted</source>
- <translation>&amp;Rendezetlen</translation>
+ <translation>Nin&amp;cs rendezés</translation>
</message>
<message>
<location line="+15"/>
@@ -521,7 +923,7 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+2"/>
<source>the symlink</source>
- <translation>a szimlink</translation>
+ <translation>a szimbolikus link</translation>
</message>
<message>
<location line="+3"/>
@@ -531,7 +933,7 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<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;Biztos benne, hogy törölni kívánja a(z) %1 &quot;%2&quot;?&lt;/qt&gt;</translation>
+ <translation>&lt;qt&gt;Biztosan törölni akarja ezt: %1 &quot;%2&quot;?&lt;/qt&gt;</translation>
</message>
<message>
<location line="+2"/>
@@ -546,22 +948,22 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
<message>
<location line="+36"/>
<source>New Folder 1</source>
- <translation>Új mappa 1</translation>
+ <translation>Új könyvtár 1</translation>
</message>
<message>
<location line="+5"/>
<source>New Folder</source>
- <translation>Új mappa</translation>
+ <translation>Új könyvtár</translation>
</message>
<message>
<location line="+5"/>
<source>New Folder %1</source>
- <translation>Új mappa %1</translation>
+ <translation>Új könyvtár %1</translation>
</message>
<message>
<location line="+98"/>
<source>Find Directory</source>
- <translation>Könyvtár keresése</translation>
+ <translation>Keresés a könyvtárban</translation>
</message>
<message>
<location line="+5"/>
@@ -586,23 +988,23 @@ Ellenőrizze le a GStreamer telepítését és győzödjön meg róla, hogy inst
File not found.
Check path and filename.</source>
<translation>%1
-Fájl nem található
-Útvonal és fájlnév ellenőrzése.</translation>
+A fájl nem található.
+Ellenőrizze a fájl nevét és elérési útját.</translation>
</message>
<message>
<location filename="../src/qt3support/dialogs/q3filedialog_win.cpp" line="-191"/>
<source>All Files (*.*)</source>
- <translation>Az összes fájl (*.*)</translation>
+ <translation>Minden fájl (*.*)</translation>
</message>
<message>
<location line="+264"/>
<source>Open </source>
- <translation>Megnyitás</translation>
+ <translation>Megnyitás </translation>
</message>
<message>
<location line="+107"/>
<source>Select a Directory</source>
- <translation>Egy könyvtár kiválasztása</translation>
+ <translation>Könyvtár kiválasztása</translation>
</message>
</context>
<context>
@@ -612,21 +1014,21 @@ Fájl nem található
<location line="+10"/>
<source>Could not read directory
%1</source>
- <translation>Nem sikerült a könytárat olvasni
+ <translation>A könyvtár nem olvasható:
%1</translation>
</message>
<message>
<location line="+45"/>
<source>Could not create directory
%1</source>
- <translation>Nem sikerült létrehozni a könyvtárat
+ <translation>A könyvtár nem hozható létre:
%1</translation>
</message>
<message>
<location line="+34"/>
<source>Could not remove file or directory
%1</source>
- <translation>Nem sikerült eltávolítani egy fájlt vag könyvtárat
+ <translation>A fájl vagy könyvtár nem törölhető:
%1</translation>
</message>
<message>
@@ -635,23 +1037,23 @@ Fájl nem található
%1
to
%2</source>
- <translation>Nem sikerült átnevezni ezt
+ <translation>Nem nevezhető át
%1
-erre
+erre:
%2</translation>
</message>
<message>
<location line="+25"/>
<source>Could not open
%1</source>
- <translation>Nem sikerült megnyitni
+ <translation>Nem nyitható meg:
%1</translation>
</message>
<message>
<location line="+68"/>
<source>Could not write
%1</source>
- <translation>Nem sikerült írni
+ <translation>Nem írható:
%1</translation>
</message>
</context>
@@ -660,12 +1062,12 @@ erre
<message>
<location filename="../src/qt3support/widgets/q3mainwindow.cpp" line="+2051"/>
<source>Line up</source>
- <translation>Egy sorral feljebb</translation>
+ <translation>Igazítás</translation>
</message>
<message>
<location line="+2"/>
<source>Customize...</source>
- <translation>Egyéni...</translation>
+ <translation>Testreszabás...</translation>
</message>
</context>
<context>
@@ -673,7 +1075,7 @@ erre
<message>
<location filename="../src/qt3support/network/q3networkprotocol.cpp" line="+854"/>
<source>Operation stopped by the user</source>
- <translation>A felhasználó leállította a műveletet</translation>
+ <translation>A műveletet a felhasználó megszakította</translation>
</message>
</context>
<context>
@@ -682,7 +1084,7 @@ erre
<location filename="../src/qt3support/dialogs/q3progressdialog.cpp" line="+224"/>
<location line="+61"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
</context>
<context>
@@ -696,7 +1098,7 @@ erre
<message>
<location line="-366"/>
<source>Apply</source>
- <translation>Alkalmazza</translation>
+ <translation>Alkalmaz</translation>
</message>
<message>
<location line="+43"/>
@@ -706,12 +1108,12 @@ erre
<message>
<location line="+45"/>
<source>Defaults</source>
- <translation>Alapértelemett</translation>
+ <translation>Alapértelmezések</translation>
</message>
<message>
<location line="+50"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
</context>
<context>
@@ -724,7 +1126,7 @@ erre
<message>
<location line="+1"/>
<source>&amp;Redo</source>
- <translation>&amp;Helyreállítás</translation>
+ <translation>Új&amp;ra</translation>
</message>
<message>
<location line="+5"/>
@@ -744,13 +1146,13 @@ erre
<message>
<location line="+3"/>
<source>Clear</source>
- <translation>Kiürítés</translation>
+ <translation>Törlés</translation>
</message>
<message>
<location line="+4"/>
<location line="+2"/>
<source>Select All</source>
- <translation>Az összes kiválasztása</translation>
+ <translation>Összes kijelölése</translation>
</message>
</context>
<context>
@@ -763,7 +1165,7 @@ erre
<message>
<location line="+3"/>
<source>Restore up</source>
- <translation>Felállítás</translation>
+ <translation>Visszaállítás</translation>
</message>
<message>
<location line="+1"/>
@@ -773,12 +1175,12 @@ erre
<message>
<location line="+3"/>
<source>Restore down</source>
- <translation>Leállítás</translation>
+ <translation>Előző méret</translation>
</message>
<message>
<location line="+1"/>
<source>Maximize</source>
- <translation>Maximalizálás</translation>
+ <translation>Teljes méret</translation>
</message>
<message>
<location line="+2"/>
@@ -788,37 +1190,41 @@ erre
<message>
<location line="+18"/>
<source>Contains commands to manipulate the window</source>
- <translation>Tartalmazza az ablak manipulációs parancsokat</translation>
+ <translation>Parancsokat tartalmaz az ablak kezeléséhez</translation>
</message>
<message>
<location line="+3"/>
<source>Puts a minimized window back to normal</source>
- <translation>Egy minimalizált ablak normálra visszatétele</translation>
+ <translation>Helyreállítja a kis méretre tett ablakot</translation>
+ </message>
+ <message>
+ <source>Puts a minimized back to normal</source>
+ <translation type="obsolete">A kis méretű ablakot normál méretűre állítja vissza</translation>
</message>
<message>
<location line="+1"/>
<source>Moves the window out of the way</source>
- <translation>Az ablak félreeső helyre mozgatása</translation>
+ <translation>Elmozgatja az ablakot az útból</translation>
</message>
<message>
<location line="+3"/>
<source>Puts a maximized window back to normal</source>
- <translation>Maximalizált ablak normálra visszatétele</translation>
+ <translation>A teljes méretű ablakot normál méretűre állítja vissza</translation>
</message>
<message>
<location line="+1"/>
<source>Makes the window full screen</source>
- <translation>Az ablak maximális méretűvé tétele</translation>
+ <translation>Az ablakot teljes képernyő méretűre növeli</translation>
</message>
<message>
<location line="+2"/>
<source>Closes the window</source>
- <translation>Az ablak bezárása</translation>
+ <translation>Bezárja az ablakot</translation>
</message>
<message>
<location line="+2"/>
<source>Displays the name of the window and contains controls to manipulate it</source>
- <translation>Az ablak nevének megjelenítése és manipuláláshoz szükséges vezérlő elemek tartalmazása</translation>
+ <translation>Megjeleníti az ablak nevét, és kezelőket a megváltoztatásukhoz</translation>
</message>
</context>
<context>
@@ -826,7 +1232,7 @@ erre
<message>
<location filename="../src/qt3support/widgets/q3toolbar.cpp" line="+692"/>
<source>More...</source>
- <translation>További...</translation>
+ <translation>Továbbiak...</translation>
</message>
</context>
<context>
@@ -836,43 +1242,43 @@ erre
<location line="+260"/>
<location line="+4"/>
<source>The protocol `%1&apos; is not supported</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatott</translation>
+ <translation>A(z) `%1&apos; protokoll nem támogatott</translation>
</message>
<message>
<location line="-260"/>
<source>The protocol `%1&apos; does not support listing directories</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatja a könyvtár listázást</translation>
+ <translation>A(z) `%1&apos; protokoll nem támogatja a könyvtárak tartalmának listázását</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support creating new directories</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatja az új könyvtárak létrehozását</translation>
+ <translation>A(z) `%1&apos; protokoll nem támogatja könyvtárak létrehozását</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support removing files or directories</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatja fájlok vagy könyvtárat áthelyezését</translation>
+ <translation>A(z) &apos;%1&apos; protokoll nem támogatja a fájlok vagy könyvtárak törlését</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support renaming files or directories</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatja fájlok vagy könyvtárat átnevezését</translation>
+ <translation>A(z) &apos;%1&apos; protokoll nem támogatja a fájlok vagy könyvtárak átnevezését</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support getting files</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatja fájlok szerzését</translation>
+ <translation>A(z) &apos;%1&apos; protokoll nem támogatja a fájlok letöltését</translation>
</message>
<message>
<location line="+3"/>
<source>The protocol `%1&apos; does not support putting files</source>
- <translation>A(z) &apos;%1&apos; protokoll nem támogatja fájlok betevését</translation>
+ <translation>A(z) &apos;%1&apos; protokoll nem támogatja a fájlok feltöltését</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>A(z) &apos;%1&apos; protokoll nem támogatja fájlok vagy könyvtárak mozgatását vagy másolását</translation>
+ <translation>A(z) &apos;%1&apos; protokoll nem támogatja a fájlok vagy könyvtárak másolását vagy áthelyezését</translation>
</message>
<message>
<location line="+237"/>
@@ -886,7 +1292,7 @@ erre
<message>
<location filename="../src/qt3support/dialogs/q3wizard.cpp" line="+177"/>
<source>&amp;Cancel</source>
- <translation>&amp;Mégse</translation>
+ <translation>&amp;Mégsem</translation>
</message>
<message>
<location line="+1"/>
@@ -912,64 +1318,65 @@ erre
<context>
<name>QAbstractSocket</name>
<message>
- <location filename="../src/network/socket/qabstractsocket.cpp" line="+899"/>
- <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+643"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+549"/>
+ <location line="+809"/>
+ <location line="+220"/>
+ <source>Operation on socket is not supported</source>
+ <translation>A művelet nem támogatott socketeken</translation>
+ </message>
+ <message>
+ <location line="-662"/>
+ <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+629"/>
<location filename="../src/network/socket/qsocks5socketengine.cpp" line="+661"/>
<location line="+26"/>
<source>Host not found</source>
- <translation>A hoszt nem található</translation>
+ <translation>A kiszolgáló nem található</translation>
</message>
<message>
<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>A kapcsolódás elutasítva</translation>
+ <translation>A kapcsolat elutasítva</translation>
</message>
<message>
<location line="+142"/>
<source>Connection timed out</source>
- <translation>Kapcsolódási időtúllépés</translation>
+ <translation>A kapcsolat várakozási ideje lejárt</translation>
</message>
<message>
- <location line="-555"/>
- <location line="+805"/>
- <location line="+208"/>
- <source>Operation on socket is not supported</source>
- <translation>A socket művelet nem támogatott</translation>
- </message>
- <message>
- <location line="+200"/>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+625"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+673"/>
<source>Socket operation timed out</source>
<translation>Socket művelet időtúllépés</translation>
</message>
<message>
- <location line="+380"/>
+ <location filename="../src/network/socket/qabstractsocket.cpp" line="+380"/>
<source>Socket is not connected</source>
- <translation>Socket nincs csatlakoztatva</translation>
+ <translation>A socket nem kapcsolódott</translation>
</message>
<message>
<location filename="../src/network/socket/qsocks5socketengine.cpp" line="-8"/>
<source>Network unreachable</source>
- <translation>A hálózat nem elérhető</translation>
+ <translation>A hálózat nem érhető el</translation>
</message>
</context>
<context>
<name>QAbstractSpinBox</name>
<message>
- <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1217"/>
+ <location filename="../src/gui/widgets/qabstractspinbox.cpp" line="+1263"/>
<source>&amp;Step up</source>
- <translation>&amp;Növelés</translation>
+ <translation>Lépés &amp;felfelé</translation>
</message>
<message>
<location line="+2"/>
<source>Step &amp;down</source>
- <translation>&amp;Csökkentés</translation>
+ <translation>Lépés &amp;lefelé</translation>
</message>
<message>
<location line="-8"/>
<source>&amp;Select All</source>
- <translation>Az összes &amp;kiválasztása</translation>
+ <translation>Ö&amp;sszes kijelölése</translation>
</message>
</context>
<context>
@@ -977,36 +1384,75 @@ erre
<message>
<location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+250"/>
<source>Press</source>
- <translation>Megnyomás</translation>
+ <translation>Nyomja meg</translation>
+ </message>
+</context>
+<context>
+ <name>QAction</name>
+ <message>
+ <source>Options</source>
+ <translation type="obsolete">Opciók</translation>
+ </message>
+ <message>
+ <source>Select</source>
+ <translation type="obsolete">Kiválasztás</translation>
+ </message>
+ <message>
+ <source>Back</source>
+ <translation type="obsolete">Vissza</translation>
+ </message>
+ <message>
+ <source>Next</source>
+ <translation type="obsolete">Előre</translation>
+ </message>
+ <message>
+ <source>Previous</source>
+ <translation type="obsolete">Előző</translation>
+ </message>
+ <message>
+ <source>Ok</source>
+ <translation type="obsolete">Ok</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="obsolete">Mégsem</translation>
+ </message>
+ <message>
+ <source>Edit</source>
+ <translation type="obsolete">Szerkesztés</translation>
+ </message>
+ <message>
+ <source>View</source>
+ <translation type="obsolete">Nézet</translation>
</message>
</context>
<context>
<name>QApplication</name>
<message>
- <location filename="../src/gui/kernel/qapplication.cpp" line="+2279"/>
- <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>QT_LAYOUT_DIRECTION</translation>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
+ <source>Activate</source>
+ <translation>Aktiválás</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qmessagebox.h" line="+354"/>
<source>Executable &apos;%1&apos; requires Qt %2, found Qt %3.</source>
- <translation>A(z) &apos;%1&apos; futtatható fájl igényli a Qt %2, de Qt %3.-t talált.</translation>
+ <translation>&apos;%1&apos; program Qt %2-t igényel (Qt %3 van telepítve).</translation>
</message>
<message>
<location line="+2"/>
<source>Incompatible Qt Library Error</source>
- <translation>Inkompatibilis Qt könyvtár hiba</translation>
+ <translation>Hiba: inkompatíbilis Qt függvénykönyvtár</translation>
</message>
<message>
- <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+376"/>
- <source>Activate</source>
- <translation>Aktiválás</translation>
+ <location filename="../src/gui/kernel/qapplication.cpp" line="-13"/>
+ <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 line="+2"/>
+ <location filename="../src/gui/accessible/qaccessibleobject.cpp" line="+2"/>
<source>Activates the program&apos;s main window</source>
- <translation>A program fő ablakának aktiválása</translation>
+ <translation>Aktívvá teszi a program főablakát</translation>
</message>
</context>
<context>
@@ -1024,12 +1470,12 @@ erre
<message>
<location/>
<source>&amp;Cancel</source>
- <translation>&amp;Mégse</translation>
+ <translation>&amp;Mégsem</translation>
</message>
<message>
<location/>
<source>COM &amp;Object:</source>
- <translation>COM &amp;Objektum:</translation>
+ <translation>COM &amp;objektum:</translation>
</message>
</context>
<context>
@@ -1037,40 +1483,40 @@ erre
<message>
<location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="-136"/>
<source>Uncheck</source>
- <translation>Nincs bejelölve</translation>
+ <translation>Kijelölés megszüntetése</translation>
</message>
<message>
<location line="+3"/>
<source>Check</source>
- <translation>Bejelölve</translation>
+ <translation>Kijelölés</translation>
</message>
<message>
<location line="+1"/>
<source>Toggle</source>
- <translation>Kapcsolgatás</translation>
+ <translation>Váltás</translation>
</message>
</context>
<context>
<name>QColorDialog</name>
<message>
- <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1349"/>
+ <location filename="../src/gui/dialogs/qcolordialog.cpp" line="+1378"/>
<source>Hu&amp;e:</source>
- <translation>&amp;Színárnyalat:</translation>
+ <translation>Á&amp;rnyalat:</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Sat:</source>
- <translation>&amp;Sat:</translation>
+ <translation>&amp;Telítettség:</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Val:</source>
- <translation>&amp;Érték:</translation>
+ <translation>&amp;Fényerő:</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Red:</source>
- <translation>&amp;Piros:</translation>
+ <translation>&amp;Vörös:</translation>
</message>
<message>
<location line="+1"/>
@@ -1090,28 +1536,44 @@ erre
<message>
<location line="+101"/>
<source>Select Color</source>
- <translation>Szín kiválasztása</translation>
+ <translation>Szín választás</translation>
</message>
<message>
- <location line="+180"/>
+ <location line="+183"/>
<source>&amp;Basic colors</source>
- <translation>&amp;Alap színek</translation>
+ <translation>Ala&amp;p színek</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Custom colors</source>
- <translation>&amp;Egyéni színek</translation>
+ <translation>&amp;Saját színek</translation>
+ </message>
+ <message>
+ <source>&amp;Define Custom Colors &gt;&gt;</source>
+ <translation type="obsolete">Saját színek &amp;megadása &gt;&gt;</translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation type="obsolete">OK</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="obsolete">Mégsem</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Add to Custom Colors</source>
- <translation>&amp;Egyéni színek hozzáadása</translation>
+ <translation>Hozzá&amp;adás a saját színekhez</translation>
+ </message>
+ <message>
+ <source>Select color</source>
+ <translation type="obsolete">Szín kiválasztása</translation>
</message>
</context>
<context>
<name>QComboBox</name>
<message>
- <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1771"/>
+ <location filename="../src/plugins/accessible/widgets/complexwidgets.cpp" line="+1772"/>
<location line="+65"/>
<source>Open</source>
<translation>Megnyitás</translation>
@@ -1135,22 +1597,9 @@ erre
<context>
<name>QCoreApplication</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
- <source>%1: key is empty</source>
- <comment>QSystemSemaphore</comment>
- <translation>%1:kulcs üres</translation>
- </message>
- <message>
- <location line="+12"/>
- <source>%1: unable to make key</source>
- <comment>QSystemSemaphore</comment>
- <translation>%1: nem lehet kulcsot csinálni</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>%1: ftok failed</source>
+ <source>%1: permission denied</source>
<comment>QSystemSemaphore</comment>
- <translation>%1: ftok hiba</translation>
+ <translation type="obsolete">%1: hozzáférés megtagadva</translation>
</message>
<message>
<location filename="../src/corelib/kernel/qsystemsemaphore_symbian.cpp" line="+65"/>
@@ -1159,16 +1608,21 @@ erre
<translation>%1: már létezik</translation>
</message>
<message>
+ <source>%1: doesn&apos;t exists</source>
+ <comment>QSystemSemaphore</comment>
+ <translation type="obsolete">%1: nem található</translation>
+ </message>
+ <message>
<location line="+4"/>
<source>%1: does not exist</source>
<comment>QSystemSemaphore</comment>
- <translation>%1: nem létezik</translation>
+ <translation>%1: még nem létezik</translation>
</message>
<message>
<location line="+5"/>
<source>%1: out of resources</source>
<comment>QSystemSemaphore</comment>
- <translation>%1: elfogytak az erőforrások</translation>
+ <translation>%1: az erőforrások elfogytak</translation>
</message>
<message>
<location line="+4"/>
@@ -1176,62 +1630,80 @@ erre
<comment>QSystemSemaphore</comment>
<translation>%1: ismeretlen hiba %2</translation>
</message>
+ <message>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="+119"/>
+ <source>%1: key is empty</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: a kulcs hiányzik</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>%1: unable to make key</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: a kulcs elkészítése sikertelen</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>%1: ftok failed</source>
+ <comment>QSystemSemaphore</comment>
+ <translation>%1: ftok hibát adott vissza</translation>
+ </message>
</context>
<context>
<name>QDB2Driver</name>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1254"/>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1253"/>
<source>Unable to connect</source>
- <translation>Nem lehet csatlakozni</translation>
+ <translation>Nem sikerült kapcsolódni</translation>
</message>
<message>
<location line="+298"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+17"/>
<source>Unable to rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
</message>
<message>
<location line="+15"/>
<source>Unable to set autocommit</source>
- <translation>Nem lehet beállítani az automatikus kommitolást</translation>
+ <translation>Az automatikus véglegesítés nem állítható be</translation>
</message>
</context>
<context>
<name>QDB2Result</name>
<message>
- <location line="-1031"/>
+ <location line="-1030"/>
<location line="+240"/>
<source>Unable to execute statement</source>
- <translation>Nem lehet végrehajtani a műveletet</translation>
+ <translation>A művelet nem hajtható végre</translation>
</message>
<message>
<location line="-203"/>
<source>Unable to prepare statement</source>
- <translation>Nem lehet felkészülni a műveletre</translation>
+ <translation>A művelet előkészítése nem lehetséges</translation>
</message>
<message>
<location line="+193"/>
<source>Unable to bind variable</source>
- <translation>Nem lehet összekötni a változót</translation>
+ <translation>A változó nem rögzíthető</translation>
</message>
<message>
<location line="+89"/>
<source>Unable to fetch record %1</source>
- <translation>Nem lehet letölteni a(z) %1 felvételt</translation>
+ <translation>A(z) %1. rekord nem olvasható ki</translation>
</message>
<message>
<location line="+19"/>
<source>Unable to fetch next</source>
- <translation>Nem lehet letölteni a következőt</translation>
+ <translation>A következő rekord nem olvasható ki</translation>
</message>
<message>
<location line="+21"/>
<source>Unable to fetch first</source>
- <translation>Nem lehet letölteni az elsőt</translation>
+ <translation>Az első rekord nem érhető el</translation>
</message>
</context>
<context>
@@ -1239,22 +1711,1196 @@ erre
<message>
<location filename="../src/gui/widgets/qdatetimeedit.cpp" line="+2287"/>
<source>AM</source>
- <translation>AM</translation>
+ <translation>DE</translation>
</message>
<message>
<location line="+0"/>
<source>am</source>
- <translation>am</translation>
+ <translation>de</translation>
</message>
<message>
<location line="+2"/>
<source>PM</source>
- <translation>PM</translation>
+ <translation>DU</translation>
</message>
<message>
<location line="+0"/>
<source>pm</source>
- <translation>pm</translation>
+ <translation>du</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeAbstractAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+166"/>
+ <source>Cannot animate non-existent property &quot;%1&quot;</source>
+ <translation>Nem lehet animálni a hiányzó &quot;%1&quot; tulajdonság nélkül</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot animate read-only property &quot;%1&quot;</source>
+ <translation>Nem lehet animálni a csak olvasható &quot;%1&quot; tulajdonsággal</translation>
+ </message>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeutilmodule.cpp" line="+122"/>
+ <source>Animation is an abstract class</source>
+ <translation>Az Animation absztrakt osztály</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeAnchorAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+2553"/>
+ <source>Cannot set a duration of &lt; 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeAnchors</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeanchors.cpp" line="+180"/>
+ <source>Possible anchor loop detected on fill.</source>
+ <translation>Lehetséges horgony hurok észlelhető egy festésen.</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Possible anchor loop detected on centerIn.</source>
+ <translation>Lehetséges horgony hurok észlelhető a középvonalon.</translation>
+ </message>
+ <message>
+ <location line="+201"/>
+ <location line="+34"/>
+ <location line="+610"/>
+ <location line="+37"/>
+ <source>Cannot anchor to an item that isn&apos;t a parent or sibling.</source>
+ <translation>Nem lehet egy olyan elemhez horgonyozni, mely nem szülő vagy gyermek.</translation>
+ </message>
+ <message>
+ <location line="-534"/>
+ <source>Possible anchor loop detected on vertical anchor.</source>
+ <translation>Lehetséges horgony hurok észlelhető egy függőleges horgonyon.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Possible anchor loop detected on horizontal anchor.</source>
+ <translation>Lehetséges horgony hurok észlelhető egy vízszintes horgonyon.</translation>
+ </message>
+ <message>
+ <location line="+422"/>
+ <source>Cannot specify left, right, and hcenter anchors.</source>
+ <translation>Nem lehet egyszerre bal, jobb, és vízszintes közép horgonyokat megadni.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+37"/>
+ <source>Cannot anchor to a null item.</source>
+ <translation>Nem lehet egy null elemhez horgonyozni.</translation>
+ </message>
+ <message>
+ <location line="-34"/>
+ <source>Cannot anchor a horizontal edge to a vertical edge.</source>
+ <translation>Nem lehet a vízszintes vagy a függőleges szélekhez horgonyozni.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+37"/>
+ <source>Cannot anchor item to self.</source>
+ <translation>Nem lehet egy elemet önmagához horgonyozni.</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Cannot specify top, bottom, and vcenter anchors.</source>
+ <translation>Nem lehet egyszerre felső, alsó, és függőleges közép horgonyokat megadni.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Baseline anchor cannot be used in conjunction with top, bottom, or vcenter anchors.</source>
+ <translation>Alapvonali horgonyt nem lehet összekapcsolni felső, alsó, vagy függőleges közép horgonyokkal.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Cannot anchor a vertical edge to a horizontal edge.</source>
+ <translation>Nem lehet a vízszintes szélt a függőlegeshez horgonyozni.</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeAnimatedImage</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp" line="+86"/>
+ <source>Qt was built without support for QMovie</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeBehavior</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativebehavior.cpp" line="+127"/>
+ <source>Cannot change the animation assigned to a Behavior.</source>
+ <translation>Nem lehet egy Behavior elemhez rendelt animációt módosítani.</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeBinding</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativebinding.cpp" line="+238"/>
+ <source>Binding loop detected for property &quot;%1&quot;</source>
+ <translation>Kötési hurok észlelhető a(z) &quot;%1&quot; tulajdonságon</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeCompiledBindings</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativecompiledbindings.cpp" line="+372"/>
+ <source>Binding loop detected for property &quot;%1&quot;</source>
+ <translation type="unfinished">Kötési hurok észlelhető a(z) &quot;%1&quot; tulajdonságon</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeCompiler</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativecompiler.cpp" line="+186"/>
+ <location line="+1596"/>
+ <location line="+186"/>
+ <location line="+81"/>
+ <location line="+75"/>
+ <location line="+487"/>
+ <source>Invalid property assignment: &quot;%1&quot; is a read-only property</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: &quot;%1&quot; egy csak olvasható tulajdonság</translation>
+ </message>
+ <message>
+ <location line="-2416"/>
+ <source>Invalid property assignment: unknown enumeration</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: ismeretlen felsorolás</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: string expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: szöveges érték szükséges</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid property assignment: url expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: URL szükséges</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Invalid property assignment: unsigned int expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: előjel nélküli egész érték szükséges</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Invalid property assignment: int expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: egész érték szükséges</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Invalid property assignment: float expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: lebegőpontos érték szükséges</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid property assignment: double expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: duplapontos érték szükséges</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Invalid property assignment: color expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: szín szükséges</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: date expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: dátum szükséges</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: time expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: idő szükséges</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: datetime expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: datetime érték szükséges</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Invalid property assignment: point expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: pont szükséges</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: size expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: méret szükséges</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Invalid property assignment: rect expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: téglalap szükséges</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Invalid property assignment: boolean expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: boolean érték szükséges</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid property assignment: 3D vector expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: 3D vektor szükséges</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Invalid property assignment: unsupported type &quot;%1&quot;</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: nem támogatott típus: &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location line="+277"/>
+ <source>Element is not creatable.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+618"/>
+ <source>Component elements may not contain properties other than id</source>
+ <translation>A Component elemek nem tartalmazhatnak az id-n kívűl más tulajdonságot</translation>
+ </message>
+ <message>
+ <source>Component elements may not contain script blocks</source>
+ <translation type="obsolete">A Component elemek nem tartalmazhatnak parancsblokkokat</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Invalid component id specification</source>
+ <translation>Érvénytelen komponens azonosító megadás</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <location line="+478"/>
+ <source>id is not unique</source>
+ <translation>Az azonosító nem egyedi</translation>
+ </message>
+ <message>
+ <location line="-468"/>
+ <source>Invalid component body specification</source>
+ <translation>Érvénytelen komponens-törzs megadás</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Component objects cannot declare new properties.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Component objects cannot declare new signals.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Component objects cannot declare new functions.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Cannot create empty component specification</source>
+ <translation>Nem lehet üres komponenst megadni</translation>
+ </message>
+ <message>
+ <source>Invalid Script block. Specify either the source property or inline script</source>
+ <translation type="obsolete">Érvénytelen Script blokk. Adja meg a source tulajdonságot vagy ágyazzon be parancsokat</translation>
+ </message>
+ <message>
+ <source>Invalid Script source value</source>
+ <translation type="obsolete">Érvénytelen Script source érték</translation>
+ </message>
+ <message>
+ <source>Properties cannot be set on Script block</source>
+ <translation type="obsolete">A tulajdonságok nem módosíthatók Script blokkból</translation>
+ </message>
+ <message>
+ <source>Invalid Script block</source>
+ <translation type="obsolete">Érvénytelen Script blokk</translation>
+ </message>
+ <message>
+ <source>Incorrectly specified signal</source>
+ <translation type="obsolete">Hibásan megadott jelzés (signal)</translation>
+ </message>
+ <message>
+ <location line="+105"/>
+ <source>Empty signal assignment</source>
+ <translation>Üres jelzés (signal) hozzárendelés</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>Empty property assignment</source>
+ <translation>Üres tulajdonság hozzárendelés</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Attached properties cannot be used here</source>
+ <translation>A csatolt tulajdonságok nem használhatók</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <location line="+102"/>
+ <source>Non-existent attached object</source>
+ <translation>Nem létező csatolt objektum</translation>
+ </message>
+ <message>
+ <location line="-98"/>
+ <location line="+101"/>
+ <source>Invalid attached object assignment</source>
+ <translation>Érvénytelen objektumcsatolás</translation>
+ </message>
+ <message>
+ <location line="-48"/>
+ <source>Cannot assign to non-existent default property</source>
+ <translation>Nem lehet hozzárendelni egy nem létező alapértelmezett tulajdonságot</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location line="+352"/>
+ <source>Cannot assign to non-existent property &quot;%1&quot;</source>
+ <translation>Nem lehet hozzárendelni a nem létező &quot;%1&quot; tulajdonságot</translation>
+ </message>
+ <message>
+ <location line="-322"/>
+ <source>Invalid use of namespace</source>
+ <translation>Érvénytelen névtérhasználat</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Not an attached property name</source>
+ <translation>Ez nem egy csatolt tulajdonságnév</translation>
+ </message>
+ <message>
+ <location line="+182"/>
+ <source>Invalid use of id property</source>
+ <translation>Az id tulajdonság érvénytelen használata</translation>
+ </message>
+ <message>
+ <source>&quot;%1&quot; is not a valid object id</source>
+ <translation type="obsolete">&quot;%1&quot; nem érvényes objektumazonosító</translation>
+ </message>
+ <message>
+ <source>id conflicts with type name</source>
+ <translation type="obsolete">Az id ütközik a típus nevével</translation>
+ </message>
+ <message>
+ <source>id conflicts with namespace prefix</source>
+ <translation type="obsolete">Az id ütközik a névtér előtaggal</translation>
+ </message>
+ <message>
+ <source>Invalid value in grouped property</source>
+ <translation type="obsolete">Érvénytelen érték a csoportos tulajdonságon</translation>
+ </message>
+ <message>
+ <location line="-357"/>
+ <source>Incorrectly specified signal assignment</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Cannot assign a value to a signal (expecting a script to be run)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+434"/>
+ <location line="+2"/>
+ <source>Property has already been assigned a value</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <location line="+7"/>
+ <source>Invalid grouped property access</source>
+ <translation>Érvénytelen csoportos tulajdonság-hozzáférés</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot assign a value directly to a grouped property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Invalid property use</source>
+ <translation>Tulajdonság érvénytelen használata</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Property assignment expected</source>
+ <translation>Tulajdonság hozzárendelés szükséges</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Single property assignment expected</source>
+ <translation>Egyetlen tulajdonság hozzárendelése szükséges</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Unexpected object assignment</source>
+ <translation>Váratlan objektum-hozzárendelés</translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <source>Cannot assign object to list</source>
+ <translation>Nem lehet objektumot listához rendelni</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Can only assign one binding to lists</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Cannot assign primitives to lists</source>
+ <translation>Nem lehet primitiv típusokat listához rendelni</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Cannot assign multiple values to a script property</source>
+ <translation>Nem lehet több értéket rendelni script tulajdonsághoz</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid property assignment: script expected</source>
+ <translation>Érvénytelen tulajdonság-hozzárendelés: script szükséges</translation>
+ </message>
+ <message>
+ <location line="+105"/>
+ <source>Cannot assign object to property</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Nem lehet objektumot rendelni tulajdonsághoz</translation>
+ </message>
+ <message>
+ <location line="+50"/>
+ <source>&quot;%1&quot; cannot operate on &quot;%2&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+117"/>
+ <source>Duplicate default property</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Dupla alapértelmezett tulajdonság</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Duplicate property name</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Dupla tulajdonságnév</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Property names cannot begin with an upper case letter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Duplicate signal name</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Dupla jelzés név</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Signal names cannot begin with an upper case letter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Duplicate method name</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Dupla metódus név</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Method names cannot begin with an upper case letter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Property value set multiple times</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Invalid property nesting</source>
+ <translation>Érvénytelen tulajdonság illesztés</translation>
+ </message>
+ <message>
+ <location line="+53"/>
+ <source>Cannot override FINAL property</source>
+ <translation>Nem lehet FINAL tulajdonságot felülbírálni</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Invalid property type</source>
+ <translation>Érvénytelen tulajdonság típus</translation>
+ </message>
+ <message>
+ <location line="+159"/>
+ <source>Invalid empty ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>IDs cannot start with an uppercase letter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>IDs must start with a letter or underscore</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>IDs must contain only letters, numbers, and underscores</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>ID illegally masks global JavaScript property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <location line="+9"/>
+ <source>No property alias location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <location line="+25"/>
+ <source>Invalid alias location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-16"/>
+ <source>Invalid alias reference. An alias reference must be specified as &lt;id&gt; or &lt;id&gt;.&lt;property&gt;</source>
+ <translation>Érvénytelen álnév-referencia. Az álnév-referenciának &lt;id&gt; vagy &lt;id&gt;.&lt;property&gt; formátumúnak kell lennie</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Invalid alias reference. Unable to find id &quot;%1&quot;</source>
+ <translation>Érvénytelen álnév-referencia. A(z) &quot;%1&quot; azonosító nem létezik</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeComponent</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativecomponent.cpp" line="+459"/>
+ <source>Invalid empty URL</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeCompositeTypeManager</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativecompositetypemanager.cpp" line="+475"/>
+ <location line="+266"/>
+ <source>Resource %1 unavailable</source>
+ <translation>A(z) %1 erőforrás nem érhető el</translation>
+ </message>
+ <message>
+ <location line="-120"/>
+ <source>%1 %2</source>
+ <translation type="unfinished">%1% {1 %2?}</translation>
+ </message>
+ <message>
+ <source>Import %1 unavailable</source>
+ <translation type="obsolete">A(z) %1 import nem érhető el</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Namespace %1 cannot be used as a type</source>
+ <translation>A(z) %1 névtér nem használható típusként</translation>
+ </message>
+ <message>
+ <source>%1 is not a type</source>
+ <translation type="obsolete">%1 nem típus</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Type %1 unavailable</source>
+ <translation>A(z) %1 típus nem érhető el</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeConnections</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeconnections.cpp" line="+209"/>
+ <location line="+60"/>
+ <source>Cannot assign to non-existent property &quot;%1&quot;</source>
+ <translation>Nem lehet hozzárendelni a nem létező &quot;%1&quot; tulajdonsághoz</translation>
+ </message>
+ <message>
+ <location line="-50"/>
+ <source>Connections: nested objects not allowed</source>
+ <translation>Kapcsolatok: az illesztett objektumok nem engedélyezettek</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connections: syntax error</source>
+ <translation>Kapcsolatok: szintakszishiba</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Connections: script expected</source>
+ <translation>Kapcsolatok: script szükséges</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeEngine</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativesqldatabase.cpp" line="+204"/>
+ <source>executeSql called outside transaction()</source>
+ <translation>Az executeSql a transaction()-on kívülről lett meghívva</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>Read-only Transaction</source>
+ <translation>Csak olvasható tranzakció</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Version mismatch: expected %1, found %2</source>
+ <translation>Verzió eltérés: várt: %1, kapott: %2</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>SQL transaction failed</source>
+ <translation>Az SQL tranzakció sikertelen</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>transaction: missing callback</source>
+ <translation>tranzakció: hiányzó callback</translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <location line="+16"/>
+ <source>SQL: database version mismatch</source>
+ <translation>SQL: adatbázis verzió eltérés</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeFlipable</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeflipable.cpp" line="+127"/>
+ <source>front is a write-once property</source>
+ <translation>a front csak egyszer írható tulajdonság</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>back is a write-once property</source>
+ <translation>a back csak egyszer írható tulajdonság</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeImportDatabase</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativeimport.cpp" line="+294"/>
+ <source>module &quot;%1&quot; definition &quot;%2&quot; not readable</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>plugin cannot be loaded for module &quot;%1&quot;: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>module &quot;%1&quot; plugin &quot;%2&quot; not found</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+79"/>
+ <location line="+55"/>
+ <source>module &quot;%1&quot; version %2.%3 is not installed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-53"/>
+ <source>module &quot;%1&quot; is not installed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <location line="+19"/>
+ <source>&quot;%1&quot;: no such directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>import &quot;%1&quot; has no qmldir and no namespace</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>- %1 is not a namespace</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>- nested namespaces not allowed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+47"/>
+ <location line="+4"/>
+ <source>local directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>is ambiguous. Found in %1 and in %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>is ambiguous. Found in %1 in version %2.%3 and %4.%5</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>is instantiated recursively</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>is not a type</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeInfo</name>
+ <message>
+ <source>unknown location</source>
+ <translation type="obsolete">ismeretlen hely</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeKeyNavigationAttached</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp" line="+70"/>
+ <source>KeyNavigation is only available via attached properties</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeKeysAttached</name>
+ <message>
+ <location line="+1"/>
+ <source>Keys is only available via attached properties</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeListModel</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativelistmodel.cpp" line="+399"/>
+ <source>remove: index %1 out of range</source>
+ <translation>remove: a(z) %1 index túl nagy</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>insert: value is not an object</source>
+ <translation>insert: az érték nem objektum</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>insert: index %1 out of range</source>
+ <translation>insert: a(z) %1 index túl nagy</translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>move: out of range</source>
+ <translation>move: határokon kívül</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>append: value is not an object</source>
+ <translation>append: az érték nem objektum</translation>
+ </message>
+ <message>
+ <location line="+132"/>
+ <location line="+15"/>
+ <source>ListElement: cannot contain nested elements</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>get: index %1 out of range</source>
+ <translation type="obsolete">get: a(z) %1 index túl nagy</translation>
+ </message>
+ <message>
+ <location line="-92"/>
+ <source>set: value is not an object</source>
+ <translation>set: az érték nem objektum</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <location line="+34"/>
+ <source>set: index %1 out of range</source>
+ <translation>set: a(z) %1 index túl nagy</translation>
+ </message>
+ <message>
+ <source>ListElement: cannot use default property</source>
+ <translation type="obsolete">ListElement: nem lehet az alapértelmezett tulajdonságot használni</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>ListElement: cannot use reserved &quot;id&quot; property</source>
+ <translation>ListElement: nem lehet a lefoglalt &quot;id&quot; tulajdonságot használni</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>ListElement: cannot use script for property value</source>
+ <translation>ListElement: nem lehet scriptet használni tulajdonság értéknek</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>ListModel: undefined property &apos;%1&apos;</source>
+ <translation>ListModel: nem definiált tulajdonság: &apos;%1&apos;</translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeLoader</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativeloader.cpp" line="+313"/>
+ <source>Loader does not support loading non-visual elements.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeParentAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="-169"/>
+ <source>Unable to preserve appearance under complex transform</source>
+ <translation>Nem lehet a kinézetet megőrizni a komplex transzformáció alatt</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+7"/>
+ <source>Unable to preserve appearance under non-uniform scale</source>
+ <translation>Nem lehet a kinézetet megőrizni a nem-uniform skálázás alatt</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Unable to preserve appearance under scale of 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeParentChange</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativestateoperations.cpp" line="+95"/>
+ <source>Unable to preserve appearance under complex transform</source>
+ <translation type="unfinished">Nem lehet a kinézetet megőrizni a komplex transzformáció alatt</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+7"/>
+ <source>Unable to preserve appearance under non-uniform scale</source>
+ <translation type="unfinished">Nem lehet a kinézetet megőrizni a nem-uniform skálázás alatt</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Unable to preserve appearance under scale of 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeParser</name>
+ <message>
+ <location filename="../src/declarative/qml/parser/qdeclarativejslexer.cpp" line="+579"/>
+ <source>Illegal character</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Unclosed string at end of line</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Illegal escape squence</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-77"/>
+ <location line="+123"/>
+ <location line="+54"/>
+ <source>Illegal unicode escape sequence</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-28"/>
+ <source>Unclosed comment at end of file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Illegal syntax for exponential number</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Identifier cannot start with numeric literal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+338"/>
+ <source>Unterminated regular expression literal</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Invalid regular expression flag &apos;%0&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <location line="+22"/>
+ <source>Unterminated regular expression backslash sequence</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Unterminated regular expression class</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/declarative/qml/parser/qdeclarativejsparser.cpp" line="+1828"/>
+ <location line="+67"/>
+ <source>Syntax error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-65"/>
+ <source>Unexpected token `%1&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+28"/>
+ <location line="+24"/>
+ <source>Expected token `%1&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativescriptparser.cpp" line="+271"/>
+ <source>Expected type name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-11"/>
+ <location line="+431"/>
+ <location line="+59"/>
+ <source>Property value set multiple times</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-343"/>
+ <source>Invalid import qualifier ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Reserved name &quot;Qt&quot; cannot be used as an qualifier</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Script import qualifiers must be unique.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Script import requires a qualifier</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Library import requires a version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Expected parameter type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+42"/>
+ <source>Invalid property type modifier</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Unexpected property type modifier</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Expected property type</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Readonly not yet supported</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+215"/>
+ <source>JavaScript declaration outside Script element</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativePauseAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="-1977"/>
+ <source>Cannot set a duration of &lt; 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativePixmapCache</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativepixmapcache.cpp" line="+190"/>
+ <source>Error decoding: %1: %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+70"/>
+ <source>Failed to get image from provider: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <location line="+345"/>
+ <source>Cannot open: %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <source>Unknown Error loading %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativePropertyAnimation</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeanimation.cpp" line="+1102"/>
+ <source>Cannot set a duration of &lt; 0</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativePropertyChanges</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativepropertychanges.cpp" line="+267"/>
+ <source>PropertyChanges does not support creating state-specific objects.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+157"/>
+ <source>Cannot assign to non-existent property &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot assign to read-only property &quot;%1&quot;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeTextInput</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativetextinput.cpp" line="+793"/>
+ <location line="+8"/>
+ <source>Could not load cursor delegate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Could not instantiate cursor delegate</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeVME</name>
+ <message>
+ <location filename="../src/declarative/qml/qdeclarativevme.cpp" line="+194"/>
+ <source>Unable to create object of type %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+390"/>
+ <source>Cannot assign value %1 to property %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Cannot assign object type %1 with no default method</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot connect mismatched signal/slot %1 %vs. %2</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Cannot assign an object to signal property %1</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+146"/>
+ <source>Cannot assign object to list</source>
+ <translation type="unfinished">Nem lehet objektumot listához rendelni</translation>
+ </message>
+ <message>
+ <location line="+41"/>
+ <source>Cannot assign object to interface property</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Unable to create attached object</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+32"/>
+ <source>Cannot set properties on %1 as it is null</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeVisualDataModel</name>
+ <message>
+ <location filename="../src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp" line="+1088"/>
+ <source>Delegate component must be Item type.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeXmlListModel</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativeutilmodule.cpp" line="-12"/>
+ <location line="+2"/>
+ <source>Qt was built without support for xmlpatterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeXmlListModelRole</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel_p.h" line="+174"/>
+ <source>An XmlRole query must not start with &apos;/&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QDeclarativeXmlRoleList</name>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="+712"/>
+ <source>An XmlListModel query must start with &apos;/&apos; or &quot;//&quot;</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -1262,28 +2908,28 @@ erre
<message>
<location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+951"/>
<source>QDial</source>
- <translation>QDial</translation>
+ <translation></translation>
</message>
<message>
<location line="+2"/>
<source>SpeedoMeter</source>
- <translation>Sebességmérő</translation>
+ <translation></translation>
</message>
<message>
<location line="+2"/>
<source>SliderHandle</source>
- <translation>CsúszkaKezelő</translation>
+ <translation></translation>
</message>
</context>
<context>
<name>QDialog</name>
<message>
- <location filename="../src/gui/dialogs/qdialog.cpp" line="+636"/>
+ <location filename="../src/gui/dialogs/qdialog.cpp" line="+645"/>
<source>What&apos;s This?</source>
<translation>Mi ez?</translation>
</message>
<message>
- <location line="-135"/>
+ <location line="-122"/>
<source>Done</source>
<translation>Kész</translation>
</message>
@@ -1291,9 +2937,9 @@ erre
<context>
<name>QDialogButtonBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1872"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="+1920"/>
<location line="+464"/>
- <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+622"/>
+ <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+649"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -1305,7 +2951,7 @@ erre
<message>
<location line="+0"/>
<source>&amp;Save</source>
- <translation>&amp;Mentés</translation>
+ <translation>Menté&amp;s</translation>
</message>
<message>
<location line="+3"/>
@@ -1315,12 +2961,12 @@ erre
<message>
<location line="+3"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
<location line="+0"/>
<source>&amp;Cancel</source>
- <translation>&amp;Mégse</translation>
+ <translation>&amp;Mégsem</translation>
</message>
<message>
<location line="+3"/>
@@ -1335,12 +2981,12 @@ erre
<message>
<location line="+3"/>
<source>Apply</source>
- <translation>Alkalmazza</translation>
+ <translation>Alkalmaz</translation>
</message>
<message>
<location line="+3"/>
<source>Reset</source>
- <translation>Visszaállítás</translation>
+ <translation>Törlés</translation>
</message>
<message>
<location line="+3"/>
@@ -1350,12 +2996,12 @@ erre
<message>
<location line="+4"/>
<source>Don&apos;t Save</source>
- <translation>Ne mentse</translation>
+ <translation>Nincs mentés</translation>
</message>
<message>
<location line="+4"/>
<source>Discard</source>
- <translation>Eldob</translation>
+ <translation>Elvetés</translation>
</message>
<message>
<location line="+3"/>
@@ -1365,7 +3011,7 @@ erre
<message>
<location line="+3"/>
<source>Yes to &amp;All</source>
- <translation>Igen az &amp;összesre</translation>
+ <translation>&amp;Mindent elfogad</translation>
</message>
<message>
<location line="+3"/>
@@ -1375,12 +3021,12 @@ erre
<message>
<location line="+3"/>
<source>N&amp;o to All</source>
- <translation>&amp;Nem az összesre</translation>
+ <translation>Mindent &amp;kihagy</translation>
</message>
<message>
<location line="+3"/>
<source>Save All</source>
- <translation>Az összes mentése</translation>
+ <translation>Mindet menti</translation>
</message>
<message>
<location line="+3"/>
@@ -1390,17 +3036,17 @@ erre
<message>
<location line="+3"/>
<source>Retry</source>
- <translation>Újra próbálkozás</translation>
+ <translation>Újra</translation>
</message>
<message>
<location line="+3"/>
<source>Ignore</source>
- <translation>Mellőzés</translation>
+ <translation>Kihagyás</translation>
</message>
<message>
<location line="+3"/>
<source>Restore Defaults</source>
- <translation>Alapértelemezett beállítások visszaállítása</translation>
+ <translation>Alapértelmezések visszaállítása</translation>
</message>
<message>
<location line="-29"/>
@@ -1429,7 +3075,7 @@ erre
<location line="+3"/>
<source>Kind</source>
<comment>Match OS X Finder</comment>
- <translation>Fajta</translation>
+ <translation>Kind</translation>
</message>
<message>
<location line="+2"/>
@@ -1440,7 +3086,7 @@ erre
<message>
<location line="+6"/>
<source>Date Modified</source>
- <translation>Dátum módosítva</translation>
+ <translation>Módosítás dátuma</translation>
</message>
</context>
<context>
@@ -1453,12 +3099,12 @@ erre
<message>
<location line="+2"/>
<source>Dock</source>
- <translation>Dokkolás</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Float</source>
- <translation>Lebegtetés</translation>
+ <translation></translation>
</message>
</context>
<context>
@@ -1477,17 +3123,7 @@ erre
<context>
<name>QErrorMessage</name>
<message>
- <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+414"/>
- <source>&amp;Show this message again</source>
- <translation>Az üzenet újbóli &amp;megjelenítése</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>&amp;OK</source>
- <translation>&amp;OK</translation>
- </message>
- <message>
- <location line="-207"/>
+ <location filename="../src/gui/dialogs/qerrormessage.cpp" line="+208"/>
<source>Debug Message:</source>
<translation>Debug üzenet:</translation>
</message>
@@ -1501,110 +3137,112 @@ erre
<source>Fatal Error:</source>
<translation>Végzetes hiba:</translation>
</message>
+ <message>
+ <location line="+200"/>
+ <source>&amp;Show this message again</source>
+ <translation>Üzenet megjelenítése i&amp;smét</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
+ </message>
</context>
<context>
<name>QFile</name>
<message>
- <location filename="../src/corelib/io/qfile.cpp" line="+697"/>
+ <location filename="../src/corelib/io/qfile.cpp" line="+703"/>
<location line="+155"/>
<source>Destination file exists</source>
- <translation>A cél fájl létezik</translation>
+ <translation>A célfájl már létezik</translation>
</message>
<message>
<location line="-140"/>
<source>Will not rename sequential file using block copy</source>
- <translation>Blokkos másolásnál nem lesznek átnevezve az egymást követő fájlok</translation>
+ <translation>A szekvenciális fájlok nem nevezhetők át másolással</translation>
</message>
<message>
<location line="+23"/>
<source>Cannot remove source file</source>
- <translation>Nem lehet a forrás fájlt eltávolítani</translation>
+ <translation>A forrás nem törölhető</translation>
</message>
<message>
<location line="+130"/>
<source>Cannot open %1 for input</source>
- <translation>Nem lehet megnyitni %1-t bementre</translation>
+ <translation>A(z) %1 nem nyitható meg bemenetként</translation>
</message>
<message>
<location line="+17"/>
<source>Cannot open for output</source>
- <translation>Nem lehet megnyitni a kimenetre</translation>
+ <translation>Nem nyitható meg kimenetként</translation>
</message>
<message>
<location line="+10"/>
<source>Failure to write block</source>
- <translation>Hiba történt a blokk írás közben</translation>
+ <translation>Hiba a blokk írásakor</translation>
</message>
<message>
<location line="+13"/>
<source>Cannot create %1 for output</source>
- <translation>Nem lehet létrehozni a(z) %1-t kimenetre</translation>
+ <translation>A(z) %1 nem hozható létre</translation>
</message>
</context>
<context>
<name>QFileDialog</name>
<message>
<location filename="../src/gui/dialogs/qfiledialog.cpp" line="+558"/>
- <location line="+450"/>
+ <location line="+481"/>
<source>All Files (*)</source>
- <translation>Az összes fájl (*)</translation>
- </message>
- <message>
- <location filename="../src/gui/dialogs/qfiledialog.ui"/>
- <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
- <source>Back</source>
- <translation>Vissza</translation>
+ <translation>Minden fájl (*)</translation>
</message>
<message>
- <location/>
- <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
- <source>List View</source>
- <translation>Lista nézet</translation>
+ <location line="+216"/>
+ <source>Directories</source>
+ <translation>Könyvtárak</translation>
</message>
<message>
- <location/>
- <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
- <source>Detail View</source>
- <translation>Részletes nézet</translation>
+ <location line="-3"/>
+ <location line="+55"/>
+ <location line="+1532"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Megnyitás</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+464"/>
- <location line="+1"/>
- <source>File</source>
- <translation>Fájl</translation>
+ <location line="-1587"/>
+ <location line="+55"/>
+ <source>&amp;Save</source>
+ <translation>Menté&amp;s</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-467"/>
+ <location line="-766"/>
<source>Open</source>
<translation>Megnyitás</translation>
</message>
<message>
- <location line="+2"/>
- <source>Save As</source>
- <translation>Mentés másként</translation>
- </message>
- <message>
- <location line="+689"/>
- <location line="+50"/>
- <location line="+1528"/>
- <source>&amp;Open</source>
- <translation>&amp;Megnyitás</translation>
+ <location line="+1537"/>
+ <source>%1 already exists.
+Do you want to replace it?</source>
+ <translation>%1 már létezik.
+Lecseréli?</translation>
</message>
<message>
- <location line="-1578"/>
- <location line="+50"/>
- <source>&amp;Save</source>
- <translation>&amp;Mentés</translation>
+ <location line="+20"/>
+ <source>%1
+File not found.
+Please verify the correct file name was given.</source>
+ <translation>%1
+A fájl nem található.
+Ellenőrizze, hogy jól adta-e meg a fájl nevét.</translation>
</message>
<message>
- <location line="+1801"/>
- <source>Recent Places</source>
- <translation>Utolsó helyek</translation>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+402"/>
+ <source>My Computer</source>
+ <translation>Számítógép</translation>
</message>
<message>
- <location line="-2511"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-1526"/>
<source>&amp;Rename</source>
- <translation>&amp;Átnevezés</translation>
+ <translation>Át&amp;nevezés</translation>
</message>
<message>
<location line="+1"/>
@@ -1617,101 +3255,107 @@ erre
<translation>&amp;Rejtett fájlok megjelenítése</translation>
</message>
<message>
- <location line="+1957"/>
- <source>New Folder</source>
- <translation>Új mappa</translation>
+ <location filename="../src/gui/dialogs/qfiledialog.ui"/>
+ <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
+ <source>Back</source>
+ <translation>Vissza</translation>
</message>
<message>
- <location line="-1992"/>
- <source>Find Directory</source>
- <translation>Könyvtár keresése</translation>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
+ <source>Parent Directory</source>
+ <translation>Szülőkönyvtár</translation>
</message>
<message>
- <location line="+696"/>
- <source>Directories</source>
- <translation>Könyvtárak</translation>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
+ <source>List View</source>
+ <translation>Lista nézet</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+174"/>
- <source>All Files (*.*)</source>
- <translation>Az összes fájl (*.*)</translation>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
+ <source>Detail View</source>
+ <translation>Részletes nézet</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-655"/>
- <location line="+659"/>
- <source>Directory:</source>
- <translation>Könyvtár:</translation>
+ <location/>
+ <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
+ <source>Files of type:</source>
+ <translation>Fájlok típusa:</translation>
</message>
<message>
- <location line="+810"/>
- <source>%1 already exists.
-Do you want to replace it?</source>
- <translation>A(z) %1 már létezik.
-Szeretné lecserélni?</translation>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+6"/>
+ <location line="+679"/>
+ <source>Directory:</source>
+ <translation>Könyvtár:</translation>
</message>
<message>
- <location line="+20"/>
- <source>%1
+ <source>
File not found.
-Please verify the correct file name was given.</source>
- <translation>%1
-Fájl nem található.
-Kérem ellenőrizze, hogy helyes fájlnevet adott meg.</translation>
- </message>
- <message>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+402"/>
- <source>My Computer</source>
- <translation>Sajátgép</translation>
- </message>
- <message>
- <location filename="../src/gui/dialogs/qfiledialog.ui"/>
- <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
- <source>Parent Directory</source>
- <translation>Szülő könyvtár</translation>
- </message>
- <message>
- <location/>
- <location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
- <source>Files of type:</source>
- <translation>Típusfájlok:</translation>
+Please verify the correct file name was given</source>
+ <translation type="obsolete">
+A fájl nem található.
+Ellenőrizze, hogy jól adta-e meg a fájl nevét</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-54"/>
+ <location line="+785"/>
<location line="+862"/>
<source>%1
Directory not found.
Please verify the correct directory name was given.</source>
<translation>%1
A könyvtár nem található.
-Kérem ellenőrizze le, hogy helyes könyvtár nevet adott meg.</translation>
+Ellenőrizze, hogy jól adta-e meg a könyvtár nevét.</translation>
</message>
<message>
<location line="-218"/>
<source>&apos;%1&apos; is write protected.
Do you want to delete it anyway?</source>
- <translation>A(z) &apos;%1&apos; írásvédett.
-Mégis törölni szeretné?</translation>
+ <translation>&apos;%1&apos; írásvédett.
+Biztosan törölni akarja?</translation>
</message>
<message>
<location line="+5"/>
<source>Are sure you want to delete &apos;%1&apos;?</source>
- <translation>Törölni szeretné &apos;%1&apos;?</translation>
+ <translation>Biztosan törölni akarja &apos;%1&apos;-t?</translation>
</message>
<message>
<location line="+15"/>
<source>Could not delete directory.</source>
- <translation>Nem sikerült törölni a könyvtárat.</translation>
+ <translation>A könyvtár nem törölhető.</translation>
+ </message>
+ <message>
+ <location line="+404"/>
+ <source>Recent Places</source>
+ <translation>Legutóbbi helyek</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qfiledialog_win.cpp" line="+148"/>
+ <source>All Files (*.*)</source>
+ <translation>Minden fájl (*.*)</translation>
</message>
<message>
- <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="-4"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2569"/>
+ <source>Save As</source>
+ <translation>Mentés másként</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/itemviews/qfileiconprovider.cpp" line="+464"/>
<source>Drive</source>
- <translation>Vezérlő</translation>
+ <translation>Meghajtó</translation>
</message>
<message>
- <location line="+9"/>
+ <location line="+3"/>
+ <location line="+1"/>
+ <source>File</source>
+ <translation>Fájl</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>File Folder</source>
<comment>Match Windows Explorer</comment>
- <translation>Fájl mappa</translation>
+ <translation>Mappa</translation>
</message>
<message>
<location line="+2"/>
@@ -1723,13 +3367,13 @@ Mégis törölni szeretné?</translation>
<location line="+9"/>
<source>Alias</source>
<comment>Mac OS X Finder</comment>
- <translation>Álnév</translation>
+ <translation>Link</translation>
</message>
<message>
<location line="+2"/>
<source>Shortcut</source>
<comment>All other platforms</comment>
- <translation>Gyorsbillentyű</translation>
+ <translation>Parancsikon</translation>
</message>
<message>
<location line="+7"/>
@@ -1737,9 +3381,14 @@ Mégis törölni szeretné?</translation>
<translation>Ismeretlen</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-2111"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-4"/>
+ <source>Find Directory</source>
+ <translation>Keresés a könyvtárban</translation>
+ </message>
+ <message>
+ <location line="+29"/>
<source>Show </source>
- <translation>Megjelenítés</translation>
+ <translation>Megjelenítés </translation>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.ui"/>
@@ -1748,80 +3397,86 @@ Mégis törölni szeretné?</translation>
<translation>Előre</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+7"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="+1992"/>
+ <source>New Folder</source>
+ <translation>Új könyvtár</translation>
+ </message>
+ <message>
+ <location line="-1985"/>
<source>&amp;New Folder</source>
- <translation>&amp;Új mappa</translation>
+ <translation>Ú&amp;j könyvtár</translation>
</message>
<message>
- <location line="+667"/>
- <location line="+38"/>
+ <location line="+687"/>
+ <location line="+43"/>
<source>&amp;Choose</source>
<translation>&amp;Kiválasztás</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qsidebar.cpp" line="+442"/>
<source>Remove</source>
- <translation>Eltávolítás</translation>
+ <translation>Törlés</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-698"/>
- <location line="+663"/>
+ <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-723"/>
+ <location line="+683"/>
<source>File &amp;name:</source>
- <translation>Fájl &amp;név:</translation>
+ <translation>Fájl &amp;neve:</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qfiledialog.ui"/>
<location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
<source>Look in:</source>
- <translation>Benéz:</translation>
+ <translation>Keresés itt:</translation>
</message>
<message>
<location/>
<location filename="../src/gui/dialogs/qfiledialog_embedded.ui"/>
<source>Create New Folder</source>
- <translation>Új mappa létrehozása</translation>
+ <translation>Új könyvtár létrehozása</translation>
</message>
-</context>
-<context>
- <name>QFileSystemModel</name>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+744"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+476"/>
- <source>%1 TB</source>
- <translation>%1 TB</translation>
+ <location/>
+ <source>Go back</source>
+ <translation>Vissza</translation>
</message>
<message>
- <location line="+2"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
- <source>%1 GB</source>
- <translation>%1 GB</translation>
+ <location/>
+ <source>Go forward</source>
+ <translation>Előre</translation>
</message>
<message>
- <location line="+2"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
- <source>%1 MB</source>
- <translation>%1 MB</translation>
+ <location/>
+ <source>Go to the parent directory</source>
+ <translation>Szülő mappába</translation>
</message>
<message>
- <location line="+2"/>
- <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
- <source>%1 KB</source>
- <translation>%1 KB</translation>
+ <location/>
+ <source>Create a New Folder</source>
+ <translation>Új mappa létrehozása</translation>
</message>
<message>
- <location line="+1"/>
- <source>%1 bytes</source>
- <translation>%1 bájt</translation>
+ <location/>
+ <source>Change to list view mode</source>
+ <translation>Váltás lista nézetre</translation>
</message>
<message>
- <location line="+77"/>
+ <location/>
+ <source>Change to detail view mode</source>
+ <translation>Váltás részletes lista nézetre</translation>
+ </message>
+</context>
+<context>
+ <name>QFileSystemModel</name>
+ <message>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="+836"/>
<source>Invalid filename</source>
<translation>Érvénytelen fájlnév</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;A(z) &quot;%1&quot; név nem használható.&lt;/b&gt;&lt;p&gt;Próbáljon meg más nevet használni, kevesebb karakterrel vagy írásjelekek nélkül.</translation>
+ <translation>&lt;b&gt;A(z) &quot;%1&quot; név nem használható.&lt;/b&gt;&lt;p&gt;Próbálja meg másik névvel, kevesebb karakterrel vagy írásjelek nélkül.</translation>
</message>
<message>
<location line="+64"/>
@@ -1837,7 +3492,7 @@ Mégis törölni szeretné?</translation>
<location line="+4"/>
<source>Kind</source>
<comment>Match OS X Finder</comment>
- <translation>Fajta</translation>
+ <translation>Kind</translation>
</message>
<message>
<location line="+2"/>
@@ -1848,12 +3503,12 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+7"/>
<source>Date Modified</source>
- <translation>Dátum módosítva</translation>
+ <translation>Módosítás dátuma</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+258"/>
+ <location filename="../src/gui/dialogs/qfilesystemmodel_p.h" line="+261"/>
<source>My Computer</source>
- <translation>Sajátgép</translation>
+ <translation>Számítógép</translation>
</message>
<message>
<location line="+2"/>
@@ -1861,6 +3516,35 @@ Mégis törölni szeretné?</translation>
<translation>Számítógép</translation>
</message>
<message>
+ <location filename="../src/gui/dialogs/qfilesystemmodel.cpp" line="-176"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+482"/>
+ <source>%1 TB</source>
+ <translation>%1 TB</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
+ <source>%1 GB</source>
+ <translation>%1 GB</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
+ <source>%1 MB</source>
+ <translation>%1 MB</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+2"/>
+ <source>%1 KB</source>
+ <translation>%1 KB</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>%1 bytes</source>
+ <translation>%1 byte</translation>
+ </message>
+ <message>
<location filename="../src/gui/itemviews/qdirmodel.cpp" line="+1"/>
<source>%1 byte(s)</source>
<translation>%1 bájt</translation>
@@ -1897,7 +3581,7 @@ Mégis törölni szeretné?</translation>
<message>
<location line="-1311"/>
<source>Demi</source>
- <translation>Fél</translation>
+ <translation>Félkövér</translation>
</message>
<message>
<location line="+6"/>
@@ -1915,12 +3599,12 @@ Mégis törölni szeretné?</translation>
<location line="-1165"/>
<location line="+1167"/>
<source>Oblique</source>
- <translation>Homályos</translation>
+ <translation>Ferde</translation>
</message>
<message>
<location line="+704"/>
<source>Any</source>
- <translation>Bármilyen</translation>
+ <translation>Bármelyik</translation>
</message>
<message>
<location line="+3"/>
@@ -1935,7 +3619,7 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Cyrillic</source>
- <translation>Ciril</translation>
+ <translation>Cirill</translation>
</message>
<message>
<location line="+3"/>
@@ -1955,17 +3639,17 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Syriac</source>
- <translation>Szíriai</translation>
+ <translation>Szír</translation>
</message>
<message>
<location line="+3"/>
<source>Thaana</source>
- <translation>Thana</translation>
+ <translation>Thaana</translation>
</message>
<message>
<location line="+3"/>
<source>Devanagari</source>
- <translation>Dévanágari</translation>
+ <translation>Dévangári</translation>
</message>
<message>
<location line="+3"/>
@@ -2000,12 +3684,12 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Kannada</source>
- <translation>Kanadai</translation>
+ <translation>Kannada</translation>
</message>
<message>
<location line="+3"/>
<source>Malayalam</source>
- <translation>Maláj</translation>
+ <translation>Malayalam</translation>
</message>
<message>
<location line="+3"/>
@@ -2015,7 +3699,7 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Thai</source>
- <translation>Tájföldi</translation>
+ <translation>Thai</translation>
</message>
<message>
<location line="+3"/>
@@ -2030,12 +3714,12 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Myanmar</source>
- <translation>Mianmari</translation>
+ <translation>Miannmari</translation>
</message>
<message>
<location line="+3"/>
<source>Georgian</source>
- <translation>Grúz</translation>
+ <translation>Gergely</translation>
</message>
<message>
<location line="+3"/>
@@ -2065,12 +3749,12 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Vietnamese</source>
- <translation>Vietnámi</translation>
+ <translation>Vietnám</translation>
</message>
<message>
<location line="+3"/>
<source>Symbol</source>
- <translation>Szimbólum</translation>
+ <translation>Szimbolum</translation>
</message>
<message>
<location line="+3"/>
@@ -2080,7 +3764,7 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Runic</source>
- <translation>Székely</translation>
+ <translation>Rúna</translation>
</message>
<message>
<location line="+3"/>
@@ -2091,14 +3775,14 @@ Mégis törölni szeretné?</translation>
<context>
<name>QFontDialog</name>
<message>
- <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+776"/>
+ <location filename="../src/gui/dialogs/qfontdialog.cpp" line="+768"/>
<source>&amp;Font</source>
- <translation>&amp;Betű</translation>
+ <translation>&amp;Betűtípus</translation>
</message>
<message>
<location line="+1"/>
<source>Font st&amp;yle</source>
- <translation>Betű st&amp;ílus</translation>
+ <translation>Betűtípu&amp;s stílusa</translation>
</message>
<message>
<location line="+1"/>
@@ -2113,97 +3797,81 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+2"/>
<source>Stri&amp;keout</source>
- <translation>Ki&amp;talál</translation>
+ <translation>Á&amp;thúzott</translation>
</message>
<message>
<location line="+1"/>
<source>&amp;Underline</source>
- <translation>&amp;Aláhúzás</translation>
+ <translation>&amp;Aláhúzott</translation>
</message>
<message>
<location line="+1"/>
<source>Sample</source>
- <translation>Minta</translation>
+ <translation>Példa</translation>
</message>
<message>
- <location line="-608"/>
- <location line="+257"/>
- <source>Select Font</source>
- <translation>Betű kiválasztása</translation>
+ <location line="+1"/>
+ <source>Wr&amp;iting System</source>
+ <translation>Í&amp;rásmód</translation>
</message>
<message>
- <location line="+352"/>
- <source>Wr&amp;iting System</source>
- <translation>Rendszer &amp;írása</translation>
+ <location line="-596"/>
+ <source>Select Font</source>
+ <translation>Betűtípus kiválasztása</translation>
</message>
</context>
<context>
<name>QFtp</name>
<message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+2303"/>
- <source>Host %1 found</source>
- <translation>%1 host megtalálva</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Host found</source>
- <translation>Hoszt megtalálva</translation>
- </message>
- <message>
- <location filename="../src/network/access/qftp.cpp" line="+1008"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="-1456"/>
- <location line="+1451"/>
- <source>Connected to host %1</source>
- <translation>%1 hosztra csatlkoztatva</translation>
- </message>
- <message>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+7"/>
- <source>Connected to host</source>
- <translation>Hosztra csatlakoztatva</translation>
- </message>
- <message>
- <location line="-5"/>
- <source>Connection to %1 closed</source>
- <translation>%1-re csatlakoztatása bezárva</translation>
- </message>
- <message>
- <location filename="../src/network/access/qftp.cpp" line="+1377"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="-243"/>
- <location line="+250"/>
- <source>Connection closed</source>
- <translation>Kapcsolat bezárva</translation>
+ <location filename="../src/network/access/qftp.cpp" line="+828"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+683"/>
+ <source>Not connected</source>
+ <translation>Nincs kapcsolat</translation>
</message>
<message>
- <location line="-1489"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="-1566"/>
+ <location line="+68"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+65"/>
<source>Host %1 not found</source>
- <translation>%1 host nem található</translation>
+ <translation>%1 kiszolgáló nem található</translation>
</message>
<message>
<location line="+4"/>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+4"/>
<source>Connection refused to host %1</source>
- <translation>Kapcsolat elutasítva a(z) %1 hoszttal</translation>
+ <translation>A kapcsolódás %1 kiszolgálóhoz elutasítva</translation>
</message>
<message>
<location line="+4"/>
<source>Connection timed out to host %1</source>
- <translation>Kapcsolati időtúllépés a %1 hoszttal</translation>
+ <translation>A várakozási idő lejárt a(z) %1 kiszolgálóhoz</translation>
</message>
<message>
- <location line="+501"/>
+ <location line="+104"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+102"/>
+ <location line="+1451"/>
+ <source>Connected to host %1</source>
+ <translation>Kapcsolódva %1 kiszolgálóhoz</translation>
+ </message>
+ <message>
+ <location line="+219"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="-1290"/>
+ <source>Connection refused for data connection</source>
+ <translation>Az adatkapcsolat elutasítva</translation>
+ </message>
+ <message>
+ <location line="+178"/>
<location line="+29"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+458"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+195"/>
<location line="+728"/>
<source>Unknown error</source>
<translation>Ismeretlen hiba</translation>
</message>
<message>
- <location line="+891"/>
+ <location line="+897"/>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+77"/>
<source>Connecting to host failed:
%1</source>
- <translation>A hoszthoz kapcsolódás nem sikerült:
+ <translation>A kapcsolódás a kiszolgálóhoz nem sikerült:
%1</translation>
</message>
<message>
@@ -2211,7 +3879,7 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Login failed:
%1</source>
- <translation>Bejelentkezési hiba:
+ <translation>A bejelentkezés nem sikerült:
%1</translation>
</message>
<message>
@@ -2219,7 +3887,7 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Listing directory failed:
%1</source>
- <translation>Könyvtár listázási hiba:
+ <translation>A könyvtár listázása nem sikerült:
%1</translation>
</message>
<message>
@@ -2227,7 +3895,7 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Changing directory failed:
%1</source>
- <translation>Könyvtár változtatási hiba:
+ <translation>A könyvtárváltás nem sikerült:
%1</translation>
</message>
<message>
@@ -2235,7 +3903,7 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Downloading file failed:
%1</source>
- <translation>Fájl letöltési hiba:
+ <translation>A fájl letöltése nem sikerült:
%1</translation>
</message>
<message>
@@ -2243,7 +3911,7 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Uploading file failed:
%1</source>
- <translation>Fájl feltöltési hiba:
+ <translation>A fájl feltöltése nem sikerült:
%1</translation>
</message>
<message>
@@ -2251,7 +3919,7 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Removing file failed:
%1</source>
- <translation>Fájl eltávolítási hiba:
+ <translation>A fájl törlése nem sikerült:
%1</translation>
</message>
<message>
@@ -2259,7 +3927,7 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Creating directory failed:
%1</source>
- <translation>Könyvtár létrehozási hiba:
+ <translation>A könyvtár létrehozása nem sikerült:
%1</translation>
</message>
<message>
@@ -2267,39 +3935,66 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3ftp.cpp" line="+3"/>
<source>Removing directory failed:
%1</source>
- <translation>Könyvtár eltávolítása hiba:
+ <translation>A könyvtár törlése nem sikerült:
%1</translation>
</message>
<message>
- <location line="-1529"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="-1356"/>
- <source>Not connected</source>
- <translation>Nincs csatlakoztatva</translation>
+ <location line="+28"/>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="+25"/>
+ <location line="+250"/>
+ <source>Connection closed</source>
+ <translation>A kapcsolat bezárult</translation>
</message>
<message>
- <location line="+399"/>
- <location filename="../src/qt3support/network/q3ftp.cpp" line="+332"/>
- <source>Connection refused for data connection</source>
- <translation>Adat kapcsolat érdekében történő csatlakozás megtagadva</translation>
+ <location filename="../src/qt3support/network/q3ftp.cpp" line="-11"/>
+ <source>Host %1 found</source>
+ <translation>%1 kiszolgálót megtaláltam</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Connection to %1 closed</source>
+ <translation>A kapcsolat %1 kiszolgálóval bezárult</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Host found</source>
+ <translation>A kiszolgálót megtaláltam</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Connected to host</source>
+ <translation>Kapcsolódva a kiszolgálóhoz</translation>
+ </message>
+</context>
+<context>
+ <name>QGstreamerPlayerSession</name>
+ <message>
+ <source>Unable to play %1</source>
+ <translation type="obsolete">Nem lehet lejátszani: %1</translation>
</message>
</context>
<context>
<name>QHostInfo</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_p.h" line="+185"/>
+ <location filename="../src/network/kernel/qhostinfo_p.h" line="+103"/>
<source>Unknown error</source>
<translation>Ismeretlen hiba</translation>
</message>
+ <message>
+ <location filename="../src/network/kernel/qhostinfo.cpp" line="+171"/>
+ <source>No host name given</source>
+ <translation>Nem adott meg gépnevet</translation>
+ </message>
</context>
<context>
<name>QHostInfoAgent</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+257"/>
+ <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+260"/>
<location line="+32"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+220"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+215"/>
<location line="+27"/>
<source>Host not found</source>
- <translation>A hoszt nem található</translation>
+ <translation>A kiszolgáló nem található</translation>
</message>
<message>
<location line="-45"/>
@@ -2307,90 +4002,34 @@ Mégis törölni szeretné?</translation>
<location filename="../src/network/kernel/qhostinfo_win.cpp" line="-34"/>
<location line="+29"/>
<source>Unknown address type</source>
- <translation>Ismeretlen cím típus</translation>
- </message>
- <message>
- <location line="+10"/>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-19"/>
- <location line="+27"/>
- <source>Unknown error</source>
- <translation>Ismeretlen hiba</translation>
+ <translation>Ismeretlen címtípus</translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-67"/>
+ <location line="-88"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="-59"/>
<source>No host name given</source>
- <translation>Nincs hoszt név megadva</translation>
+ <translation>Nem adott meg gépnevet</translation>
</message>
<message>
- <location line="+0"/>
+ <location line="+1"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+0"/>
<source>Invalid hostname</source>
- <translation>Érvénytelen hoszt név</translation>
+ <translation>Érvénytelen gépnév</translation>
+ </message>
+ <message>
+ <location line="+97"/>
+ <location filename="../src/network/kernel/qhostinfo_win.cpp" line="+40"/>
+ <location line="+27"/>
+ <source>Unknown error</source>
+ <translation>Ismeretlen hiba</translation>
</message>
</context>
<context>
<name>QHttp</name>
<message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+578"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+1835"/>
- <source>Connection refused</source>
- <translation>Kapcsolat megtagadva</translation>
- </message>
- <message>
- <location filename="../src/network/access/qhttp.cpp" line="+2639"/>
- <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>A(z) %1 hoszt nem található</translation>
- </message>
- <message>
- <location line="-62"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="-45"/>
- <source>Wrong content length</source>
- <translation>Hibás tartalom hossz</translation>
- </message>
- <message>
- <location line="+82"/>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+10"/>
- <location line="+19"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+48"/>
- <source>HTTP request failed</source>
- <translation>HTTP kérési hiba</translation>
- </message>
- <message>
- <location filename="../src/qt3support/network/q3http.cpp" line="+450"/>
- <source>Host %1 found</source>
- <translation>A(z) %1 hoszt nem található</translation>
- </message>
- <message>
- <location line="+14"/>
- <source>Host found</source>
- <translation>Hoszt megtalálható</translation>
- </message>
- <message>
- <location line="-11"/>
- <source>Connected to host %1</source>
- <translation>%1 hoszthoz csatlakozva van</translation>
- </message>
- <message>
- <location line="+14"/>
- <source>Connected to host</source>
- <translation>Hosztra csatlakoztatva</translation>
- </message>
- <message>
- <location line="-11"/>
- <source>Connection to %1 closed</source>
- <translation>%1-re csatlkozás bezárva</translation>
- </message>
- <message>
- <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-22"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+14"/>
- <source>Connection closed</source>
- <translation>Kapcsolat bezárva</translation>
- </message>
- <message>
- <location filename="../src/network/access/qhttp.cpp" line="-1077"/>
+ <location filename="../src/network/access/qhttp.cpp" line="+1582"/>
<location line="+820"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="-1152"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+1159"/>
<location line="+567"/>
<source>Unknown error</source>
<translation>Ismeretlen hiba</translation>
@@ -2399,30 +4038,60 @@ Mégis törölni szeretné?</translation>
<location line="-568"/>
<location filename="../src/qt3support/network/q3http.cpp" line="-370"/>
<source>Request aborted</source>
- <translation>Kérés megszakítva</translation>
+ <translation>A kérés megszakítva</translation>
</message>
<message>
<location line="+579"/>
<location filename="../src/qt3support/network/q3http.cpp" line="+381"/>
<source>No server set to connect to</source>
- <translation>Nincsen szerver beállítva, amire csatlakozni lehetne</translation>
+ <translation>Nincs szerver megadva</translation>
</message>
<message>
- <location line="+168"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+60"/>
+ <location line="+164"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+56"/>
+ <source>Wrong content length</source>
+ <translation>Rossz tartalomhossz</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+4"/>
<source>Server closed connection unexpectedly</source>
<translation>A szerver váratlanul bezárta a kapcsolatot</translation>
</message>
<message>
- <location line="+172"/>
- <location filename="../src/qt3support/network/q3http.cpp" line="+113"/>
+ <location line="+383"/>
+ <source>Error writing response to device</source>
+ <translation>Hiba a válasz eszközre írása során</translation>
+ </message>
+ <message>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="-6"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+38"/>
+ <source>Connection refused</source>
+ <translation>A kapcsolat elutasítva</translation>
+ </message>
+ <message>
+ <location filename="../src/network/access/qhttp.cpp" line="-325"/>
+ <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 kiszolgáló nem található</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
+ <source>HTTP request failed</source>
+ <translation>A HTTP kérés nem sikerült</translation>
+ </message>
+ <message>
+ <location line="+94"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+69"/>
<source>Invalid HTTP response header</source>
- <translation>Érvénytelen HTTP válasz fejléc</translation>
+ <translation>Érvénytelen HTTP válasz-fejléc</translation>
</message>
<message>
<location line="+28"/>
<source>Unknown authentication method</source>
- <translation>Ismeretlen hitelesítési eljárás</translation>
+ <translation>Ismeretlen azonosítási mód</translation>
</message>
<message>
<location line="+97"/>
@@ -2430,57 +4099,83 @@ Mégis törölni szeretné?</translation>
<location filename="../src/qt3support/network/q3http.cpp" line="+40"/>
<location line="+47"/>
<source>Invalid HTTP chunked body</source>
- <translation>Érvénytelen nagy HTTP törzs</translation>
+ <translation>Érvénytelen HTTP törzsrészlet</translation>
</message>
<message>
- <location line="+38"/>
- <source>Error writing response to device</source>
- <translation>Hiba történt a válasz eszközre írása közben</translation>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+294"/>
+ <source>Host %1 found</source>
+ <translation>%1 kiszolgálót megtaláltam</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connected to host %1</source>
+ <translation>Kapcsolódva %1 kiszolgálóhoz</translation>
</message>
<message>
- <location line="-173"/>
+ <location line="+3"/>
+ <source>Connection to %1 closed</source>
+ <translation>A kapcsolat %1 kiszolgálóval bezárult</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Host found</source>
+ <translation>A kiszolgálót megtaláltam</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Connected to host</source>
+ <translation>Kapcsolódva a kiszolgálóhoz</translation>
+ </message>
+ <message>
+ <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+7"/>
+ <location filename="../src/qt3support/network/q3http.cpp" line="+3"/>
+ <source>Connection closed</source>
+ <translation>A kapcsolat bezárult</translation>
+ </message>
+ <message>
+ <location filename="../src/network/access/qhttp.cpp" line="-135"/>
<source>Proxy authentication required</source>
- <translation>Proxy hitelesítés szükséges</translation>
+ <translation>A proxy azonosítást követel</translation>
</message>
<message>
<location line="+4"/>
<source>Authentication required</source>
- <translation>Hitelesítés szükséges</translation>
+ <translation>Azonosítás szükséges</translation>
+ </message>
+ <message>
+ <location line="-2425"/>
+ <source>HTTPS connection requested but SSL support not compiled in</source>
+ <translation>HTTPS kapcsolat kiépítése szükséges, de nincs SSL támogatás</translation>
+ </message>
+ <message>
+ <location line="+2266"/>
+ <source>Connection refused (or timed out)</source>
+ <translation>A kapcsolat elutasítva (vagy időtúllépés történt)</translation>
</message>
<message>
<location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+6"/>
<source>Proxy requires authentication</source>
- <translation>A proxy a hitelesítést kéri</translation>
+ <translation>A proxy azonosítást követel</translation>
</message>
<message>
<location line="+3"/>
<source>Host requires authentication</source>
- <translation>A hoszt hitelesítést kér</translation>
+ <translation>A gép azonosítást követel</translation>
</message>
<message>
<location line="+3"/>
<source>Data corrupted</source>
- <translation>Sérült adat</translation>
+ <translation>Az adatok megsérültek</translation>
</message>
<message>
- <location line="+6"/>
- <source>SSL handshake failed</source>
- <translation>SSL kézfogási hiba</translation>
- </message>
- <message>
- <location line="-3"/>
+ <location line="+3"/>
<source>Unknown protocol specified</source>
- <translation>Ismeretlen protokoll van megadva</translation>
- </message>
- <message>
- <location filename="../src/network/access/qhttp.cpp" line="-159"/>
- <source>Connection refused (or timed out)</source>
- <translation>Kapcsolat megtagadva (vagy időtúllépés)</translation>
+ <translation>Ismeretlen protokoll</translation>
</message>
<message>
- <location line="-2266"/>
- <source>HTTPS connection requested but SSL support not compiled in</source>
- <translation>HTTP kapcsolat lett kérve, de az SSL támogatás nincs beleforgatva</translation>
+ <location line="+3"/>
+ <source>SSL handshake failed</source>
+ <translation>Az SSL kézfogás sikertelen volt</translation>
</message>
</context>
<context>
@@ -2488,17 +4183,17 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/network/socket/qhttpsocketengine.cpp" line="-89"/>
<source>Did not receive HTTP response from proxy</source>
- <translation>Nem kapott HTTP választ a proxy-tól</translation>
+ <translation>A proxy nem küldött HTTP választ</translation>
</message>
<message>
<location line="+25"/>
<source>Error parsing authentication request from proxy</source>
- <translation>Hiba történt a proxy hitelesítés kérésének elemzése közben</translation>
+ <translation>Hiba a proxy azonosítási kérelmének értelmezésekor</translation>
</message>
<message>
<location line="+31"/>
<source>Authentication required</source>
- <translation>Hitelesítés szükséges</translation>
+ <translation>Azonosítás szükséges</translation>
</message>
<message>
<location line="+27"/>
@@ -2508,27 +4203,27 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+10"/>
<source>Error communicating with HTTP proxy</source>
- <translation>Hiba történt a HTTP proxy-val történő kommunikáció közben</translation>
+ <translation>Hiba a HTTP proxyval való kommunikáció során</translation>
</message>
<message>
<location line="+23"/>
<source>Proxy server not found</source>
- <translation>A proxy szerver nem található</translation>
+ <translation>A proxy nem található</translation>
</message>
<message>
<location line="+2"/>
<source>Proxy connection refused</source>
- <translation>A proxy kapcsolat elutasítva</translation>
+ <translation>A proxy elutasította a kapcsolatot</translation>
</message>
<message>
<location line="+2"/>
<source>Proxy server connection timed out</source>
- <translation>Proxy szerver kapcsolódási időtúllépés</translation>
+ <translation>A kapcslat időtúllépés miatt megszakadt a proxxyval</translation>
</message>
<message>
<location line="+2"/>
<source>Proxy connection closed prematurely</source>
- <translation>Proxy kapcsolódás túl korán be lett zárva</translation>
+ <translation>A proxy váratlanul lezárta a kapcsolatot</translation>
</message>
</context>
<context>
@@ -2536,22 +4231,22 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/sql/drivers/ibase/qsql_ibase.cpp" line="+1491"/>
<source>Error opening database</source>
- <translation>Hiba történt az adatbázis megnyitása közben</translation>
+ <translation>Adatbázis megnyitási hiba</translation>
</message>
<message>
<location line="+54"/>
<source>Could not start transaction</source>
- <translation>Nem sikerült elindítani a tranzakciót</translation>
+ <translation>A tranzakció nem indítható</translation>
</message>
<message>
<location line="+13"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+13"/>
<source>Unable to rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
</message>
</context>
<context>
@@ -2559,102 +4254,102 @@ Mégis törölni szeretné?</translation>
<message>
<location line="-1149"/>
<source>Unable to create BLOB</source>
- <translation>Nem lehet BLOB-t létrehozni</translation>
+ <translation>A BLOB nem hozható létre </translation>
</message>
<message>
<location line="+6"/>
<source>Unable to write BLOB</source>
- <translation>Nem lehet írni a BLOB-t</translation>
+ <translation>A BLOB nem írható</translation>
</message>
<message>
<location line="+14"/>
<source>Unable to open BLOB</source>
- <translation>Nem lehet megnyitni a BLOB-t</translation>
+ <translation>A BLOB nem nyitható meg</translation>
</message>
<message>
<location line="+16"/>
<source>Unable to read BLOB</source>
- <translation>Nem lehet olvasni a BLOB-t</translation>
+ <translation>A BLOB nem olvasható</translation>
</message>
<message>
<location line="+125"/>
<location line="+187"/>
<source>Could not find array</source>
- <translation>Nem sikerült megtalálni a tömböt</translation>
+ <translation>A tömb nem található</translation>
</message>
<message>
<location line="-155"/>
<source>Could not get array data</source>
- <translation>Nem sikerüét megszerezni a tömb adatokat</translation>
+ <translation>A tömbbeli adatok nem érhetők el</translation>
</message>
<message>
<location line="+210"/>
<source>Could not get query info</source>
- <translation>Nem sikerült megszerezni a lekérdezi információt</translation>
+ <translation>A lekérdezés-információ nem érhető el</translation>
</message>
<message>
<location line="+20"/>
<source>Could not start transaction</source>
- <translation>Nem sikerült elindítani a tranzakciót</translation>
+ <translation>A tranzakció nem indítható</translation>
</message>
<message>
<location line="+19"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+42"/>
<source>Could not allocate statement</source>
- <translation>Nem sikerült lefoglalni a műveletet</translation>
+ <translation>A művelet helyfoglalása sikertelen</translation>
</message>
<message>
<location line="+5"/>
<source>Could not prepare statement</source>
- <translation>Nem sikerült felkészülni a műveletre</translation>
+ <translation>A művelet előkészítése sikertelen</translation>
</message>
<message>
<location line="+5"/>
<location line="+11"/>
<source>Could not describe input statement</source>
- <translation>Nem sikerült leírni a bemeneti állítást</translation>
+ <translation>A bemeneti művelet leírása sikertelen</translation>
</message>
<message>
<location line="+14"/>
<source>Could not describe statement</source>
- <translation>Nem sikerült leírni az állítást</translation>
+ <translation>A művelet leírása sikertelen</translation>
</message>
<message>
<location line="+115"/>
<source>Unable to close statement</source>
- <translation>Nem lehet megnyitni az állítást</translation>
+ <translation>A művelet lezárása sikertelen</translation>
</message>
<message>
<location line="+8"/>
<source>Unable to execute query</source>
- <translation>Nem lehet végrehajtani a lekérdezést</translation>
+ <translation>A művelet nem hajtható végre</translation>
</message>
<message>
<location line="+46"/>
<source>Could not fetch next item</source>
- <translation>Nem lehet letölteni a következő elemet</translation>
+ <translation>A következő adat nem olvasható ki</translation>
</message>
<message>
<location line="+197"/>
<source>Could not get statement info</source>
- <translation>Nem lehet az művelet információkat megszerezni</translation>
+ <translation>A következő művelet információi nem érhetők el</translation>
</message>
</context>
<context>
<name>QIODevice</name>
<message>
- <location filename="../src/corelib/global/qglobal.cpp" line="+2072"/>
+ <location filename="../src/corelib/global/qglobal.cpp" line="+2120"/>
<source>Permission denied</source>
- <translation>Beleegyezés megtagadva</translation>
+ <translation>Hozzáférés megtagadva</translation>
</message>
<message>
<location line="+3"/>
<source>Too many open files</source>
- <translation>Túl sok fájl megnyitása</translation>
+ <translation>Túl sok fájl van nyitva</translation>
</message>
<message>
<location line="+3"/>
@@ -2664,10 +4359,10 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>No space left on device</source>
- <translation>Nincs több hely a lemezen</translation>
+ <translation>Nincs több hely az eszközön</translation>
</message>
<message>
- <location filename="../src/corelib/io/qiodevice.cpp" line="+1561"/>
+ <location filename="../src/corelib/io/qiodevice.cpp" line="+1598"/>
<source>Unknown error</source>
<translation>Ismeretlen hiba</translation>
</message>
@@ -2675,34 +4370,34 @@ Mégis törölni szeretné?</translation>
<context>
<name>QInputContext</name>
<message>
- <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+256"/>
+ <location filename="../src/gui/inputmethod/qinputcontextfactory.cpp" line="+301"/>
<source>XIM</source>
<translation>XIM</translation>
</message>
<message>
<location line="+4"/>
<source>FEP</source>
- <translation>FEP</translation>
+ <translation></translation>
</message>
<message>
<location line="+23"/>
<source>XIM input method</source>
- <translation>XIM beviteli eljárás</translation>
+ <translation>XIM beviteli mód</translation>
</message>
<message>
<location line="+4"/>
<source>Windows input method</source>
- <translation>Windows beviteli eljárás</translation>
+ <translation>Windows beviteli mód</translation>
</message>
<message>
<location line="+4"/>
<source>Mac OS X input method</source>
- <translation>Mac OS X beviteli eljárás</translation>
+ <translation>Mac OS X beviteli mód</translation>
</message>
<message>
<location line="+4"/>
<source>S60 FEP input method</source>
- <translation>S60 FEP beviteli eljárás</translation>
+ <translation>S60 FEP beviteli mód</translation>
</message>
</context>
<context>
@@ -2710,35 +4405,47 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/gui/dialogs/qinputdialog.cpp" line="+223"/>
<source>Enter a value:</source>
- <translation>Egy értél bevitele:</translation>
+ <translation>Írjon be egy értéket:</translation>
</message>
</context>
<context>
<name>QLibrary</name>
<message>
+ <source>QLibrary::load_sys: Cannot load %1 (%2)</source>
+ <translation type="obsolete">QLibrary::load_sys: %1 nem tölthető be (%2)</translation>
+ </message>
+ <message>
+ <source>QLibrary::unload_sys: Cannot unload %1 (%2)</source>
+ <translation type="obsolete">QLibrary::load_sys: %1 nem távolítható el (%2)</translation>
+ </message>
+ <message>
+ <source>QLibrary::resolve_sys: Symbol &quot;%1&quot; undefined in %2 (%3)</source>
+ <translation type="obsolete">QLibrary::load_sys: &quot;%1&quot; szimbólum nem definiált ebben: %2 (%3)</translation>
+ </message>
+ <message>
<location filename="../src/corelib/plugin/qlibrary.cpp" line="+383"/>
<source>Could not mmap &apos;%1&apos;: %2</source>
- <translation>Nem sikerült az mmap &apos;%1&apos;: %2</translation>
+ <translation>Nem sikerült mmap-olni a(z) &apos;%1&apos;-t: %2</translation>
</message>
<message>
<location line="+22"/>
<source>Plugin verification data mismatch in &apos;%1&apos;</source>
- <translation>Beépülő modul igazoló adata nem megfelelő a(z) &apos;%1&apos;-ben</translation>
+ <translation>Plugin ellenőrző adat eltérés: &apos;%1&apos;</translation>
</message>
<message>
<location line="+6"/>
<source>Could not unmap &apos;%1&apos;: %2</source>
- <translation>Nem lehet eltávolítani a letérképezést &apos;%1&apos;: %2</translation>
+ <translation>Nem sikerült unmap-olni a(z) &apos;%1&apos;-t: %2</translation>
</message>
<message>
- <location line="+344"/>
+ <location line="+375"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. (%2.%3.%4) [%5]</source>
- <translation>A(z) &apos;%1&apos; beépülő modul inkompatibilis Qt könyvtárat használ. (%2.%3.%4) [%5]</translation>
+ <translation>A(z) &apos;%1&apos; plugin inkompatíbilis Qt függvénykönyvtárat használ. (%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>A(z) &apos;%1&apos; beépülő modul inkompatibilis Qt könyvtárat használ. A várt építési kulcs &apos;%2&apos;, kapott &apos;%3&apos;</translation>
+ <translation>A(z) &apos;%1&apos; plugin inkompatíbilis Qt függvénykönyvtárat használ. A várt build kucs &quot;%2&quot;, a kapott &quot;%3&quot;</translation>
</message>
<message>
<location line="+365"/>
@@ -2746,77 +4453,78 @@ Mégis törölni szeretné?</translation>
<translation>Ismeretlen hiba</translation>
</message>
<message>
- <location line="-402"/>
+ <location line="-540"/>
+ <location line="+138"/>
<location filename="../src/corelib/plugin/qpluginloader.cpp" line="+343"/>
<source>The shared library was not found.</source>
- <translation>A megosztott könyvtár nem található.</translation>
+ <translation>Az osztott függvénykönyvtár nem található.</translation>
</message>
<message>
<location line="+2"/>
<source>The file &apos;%1&apos; is not a valid Qt plugin.</source>
- <translation>A(z) &apos;%1&apos; fájl nem egy érvényes Qt beépülő modul.</translation>
+ <translation>A(z) &apos;%1&apos; fájl nem érvényes Qt plugin.</translation>
</message>
<message>
<location line="+43"/>
<source>The plugin &apos;%1&apos; uses incompatible Qt library. (Cannot mix debug and release libraries.)</source>
- <translation>A(z) &apos;%1&apos; beépülő modul inkompatibilis Qt könyvtárat használ. (Nem lehet a debug és kiadási könyvtárakat keverni.)</translation>
+ <translation>A(z) &apos;%1&apos; plugin inkompatíbilis Qt könyvtárat használ. (A debug és a release könyvtárak nem keverhetők.)</translation>
</message>
<message>
<location filename="../src/corelib/plugin/qlibrary_unix.cpp" line="+236"/>
<location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+87"/>
<source>Cannot load library %1: %2</source>
- <translation>Nem lehet betölteni a(z) %1 könyvtárat: %2</translation>
+ <translation>A(z) %1 könyvtár nem tölthető be: %2</translation>
</message>
<message>
<location line="+17"/>
<location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+22"/>
<source>Cannot unload library %1: %2</source>
- <translation>Nem lehet kirakni a(z) %1 könyvtárat: %2</translation>
+ <translation>A(z) %1 könyvtár nem távolítható el: %2</translation>
</message>
<message>
<location line="+34"/>
<location filename="../src/corelib/plugin/qlibrary_win.cpp" line="+15"/>
<source>Cannot resolve symbol &quot;%1&quot; in %2: %3</source>
- <translation>Nem lehet megfejteni a(z) &apos;%1&apos; szimbólumot a(z) %2-ben: %3</translation>
+ <translation>A(z) &quot;%1&quot; szimbólum nem oldható fel a(z) %2 könyvtárban: %3</translation>
</message>
</context>
<context>
<name>QLineEdit</name>
<message>
- <location filename="../src/gui/widgets/qlineedit.cpp" line="+2035"/>
- <source>Select All</source>
- <translation>Az összes kiválasztása</translation>
- </message>
- <message>
- <location line="-32"/>
+ <location filename="../src/gui/widgets/qlineedit.cpp" line="+2076"/>
<source>&amp;Undo</source>
<translation>&amp;Visszavonás</translation>
</message>
<message>
<location line="+4"/>
<source>&amp;Redo</source>
- <translation>&amp;Helyreállítás</translation>
+ <translation>Új&amp;ra</translation>
</message>
<message>
- <location line="+7"/>
+ <location line="+9"/>
<source>Cu&amp;t</source>
<translation>&amp;Kivágás</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>&amp;Copy</source>
<translation>&amp;Másolás</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+6"/>
<source>&amp;Paste</source>
<translation>&amp;Beillesztés</translation>
</message>
<message>
- <location line="+5"/>
+ <location line="+7"/>
<source>Delete</source>
<translation>Törlés</translation>
</message>
+ <message>
+ <location line="+8"/>
+ <source>Select All</source>
+ <translation>Összes kijelölése</translation>
+ </message>
</context>
<context>
<name>QLocalServer</name>
@@ -2824,22 +4532,22 @@ Mégis törölni szeretné?</translation>
<location filename="../src/network/socket/qlocalserver.cpp" line="+224"/>
<location filename="../src/network/socket/qlocalserver_unix.cpp" line="+246"/>
<source>%1: Name error</source>
- <translation>%1: Név hiba</translation>
+ <translation>%1: Hibás név</translation>
</message>
<message>
<location filename="../src/network/socket/qlocalserver_unix.cpp" line="-8"/>
<source>%1: Permission denied</source>
- <translation>%1: Engedély megtagadva</translation>
+ <translation>%1: hozzáférés megtagadva</translation>
</message>
<message>
<location line="+12"/>
<source>%1: Address in use</source>
- <translation>%1: Cím használatban</translation>
+ <translation>%1: A cím már használatban van</translation>
</message>
<message>
<location line="+5"/>
<source>%1: Unknown error %2</source>
- <translation>%1: Ismeretlen hiba %2</translation>
+ <translation>%1: ismeretlen hiba %2</translation>
</message>
</context>
<context>
@@ -2848,19 +4556,19 @@ Mégis törölni szeretné?</translation>
<location filename="../src/network/socket/qlocalsocket_tcp.cpp" line="+132"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+139"/>
<source>%1: Connection refused</source>
- <translation>%1: Kapcsolat elutasítva</translation>
+ <translation>%1: A kapcsolat elutasítva</translation>
</message>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Remote closed</source>
- <translation>%1: Távol bezárva</translation>
+ <translation>%1: A szerver lezárta a kapcsolatot</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="+45"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="+79"/>
+ <location line="+59"/>
<source>%1: Invalid name</source>
<translation>%1: Érvénytelen név</translation>
</message>
@@ -2868,43 +4576,43 @@ Mégis törölni szeretné?</translation>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Socket access error</source>
- <translation>%1: Socket hozzáférési hiba</translation>
+ <translation>%1: Socket elérési hiba</translation>
</message>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Socket resource error</source>
- <translation>%1: Socket erőforrás hiba</translation>
+ <translation>%1: Socket erőforrás probléma</translation>
</message>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Socket operation timed out</source>
- <translation>%1: Socker művelet időtúllépés</translation>
+ <translation>%1: Időtúllépés a socketen</translation>
</message>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: Datagram too large</source>
- <translation>%1: Túl nagy datagram</translation>
+ <translation>%1: A csomag túl nagy</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="-50"/>
+ <location filename="../src/network/socket/qlocalsocket_win.cpp" line="-64"/>
<source>%1: Connection error</source>
- <translation>%1: Kapcsolat hiba</translation>
+ <translation>%1: Kapcsolódási hiba</translation>
</message>
<message>
<location line="+3"/>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+3"/>
<source>%1: The socket operation is not supported</source>
- <translation>%1: A socket művelet nem támogatott</translation>
+ <translation>%1: A kívánt socket művelet nem támogatott</translation>
</message>
<message>
<location line="+4"/>
<source>%1: Unknown error</source>
- <translation>%1: Ismeretlen hiba</translation>
+ <translation>%1: Ismeretlen hiba </translation>
</message>
<message>
<location filename="../src/network/socket/qlocalsocket_unix.cpp" line="+4"/>
@@ -2916,89 +4624,90 @@ Mégis törölni szeretné?</translation>
<context>
<name>QMYSQLDriver</name>
<message>
- <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1261"/>
+ <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1287"/>
<source>Unable to open database &apos;</source>
- <translation>Nem lehet megnyitni az adatbázist</translation>
+ <translation>Az adatbázis nem nyitható meg: &apos;</translation>
</message>
<message>
<location line="+11"/>
<source>Unable to connect</source>
- <translation>Nem lehet kapcsolódni</translation>
+ <translation>Nem sikerült kapcsolódni</translation>
</message>
<message>
- <location line="+151"/>
+ <location line="+150"/>
<source>Unable to begin transaction</source>
- <translation>Nem lehet megkezdeni a tranzakciót</translation>
+ <translation>A tranzakció nem indítható</translation>
</message>
<message>
<location line="+17"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+17"/>
<source>Unable to rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
</message>
</context>
<context>
<name>QMYSQLResult</name>
<message>
- <location line="-969"/>
+ <location line="-977"/>
+ <location line="+31"/>
<source>Unable to fetch data</source>
- <translation>Nem lehet letölteni az adatot</translation>
+ <translation>Az adat nem olvasható ki</translation>
</message>
<message>
- <location line="+183"/>
+ <location line="+161"/>
<source>Unable to execute query</source>
- <translation>Nem lehet végrehajtani a lekérdezést</translation>
+ <translation>A lekérdezés nem hajtható végre</translation>
</message>
<message>
<location line="+6"/>
<source>Unable to store result</source>
- <translation>Nem lehet tárolni az eredményt</translation>
+ <translation>Az eredmény nem tárolható</translation>
</message>
<message>
<location line="+191"/>
<location line="+8"/>
<source>Unable to prepare statement</source>
- <translation>Nem lehet felkészülni a műveletre</translation>
+ <translation>A művelet előkészítése nem lehetséges</translation>
</message>
<message>
<location line="+37"/>
<source>Unable to reset statement</source>
- <translation>Nem lehet visszaállítani a műveleteket</translation>
+ <translation>A művelet visszaállítása nem lehetséges</translation>
</message>
<message>
<location line="+86"/>
<source>Unable to bind value</source>
- <translation>Nem lehet összekötni az értéket</translation>
+ <translation>A változó kötése sikertelen</translation>
</message>
<message>
<location line="+11"/>
<source>Unable to execute statement</source>
- <translation>Nem lehet végrehajtani az állítást</translation>
+ <translation>A művelet nem hajtható végre</translation>
</message>
<message>
<location line="+14"/>
<location line="+21"/>
<source>Unable to bind outvalues</source>
- <translation>Nem lehet összekötni a kiértékeléseket</translation>
+ <translation>A kimenő érték kötése sikertelen</translation>
</message>
<message>
<location line="-12"/>
<source>Unable to store statement results</source>
- <translation>Nem lehet letárolni a művelet eredményeket</translation>
+ <translation>A művelet eredményének tárolása sikertelen</translation>
</message>
<message>
<location line="-253"/>
<source>Unable to execute next query</source>
- <translation>Nem lehet végrehajtani a következő lekérdezést</translation>
+ <translation>A következő lekérdezés nem hajtható végre</translation>
</message>
<message>
<location line="+10"/>
<source>Unable to store next result</source>
- <translation>Nem lehet letárolni a következő eredményt</translation>
+ <translation>A következő eredmény nem tárolható</translation>
</message>
</context>
<context>
@@ -3006,7 +4715,7 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/gui/widgets/qmdiarea.cpp" line="+290"/>
<source>(Untitled)</source>
- <translation>(Címtelen)</translation>
+ <translation>(Névtelen)</translation>
</message>
</context>
<context>
@@ -3024,22 +4733,22 @@ Mégis törölni szeretné?</translation>
<message>
<location line="-18"/>
<source>Minimize</source>
- <translation>Minimalizálás</translation>
+ <translation>Kis méret</translation>
</message>
<message>
<location line="+13"/>
<source>Restore Down</source>
- <translation>Leállítás</translation>
+ <translation>Előző méret</translation>
</message>
<message>
<location line="+707"/>
<source>&amp;Restore</source>
- <translation>&amp;Letárolás</translation>
+ <translation>&amp;Visszaállítás</translation>
</message>
<message>
<location line="+3"/>
<source>&amp;Move</source>
- <translation>&amp;Mozgatás</translation>
+ <translation>Á&amp;thelyezés</translation>
</message>
<message>
<location line="+1"/>
@@ -3049,17 +4758,17 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+1"/>
<source>Mi&amp;nimize</source>
- <translation>&amp;Minimalizálás</translation>
+ <translation>&amp;Kis méret</translation>
</message>
<message>
<location line="+2"/>
<source>Ma&amp;ximize</source>
- <translation>Ma&amp;ximalizálás</translation>
+ <translation>Te&amp;ljes méret</translation>
</message>
<message>
<location line="+2"/>
<source>Stay on &amp;Top</source>
- <translation>&amp;Tetején maradni</translation>
+ <translation>Mindig leg&amp;felül</translation>
</message>
<message>
<location line="+3"/>
@@ -3067,19 +4776,24 @@ Mégis törölni szeretné?</translation>
<translation>&amp;Bezárás</translation>
</message>
<message>
- <location line="-729"/>
+ <location line="-787"/>
+ <source>- [%1]</source>
+ <translation>- [%1]</translation>
+ </message>
+ <message>
+ <location line="+58"/>
<source>Maximize</source>
- <translation>Maximalizálás</translation>
+ <translation>Teljes méret</translation>
</message>
<message>
<location line="+3"/>
<source>Unshade</source>
- <translation>Árnyékolás megszüntetése</translation>
+ <translation>Legördítés</translation>
</message>
<message>
<location line="+3"/>
<source>Shade</source>
- <translation>Árnyákolás</translation>
+ <translation>Felgördítés</translation>
</message>
<message>
<location line="+6"/>
@@ -3096,10 +4810,31 @@ Mégis törölni szeretné?</translation>
<source>Menu</source>
<translation>Menü</translation>
</message>
+</context>
+<context>
+ <name>QMediaPlayer</name>
+ <message>
+ <source>The QMediaPlayer object does not have a valid service</source>
+ <translation type="obsolete">A QMediaPlayer objektumnak nincs érvényes szolgáltatása</translation>
+ </message>
+</context>
+<context>
+ <name>QMediaPlaylist</name>
+ <message>
+ <source>Could not add items to read only playlist.</source>
+ <translation type="obsolete">Csak olvasható lejátszólistához nem lehet elemeket hozzáadni.</translation>
+ </message>
<message>
- <location line="-79"/>
- <source>- [%1]</source>
- <translation>- [%1]</translation>
+ <source>Playlist format is not supported</source>
+ <translation type="obsolete">A lejátszólista formátuma nem támogatott</translation>
+ </message>
+ <message>
+ <source>The file could not be accessed.</source>
+ <translation type="obsolete">A fájl nem elérhető.</translation>
+ </message>
+ <message>
+ <source>Playlist format is not supported.</source>
+ <translation type="obsolete">A lejátszólista formátuma nem támogatott.</translation>
</message>
</context>
<context>
@@ -3127,15 +4862,68 @@ Mégis törölni szeretné?</translation>
<context>
<name>QMenuBar</name>
<message>
- <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+410"/>
+ <source>About</source>
+ <translation type="obsolete">Névjegy</translation>
+ </message>
+ <message>
+ <source>Config</source>
+ <translation type="obsolete">Konfiguráció</translation>
+ </message>
+ <message>
+ <source>Preference</source>
+ <translation type="obsolete">Beállítások</translation>
+ </message>
+ <message>
+ <source>Options</source>
+ <translation type="obsolete">Opciók</translation>
+ </message>
+ <message>
+ <source>Setting</source>
+ <translation type="obsolete">Beállítás</translation>
+ </message>
+ <message>
+ <source>Setup</source>
+ <translation type="obsolete">Beállítás</translation>
+ </message>
+ <message>
+ <source>Quit</source>
+ <translation type="obsolete">Kilépés</translation>
+ </message>
+ <message>
+ <source>Exit</source>
+ <translation type="obsolete">Kilépés</translation>
+ </message>
+ <message>
+ <source>About %1</source>
+ <translation type="obsolete">%1 névjegye</translation>
+ </message>
+ <message>
+ <source>About Qt</source>
+ <translation type="obsolete">A Qt névjegye</translation>
+ </message>
+ <message>
+ <source>Preferences</source>
+ <translation type="obsolete">Beállítások</translation>
+ </message>
+ <message>
+ <source>Quit %1</source>
+ <translation type="obsolete">Kilépés: %1</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/widgets/qmenu_symbian.cpp" line="+456"/>
<source>Actions</source>
- <translation>Tevékenységek</translation>
+ <translation>Műveletek</translation>
</message>
</context>
<context>
<name>QMessageBox</name>
<message>
- <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1964"/>
+ <location filename="../src/gui/dialogs/qmessagebox.cpp" line="-1116"/>
+ <source>Help</source>
+ <translation>Súgó</translation>
+ </message>
+ <message>
+ <location line="-848"/>
<location line="+847"/>
<location filename="../src/gui/dialogs/qmessagebox.h" line="-52"/>
<location line="+8"/>
@@ -3143,42 +4931,83 @@ Mégis törölni szeretné?</translation>
<translation>OK</translation>
</message>
<message>
- <location line="+477"/>
- <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
- <translation>&lt;h3&gt;Qt-ról&lt;/h3&gt;&lt;p&gt;Ez a program a(z) %1 Qt verziót használja.&lt;/p&gt;</translation>
+ <source>&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;&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://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.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://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation type="obsolete">&lt;p&gt;A Qt egy C++ eszközkészlet keresztplatformos alkalmazások fejlesztéséhez, mely egyetlen, MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, és minden főbb kereskedelmi Unix változat között hordozható forrást ad; valamint elérhető még beágyazott eszközökhöz is, mint Qt beágyazott Linuxhoz és Qt Windows CE-hez.&lt;/p&gt;
+&lt;p&gt;A Qt három különböző licensz alatt érhető el, hogy illeszkedjen a különbőző felhasználói igényekhez:
+&lt;p&gt;A kereskedelmi licenszünk alkalmas saját/kereskedelmi szoftver fejlesztéséhez, ha nem akarja megosztani a forráskódot harmadik partnerrel vagy nem kívánja teljesíteni GNU LGPL v2.1 vagy GNU GPL v3.0 feltételeit.&lt;/p&gt;
+&lt;p&gt;A GNU LGPL v2.1 alá tartozó Qt licensz alkalmas Qt-n alapuló programok fejlesztéséhez (zárt vagy nyílt forrású), amennyiben betartja a GNU LGPL v2.1 kikötéseit és feltételeit.&lt;/p&gt;
+&lt;p&gt;A GNU General Public License v3.0 alá tartozó Qt licensz pedig alkalmas Qt-n alapuló programok fejlesztésére, ahol olyan programok kombinációját kívánja használni, melyek megfelelnek a GNU GPL version 3.0 feltételeinek vagy ahol hajlandó teljesíteni a GNU GPL v3.0 feltételeit.&lt;/p&gt;
+&lt;p&gt;Tekintse át a &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; oldalon a Qt licenszeit.&lt;/p&gt;
+&lt;p&gt;Copyright (C) 2009 Nokia Corporation és/vagy annak leányvállalat(-ai).&lt;/p&gt;
+&lt;p&gt;A Qt a Nokia terméke. További információért látogassa meg a &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; honlapot.&lt;/p&gt;</translation>
</message>
<message>
- <location line="+5"/>
- <source>&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;&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://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
- <translation></translation>
+ <location line="+513"/>
+ <source>About Qt</source>
+ <translation>A Qt névjegye</translation>
</message>
<message>
- <location line="+31"/>
- <source>About Qt</source>
- <translation>Qt-ról</translation>
+ <source>&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+ <translation type="obsolete">&lt;p&gt;A program a Qt %1 verzióját használja.&lt;/p&gt;</translation>
</message>
<message>
- <location line="-512"/>
- <source>Help</source>
- <translation>Súgó</translation>
+ <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://www.trolltech.com/qt/&quot;&gt;www.trolltech.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation type="obsolete">&lt;h3&gt;A Qt névjegye&lt;/h3&gt;%1&lt;p&gt;A Qt egy C++ eszközkészlet a kereszt-platformos alkalmazásfejlesztéshez.&lt;/p&gt;&lt;p&gt;A Qt egy-forrású hordozhatóságot biztosít az MS&amp;nbsp;Windows, a Mac&amp;nbsp;OS&amp;nbsp;X, a Linux, és az összes nagyobb kereskedelmi Unix változat között. A Qt mobileszközökhöz is elérhető, pl. Qtopia Core.&lt;/p&gt;&lt;p&gt;A Qt a Trolltech terméke. További információk: &lt;a href=&quot;http://www.trolltech.com/qt/&quot;&gt;www.trolltech.com/qt/&lt;/a&gt; .&lt;/p&gt;</translation>
</message>
<message>
- <location line="-1099"/>
+ <location line="-1641"/>
<source>Show Details...</source>
<translation>Részletek megjelenítése...</translation>
</message>
<message>
- <location line="+1"/>
+ <location line="+0"/>
<source>Hide Details...</source>
<translation>Részletek elrejtése...</translation>
</message>
+ <message>
+ <location line="+1605"/>
+ <source>&lt;h3&gt;About Qt&lt;/h3&gt;&lt;p&gt;This program uses Qt version %1.&lt;/p&gt;</source>
+ <translation>&lt;h3&gt;Qt névjegye&lt;/h3&gt;&lt;p&gt;Ez a program a Qt %1 verzióját használja.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>&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;&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://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;&lt;p&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;&lt;p&gt;Qt is a Nokia product. See &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation>&lt;p&gt;A Qt egy C++ eszközkészlet keresztplatformos alkalmazások fejlesztéséhez, mely egyetlen, MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, és minden főbb kereskedelmi Unix változat között hordozható forrást ad; valamint elérhető még beágyazott eszközökhöz is, mint Qt beágyazott Linuxhoz és Qt Windows CE-hez.&lt;/p&gt;
+&lt;p&gt;A Qt három különböző licensz alatt érhető el, hogy illeszkedjen a különbőző felhasználói igényekhez:
+&lt;p&gt;A kereskedelmi licenszünk alkalmas saját/kereskedelmi szoftver fejlesztéséhez, ha nem akarja megosztani a forráskódot harmadik partnerrel vagy nem kívánja teljesíteni GNU LGPL v2.1 vagy GNU GPL v3.0 feltételeit.&lt;/p&gt;
+&lt;p&gt;A GNU LGPL v2.1 alá tartozó Qt licensz alkalmas Qt-n alapuló programok fejlesztéséhez (zárt vagy nyílt forrású), amennyiben betartja a GNU LGPL v2.1 kikötéseit és feltételeit.&lt;/p&gt;
+&lt;p&gt;A GNU General Public License v3.0 alá tartozó Qt licensz pedig alkalmas Qt-n alapuló programok fejlesztésére, ahol olyan programok kombinációját kívánja használni, melyek megfelelnek a GNU GPL version 3.0 feltételeinek vagy ahol hajlandó teljesíteni a GNU GPL v3.0 feltételeit.&lt;/p&gt;
+&lt;p&gt;Tekintse át a &lt;a href=&quot;http://qt.nokia.com/products/licensing&quot;&gt;qt.nokia.com/products/licensing&lt;/a&gt; oldalon a Qt licenszeit.&lt;/p&gt;
+&lt;p&gt;Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).&lt;/p&gt;
+&lt;p&gt;A Qt a Nokia terméke. További információért látogassa meg a &lt;a href=&quot;http://qt.nokia.com/&quot;&gt;qt.nokia.com&lt;/a&gt; honlapot.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&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;&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>
+ <translatorcomment>Needing review, but basically accepted string.</translatorcomment>
+ <translation type="obsolete">&lt;p&gt;A Qt egy C++ eszközkészlet keresztplatformos alkalmazások fejlesztéséhez, mely egyetlen, MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, és minden főbb kereskedelmi Unix változat között hordozható forrást ad; valamint elérhető még beágyazott eszközökhöz is, mint Qt beágyazott Linuxhoz és Qt Windows CE-hez.&lt;/p&gt;
+&lt;p&gt;A Qt három különböző licensz alatt érhető el, hogy illeszkedjen a különbőző felhasználói igényekhez:
+&lt;p&gt;A kereskedelmi licenszünk alkalmas saját/kereskedelmi szoftver fejlesztéséhez, ha nem akarja megosztani a forráskódot harmadik partnerrel vagy nem kívánja teljesíteni GNU LGPL v2.1 vagy GNU GPL v3.0 feltételeit.&lt;/p&gt;
+&lt;p&gt;A GNU LGPL v2.1 alá tartozó Qt licensz alkalmas Qt-n alapuló programok fejlesztéséhez (zárt vagy nyílt forrású), amennyiben betartja a GNU LGPL v2.1 kikötéseit és feltételeit.&lt;/p&gt;
+&lt;p&gt;A GNU General Public License v3.0 alá tartozó Qt licensz pedig alkalmas Qt-n alapuló programok fejlesztésére, ahol olyan programok kombinációját kívánja használni, melyek megfelelnek a GNU GPL version 3.0 feltételeinek vagy ahol hajlandó teljesíteni a GNU GPL v3.0 feltételeit.&lt;/p&gt;
+&lt;p&gt;Tekintse át a &lt;a href=&quot;http://www.qtsoftware.com/products/licensing&quot;&gt;www.qtsoftware.com/products/licensing&lt;/a&gt; oldalon a Qt licenszeit.&lt;/p&gt;
+&lt;p&gt;Copyright (C) 2009 Nokia Corporation és/vagy annak leányvállalat(-ai).&lt;/p&gt;
+&lt;p&gt;A Qt a Nokia terméke. További információért látogassa meg a &lt;a href=&quot;http://www.qtsoftware.com/qt/&quot;&gt;www.qtsoftware.com/qt&lt;/a&gt; honlapot.&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://www.trolltech.com/company/model/&quot;&gt;www.trolltech.com/company/model/&lt;/a&gt; for an overview of Qt licensing.&lt;/p&gt;</source>
+ <translation type="obsolete">&lt;p&gt;A programa Qt Open Source Edition %1 verziót használja.&lt;/p&gt;&lt;p&gt;A Qt Open Source Edition az Open Source (nyílt forrású) alkalmazások fejlesztéséhez készült. Zárt forrású alkalmazások fejlesztéséhez a kereskedelmi Qt licenszre van szükség.&lt;/p&gt;&lt;p&gt;A Qt licenszeléséről további információ a &lt;a href=&quot;http://www.trolltech.com/company/model/&quot;&gt;www.trolltech.com/company/model/&lt;/a&gt; oldalon található.&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://www.trolltech.com/qt/&quot;&gt;www.trolltech.com/qt/&lt;/a&gt; for more information.&lt;/p&gt;</source>
+ <translation type="obsolete">&lt;h3&gt;A Qt névjegye&lt;/h3&gt;%1&lt;p&gt;A Qt egy átfogó C++ környezet keresztplatformos alkalmazások fejlesztéséhez.&lt;/p&gt;&lt;p&gt;A Qt kódhordozhatóságot biztosít MS&amp;nbsp;Windows, Mac&amp;nbsp;OS&amp;nbsp;X, Linux, és a legtöbb kereskedelmi Unix-variáns között. A Qt Embedded lehetővá teszi a Qt-t beágyazott eszközön való használatát.&lt;/p&gt;&lt;p&gt;A Qt a Trolltech cég terméke. További információkért tekintse meg a &lt;a href=&quot;http://www.trolltech.com/qt/&quot;&gt;www.trolltech.com/qt/&lt;/a&gt; oldalt.&lt;/p&gt;</translation>
+ </message>
</context>
<context>
<name>QMultiInputContext</name>
<message>
<location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontext.cpp" line="+88"/>
<source>Select IM</source>
- <translation>IM kiválasztása</translation>
+ <translation>Beviteli mód kiválasztása</translation>
</message>
</context>
<context>
@@ -3186,30 +5015,30 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/plugins/inputmethods/imsw-multi/qmultiinputcontextplugin.cpp" line="+95"/>
<source>Multiple input method switcher</source>
- <translation>Összetett beviteli eljárás kapcsoló</translation>
+ <translation>Beviteli mód választó</translation>
</message>
<message>
<location line="+7"/>
<source>Multiple input method switcher that uses the context menu of the text widgets</source>
- <translation>Összetett beviteli eljárás kapcsoló, ami a szöveg widgetek menü összefüggéseit használja</translation>
+ <translation>A szöveg elemeken megjelenítendő felbukkanó beviteli mód választó</translation>
</message>
</context>
<context>
<name>QNativeSocketEngine</name>
<message>
- <location filename="../src/network/socket/qnativesocketengine.cpp" line="+206"/>
+ <location filename="../src/network/socket/qnativesocketengine.cpp" line="+209"/>
<source>The remote host closed the connection</source>
- <translation>A távoli hoszt bezárta a kapcsolatot</translation>
+ <translation>A távoli kiszolgáló bezárta a kapcsolatot</translation>
</message>
<message>
<location line="+3"/>
<source>Network operation timed out</source>
- <translation>Hálózati művelet időtúllépése</translation>
+ <translation>Időtúllépés hálózati művelet során</translation>
</message>
<message>
<location line="+3"/>
<source>Out of resources</source>
- <translation>Kifogytak az erőforrások</translation>
+ <translation>Az erőforrások elfogytak</translation>
</message>
<message>
<location line="+3"/>
@@ -3219,7 +5048,7 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Protocol type not supported</source>
- <translation>Nem támogatott protokoll típus</translation>
+ <translation>Nem támogatott protokoll</translation>
</message>
<message>
<location line="+3"/>
@@ -3229,27 +5058,27 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+6"/>
<source>Network unreachable</source>
- <translation>A hálózat nem elérhető</translation>
+ <translation>A hálózat nem érhető el</translation>
</message>
<message>
<location line="+3"/>
<source>Permission denied</source>
- <translation>Engedély megtagadva</translation>
+ <translation>Hozzáférés megtagadva</translation>
</message>
<message>
<location line="+3"/>
<source>Connection timed out</source>
- <translation>Kapcsolat időtúllépés</translation>
+ <translation>A kapcsolat várakozási ideje lejárt</translation>
</message>
<message>
<location line="+3"/>
<source>Connection refused</source>
- <translation>Kapcsolat elutasítva</translation>
+ <translation>A kapcsolat elutasítva</translation>
</message>
<message>
<location line="+3"/>
<source>The bound address is already in use</source>
- <translation>A cím összeköttetés már használatban van</translation>
+ <translation>A lefoglalandó cím használatban van</translation>
</message>
<message>
<location line="+3"/>
@@ -3264,17 +5093,17 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+6"/>
<source>Unable to send a message</source>
- <translation>Nem lehet üzenetet küldeni</translation>
+ <translation>Nem küldhető üzenet</translation>
</message>
<message>
<location line="+3"/>
<source>Unable to receive a message</source>
- <translation>Nem lehet megkapni az üzeneteket</translation>
+ <translation>Nem fogadható üzenet</translation>
</message>
<message>
<location line="+3"/>
<source>Unable to write</source>
- <translation>Nem lehet írni</translation>
+ <translation>Nem írható</translation>
</message>
<message>
<location line="+3"/>
@@ -3284,37 +5113,37 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+3"/>
<source>Another socket is already listening on the same port</source>
- <translation>Egy másik socker már ugyanazon a porton figyel</translation>
+ <translation>Egy másik socket már figyel ezen a porton</translation>
</message>
<message>
<location line="-66"/>
<source>Unable to initialize non-blocking socket</source>
- <translation>Nem lehet inicializálni egy nem blokkoló socketet</translation>
+ <translation>A nem-blokkolo socket előkészítése sikertelen</translation>
</message>
<message>
<location line="+3"/>
<source>Unable to initialize broadcast socket</source>
- <translation>Nem lehet inicializálni a socket közvetítőt</translation>
+ <translation>A broadcast socket előkészítése sikertelen</translation>
</message>
<message>
<location line="+3"/>
<source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
- <translation>IPv6 socket használatának kipróbálása olyan platformon, amelyik nem támogatja az IPv6-t</translation>
+ <translation>IPv6 socket használatának kísérlete IPv6 támogatás nélküli platformon</translation>
</message>
<message>
<location line="+21"/>
<source>Host unreachable</source>
- <translation>A hoszt nem elérhető</translation>
+ <translation>A kiszolgáló nem érhető el</translation>
</message>
<message>
<location line="+24"/>
<source>Datagram was too large to send</source>
- <translation>A datagram túl nagy volt elküldésre</translation>
+ <translation>A csomag mérete miatt nem küldhető el</translation>
</message>
<message>
<location line="+18"/>
<source>Operation on non-socket</source>
- <translation>Nem socketen végzett művelet</translation>
+ <translation>Socket művelet érvénytelen eszközön</translation>
</message>
<message>
<location line="+6"/>
@@ -3324,7 +5153,7 @@ Mégis törölni szeretné?</translation>
<message>
<location line="-3"/>
<source>The proxy type is invalid for this operation</source>
- <translation>A proxy típusa ismeretlen erre a műveletre</translation>
+ <translation>A proxy típusa nem megfelelő a művelethez</translation>
</message>
</context>
<context>
@@ -3332,7 +5161,20 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/network/access/qnetworkaccesscachebackend.cpp" line="+66"/>
<source>Error opening %1</source>
- <translation>Hiba történt a(z) %1 megnyitása közben</translation>
+ <translation>Hiba %1 megnyitásakor</translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkAccessDataBackend</name>
+ <message>
+ <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+76"/>
+ <source>Operation not supported on %1</source>
+ <translation>A művelett nem támogatott a(z) %1-n</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Invalid URI: %1</source>
+ <translation>Érvénytelen cím: %1</translation>
</message>
</context>
<context>
@@ -3340,38 +5182,48 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+195"/>
<source>Write error writing to %1: %2</source>
- <translation>Írása hiba történt a(z) %1-be történő írás közben: %2</translation>
+ <translation>Hiba a(z) %1 kiírásakor: %2</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>Socket error on %1: %2</source>
+ <translation>Socket hiba a(z) %1-n: %2</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Remote host closed the connection prematurely on %1</source>
+ <translation>A(z) %1 gép idő előtt megszakította a kapcsolatot</translation>
</message>
</context>
<context>
<name>QNetworkAccessFileBackend</name>
<message>
- <location filename="../src/network/access/qfilenetworkreply.cpp" line="+83"/>
+ <location filename="../src/network/access/qfilenetworkreply.cpp" line="+85"/>
<location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+100"/>
<source>Request for opening non-local file %1</source>
- <translation>Kérés a(z) %1 nem helyi fál megnyitására</translation>
+ <translation>Nem helyi fájl megnyitásának kísérlete: %1</translation>
</message>
<message>
- <location line="+31"/>
+ <location line="+33"/>
<location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+45"/>
<source>Error opening %1: %2</source>
- <translation>Hiba történt a(z) %1 megnyitása közben: %2</translation>
+ <translation>Hiba a(z) %1 megnyitásakor: %2</translation>
</message>
<message>
<location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+38"/>
<source>Write error writing to %1: %2</source>
- <translation>Írási hiba történt a(z) %1-be írás közben: %2</translation>
+ <translation>Hiba a(z) %1 kiírásakor: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qfilenetworkreply.cpp" line="-11"/>
+ <location filename="../src/network/access/qfilenetworkreply.cpp" line="-13"/>
<location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+48"/>
<source>Cannot open %1: Path is a directory</source>
- <translation>Nem lehet megnyitni a(z) %1-t: az útvonal egy könyvtár</translation>
+ <translation>Sikertelen megnyitás: %1 egy könyvtár</translation>
</message>
<message>
<location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+21"/>
<source>Read error reading from %1: %2</source>
- <translation>Olvasási hiba történt a(z) %1-ból való olvasás közben: %2</translation>
+ <translation>Hiba a(z) %1 olvasása közben: %2</translation>
</message>
</context>
<context>
@@ -3379,86 +5231,161 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/network/access/qnetworkaccessftpbackend.cpp" line="+131"/>
<source>No suitable proxy found</source>
- <translation>Nem található megfelelő proxy</translation>
+ <translation>Nincs megfelelő proxy</translation>
</message>
<message>
<location line="+14"/>
<source>Cannot open %1: is a directory</source>
- <translation>Nem lehet megnyitni a(z) %1 t, mert az egy könyvtár</translation>
+ <translation>Sikertelen megnyitás: %1 egy könyvtár</translation>
</message>
<message>
<location line="+112"/>
<source>Logging in to %1 failed: authentication required</source>
- <translation>A(z) %1-be történő loggolás nem sikerült: hitelesítés szükséges</translation>
+ <translation>A bejelentkezés sikertelen ide: %1, hitelesítés szükséges</translation>
</message>
<message>
<location line="+39"/>
<source>Error while downloading %1: %2</source>
- <translation>Hiba történt a(z) %1 letöltése közben: %2</translation>
+ <translation>Hiba a(z) %1 letöltésekor: %2</translation>
</message>
<message>
<location line="+2"/>
<source>Error while uploading %1: %2</source>
- <translation>Hiba történt a(z) %1 feltöltése közben: %2</translation>
+ <translation>Hiba a(z) %1 feltöltésekor: %2</translation>
</message>
</context>
<context>
<name>QNetworkAccessHttpBackend</name>
<message>
- <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+585"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+652"/>
<source>No suitable proxy found</source>
- <translation>Nem található megfelelő proxy</translation>
+ <translation>Nincs megfelelő proxy</translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkAccessManager</name>
+ <message>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+942"/>
+ <source>Network access is disabled.</source>
+ <translation>A hozzáférés a hálózathoz le van tiltva.</translation>
</message>
</context>
<context>
<name>QNetworkReply</name>
<message>
- <location line="+95"/>
+ <location filename="../src/network/access/qnetworkaccesshttpbackend.cpp" line="+100"/>
<source>Error downloading %1 - server replied: %2</source>
- <translation>Hiba történt a(z) %1 letöltése közben - a szerver válasza: %2</translation>
+ <translation>Hiba %1 letöltésekor - a szerver válasza: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="+77"/>
+ <location filename="../src/network/access/qnetworkreplyimpl.cpp" line="-860"/>
<source>Protocol &quot;%1&quot; is unknown</source>
- <translation>A(z) &apos;%1&apos; protokoll ismeretlen</translation>
+ <translation>Ismeretlen protokoll: &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location line="+192"/>
+ <source>Network session error.</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Hálozati munkamenet hiba.</translation>
+ </message>
+ <message>
+ <location line="+352"/>
+ <source>Temporary network failure.</source>
+ <translation>Ideiglenes hálózati hiba.</translation>
</message>
</context>
<context>
<name>QNetworkReplyImpl</name>
<message>
- <location line="+519"/>
+ <location line="+120"/>
<location line="+28"/>
<source>Operation canceled</source>
- <translation>Művelet visszavonása</translation>
+ <translation>A művelet megszakítva</translation>
</message>
</context>
<context>
- <name>QOCIDriver</name>
+ <name>QNetworkSession</name>
<message>
- <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+2083"/>
- <source>Unable to logon</source>
- <translation>Nem lehet bejelentkezni</translation>
+ <location filename="../src/network/bearer/qnetworksession.cpp" line="+449"/>
+ <source>Invalid configuration.</source>
+ <translation>Érvénytelen konfiguráció.</translation>
+ </message>
+</context>
+<context>
+ <name>QNetworkSessionPrivateImpl</name>
+ <message>
+ <location filename="../src/plugins/bearer/icd/qnetworksession_impl.cpp" line="+1005"/>
+ <source>Roaming error</source>
+ <translation>Roaming hiba</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Session aborted by user or system</source>
+ <translation>A munkamenetet a felhasználó vagy a rendszer megszakította</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Unidentified Error</source>
+ <translation>Azonosítatlan hiba</translation>
+ </message>
+ <message>
+ <location filename="../src/plugins/bearer/qnetworksession_impl.cpp" line="+272"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+271"/>
+ <source>Unknown session error.</source>
+ <translation>Ismeretlen hiba a munkamenetben.</translation>
</message>
<message>
- <location line="-144"/>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>The session was aborted by the user or system.</source>
+ <translation>A munkamenetet a felhasználó vagy a rendszer megszakította.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>The requested operation is not supported by the system.</source>
+ <translation>A kért műveletet a rendszer nem támogatja.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>The specified configuration cannot be used.</source>
+ <translation>A megadott konfiguráció nem használható.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <location filename="../src/plugins/bearer/symbian/qnetworksession_impl.cpp" line="+2"/>
+ <source>Roaming was aborted or is not possible.</source>
+ <translation>A roaming megszakadt, vagy nem lehetséges.</translation>
+ </message>
+</context>
+<context>
+ <name>QOCIDriver</name>
+ <message>
+ <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+1944"/>
<source>Unable to initialize</source>
<comment>QOCIDriver</comment>
- <translation>Nem lehet inicializálni</translation>
+ <translation>Az inicializálás nem lehetséges</translation>
</message>
<message>
- <location line="+215"/>
+ <location line="+144"/>
+ <source>Unable to logon</source>
+ <translation>A bejelentkezés nem lehetséges</translation>
+ </message>
+ <message>
+ <location line="+71"/>
<source>Unable to begin transaction</source>
- <translation>Nem lehet megkezdeni a tranzakciót</translation>
+ <translation>A tranzakció nem indítható</translation>
</message>
<message>
<location line="+19"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+19"/>
<source>Unable to rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
</message>
</context>
<context>
@@ -3468,167 +5395,198 @@ Mégis törölni szeretné?</translation>
<location line="+168"/>
<location line="+15"/>
<source>Unable to bind column for batch execute</source>
- <translation>Nem lehet összekötni az oszlopot köteg végrehajtásra</translation>
+ <translation>Az oszlop kötegelt végrehajtáshoz kötése sikertelen</translation>
</message>
<message>
<location line="+15"/>
<source>Unable to execute batch statement</source>
- <translation>Nem lehet végrehajtani a köteg állítást</translation>
- </message>
- <message>
- <location line="+304"/>
- <source>Unable to goto next</source>
- <translation>Nem lehet a következőre ugrani</translation>
+ <translation>A kötegelt utasítások végrehajtása sikertelen</translation>
</message>
<message>
- <location line="+59"/>
+ <location line="+363"/>
<source>Unable to alloc statement</source>
- <translation>Nem lehet helyet lefoglalni az állításnak</translation>
+ <translation>Az utasítás lefoglalása sikertelen</translation>
</message>
<message>
<location line="+15"/>
<source>Unable to prepare statement</source>
- <translation>Nem lehet felkészülni a műveletre</translation>
+ <translation>Az utasítás előkészítése sikertelen</translation>
</message>
<message>
<location line="+26"/>
<source>Unable to get statement type</source>
- <translation>Nem lehet megszerezni az állítás típusát</translation>
+ <translation>Az utasítás típusa nem ismert</translation>
</message>
<message>
<location line="+20"/>
<source>Unable to bind value</source>
- <translation>Nem lehet összekötni az értéket</translation>
+ <translation>A változó kötése sikertelen</translation>
</message>
<message>
<location line="+19"/>
<source>Unable to execute statement</source>
- <translation>Nem lehet végrehajtani az állítást</translation>
+ <translation>Az utasítás nem végrehajtható</translation>
+ </message>
+ <message>
+ <location line="-139"/>
+ <source>Unable to goto next</source>
+ <translation>Nem lehet a következőre lépni</translation>
</message>
</context>
<context>
<name>QODBCDriver</name>
<message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1790"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+1888"/>
<source>Unable to connect</source>
- <translation>Nem lehet kapcsolódni</translation>
+ <translation>Nem sikerült kapcsolódni</translation>
</message>
<message>
- <location line="+238"/>
+ <location line="+269"/>
<source>Unable to disable autocommit</source>
- <translation>Nem lehet letiltani az automatikus kommitolást</translation>
+ <translation>Az automatikus véglegesítés nem tiltható le</translation>
</message>
<message>
<location line="+17"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+17"/>
<source>Unable to rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
</message>
<message>
<location line="+15"/>
<source>Unable to enable autocommit</source>
- <translation>Nem lehet engedélyezni az automatikus kommitolást</translation>
+ <translation>Az automatikus véglegesítés nem engedélyezhető</translation>
</message>
<message>
- <location line="-281"/>
+ <location line="-312"/>
<source>Unable to connect - Driver doesn&apos;t support all functionality required</source>
- <translation>Nem lehet csatlakozni- A vezérlő nem támogatja az összes szükséges funkciót</translation>
+ <translation>Nem sikerült kapcsolódni - A driver nem támogat minden szükséges szolgáltatást</translation>
</message>
</context>
<context>
<name>QODBCResult</name>
<message>
- <location line="-932"/>
- <location line="+346"/>
+ <location line="-941"/>
+ <location line="+351"/>
<source>QODBCResult::reset: Unable to set &apos;SQL_CURSOR_STATIC&apos; as statement attribute. Please check your ODBC driver configuration</source>
- <translation>QODBCEredmény::Visszaállítás: Nen lehet beállítani az &apos;SQL_CURSOR_STATIC&apos; állítás attribútumra. Kérem ellenőrizze le az ODBC vezérlő konfigurációt</translation>
+ <translation>QODBCResult::reset: Nem lehet a &apos;SQL_CURSOR_STATIC&apos; attribútumot beállítani a parancson. Ellenőrizze az ODBC driver beállítását</translation>
</message>
<message>
- <location line="-329"/>
- <location line="+623"/>
+ <location line="-334"/>
+ <location line="+627"/>
<source>Unable to execute statement</source>
- <translation>Nem lehet végrehajtani az állítást</translation>
+ <translation>A parancs nem hajtható végre</translation>
</message>
<message>
- <location line="-547"/>
+ <location line="-546"/>
<source>Unable to fetch next</source>
- <translation>Nem lehet letölteni a következőt</translation>
+ <translation>A következő nem olvasható ki</translation>
</message>
<message>
<location line="+271"/>
<source>Unable to prepare statement</source>
- <translation>Nem lehet felkészülni az állításra</translation>
+ <translation>A parancs előkészítése nem lehetséges</translation>
</message>
<message>
- <location line="+268"/>
+ <location line="+267"/>
<source>Unable to bind variable</source>
- <translation>Nem lehet összekötni a változót</translation>
+ <translation>A változó nem rögzíthető</translation>
</message>
<message>
- <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+190"/>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-467"/>
- <location line="+576"/>
- <source>Unable to fetch last</source>
- <translation>Nem lehet letölteni az utolsót</translation>
- </message>
- <message>
- <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-670"/>
+ <location line="-560"/>
<source>Unable to fetch</source>
- <translation>Nem lehet letölteni</translation>
+ <translation>Az eredmény nem elérhető</translation>
</message>
<message>
<location line="+44"/>
<source>Unable to fetch first</source>
- <translation>Nem letölteni az elsőt</translation>
+ <translation>Az első eredmény nem érhető el</translation>
</message>
<message>
<location line="+19"/>
<source>Unable to fetch previous</source>
- <translation>Nem lehet letölteni az előzőt</translation>
+ <translation>Az előző eredmény nem érhető el</translation>
+ </message>
+ <message>
+ <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+189"/>
+ <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="+31"/>
+ <location line="+578"/>
+ <source>Unable to fetch last</source>
+ <translation>Az utolsó eredmény nem érhető el</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="-97"/>
<source>Invalid hostname</source>
- <translation>Érvénytelen hoszt név</translation>
+ <translation type="obsolete">Érvénytelen gépnév</translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="obsolete">Saját könyvtár</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdatabackend.cpp" line="+74"/>
<source>Operation not supported on %1</source>
- <translation>A művelet nem támogatott a(z) %1-n</translation>
+ <translation type="obsolete">A művelett nem támogatott a(z) %1-n</translation>
</message>
<message>
- <location line="+57"/>
<source>Invalid URI: %1</source>
- <translation>Érvénytelen URI: %1</translation>
+ <translation type="obsolete">Érvénytelen cím: %1</translation>
+ </message>
+ <message>
+ <source>Write error writing to %1: %2</source>
+ <translation type="obsolete">Hiba a(z) %1 kiírásakor: %2</translation>
+ </message>
+ <message>
+ <source>Read error reading from %1: %2</source>
+ <translation type="obsolete">Hiba a(z) %1 olvasása közben: %2</translation>
</message>
<message>
- <location filename="../src/network/access/qnetworkaccessdebugpipebackend.cpp" line="+60"/>
<source>Socket error on %1: %2</source>
- <translation>Socket hiba a(z) %1-n: %2</translation>
+ <translation type="obsolete">Socket hiba a(z) %1-n: %2</translation>
</message>
<message>
- <location line="+15"/>
<source>Remote host closed the connection prematurely on %1</source>
- <translation>A távoli hoszt túl korán bezárta a kapcsolatot a(z) %1-n</translation>
+ <translation type="obsolete">A(z) %1 gép idő előtt megszakította a kapcsolatot</translation>
+ </message>
+ <message>
+ <source>Protocol error: packet of size 0 received</source>
+ <translation type="obsolete">Protokoll hiba: 0 méretű csomag érkezett</translation>
</message>
<message>
- <location filename="../src/network/kernel/qhostinfo.cpp" line="+175"/>
- <location filename="../src/network/kernel/qhostinfo_unix.cpp" line="+0"/>
<source>No host name given</source>
- <translation>Nincs hoszt név megadva</translation>
+ <translation type="obsolete">Nem adott meg gépnevet</translation>
+ </message>
+ <message>
+ <source>Exit</source>
+ <translation type="obsolete">Kilépés</translation>
+ </message>
+ <message>
+ <location filename="../src/declarative/util/qdeclarativexmllistmodel.cpp" line="-241"/>
+ <source>&quot;%1&quot; duplicates a previous role name and will be disabled.</source>
+ <translatorcomment>CHECKIT: role == ?</translatorcomment>
+ <translation>A(z) &quot;%1&quot; neve ütközik egy, már létező szabály nevével, így le lesz tiltva.</translation>
+ </message>
+ <message>
+ <location line="+515"/>
+ <location line="+4"/>
+ <source>invalid query: &quot;%1&quot;</source>
+ <translation>érvénytelen lekérdezés: &quot;%1&quot;</translation>
+ </message>
+ <message>
+ <location filename="../src/3rdparty/phonon/phonon/pulsesupport.cpp" line="+162"/>
+ <location line="+11"/>
+ <source>PulseAudio Sound Server</source>
+ <translation></translation>
</message>
</context>
<context>
<name>QPPDOptionsModel</name>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1197"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1238"/>
<source>Name</source>
<translation>Név</translation>
</message>
@@ -3643,32 +5601,32 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/sql/drivers/psql/qsql_psql.cpp" line="+782"/>
<source>Unable to connect</source>
- <translation>Nem lehet csatlakozni</translation>
+ <translation>Nem sikerült kapcsolódni</translation>
</message>
<message>
<location line="+49"/>
<source>Could not begin transaction</source>
- <translation>Nem sikerült megkezdeni a tranzakciót</translation>
+ <translation>A tranzakció nem indítható</translation>
</message>
<message>
<location line="+30"/>
<source>Could not commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+16"/>
<source>Could not rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
</message>
<message>
<location line="+374"/>
<source>Unable to subscribe</source>
- <translation>Nem lehet feliratkozni</translation>
+ <translation>A feliratkozás sikertelen</translation>
</message>
<message>
<location line="+32"/>
<source>Unable to unsubscribe</source>
- <translation>Nem lehet leiratkozni</translation>
+ <translation>A leiratkozás sikertelen</translation>
</message>
</context>
<context>
@@ -3676,12 +5634,12 @@ Mégis törölni szeretné?</translation>
<message>
<location line="-1085"/>
<source>Unable to create query</source>
- <translation>Nem lehet létrehozni a lekérdezést</translation>
+ <translation>A lekérdezés nem készíthető el</translation>
</message>
<message>
<location line="+372"/>
<source>Unable to prepare statement</source>
- <translation>Nem lehet felkészülni az állításra</translation>
+ <translation>A parancs előkészítése nem lehetséges</translation>
</message>
</context>
<context>
@@ -3699,7 +5657,7 @@ Mégis törölni szeretné?</translation>
<message>
<location line="+0"/>
<source>Inches (in)</source>
- <translation>Incs (in)</translation>
+ <translation>Inch (in)</translation>
</message>
<message>
<location line="+0"/>
@@ -3709,7 +5667,7 @@ Mégis törölni szeretné?</translation>
<message>
<location filename="../src/gui/dialogs/qpagesetupwidget.ui"/>
<source>Form</source>
- <translation></translation>
+ <translation>Formátum</translation>
</message>
<message>
<location/>
@@ -3719,7 +5677,7 @@ Mégis törölni szeretné?</translation>
<message>
<location/>
<source>Page size:</source>
- <translation>Lap méret:</translation>
+ <translation>Papírméret:</translation>
</message>
<message>
<location/>
@@ -3734,57 +5692,894 @@ Mégis törölni szeretné?</translation>
<message>
<location/>
<source>Paper source:</source>
- <translation>Papír forrás:</translation>
+ <translation>Papírforrás:</translation>
</message>
<message>
<location/>
<source>Orientation</source>
- <translation>Elhelyezkedés</translation>
+ <translation>Orientáció</translation>
</message>
<message>
<location/>
<source>Portrait</source>
- <translation>Portré</translation>
+ <translation>Álló</translation>
</message>
<message>
<location/>
<source>Landscape</source>
- <translation>Tájkép</translation>
+ <translation>Fekvő</translation>
</message>
<message>
<location/>
<source>Reverse landscape</source>
- <translation>Fordított tájkép</translation>
+ <translation>Fordított fekvő</translation>
</message>
<message>
<location/>
<source>Reverse portrait</source>
- <translation>Fordított portré</translation>
+ <translation>Fordított álló</translation>
</message>
<message>
<location/>
<source>Margins</source>
- <translation>Margó</translation>
+ <translation>Margók</translation>
</message>
<message>
<location/>
<source>top margin</source>
- <translation>Felső margó</translation>
+ <translation>felső margó</translation>
</message>
<message>
<location/>
<source>left margin</source>
- <translation>Bal margó</translation>
+ <translation>bal margó</translation>
</message>
<message>
<location/>
<source>right margin</source>
- <translation>Jobb margó</translation>
+ <translation>jobb margó</translation>
</message>
<message>
<location/>
<source>bottom margin</source>
- <translation>Alsó margó</translation>
+ <translation>alsó margó</translation>
+ </message>
+</context>
+<context>
+ <name>QPatternist::QtXmlPatterns</name>
+ <message>
+ <source>An %1-attribute with value %2 has already been declared.</source>
+ <translation type="obsolete">Egy %1-attribútum %2 értékkel már deklarálva van.</translation>
+ </message>
+ <message>
+ <source>An %1-attribute must have a valid %2 as value, which %3 isn&apos;t.</source>
+ <translation type="obsolete">Egy %1-attribútumnak érvényes %2 értékkel kell rendelkeznie, azonban %3 nem az.</translation>
+ </message>
+ <message>
+ <source>%1 is an unsupported encoding.</source>
+ <translation type="obsolete">%1 nem támogatott kódolás.</translation>
+ </message>
+ <message>
+ <source>%1 contains octets which are disallowed in the requested encoding %2.</source>
+ <translation type="obsolete">%1 olyan okteteket tartalmaz, amelyek nem megengedettek a kért %2 kódolásban.</translation>
+ </message>
+ <message>
+ <source>The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character.</source>
+ <translation type="obsolete">%1 kódrészlet %2 helyen, %3 kódolással érvénytelen XML karakter.</translation>
+ </message>
+ <message>
+ <source>Network timeout.</source>
+ <translation type="obsolete">Időtúllépés.</translation>
+ </message>
+ <message>
+ <source>Element %1 can&apos;t be serialized because it appears outside the document element.</source>
+ <translation type="obsolete">%1 elem nem szerializálható, mert a document elemen kívül szerepel.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 can&apos;t be serialized because it appears at the top level.</source>
+ <translation type="obsolete">%1 attribútum nem szerializálható, mert legfelső szinten szerepel.</translation>
+ </message>
+ <message>
+ <source>Year %1 is invalid because it begins with %2.</source>
+ <translation type="obsolete">%1 év érvénytelen, mert nem kezdődhet %2-val.</translation>
+ </message>
+ <message>
+ <source>Day %1 is outside the range %2..%3.</source>
+ <translation type="obsolete">A(z) %1. nap nem esik %2 és %3 közé.</translation>
+ </message>
+ <message>
+ <source>Month %1 is outside the range %2..%3.</source>
+ <translation type="obsolete">A(z) %1. hónap nem esik %2 és %3 közé.</translation>
+ </message>
+ <message>
+ <source>Overflow: Can&apos;t represent date %1.</source>
+ <translation type="obsolete">Túlcsordulás: A(z) %1 dátum nem reprezentálható.</translation>
+ </message>
+ <message>
+ <source>Day %1 is invalid for month %2.</source>
+ <translation type="obsolete">Nincs %1 nap %2 hónapban.</translation>
+ </message>
+ <message>
+ <source>Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; </source>
+ <translation type="obsolete">Az 24:%1:%2.%3 időpont érvénytelen, mert az óra értéke 24, de a többi érték nem 0; </translation>
+ </message>
+ <message>
+ <source>Time %1:%2:%3.%4 is invalid.</source>
+ <translation type="obsolete">Az %1:%2:%3.%4 időpont érvénytelen.</translation>
+ </message>
+ <message>
+ <source>Overflow: Date can&apos;t be represented.</source>
+ <translation type="obsolete">Túlcsordulás: A dátum nem reprezentálható.</translation>
+ </message>
+ <message>
+ <source>At least one component must be present.</source>
+ <translation type="obsolete">Legalább egy komponenst meg kell adni.</translation>
+ </message>
+ <message>
+ <source>At least one time component must appear after the %1-delimiter.</source>
+ <translation type="obsolete">Legalább egy időkomponenst meg kell adni a(z) %1 elválasztó után.</translation>
+ </message>
+ <message>
+ <source>No operand in an integer division, %1, can be %2.</source>
+ <translation type="obsolete">Nincs operandus az egészosztásnál (%1), akár %2 is lehet.</translation>
+ </message>
+ <message>
+ <source>The first operand in an integer division, %1, cannot be infinity (%2).</source>
+ <translation type="obsolete">Az egészosztás (%1) első operandusa nem lehet végtelen (%2).</translation>
+ </message>
+ <message>
+ <source>The second operand in a division, %1, cannot be zero (%2).</source>
+ <translation type="obsolete">Az osztás (%1) második operandusa nem lehet nulla (%2).</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid value of type %2.</source>
+ <translation type="obsolete">%1 nem érvényes érték %2 típusnak.</translation>
+ </message>
+ <message>
+ <source>When casting to %1 from %2, the source value cannot be %3.</source>
+ <translation type="obsolete">Ha %2-t %1-re kényszerítünk, a kiinduló érték nem lehet %3.</translation>
+ </message>
+ <message>
+ <source>Integer division (%1) by zero (%2) is undefined.</source>
+ <translation type="obsolete">A nullával (%2) való egészosztás (%1) nincs értelmezve.</translation>
+ </message>
+ <message>
+ <source>Division (%1) by zero (%2) is undefined.</source>
+ <translation type="obsolete">A nullával (%2) való osztás (%1) nincs értelmezve.</translation>
+ </message>
+ <message>
+ <source>Modulus division (%1) by zero (%2) is undefined.</source>
+ <translation type="obsolete">A nullával (%2) való maradékos osztás (%1) nincs értelmezve.</translation>
+ </message>
+ <message>
+ <source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source>
+ <translation type="obsolete">%1 %2-vel osztása nem engedélyezett, mert az nem szám.</translation>
+ </message>
+ <message>
+ <source>Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed.</source>
+ <translation type="obsolete">%1 típusú érték osztása %2 vagy %3 (pozitív vagy negatív nulla) értékkel nem megengedett.</translation>
+ </message>
+ <message>
+ <source>Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed.</source>
+ <translation type="obsolete">%1 típusú érték szorzása %2 vagy %3 (pozitív vagy negatív végtelen) típusú értékkel nem megengedett.</translation>
+ </message>
+ <message>
+ <source>A value of type %1 cannot have an Effective Boolean Value.</source>
+ <translation type="obsolete">%1 típusú érték nem kaphat effektív logikai értéket.</translation>
+ </message>
+ <message>
+ <source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
+ <translation type="obsolete">Effektív logikai érték nem számítható olyan sorozatra, melyben kettő vagy több atomi érték szerepel.</translation>
+ </message>
+ <message>
+ <source>Value %1 of type %2 exceeds maximum (%3).</source>
+ <translation type="obsolete">A(z) %2 típusú %1 érték meghaladja a maximumot (%3).</translation>
+ </message>
+ <message>
+ <source>Value %1 of type %2 is below minimum (%3).</source>
+ <translation type="obsolete">A(z) %2 típusú %1 érték kisebb, mint a minimum (%3).</translation>
+ </message>
+ <message>
+ <source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
+ <translation type="obsolete">%1 típusú értékben páros számú számjegynek kell szerepelnie. A %2 érték nem megfelelő.</translation>
+ </message>
+ <message>
+ <source>%1 is not valid as a value of type %2.</source>
+ <translation type="obsolete">%1 nem érvényes %2 típusú érték.</translation>
+ </message>
+ <message>
+ <source>Ambiguous rule match.</source>
+ <translation type="obsolete">Nem egyértelmű szabály illeszkedés.</translation>
+ </message>
+ <message>
+ <source>Operator %1 cannot be used on type %2.</source>
+ <translation type="obsolete">%1 operátor nem használható %2 típuson.</translation>
+ </message>
+ <message>
+ <source>Operator %1 cannot be used on atomic values of type %2 and %3.</source>
+ <translation type="obsolete">%1 operátor nem használható %2 és %3 típusok atomi értékein.</translation>
+ </message>
+ <message>
+ <source>The namespace URI in the name for a computed attribute cannot be %1.</source>
+ <translation type="obsolete">Egy számított attribútum nevében szereplő névtér URI-je nem lehet %1.</translation>
+ </message>
+ <message>
+ <source>The name for a computed attribute cannot have the namespace URI %1 with the local name %2.</source>
+ <translation type="obsolete">Számított attribútum névtér URI-je nem lehet %1 a(z) %2 lokális névvel.</translation>
+ </message>
+ <message>
+ <source>Type error in cast, expected %1, received %2.</source>
+ <translation type="obsolete">Típushiba a konverzió során, várt %1, kapott %2.</translation>
+ </message>
+ <message>
+ <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 type="obsolete">%1 vagy belőle származó típusra való konverziókor a kiindulási értéknek azonos típusúnak vagy sztring literálnak kell lennie. %2 típus nem engedélyezett.</translation>
+ </message>
+ <message>
+ <source>No casting is possible with %1 as the target type.</source>
+ <translation type="obsolete">%1 típusra való konverzió nem lehetséges.</translation>
+ </message>
+ <message>
+ <source>It is not possible to cast from %1 to %2.</source>
+ <translation type="obsolete">Nem lehetséges %1 típusról %2 típusra konvertálni.</translation>
+ </message>
+ <message>
+ <source>Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated.</source>
+ <translation type="obsolete">%1 típusra való konverzió nem lehetséges, mivel absztrakt típus és emiatt nem példányosítható.</translation>
+ </message>
+ <message>
+ <source>It&apos;s not possible to cast the value %1 of type %2 to %3</source>
+ <translation type="obsolete">A(z) %2 típusú %1 érték konverziója %3 típusra nem lehetséges</translation>
+ </message>
+ <message>
+ <source>Failure when casting from %1 to %2: %3</source>
+ <translation type="obsolete">Hiba történt %1 típus %2 típusra történő konvertálásakor: %3</translation>
+ </message>
+ <message>
+ <source>A comment cannot contain %1</source>
+ <translation type="obsolete">Egy megjegyzés nem tartalmazhatja a következőt: %1</translation>
+ </message>
+ <message>
+ <source>A comment cannot end with a %1.</source>
+ <translation type="obsolete">Egy megjegyzés nem végződhet a következőre: %1.</translation>
+ </message>
+ <message>
+ <source>No comparisons can be done involving the type %1.</source>
+ <translation type="obsolete">%1 típus nem szerepelhet összehasonlításban.</translation>
+ </message>
+ <message>
+ <source>Operator %1 is not available between atomic values of type %2 and %3.</source>
+ <translation type="obsolete">%1 operátor nem használható %2 és %3 típusok atomi értékei között.</translation>
+ </message>
+ <message>
+ <source>In a namespace constructor, the value for a namespace cannot be an empty string.</source>
+ <translation type="obsolete">Egy névtér konstruktorában a névtér értéke nem lehet üres karaktersorozat.</translation>
+ </message>
+ <message>
+ <source>The prefix must be a valid %1, which %2 is not.</source>
+ <translation type="obsolete">A prefixum érvényes %1 kell legyen, aminek %2 nem tesz eleget.</translation>
+ </message>
+ <message>
+ <source>The prefix %1 cannot be bound.</source>
+ <translation type="obsolete">%1 prefixum nem köthető.</translation>
+ </message>
+ <message>
+ <source>Only the prefix %1 can be bound to %2 and vice versa.</source>
+ <translation type="obsolete">Csak %1 prefixum köthető %2 kifejezéshez és fordítva.</translation>
+ </message>
+ <message>
+ <source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
+ <translation type="obsolete">Attribútum csomópont nem lehet egy document csomópont gyermeke. Emiatt a(z) %1 attribútum nem ide való.</translation>
+ </message>
+ <message>
+ <source>Circularity detected</source>
+ <translation type="obsolete">Körkörös hivatkozás</translation>
+ </message>
+ <message>
+ <source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
+ <translation type="obsolete">Egy könyvtár modult nem lehet közvetlenül kiértékelni. Mindenképp egy fő modulból kell importálni.</translation>
+ </message>
+ <message>
+ <source>No template by name %1 exists.</source>
+ <translation type="obsolete">Nem létezik %1 nevű sablon.</translation>
+ </message>
+ <message>
+ <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="obsolete">Egy %1 típusú érték nem lehet predikátum. Egy predikátumnak szám vagy effektív logikai érték típusúnak kell lennie.</translation>
+ </message>
+ <message>
+ <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="obsolete">A célnév egy feldolgozó utasításban nem lehet %1, kis és nagybetűk semmilyen kombinációjában. Ennek okán %2 érvénytelen.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source>
+ <translation type="obsolete">%1 érvénytelen célnév egy feldolgozó utasításban. Értéke %2 típusú kell legyen, mint pl. %3.</translation>
+ </message>
+ <message>
+ <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="obsolete">Egy útvonal utolsó lépésének vagy csomópontokat vagy atomi értékeket kell tartalmaznia. A kettő nem keveredhet.</translation>
+ </message>
+ <message>
+ <source>The data of a processing instruction cannot contain the string %1</source>
+ <translation type="obsolete">Egy feldolgozó utasítás adata nem tartalmazhatja a következő sztringet: %1</translation>
+ </message>
+ <message>
+ <source>No namespace binding exists for the prefix %1</source>
+ <translation type="obsolete">Nincs névtér kötés a(z) %1 prefixumhoz</translation>
+ </message>
+ <message>
+ <source>No namespace binding exists for the prefix %1 in %2</source>
+ <translation type="obsolete">Nincs névtér kötés a(z) %1 prefixumhoz %2 helyen</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid %2</source>
+ <translation type="obsolete">%1 egy érvénytelen %2</translation>
+ </message>
+ <message>
+ <source>The parameter %1 is passed, but no corresponding %2 exists.</source>
+ <translation type="obsolete">Az átadott érték %1, de nincs megfelelő %2.</translation>
+ </message>
+ <message>
+ <source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
+ <translation type="obsolete">%1 paraméter kötelező, de nincs megadva megfelelő %2.</translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
+ <translation type="obsolete">
+ <numerusform>%1 maximum %n argumentumot fogad, így %2 érvénytelen.</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
+ <translation type="obsolete">
+ <numerusform>%1 legalább %n argumentumot fogad, így %2 érvénytelen.</numerusform>
+ </translation>
+ </message>
+ <message>
+ <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="obsolete">%1 első paramétere nem lehet %2 típusú. Csak numerikus típus, xs:yearMonthDuration vagy dayTimeDuration lehet.</translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
+ <translation type="obsolete">%1 első argumentuma nem lehet %2 típusú. Csak %3, %4 vagy %5 megengedett.</translation>
+ </message>
+ <message>
+ <source>The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
+ <translation type="obsolete">%1 második paramétere nem lehet %2 típusú. Csak %3, %4 vagy %5 megengedett.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid XML 1.0 character.</source>
+ <translation type="obsolete">%1 érvénytelen XML 1.0 karakter.</translation>
+ </message>
+ <message>
+ <source>The first argument to %1 cannot be of type %2.</source>
+ <translation type="obsolete">%1 első argumentuma nem lehet %2 típusú.</translation>
+ </message>
+ <message>
+ <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="obsolete">%1 függvény második argumentumának gyökér csomópontja document típusú kell legyen. %2 nem document csomópont.</translation>
+ </message>
+ <message>
+ <source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
+ <translation type="obsolete">Ha mindkét értékben zóna eltolás van, akkor annak azonosnak kell lennie. %1 és %2 nem egyezik.</translation>
+ </message>
+ <message>
+ <source>%1 was called.</source>
+ <translation type="obsolete">%1 meghívva.</translation>
+ </message>
+ <message>
+ <source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
+ <translation type="obsolete">%1-t %2 vagy %3 kell kövesse, nem a helyettesítő végén.</translation>
+ </message>
+ <message>
+ <source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
+ <translation type="obsolete">A(z) %1 csereszöveget legalább egy számjegy kell kövesse, amennyiben az nincs escapelve.</translation>
+ </message>
+ <message>
+ <source>In the replacement string, %1 can only be used to escape itself or %2, not %3</source>
+ <translation type="obsolete">A csereszövegben %1 csak önmaga vagy %2 escapelésére használható, %3-ra nem</translation>
+ </message>
+ <message>
+ <source>%1 matches newline characters</source>
+ <translation type="obsolete">%1 illeszkedik az újsor karakterekre</translation>
+ </message>
+ <message>
+ <source>%1 and %2 match the start and end of a line.</source>
+ <translation type="obsolete">%1 és %2 a sor elejére és végére is illeszkedik.</translation>
+ </message>
+ <message>
+ <source>Matches are case insensitive</source>
+ <translation type="obsolete">Az illeszkedések nem nagybetű-érzékenyek</translation>
+ </message>
+ <message>
+ <source>Whitespace characters are removed, except when they appear in character classes</source>
+ <translation type="obsolete">A nem nyomtatható karakterek törlésre kerülnek, kivétel ha karakter osztályokban szerepelnek</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid regular expression pattern: %2</source>
+ <translation type="obsolete">%1 érvénytelen reguláris kifejezés minta: %2</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid flag for regular expressions. Valid flags are:</source>
+ <translation type="obsolete">%1 érvénytelen kapcsoló reguláris kifejezésekhez. Az érvényes kapcsolók:</translation>
+ </message>
+ <message>
+ <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 type="obsolete">Ha az első argumentum az üres szekvencia vagy egy nulla hosszúságú sztring (névtér nélkül), akkor nem adható meg prefixum. %1 prefixum lett megadva.</translation>
+ </message>
+ <message>
+ <source>It will not be possible to retrieve %1.</source>
+ <translation type="obsolete">Nem lesz lehetséges %1 lekérése.</translation>
+ </message>
+ <message>
+ <source>The default collection is undefined</source>
+ <translation type="obsolete">Nincs meghatározva az alapértelmezett kollekció</translation>
+ </message>
+ <message>
+ <source>%1 cannot be retrieved</source>
+ <translation type="obsolete">%1-t nem lehet lekérni</translation>
+ </message>
+ <message>
+ <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>
+ <translatorcomment>none ==? semmi, valamelyest félreérthető</translatorcomment>
+ <translation type="obsolete">%1 normalizált formája nem támogatott. A támogatott formák %2, %3, %4 és %5 vagy semmi, pl. az üres sztring (normalizálás nélkül).</translation>
+ </message>
+ <message>
+ <source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
+ <translation type="obsolete">Egy zónaeltolásnak a(z) %1..%2 nyílt intervallumba kell esnie. %3 az értékhatáron kívül van.</translation>
+ </message>
+ <message>
+ <source>%1 is not a whole number of minutes.</source>
+ <translation type="obsolete">%1 nem egész számú perc.</translation>
+ </message>
+ <message>
+ <source>The URI cannot have a fragment</source>
+ <translation type="obsolete">A URI nem tartalmazhat töredéket</translation>
+ </message>
+ <message>
+ <source>Required cardinality is %1; got cardinality %2.</source>
+ <translation type="obsolete">Az elvárt kardinalitás %1, azonban %2 lett megadva.</translation>
+ </message>
+ <message>
+ <source>The item %1 did not match the required type %2.</source>
+ <translation type="obsolete">%1 elem nem egyezik a várt %2 típussal.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
+ <translation type="obsolete">A(z) %1 attribútum nem jelenhet meg %2 elemben. Csak szabványos attribútumok szerepelhetnek.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot appear on the element %2. Only %3 is allowed, and the standard attributes.</source>
+ <translation type="obsolete">A(z) %1 attribútum nem jelenhet meg %2 elemben. Csak %3 és a szabványos attribútumok szerepelhetnek.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot appear on the element %2. Allowed is %3, %4, and the standard attributes.</source>
+ <translation type="obsolete">A(z) %1 attribútum nem jelenhet meg %2 elemben. Csak %3, %4 és a szabványos attribútumok szerepelhetnek.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot appear on the element %2. Allowed is %3, and the standard attributes.</source>
+ <translation type="obsolete">A(z) %1 attribútum nem jelenhet meg %2 elemben. Csak %3 és a szabványos attribútumok szerepelhetnek.</translation>
+ </message>
+ <message>
+ <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 type="obsolete">Az XSL-T elemekhez tartozó XSL-T attribútumoknak a null névtérben kell szerepelniük, nem a(z) %1 XSL-T névtérben.</translation>
+ </message>
+ <message>
+ <source>The attribute %1 must appear on element %2.</source>
+ <translation type="obsolete">A(z) %1 attribútumnak %2 elemben kell megjelennie.</translation>
+ </message>
+ <message>
+ <source>The element with local name %1 does not exist in XSL-T.</source>
+ <translation type="obsolete">%1 lokális nevű elem nem létezik az XSL-T-ben.</translation>
+ </message>
+ <message>
+ <source>The variable %1 is unused</source>
+ <translation type="obsolete">A(z) %1 változó nincs használva</translation>
+ </message>
+ <message>
+ <source>A construct was encountered which only is allowed in XQuery.</source>
+ <translation type="obsolete">Olyan szerkezetet találtam, ami csak XQuery-ben engedélyezett.</translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint selector</source>
+ <translation type="obsolete">W3C XML séma azonosító szabály kiválasztó</translation>
+ </message>
+ <message>
+ <source>W3C XML Schema identity constraint field</source>
+ <translation type="obsolete">W3C XML séma azonosító szabály mező</translation>
+ </message>
+ <message>
+ <source>%1 is an unknown schema type.</source>
+ <translation type="obsolete">%1 ismeretlen séma típus.</translation>
+ </message>
+ <message>
+ <source>A template by name %1 has already been declared.</source>
+ <translation type="obsolete">%1 néven már lett sablon deklarálva.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid numeric literal.</source>
+ <translation type="obsolete">%1 érvénytelen numerikus literál.</translation>
+ </message>
+ <message>
+ <source>Only one %1 declaration can occur in the query prolog.</source>
+ <translation type="obsolete">Csak egy %1 deklaráció szerepelhet a lekérdezés bevezetésben.</translation>
+ </message>
+ <message>
+ <source>The initialization of variable %1 depends on itself</source>
+ <translation type="obsolete">%1 változó inicializálása önmagától függ</translation>
+ </message>
+ <message>
+ <source>No variable by name %1 exists</source>
+ <translation type="obsolete">Nem létezik %1 nevű változó</translation>
+ </message>
+ <message>
+ <source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
+ <translation type="obsolete">A(z) %1 verzió nem támogatott. A támogatott verzió XQuery 1.0.</translation>
+ </message>
+ <message>
+ <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 type="obsolete">%1 kódolás érvénytelen. Csak Latin karaktereket tartalmazhat, nem nyomtatható karakterek nélkül és illeszkednie kell %2 reguláris kifejezésre.</translation>
+ </message>
+ <message>
+ <source>No function with signature %1 is available</source>
+ <translation type="obsolete">%1 nevű függvény nem található</translation>
+ </message>
+ <message>
+ <source>A default namespace declaration must occur before function, variable, and option declarations.</source>
+ <translation type="obsolete">Egy alapértelmezett névtér deklarációnak meg kell előznie a függvény-, változó- és opció deklarációkat.</translation>
+ </message>
+ <message>
+ <source>Namespace declarations must occur before function, variable, and option declarations.</source>
+ <translation type="obsolete">A névtér deklarációknak meg kell előzniük a függvény-, változó- és opció deklarációkat.</translation>
+ </message>
+ <message>
+ <source>Module imports must occur before function, variable, and option declarations.</source>
+ <translation type="obsolete">Modul importoknak meg kell előzniük a függvény-, változó- és opció deklarációkat.</translation>
+ </message>
+ <message>
+ <source>The keyword %1 cannot occur with any other mode name.</source>
+ <translation type="obsolete">%1 kulcsszó nem szerepelhet együtt semmilyen más mód névvel.</translation>
+ </message>
+ <message>
+ <source>The value of attribute %1 must of type %2, which %3 isn&apos;t.</source>
+ <translation type="obsolete">%1 attribútumának %2 típusúnak kell lennie, aminek %3 nem felel meg.</translation>
+ </message>
+ <message>
+ <source>It is not possible to redeclare prefix %1.</source>
+ <translation type="obsolete">%1 prefixum újradeklarálása nem lehetséges.</translation>
+ </message>
+ <message>
+ <source>The prefix %1 can not be bound. By default, it is already bound to the namespace %2.</source>
+ <translation type="obsolete">%1 prefixum nem köthető. Alapértelmezés szerint már kötve van %2 névtérhez.</translation>
+ </message>
+ <message>
+ <source>Prefix %1 is already declared in the prolog.</source>
+ <translation type="obsolete">%1 prefixum már deklarálva van a bevezetésben.</translation>
+ </message>
+ <message>
+ <source>The name of an option must have a prefix. There is no default namespace for options.</source>
+ <translation type="obsolete">Egy opció nevének kötelező prefixumot megadni. Nics alapértelmezett névetér az opciók számára.</translation>
+ </message>
+ <message>
+ <source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
+ <translation type="obsolete">A Schema Import szolgáltatás nem támogatott, így %1 deklarációk nem fogadhatók el.</translation>
+ </message>
+ <message>
+ <source>The target namespace of a %1 cannot be empty.</source>
+ <translation type="obsolete">%1 cél névtere nem lehet üres.</translation>
+ </message>
+ <message>
+ <source>The module import feature is not supported</source>
+ <translation type="obsolete">A modul import szolgáltatás nem támogatott</translation>
+ </message>
+ <message>
+ <source>A variable by name %1 has already been declared.</source>
+ <translation type="obsolete">%1 nevű változó már deklarálva van.</translation>
+ </message>
+ <message>
+ <source>No value is available for the external variable by name %1.</source>
+ <translation type="obsolete">A(z) %1 nevű külső változóhoz nem érhető el érték.</translation>
+ </message>
+ <message>
+ <source>A stylesheet function must have a prefixed name.</source>
+ <translation type="obsolete">Egy stíluslap függvénynek prefixummal ellátott neve kell legyen.</translation>
+ </message>
+ <message>
+ <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
+ <translation type="obsolete">Egy felhasználói függvény névtere nem lehet üres (próbálja meg a(z) %1 prefixumot, ami ilyen esetekre van fenntartva)</translation>
+ </message>
+ <message>
+ <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 type="obsolete">A(z) %1 névtér fenntartott, így felhasználói függvények nem használhatják. Próbálja meg a(z) %2 prefixumot, ami ilyen esetekre van.</translation>
+ </message>
+ <message>
+ <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 type="obsolete">Egy függvénytár modulban definiált felhasználói függvény névtere meg kell egyezzen a modul névterével. Más szóval %1 kellene legyen %2 helyett</translation>
+ </message>
+ <message>
+ <source>A function already exists with the signature %1.</source>
+ <translation type="obsolete">%1 szignatúrájú függvény már létezik.</translation>
+ </message>
+ <message>
+ <source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
+ <translation type="obsolete">Külső függvények nem támogatottak. Minden támogatott függvény használható, külső függvényként való deklarálás nélkül</translation>
+ </message>
+ <message>
+ <source>An argument by name %1 has already been declared. Every argument name must be unique.</source>
+ <translation type="obsolete">%1 nevű argumentum már deklarálva lett. Minden argumentumnak egyedinek kell lennie.</translation>
+ </message>
+ <message>
+ <source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source>
+ <translation type="obsolete">%1 függvény minta belsejében történő illesztésekor, az argumentumnak változó referenciának vagy szöveges literálnak kell lennie.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching.</source>
+ <translation type="obsolete">Egy XSL-T mintában %1 függvény első argumentumának szöveges literálnak kell lennie, ha illesztéshez használjuk.</translation>
+ </message>
+ <message>
+ <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 type="obsolete">Egy XSL-T mintában %1 függvény első argumentumának szöveges literálnak vagy változó referenciának kell lennie, ha illesztéshez használjuk.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, function %1 cannot have a third argument.</source>
+ <translation type="obsolete">Egy XSL-T mintában %1 függénynek nem lehet harmadik argumentuma.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching.</source>
+ <translation type="obsolete">Egy XSL-T mintában csak %1 és %2 függvények használhatók illesztéshez, %3 nem.</translation>
+ </message>
+ <message>
+ <source>In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can.</source>
+ <translation type="obsolete">Egy XSL-T mintában %1 tengely nem, csak %2 vagy %3 tengely használható.</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid template mode name.</source>
+ <translation type="obsolete">%1 érvénytelen sablon mód név.</translation>
+ </message>
+ <message>
+ <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 type="obsolete">Egy for-kifejezésben kötött változó nevének különbözőnek kell lennie, mint a pozicionális változó neve. Így a két %1 nevű változó ütközik.</translation>
+ </message>
+ <message>
+ <source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source>
+ <translation type="obsolete">A Schema Validation szolgáltatás nem támogatott. Ennélfogva %1-kifejezések nem használhatók.</translation>
+ </message>
+ <message>
+ <source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source>
+ <translation type="obsolete">Pragma kifejezések egyike sem támogatott. Ennélfogva léteznie kell egy alapértelmezett kifejezésnek</translation>
+ </message>
+ <message>
+ <source>Each name of a template parameter must be unique; %1 is duplicated.</source>
+ <translation type="obsolete">Minden sablonparaméter neve egyedi kell legyen, %1 azonban duplán szerepel.</translation>
+ </message>
+ <message>
+ <source>The %1-axis is unsupported in XQuery</source>
+ <translation type="obsolete">A(z) %1-tengely nem támogatott XQuery-ben</translation>
+ </message>
+ <message>
+ <source>No function by name %1 is available.</source>
+ <translation type="obsolete">Nincs %1 nevű függvény.</translation>
+ </message>
+ <message>
+ <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
+ <translation type="obsolete">Prefixumhoz kötés esetén a névtér URI nem lehet az üres sztring, %1.</translation>
+ </message>
+ <message>
+ <source>%1 is an invalid namespace URI.</source>
+ <translation type="obsolete">%1 érvénytelen névtér URI.</translation>
+ </message>
+ <message>
+ <source>It is not possible to bind to the prefix %1</source>
+ <translation type="obsolete">Nem lehet kötni %1 prefixumhoz</translation>
+ </message>
+ <message>
+ <source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation type="obsolete">%1 névtér csak %2-hoz köthető (és minden esetben előre deklarált).</translation>
+ </message>
+ <message>
+ <source>Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation type="obsolete">%1 prefixum csak %2-hoz köthető (és minden esetben előre deklarált).</translation>
+ </message>
+ <message>
+ <source>Two namespace declaration attributes have the same name: %1.</source>
+ <translation type="obsolete">Két névtér-deklaráció attribútum neve azonos: %1.</translation>
+ </message>
+ <message>
+ <source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
+ <translation type="obsolete">Egy névtér URI-nek konstansnak kell lennie és nem használhat bennfoglalt kifejezéseket.</translation>
+ </message>
+ <message>
+ <source>An attribute by name %1 has already appeared on this element.</source>
+ <translation type="obsolete">%1 nevű attribútum már szerepel ezen az elemen.</translation>
+ </message>
+ <message>
+ <source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
+ <translation type="obsolete">Egy közvetlen elem konstruktor nem jól formázott. %1-t %2 zárja le.</translation>
+ </message>
+ <message>
+ <source>The name %1 does not refer to any schema type.</source>
+ <translation type="obsolete">A(z) %1 név nem mutat semmilyen séma típusra.</translation>
+ </message>
+ <message>
+ <source>%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works.</source>
+ <translation type="obsolete">%1 komplex típus. Komplex típusra való konvertálás nem lehetséges. Azonban atomi típusokra, mint pl. %2 történő konvertálás igen.</translation>
+ </message>
+ <message>
+ <source>%1 is not an atomic type. Casting is only possible to atomic types.</source>
+ <translation type="obsolete">%1 nem atomi típus. Típuskonverzió csak atomi típusra történhet.</translation>
+ </message>
+ <message>
+ <source>%1 is not a valid name for a processing-instruction.</source>
+ <translation type="obsolete">%1 érvénytelen feldogozó-utasítás név.</translation>
+ </message>
+ <message>
+ <source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
+ <translatorcomment>in-scope mint XML kulcsszó vagy ~láthatósági kör???</translatorcomment>
+ <translation type="obsolete">%1 nem a láthatóságon belüli attribútum deklarációk között van. A séma import szolgáltatás nem támogatott.</translation>
+ </message>
+ <message>
+ <source>The name of an extension expression must be in a namespace.</source>
+ <translation type="obsolete">Egy kiterjesztés kifejezés nevének névtérben kell lennie.</translation>
+ </message>
+ <message>
+ <source>Element %1 is not allowed at this location.</source>
+ <translation type="obsolete">%1 elem nem engedélyezett ezen a helyen.</translation>
+ </message>
+ <message>
+ <source>Text nodes are not allowed at this location.</source>
+ <translation type="obsolete">Szöveg csomópontok nem engedélyezettek ezen a helyen.</translation>
+ </message>
+ <message>
+ <source>Parse error: %1</source>
+ <translation type="obsolete">Értelmezési hiba: %1</translation>
+ </message>
+ <message>
+ <source>The value of the XSL-T version attribute must be a value of type %1, which %2 isn&apos;t.</source>
+ <translation type="obsolete">Az XSL-T verzió attribútum értékének %1 típusúnak kell lennie, %2 pedig nem az.</translation>
+ </message>
+ <message>
+ <source>Running an XSL-T 1.0 stylesheet with a 2.0 processor.</source>
+ <translation type="obsolete">XSL-T 1.0 stíluslap futtatása 2.0 verziójú feldolgozóval.</translation>
+ </message>
+ <message>
+ <source>Unknown XSL-T attribute %1.</source>
+ <translation type="obsolete">Ismeretlen XSLT attributum: %1.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 and %2 are mutually exclusive.</source>
+ <translation type="obsolete">%1 és %2 attribútumok kölcsönösen kizáróak.</translation>
+ </message>
+ <message>
+ <source>In a simplified stylesheet module, attribute %1 must be present.</source>
+ <translation type="obsolete">Egy egyszerűsített stíluslap modulban a(z) %1 attribútumnak jelen kell lennie.</translation>
+ </message>
+ <message>
+ <source>If element %1 has no attribute %2, it cannot have attribute %3 or %4.</source>
+ <translation type="obsolete">Ha %1 elemnek nincs %2 attribútuma, akkor %3 vagy %4 attribútuma sem lehet.</translation>
+ </message>
+ <message>
+ <source>Element %1 must have at least one of the attributes %2 or %3.</source>
+ <translation type="obsolete">%1 elemnek valamelyik attribútumát meg kell adni %2 vagy %3 közül.</translation>
+ </message>
+ <message>
+ <source>At least one mode must be specified in the %1-attribute on element %2.</source>
+ <translation type="obsolete">%2 elem %1-attribútumában legalább egy módot meg kell adni.</translation>
+ </message>
+ <message>
+ <source>Element %1 must come last.</source>
+ <translation type="obsolete">%1 elemnek az utolsónak kell lennie.</translation>
+ </message>
+ <message>
+ <source>At least one %1-element must occur before %2.</source>
+ <translation type="obsolete">Legalább egy %1-elemnek szerepelnie kell %2 előtt.</translation>
+ </message>
+ <message>
+ <source>Only one %1-element can appear.</source>
+ <translation type="obsolete">Csak egy %1-elem jelenhet meg.</translation>
+ </message>
+ <message>
+ <source>At least one %1-element must occur inside %2.</source>
+ <translation type="obsolete">Legalább egy %1-elemnek meg kell jelennie %2-n belül.</translation>
+ </message>
+ <message>
+ <source>When attribute %1 is present on %2, a sequence constructor cannot be used.</source>
+ <translation type="obsolete">Ha %2-n meg van adva %1 attribútum, akkor nem használható szekvencia konstruktor.</translation>
+ </message>
+ <message>
+ <source>Element %1 must have either a %2-attribute or a sequence constructor.</source>
+ <translation type="obsolete">%1 elemnek vagy %2-attribútumának vagy szekvencia konstruktorának lennie kell.</translation>
+ </message>
+ <message>
+ <source>When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor.</source>
+ <translation type="obsolete">Ha paraméter az elvárt, akkor alapértelmezett értéket nem lehet %1-attribútumon vagy szekvencia konstruktoron keresztül átadni.</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot have children.</source>
+ <translation type="obsolete">%1 elemnek nem lehetnek gyermekei.</translation>
+ </message>
+ <message>
+ <source>Element %1 cannot have a sequence constructor.</source>
+ <translation type="obsolete">%1 elemnek nem lehet szekvencia konstruktora.</translation>
+ </message>
+ <message>
+ <source>The attribute %1 cannot appear on %2, when it is a child of %3.</source>
+ <translation type="obsolete">%1 attribútum nem szerepelhet %2-n, ha az %3 gyermeke.</translation>
+ </message>
+ <message>
+ <source>A parameter in a function cannot be declared to be a tunnel.</source>
+ <translation type="obsolete">Egy függvényparaméter nem definiálható mint tunnel.</translation>
+ </message>
+ <message>
+ <source>This processor is not Schema-aware and therefore %1 cannot be used.</source>
+ <translation type="obsolete">Ez a feldolgozó nem séma függő, ezért %1 nem használható.</translation>
+ </message>
+ <message>
+ <source>Top level stylesheet elements must be in a non-null namespace, which %1 isn&apos;t.</source>
+ <translation type="obsolete">Felső szintű stíluslap elemeknek egy nem üres névtérben kell lenniük, ezért %1 nem jó.</translation>
+ </message>
+ <message>
+ <source>The value for attribute %1 on element %2 must either be %3 or %4, not %5.</source>
+ <translation type="obsolete">%2 elem %1 attribútumának értéke %3 vagy %4 kell legyen, de nem %5.</translation>
+ </message>
+ <message>
+ <source>Attribute %1 cannot have the value %2.</source>
+ <translation type="obsolete">%1 attribútum értéke nem lehet %2.</translation>
+ </message>
+ <message>
+ <source>The attribute %1 can only appear on the first %2 element.</source>
+ <translation type="obsolete">%1 attribútum csak az első %2 elem esetén jelenhet meg.</translation>
+ </message>
+ <message>
+ <source>At least one %1 element must appear as child of %2.</source>
+ <translation type="obsolete">Legalább egy %1 elemnek %2 gyermekének kell lennie.</translation>
+ </message>
+ <message>
+ <source>empty</source>
+ <translation type="obsolete">üres</translation>
+ </message>
+ <message>
+ <source>zero or one</source>
+ <translation type="obsolete">nulla vagy egy</translation>
+ </message>
+ <message>
+ <source>exactly one</source>
+ <translation type="obsolete">pontosan egy</translation>
+ </message>
+ <message>
+ <source>one or more</source>
+ <translation type="obsolete">egy vagy több</translation>
+ </message>
+ <message>
+ <source>zero or more</source>
+ <translation type="obsolete">nulla vagy több</translation>
+ </message>
+ <message>
+ <source>Required type is %1, but %2 was found.</source>
+ <translation type="obsolete">Az elvárt típus %1, de a kapott %2.</translation>
+ </message>
+ <message>
+ <source>Promoting %1 to %2 may cause loss of precision.</source>
+ <translation type="obsolete">%1 átalakítása %2 típusra a pontosság elvesztését okozhatja.</translation>
+ </message>
+ <message>
+ <source>The focus is undefined.</source>
+ <translation type="obsolete">A fókusz nincs definiálva.</translation>
+ </message>
+ <message>
+ <source>It&apos;s not possible to add attributes after any other kind of node.</source>
+ <translation type="obsolete">Semmilyen más csomópont után nem adható meg attribútum.</translation>
+ </message>
+ <message>
+ <source>An attribute by name %1 has already been created.</source>
+ <translation type="obsolete">%1 nevű attribútum már létre van hozva.</translation>
+ </message>
+ <message>
+ <source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
+ <translation type="obsolete">Csak a Unicode Codepoint Collation támogatott(%1). %2 nem támogatott.</translation>
+ </message>
+ <message>
+ <source>derived element %1 has weaker value constraint than base particle</source>
+ <translation type="obsolete">%1 leszármazott elem értékére vonatkozó megszorítás gyengébb, mint az ősre vonatkozó</translation>
</message>
</context>
<context>
@@ -3797,15 +6592,15 @@ Mégis törölni szeretné?</translation>
<message>
<location line="-113"/>
<source>The plugin was not loaded.</source>
- <translation>A beépülő modult nem sikerült betölteni.</translation>
+ <translation>A plugin nem lett betöltve.</translation>
</message>
</context>
<context>
<name>QPrintDialog</name>
<message>
- <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+108"/>
+ <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+110"/>
<source>locally connected</source>
- <translation>Helyileg csatlakoztatva</translation>
+ <translation>helyben csatlakoztatva</translation>
</message>
<message>
<location line="+23"/>
@@ -3820,22 +6615,15 @@ Mégis törölni szeretné?</translation>
<translation>ismeretlen</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+266"/>
- <source>OK</source>
- <translation>OK</translation>
- </message>
- <message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+375"/>
- <source>Print all</source>
- <translation>Az összes kinyomtatása</translation>
+ <source>Portrait</source>
+ <translation type="obsolete">Álló</translation>
</message>
<message>
- <location line="+2"/>
- <source>Print range</source>
- <translation>Egy tartomány kinyomtatása</translation>
+ <source>Landscape</source>
+ <translation type="obsolete">Fekvő</translation>
</message>
<message>
- <location line="-48"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+333"/>
<source>A0 (841 x 1189 mm)</source>
<translation>A0 (841 x 1189 mm)</translation>
</message>
@@ -3855,7 +6643,12 @@ Mégis törölni szeretné?</translation>
<translation>A3 (297 x 420 mm)</translation>
</message>
<message>
- <location line="+2"/>
+ <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 inch)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>A5 (148 x 210 mm)</source>
<translation>A5 (148 x 210 mm)</translation>
</message>
@@ -3905,7 +6698,12 @@ Mégis törölni szeretné?</translation>
<translation>B4 (250 x 353 mm)</translation>
</message>
<message>
- <location line="+2"/>
+ <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 inch)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>B6 (125 x 176 mm)</source>
<translation>B6 (125 x 176 mm)</translation>
</message>
@@ -3940,222 +6738,324 @@ Mégis törölni szeretné?</translation>
<translation>DLE (110 x 220 mm)</translation>
</message>
<message>
- <location line="+2"/>
+ <location line="+1"/>
+ <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
+ <translation>Executive (7.5 x 10 inch, 191 x 254 mm)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Folio (210 x 330 mm)</source>
- <translation>Fólió (210 x 330 mm)</translation>
+ <translation>Folio (210 x 330 mm)</translation>
</message>
<message>
<location line="+1"/>
<source>Ledger (432 x 279 mm)</source>
- <translation>Főkönyv (432 x 279 mm)</translation>
+ <translation>Ledger (432 x 279 mm)</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+1"/>
+ <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
+ <translation>Legal (8.5 x 14 inch, 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 inch, 216 x 279 mm)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Tabloid (279 x 432 mm)</source>
- <translation>Tabletta (279 x 432 mm)</translation>
+ <translation>Tabloïd (279 x 432 mm)</translation>
</message>
<message>
<location line="+1"/>
<source>US Common #10 Envelope (105 x 241 mm)</source>
- <translation>US közös #10 bélyeg (105 x 241 mm)</translation>
+ <translation>US Common #10 Envelope (105 x 241 mm)</translation>
</message>
<message>
- <location line="-25"/>
- <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
- <translation>A4 (210 x 297 mm, 8.26 x 11.7 inches)</translation>
+ <location line="+20"/>
+ <source>Print current page</source>
+ <translation>Jelenlegi oldal nyomtatása</translation>
</message>
<message>
- <location line="+11"/>
- <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
- <translation>B5 (176 x 250 mm, 6.93 x 9.84 inches)</translation>
+ <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="+271"/>
+ <source>The &apos;From&apos; value cannot be greater than the &apos;To&apos; value.</source>
+ <translation>Az első oldal száma nem lehet nagyobb, mint az utolsó oldalé.</translation>
</message>
<message>
- <location line="+8"/>
- <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
- <translation>Vezető (7.5 x 10 inches, 191 x 254 mm)</translation>
+ <location line="+1"/>
+ <source>OK</source>
+ <translation>OK</translation>
</message>
<message>
- <location line="+3"/>
- <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
- <translation>Legális (8.5 x 14 inches, 216 x 356 mm)</translation>
+ <source>Cancel</source>
+ <translation type="obsolete">Mégsem</translation>
</message>
<message>
- <location line="+1"/>
- <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
- <translation>Levél (8.5 x 11 inches, 216 x 279 mm)</translation>
+ <source>Page size:</source>
+ <translation type="obsolete">Oldalméret:</translation>
</message>
<message>
- <location line="+20"/>
- <source>Print selection</source>
- <translation>Nyomtatási kiválasztás</translation>
+ <source>Orientation:</source>
+ <translation type="obsolete">Tájolás:</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+112"/>
+ <source>Paper source:</source>
+ <translation type="obsolete">Papírforrás:</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qabstractprintdialog.cpp" line="+113"/>
<location line="+13"/>
<location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/>
<source>Print</source>
<translation>Nyomtatás</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-359"/>
+ <source>File</source>
+ <translation type="obsolete">Fájl</translation>
+ </message>
+ <message>
+ <source>Printer</source>
+ <translation type="obsolete">Nyomtató</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-392"/>
<source>Print To File ...</source>
- <translation>Fájlba nyomtatás ...</translation>
+ <translation>Nyomtatás fájlba...</translation>
</message>
<message>
- <location line="+82"/>
+ <source>Print dialog</source>
+ <translation type="obsolete">Nyomtatási ablak</translation>
+ </message>
+ <message>
+ <source>Paper format</source>
+ <translation type="obsolete">Papírformátum</translation>
+ </message>
+ <message>
+ <source>Size:</source>
+ <translation type="obsolete">Méret:</translation>
+ </message>
+ <message>
+ <source>Properties</source>
+ <translation type="obsolete">Tulajdonságok</translation>
+ </message>
+ <message>
+ <source>Printer info:</source>
+ <translation type="obsolete">Nyomtató információ:</translation>
+ </message>
+ <message>
+ <source>Browse</source>
+ <translation type="obsolete">Böngészés</translation>
+ </message>
+ <message>
+ <source>Print to file</source>
+ <translation type="obsolete">Nyomtatás fájlba</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="-1"/>
+ <source>Print range</source>
+ <translation>Nyomtatási tartomány</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Print all</source>
+ <translation>Összes nyomtatása</translation>
+ </message>
+ <message>
+ <source>Pages from</source>
+ <translation type="obsolete">Kezőoldal</translation>
+ </message>
+ <message>
+ <source>to</source>
+ <translation type="obsolete">utolsó oldal</translation>
+ </message>
+ <message>
+ <source>Selection</source>
+ <translation type="obsolete">Kijelölés</translation>
+ </message>
+ <message>
+ <source>Copies</source>
+ <translation type="obsolete">Másolatok</translation>
+ </message>
+ <message>
+ <source>Number of copies:</source>
+ <translation type="obsolete">Másolatok száma:</translation>
+ </message>
+ <message>
+ <source>Collate</source>
+ <translation type="obsolete">Egyeztetés</translation>
+ </message>
+ <message>
+ <source>Print last page first</source>
+ <translation type="obsolete">Először az utolsó oldal nyomtatása</translation>
+ </message>
+ <message>
+ <source>Other</source>
+ <translation type="obsolete">Egyéb</translation>
+ </message>
+ <message>
+ <source>Print in color if available</source>
+ <translation type="obsolete">Színes nyomtatás, ha lehetséges</translation>
+ </message>
+ <message>
+ <source>Double side printing</source>
+ <translation type="obsolete">Kétszeres méretű nyomtatás</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+82"/>
<source>File %1 is not writable.
Please choose a different file name.</source>
- <translation>A(z) %1 fájl nem írható.
-Kérem válasszon különböző fájl nevet.</translation>
+ <translation>%1 fájl nem írható.
+Válasszon másik fájlnevet.</translation>
</message>
<message>
<location line="+4"/>
<source>%1 already exists.
Do you want to overwrite it?</source>
- <translation>A(z) %1 már létezik.
-Felül szeretné írni?</translation>
+ <translation>%1 már létezik.
+Felülírja?</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="-228"/>
+ <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="-231"/>
<source>File exists</source>
- <translation>Fájl létezik</translation>
+ <translation>A fájl létezik</translation>
</message>
<message>
<location line="+1"/>
<source>&lt;qt&gt;Do you want to overwrite it?&lt;/qt&gt;</source>
- <translation>&lt;qt&gt;Felül szeretné írni?&lt;/qt&gt;</translation>
+ <translation>&lt;qt&gt;Felülírja?&lt;/qt&gt;</translation>
+ </message>
+ <message>
+ <location line="+231"/>
+ <source>Print selection</source>
+ <translation>Kijelölés nyomtatása</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>A(z) %1 egy könyvtár.
-Kérem válasszon egy különböző fájl nevet.</translation>
- </message>
- <message>
- <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>A &apos;-Tól&apos; érték nem lehet nagyobb az &apos;-Ig&apos; értéknél.</translation>
+ <translation>%1 egy könyvtár.
+Válasszon másik fájlnevet.</translation>
</message>
<message>
<location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="-232"/>
<source>A0</source>
- <translation>A0</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A1</source>
- <translation>A1</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A2</source>
- <translation>A2</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A3</source>
- <translation>A3</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A4</source>
- <translation>A4</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A5</source>
- <translation>A5</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A6</source>
- <translation>A6</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A7</source>
- <translation>A7</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A8</source>
- <translation>A8</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>A9</source>
- <translation>A9</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B0</source>
- <translation>B0</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B1</source>
- <translation>B1</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B2</source>
- <translation>B2</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B3</source>
- <translation>B3</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B4</source>
- <translation>B4</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B5</source>
- <translation>B5</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B6</source>
- <translation>B6</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B7</source>
- <translation>B7</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B8</source>
- <translation>B8</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B9</source>
- <translation>B9</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>B10</source>
- <translation>B10</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>C5E</source>
- <translation>C5E</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>DLE</source>
- <translation>DLE</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Executive</source>
- <translation>Vezető</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
@@ -4165,12 +7065,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Ledger</source>
- <translation>Főkönyv</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Legal</source>
- <translation>Legális</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
@@ -4180,12 +7080,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Tabloid</source>
- <translation>Tabletta</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>US Common #10 Envelope</source>
- <translation>US közös #10 bélyeg</translation>
+ <translation>US általános #10-es boríték</translation>
</message>
<message>
<location line="+1"/>
@@ -4193,25 +7093,30 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<translation>Egyéni</translation>
</message>
<message>
- <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-523"/>
+ <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-530"/>
<location line="+68"/>
<source>&amp;Options &gt;&gt;</source>
<translation>&amp;Opciók &gt;&gt;</translation>
</message>
<message>
- <location line="+4"/>
+ <location line="-63"/>
+ <source>&amp;Print</source>
+ <translation>&amp;Nyomtatás</translation>
+ </message>
+ <message>
+ <location line="+67"/>
<source>&amp;Options &lt;&lt;</source>
<translation>&amp;Opciók &lt;&lt;</translation>
</message>
<message>
- <location line="+253"/>
+ <location line="+260"/>
<source>Print to File (PDF)</source>
- <translation>Fájlba nyomtatás (PDF)</translation>
+ <translation>Nyomtatás fájlba (PDF)</translation>
</message>
<message>
<location line="+1"/>
<source>Print to File (Postscript)</source>
- <translation>Fájlba nyomtatás (Postscript)</translation>
+ <translation>Nyomtatás fájlba (PostScript)</translation>
</message>
<message>
<location line="+47"/>
@@ -4221,55 +7126,56 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Write %1 file</source>
- <translation>%1 fájlba írás</translation>
- </message>
- <message>
- <location line="-369"/>
- <source>&amp;Print</source>
- <translation>&amp;Nyomtatás</translation>
+ <translation>írás %1 fájlba</translation>
</message>
</context>
<context>
<name>QPrintPreviewDialog</name>
<message>
- <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+246"/>
+ <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
+ <location line="+12"/>
+ <source>Page Setup</source>
+ <translation>Oldalbeállítás</translation>
+ </message>
+ <message>
+ <location filename="../src/gui/dialogs/qprintpreviewdialog.cpp" line="+249"/>
<source>%1%</source>
<translation>%1%</translation>
</message>
<message>
- <location line="+68"/>
+ <location line="+84"/>
<source>Print Preview</source>
- <translation>Nyomtatási előnézet</translation>
+ <translation>Nyomtatási kép</translation>
</message>
<message>
<location line="+30"/>
<source>Next page</source>
- <translation>Következő lap</translation>
+ <translation>Következő oldal</translation>
</message>
<message>
<location line="+1"/>
<source>Previous page</source>
- <translation>Előző lap</translation>
+ <translation>Előző oldal</translation>
</message>
<message>
<location line="+1"/>
<source>First page</source>
- <translation>Első lap</translation>
+ <translation>Első oldal</translation>
</message>
<message>
<location line="+1"/>
<source>Last page</source>
- <translation>Utolsó lap</translation>
+ <translation>Utolsó oldal</translation>
</message>
<message>
<location line="+9"/>
<source>Fit width</source>
- <translation>Megfelelő szélesség</translation>
+ <translation>Szélesség igazítása</translation>
</message>
<message>
<location line="+1"/>
<source>Fit page</source>
- <translation>Megfelelő lap</translation>
+ <translation>Oldal igazítása</translation>
</message>
<message>
<location line="+11"/>
@@ -4284,27 +7190,27 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+6"/>
<source>Portrait</source>
- <translation>Portré</translation>
+ <translation>Álló</translation>
</message>
<message>
<location line="+1"/>
<source>Landscape</source>
- <translation>Tájkép</translation>
+ <translation>Fekvő</translation>
</message>
<message>
<location line="+10"/>
<source>Show single page</source>
- <translation>Egyetlen lap megjelenítése</translation>
+ <translation>Egy oldalas megjelenítés</translation>
</message>
<message>
<location line="+1"/>
<source>Show facing pages</source>
- <translation>Lapok megjelenítése szemből</translation>
+ <translation>Kétoldalas megjelenítés</translation>
</message>
<message>
<location line="+1"/>
<source>Show overview of all pages</source>
- <translation>Az összes lap áttekintésének megjelenítése</translation>
+ <translation>Az összes oldal megjelenítése</translation>
</message>
<message>
<location line="+15"/>
@@ -4314,23 +7220,37 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Page setup</source>
- <translation>Lap beállítás</translation>
+ <translation>Oldalbeállítás</translation>
</message>
<message>
- <location line="+150"/>
+ <location line="+6"/>
+ <source>Close</source>
+ <translation>Bezárás</translation>
+ </message>
+ <message>
+ <location line="+148"/>
<source>Export to PDF</source>
- <translation>PDF-be exportálás</translation>
+ <translation>Exportálás PDF-be</translation>
</message>
<message>
<location line="+3"/>
<source>Export to PostScript</source>
- <translation>PostScript-be exportálás</translation>
+ <translation>Exportálás PostScript-be</translation>
</message>
+</context>
+<context>
+ <name>QPrintPropertiesDialog</name>
<message>
- <location filename="../src/gui/dialogs/qabstractpagesetupdialog.cpp" line="+68"/>
- <location line="+12"/>
- <source>Page Setup</source>
- <translation>Lap beállítás</translation>
+ <source>PPD Properties</source>
+ <translation type="obsolete">PPD beállítások</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation type="obsolete">Mentés</translation>
+ </message>
+ <message>
+ <source>OK</source>
+ <translation type="obsolete">OK</translation>
</message>
</context>
<context>
@@ -4338,17 +7258,17 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/gui/dialogs/qprintpropertieswidget.ui"/>
<source>Form</source>
- <translation>Forma</translation>
+ <translation>Formátum</translation>
</message>
<message>
<location/>
<source>Page</source>
- <translation>Lap</translation>
+ <translation>Papír</translation>
</message>
<message>
<location/>
<source>Advanced</source>
- <translation>Speciális</translation>
+ <translation>Egyebek</translation>
</message>
</context>
<context>
@@ -4356,57 +7276,57 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/gui/dialogs/qprintsettingsoutput.ui"/>
<source>Form</source>
- <translation>Forma</translation>
+ <translation>Formátum</translation>
</message>
<message>
<location/>
<source>Copies</source>
- <translation>Másolás</translation>
+ <translation>Másolatok</translation>
</message>
<message>
<location/>
<source>Print range</source>
- <translation>Tartomány nyomtatása</translation>
+ <translation>Nyomtatási tartomány</translation>
</message>
<message>
<location/>
<source>Print all</source>
- <translation>Az összes nyomtatása</translation>
+ <translation>Összes nyomtatása</translation>
</message>
<message>
<location/>
<source>Pages from</source>
- <translation>Lapok ettől</translation>
+ <translation>Kezőoldal</translation>
</message>
<message>
<location/>
<source>to</source>
- <translation>eddig</translation>
+ <translation>utolsó oldal</translation>
</message>
<message>
<location/>
<source>Selection</source>
- <translation>Kiválasztás</translation>
+ <translation>Kijelölés</translation>
</message>
<message>
<location/>
<source>Output Settings</source>
- <translation>Kimeneti beállítások</translation>
+ <translation>Kimenet beállítása</translation>
</message>
<message>
<location/>
<source>Copies:</source>
- <translation>Másolatok:</translation>
+ <translation>Másolat:</translation>
</message>
<message>
<location/>
<source>Collate</source>
- <translation>Egyeztet</translation>
+ <translation>Egyeztetés</translation>
</message>
<message>
<location/>
<source>Reverse</source>
- <translation>Fordítva</translation>
+ <translation>Fordított</translation>
</message>
<message>
<location/>
@@ -4416,7 +7336,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location/>
<source>Color Mode</source>
- <translation>Színes mód</translation>
+ <translation>Színmód</translation>
</message>
<message>
<location/>
@@ -4426,27 +7346,32 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location/>
<source>Grayscale</source>
- <translation>Szürkeárnyalat</translation>
+ <translation>Szürkeárnyalatos</translation>
</message>
<message>
<location/>
<source>Duplex Printing</source>
- <translation>Dupla nyomtatás</translation>
+ <translation>Duplex nyomtatás</translation>
</message>
<message>
<location/>
<source>None</source>
- <translation>Semmi</translation>
+ <translation>Nincs</translation>
</message>
<message>
<location/>
<source>Long side</source>
- <translation>Hosszú oldal</translation>
+ <translation>Hosszabb oldal</translation>
</message>
<message>
<location/>
<source>Short side</source>
- <translation>Rövid oldal</translation>
+ <translation>Rövidebb oldal</translation>
+ </message>
+ <message>
+ <location/>
+ <source>Current Page</source>
+ <translation>Jelenlegi oldal</translation>
</message>
</context>
<context>
@@ -4454,7 +7379,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/gui/dialogs/qprintwidget.ui"/>
<source>Form</source>
- <translation>Űrlap</translation>
+ <translation>Formátum</translation>
</message>
<message>
<location/>
@@ -4469,12 +7394,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location/>
<source>P&amp;roperties</source>
- <translation>Tu&amp;lajdonságok</translation>
+ <translation>Tula&amp;jdonságok</translation>
</message>
<message>
<location/>
<source>Location:</source>
- <translation>Elhelyezkedés:</translation>
+ <translation>Hely:</translation>
</message>
<message>
<location/>
@@ -4500,21 +7425,46 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<context>
<name>QProcess</name>
<message>
+ <location filename="../src/corelib/io/qprocess.cpp" line="+866"/>
+ <location line="+52"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+573"/>
+ <location line="+50"/>
+ <source>Error reading from process</source>
+ <translation>Hiba a folyamat kimenetéről olvasáskor</translation>
+ </message>
+ <message>
+ <location line="+47"/>
+ <location line="+826"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="+140"/>
+ <source>Error writing to process</source>
+ <translation>Hiba a folyamat bemenetére íráskor</translation>
+ </message>
+ <message>
+ <location line="-756"/>
+ <source>Process crashed</source>
+ <translation>A folyamat összeomlott</translation>
+ </message>
+ <message>
+ <location line="+959"/>
+ <source>No program defined</source>
+ <translation>A programnév nincs megadva</translation>
+ </message>
+ <message>
<location filename="../src/corelib/io/qprocess_unix.cpp" line="+406"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+137"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="-626"/>
<source>Could not open input redirection for reading</source>
- <translation>Nem sikerült megnyitni a bevitel olvasásra irányítását</translation>
+ <translation>Az átirányított bemenet megnyitása olvasásra sikertelen</translation>
</message>
<message>
<location line="+12"/>
<location filename="../src/corelib/io/qprocess_win.cpp" line="+20"/>
<source>Could not open output redirection for writing</source>
- <translation>Nem sikerült megnyitni a kimenet írásra irányítását</translation>
+ <translation>Az átirányított kimenet megnyitása írásra sikertelen</translation>
</message>
<message>
<location line="+239"/>
<source>Resource error (fork failure): %1</source>
- <translation>Erőforrás hiba (Szétágazás hiba): %1</translation>
+ <translation>A forkolás sikertelen: %1</translation>
</message>
<message>
<location line="+258"/>
@@ -4527,37 +7477,16 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+42"/>
<location line="+54"/>
<source>Process operation timed out</source>
- <translation>Folyamat művelet időtúllépés</translation>
- </message>
- <message>
- <location filename="../src/corelib/io/qprocess.cpp" line="+855"/>
- <location line="+52"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="-211"/>
- <location line="+50"/>
- <source>Error reading from process</source>
- <translation>Hiba történt a folyamat olvasása közben</translation>
- </message>
- <message>
- <location line="+47"/>
- <location line="+826"/>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="+140"/>
- <source>Error writing to process</source>
- <translation>Hiba történt a folyamat írása közben</translation>
- </message>
- <message>
- <location line="-756"/>
- <source>Process crashed</source>
- <translation>A folyamat összeomlott</translation>
+ <translation>A művelet időtúllépés miatt megszakadt</translation>
</message>
<message>
- <location line="+959"/>
- <source>No program defined</source>
- <translation>Nincs program definiálva</translation>
+ <source>Process failed to start</source>
+ <translation type="obsolete">A folyamat nem indult el</translation>
</message>
<message>
- <location filename="../src/corelib/io/qprocess_win.cpp" line="-360"/>
+ <location filename="../src/corelib/io/qprocess_win.cpp" line="-381"/>
<source>Process failed to start: %1</source>
- <translation>Nem sikerült elindítani a folyamatot: %1</translation>
+ <translation>A művelet előkészítése nem lehetséges: %1</translation>
</message>
</context>
<context>
@@ -4565,7 +7494,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/gui/dialogs/qprogressdialog.cpp" line="+196"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
</context>
<context>
@@ -4581,7 +7510,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+12"/>
<source>Check</source>
- <translation>Ellenőrzés</translation>
+ <translation>Kijelölés</translation>
</message>
</context>
<context>
@@ -4594,22 +7523,22 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>disabled feature used</source>
- <translation>tiltás tulajdonság használva</translation>
+ <translation>letiltott lehetőség használata</translation>
</message>
<message>
<location line="+1"/>
<source>bad char class syntax</source>
- <translation>rossz karakter osztály szintakszis</translation>
+ <translation>rossz karakterosztály-szintaxis</translation>
</message>
<message>
<location line="+1"/>
<source>bad lookahead syntax</source>
- <translation>rossz előreolvasási szintakszis</translation>
+ <translation>rossz lookahead-szintaxis</translation>
</message>
<message>
<location line="+1"/>
<source>bad repetition syntax</source>
- <translation>rossz ismétlési szintakszis</translation>
+ <translation>rossz ismétlés-szintaxis</translation>
</message>
<message>
<location line="+1"/>
@@ -4619,17 +7548,17 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>missing left delim</source>
- <translation>hiányzó bal határolójel</translation>
+ <translation>hiányzó baloldali határoló</translation>
</message>
<message>
<location line="+1"/>
<source>unexpected end</source>
- <translation>váratlan vég</translation>
+ <translation>váratlan befejezés</translation>
</message>
<message>
<location line="+1"/>
<source>met internal limit</source>
- <translation>találkozott belső korlát</translation>
+ <translation>belső korlát elérve</translation>
</message>
<message>
<location line="+1"/>
@@ -4645,100 +7574,112 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<context>
<name>QSQLite2Driver</name>
<message>
- <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+391"/>
+ <source>Error to open database</source>
+ <translation type="obsolete">Adatbázis megnyitási hiba</translation>
+ </message>
+ <message>
+ <location filename="../src/sql/drivers/sqlite2/qsql_sqlite2.cpp" line="+399"/>
<source>Error opening database</source>
- <translation>Hiba történt az adatbázis megnyitása közben</translation>
+ <translation>Adatbázis megnyitási hiba</translation>
</message>
<message>
<location line="+41"/>
<source>Unable to begin transaction</source>
- <translation>Nem lehet elkezdeni a tranzakciót</translation>
+ <translation>A tranzakció nem indítható</translation>
</message>
<message>
<location line="+17"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
</message>
<message>
<location line="+17"/>
<source>Unable to rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
+ </message>
+ <message>
+ <source>Unable to rollback Transaction</source>
+ <translation type="obsolete">A tranzakció nem görgethető vissza</translation>
</message>
</context>
<context>
<name>QSQLite2Result</name>
<message>
- <location line="-319"/>
+ <location line="-326"/>
<source>Unable to fetch results</source>
- <translation>Nem lehet letölteni az eredményeket</translation>
+ <translation>Az eredmények nem olvashatók ki</translation>
</message>
<message>
- <location line="+143"/>
+ <location line="+150"/>
<source>Unable to execute statement</source>
- <translation>Nem lehet végrehajtani az állítást</translation>
+ <translation>A parancs nem hajtható végre</translation>
</message>
</context>
<context>
<name>QSQLiteDriver</name>
<message>
- <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+540"/>
+ <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+539"/>
<source>Error opening database</source>
- <translation>Hiba történt az adatbázis megnyitása közben</translation>
+ <translation>Adatbázis megnyitási hiba</translation>
</message>
<message>
<location line="+11"/>
<source>Error closing database</source>
- <translation>Hiba történt az adatbázis bezárása közben</translation>
+ <translation>Adatbázis bezárási hiba</translation>
</message>
<message>
<location line="+20"/>
<source>Unable to begin transaction</source>
- <translation>Nem lehet elkezdeni a tranzakciót</translation>
+ <translation>A tranzakció nem indítható</translation>
</message>
<message>
<location line="+15"/>
<source>Unable to commit transaction</source>
- <translation>Nem lehet kommitolni a tranzakciót</translation>
+ <translation>A tranzakció nem véglegesíthető</translation>
+ </message>
+ <message>
+ <source>Unable to roll back transaction</source>
+ <translation type="obsolete">A tranzakció nem görgethető vissza</translation>
</message>
<message>
<location line="+15"/>
<source>Unable to rollback transaction</source>
- <translation>Nem lehet visszagörgetni a tranzakciót</translation>
+ <translation>A tranzakció nem görgethető vissza</translation>
</message>
</context>
<context>
<name>QSQLiteResult</name>
<message>
- <location line="-404"/>
- <location line="+62"/>
+ <location line="-396"/>
+ <location line="+63"/>
<location line="+8"/>
<source>Unable to fetch row</source>
- <translation>Nem lehet leszedni a sort</translation>
+ <translation>A sor nem olvasható ki</translation>
</message>
<message>
<location line="+59"/>
<source>Unable to execute statement</source>
- <translation>Nem lehet végrehajtani az állítást</translation>
+ <translation>A parancs nem hajtható végre</translation>
</message>
<message>
<location line="+20"/>
<source>Unable to reset statement</source>
- <translation>Nem lehet visszaállítani az állítást</translation>
+ <translation>A parancs nem vonható vissza</translation>
</message>
<message>
<location line="+45"/>
<source>Unable to bind parameters</source>
- <translation>Nem lehet összekötni a paramétereket</translation>
+ <translation>A paraméterek kötése sikertelen</translation>
</message>
<message>
<location line="+7"/>
<source>Parameter count mismatch</source>
- <translation>A paraméter számláló nem megfelelő</translation>
+ <translation>A paraméterek száma nem megfelelő</translation>
</message>
<message>
- <location line="-200"/>
+ <location line="-201"/>
<source>No query</source>
- <translation>Nincs lekérdezés</translation>
+ <translation>Üres lekérdezés</translation>
</message>
</context>
<context>
@@ -4746,12 +7687,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/scripttools/debugging/qscriptbreakpointsmodel.cpp" line="+455"/>
<source>ID</source>
- <translation>Azonosító</translation>
+ <translation>ID</translation>
</message>
<message>
<location line="+2"/>
<source>Location</source>
- <translation>Elhelyezkedés</translation>
+ <translation>Hely</translation>
</message>
<message>
<location line="+2"/>
@@ -4761,17 +7702,18 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Ignore-count</source>
- <translation>Számítás mellőzése</translation>
+ <translation>Kihagyások száma</translation>
</message>
<message>
<location line="+2"/>
<source>Single-shot</source>
- <translation>Egylövetű</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation></translation>
</message>
<message>
<location line="+2"/>
<source>Hit-count</source>
- <translation>Leütés számítás</translation>
+ <translation>Találatok száma</translation>
</message>
</context>
<context>
@@ -4793,7 +7735,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location filename="../src/scripttools/debugging/qscriptdebugger.cpp" line="+885"/>
<location line="+1013"/>
<source>Go to Line</source>
- <translation>Ugrás erre a sorra</translation>
+ <translation>Sorra ugrás</translation>
</message>
<message>
<location line="-1012"/>
@@ -4808,7 +7750,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Shift+F5</source>
- <translation>Shift+F5</translation>
+ <translation></translation>
</message>
<message>
<location line="+15"/>
@@ -4818,97 +7760,97 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>F5</source>
- <translation>F5</translation>
+ <translation></translation>
</message>
<message>
<location line="+15"/>
<source>Step Into</source>
- <translation>Belelépés</translation>
+ <translation>Beleugrás</translation>
</message>
<message>
<location line="+2"/>
<source>F11</source>
- <translation>F11</translation>
+ <translation></translation>
</message>
<message>
<location line="+15"/>
<source>Step Over</source>
- <translation>Átlépés</translation>
+ <translation>Átugrás</translation>
</message>
<message>
<location line="+2"/>
<source>F10</source>
- <translation>F10</translation>
+ <translation></translation>
</message>
<message>
<location line="+15"/>
<source>Step Out</source>
- <translation>Kilép</translation>
+ <translation>Kiugrás</translation>
</message>
<message>
<location line="+2"/>
<source>Shift+F11</source>
- <translation>Shift+F11</translation>
+ <translation></translation>
</message>
<message>
<location line="+15"/>
<source>Run to Cursor</source>
- <translation>Kurzorra futás</translation>
+ <translation>Futtatás a kurzortól</translation>
</message>
<message>
<location line="+2"/>
<source>Ctrl+F10</source>
- <translation>Ctrl+F10</translation>
+ <translation></translation>
</message>
<message>
<location line="+16"/>
<source>Run to New Script</source>
- <translation>Az új Szkriptre futás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+15"/>
<source>Toggle Breakpoint</source>
- <translation>Töréspont kapcsolgatása</translation>
+ <translation>Töréspont beállítása</translation>
</message>
<message>
<location line="+1"/>
<source>F9</source>
- <translation>F9</translation>
+ <translation></translation>
</message>
<message>
<location line="+14"/>
<source>Clear Debug Output</source>
- <translation>Debug kimenet kiürítése</translation>
+ <translation>Debug kimenet törlése</translation>
</message>
<message>
<location line="+13"/>
<source>Clear Error Log</source>
- <translation>Error Log kiürítése</translation>
+ <translation>Hibanapló törlése</translation>
</message>
<message>
<location line="+13"/>
<source>Clear Console</source>
- <translation>Konzol kiürítése</translation>
+ <translation>Konzol törlése</translation>
</message>
<message>
<location line="+14"/>
<source>&amp;Find in Script...</source>
- <translation>Szkriptben &amp;keresés...</translation>
+ <translation>&amp;Keresés a parancsfájlban...</translation>
</message>
<message>
<location line="+1"/>
<source>Ctrl+F</source>
- <translation>Ctrl+F</translation>
+ <translation></translation>
</message>
<message>
<location line="+17"/>
<source>Find &amp;Next</source>
- <translation>&amp;Következő keresése</translation>
+ <translation>Kö&amp;vetkező keresése</translation>
</message>
<message>
<location line="+2"/>
<source>F3</source>
- <translation>F3</translation>
+ <translation></translation>
</message>
<message>
<location line="+13"/>
@@ -4918,17 +7860,17 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Shift+F3</source>
- <translation>Shift+F3</translation>
+ <translation></translation>
</message>
<message>
<location line="+14"/>
<source>Ctrl+G</source>
- <translation>Ctrl+G</translation>
+ <translation></translation>
</message>
<message>
<location line="+11"/>
<source>Debug</source>
- <translation>Debug</translation>
+ <translation>Hibakeresés</translation>
</message>
</context>
<context>
@@ -4951,23 +7893,23 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+5"/>
<source>Case Sensitive</source>
- <translation>Kis és nagybetű érzékeny</translation>
+ <translation>Kis/nagybetű érzékeny</translation>
</message>
<message>
<location line="+3"/>
<source>Whole words</source>
- <translation>Egész szavakat</translation>
+ <translation>Teljes szó</translation>
</message>
<message>
<location line="+9"/>
<source>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;Search wrapped</source>
- <translation>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;Keresés tördelve</translation>
+ <translation>&lt;img src=&quot;:/qt/scripttools/debugging/images/wrap.png&quot;&gt;&amp;nbsp;A keresés befejeződött</translation>
</message>
</context>
<context>
<name>QScriptDebuggerLocalsModel</name>
<message>
- <location filename="../src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp" line="+872"/>
+ <location filename="../src/scripttools/debugging/qscriptdebuggerlocalsmodel.cpp" line="+897"/>
<source>Name</source>
<translation>Név</translation>
</message>
@@ -4992,7 +7934,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Location</source>
- <translation>Elhelyezkedés</translation>
+ <translation>Hely</translation>
</message>
</context>
<context>
@@ -5000,12 +7942,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/scripttools/debugging/qscriptedit.cpp" line="+411"/>
<source>Toggle Breakpoint</source>
- <translation>Töréspont kapcsolgatása</translation>
+ <translation>Töréspont beállítása</translation>
</message>
<message>
<location line="+2"/>
<source>Disable Breakpoint</source>
- <translation>Töréspont tiltása</translation>
+ <translation>Töréspont letiltása</translation>
</message>
<message>
<location line="+1"/>
@@ -5015,7 +7957,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+4"/>
<source>Breakpoint Condition:</source>
- <translation>Töréspont feltétel:</translation>
+ <translation>Töréspont állapota:</translation>
</message>
</context>
<context>
@@ -5023,7 +7965,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/scripttools/debugging/qscriptenginedebugger.cpp" line="+523"/>
<source>Loaded Scripts</source>
- <translation>Betöltött szkriptek</translation>
+ <translation>Betöltött parancsfájlok</translation>
</message>
<message>
<location line="+6"/>
@@ -5053,7 +7995,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+6"/>
<source>Error Log</source>
- <translation>Hiba Log</translation>
+ <translation>Hibanapló</translation>
</message>
<message>
<location line="+12"/>
@@ -5068,7 +8010,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+18"/>
<source>Qt Script Debugger</source>
- <translation>Qt szkript debugger</translation>
+ <translation>Qt parancsfájl-hibakereső</translation>
</message>
</context>
<context>
@@ -5089,44 +8031,44 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Left edge</source>
- <translation>Bal szegély</translation>
+ <translation>Bal szélen</translation>
</message>
<message>
<location line="+0"/>
<source>Top</source>
- <translation>Tető</translation>
+ <translation>Fent</translation>
</message>
<message>
<location line="+1"/>
<source>Right edge</source>
- <translation>Jobb szegély</translation>
+ <translation>Jobb szélen</translation>
</message>
<message>
<location line="+0"/>
<source>Bottom</source>
- <translation>Alja</translation>
+ <translation>Lent</translation>
</message>
<message>
<location line="+2"/>
<source>Page left</source>
- <translation>Lapzoás balra</translation>
+ <translation>Oldal balra</translation>
</message>
<message>
<location line="+0"/>
<location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+143"/>
<source>Page up</source>
- <translation>Lapozás felfele</translation>
+ <translation>Oldal felfelé</translation>
</message>
<message>
<location line="+1"/>
<source>Page right</source>
- <translation>Lapozás jobbra</translation>
+ <translation>Oldal jobbra</translation>
</message>
<message>
<location line="+0"/>
<location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+4"/>
<source>Page down</source>
- <translation>Lapozás lefele</translation>
+ <translation>Oldal lefelé</translation>
</message>
<message>
<location line="+2"/>
@@ -5136,7 +8078,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+0"/>
<source>Scroll up</source>
- <translation>Görgetés felfele</translation>
+ <translation>Görgetés felfelé</translation>
</message>
<message>
<location line="+1"/>
@@ -5146,48 +8088,53 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+0"/>
<source>Scroll down</source>
- <translation>Görgetés lefele</translation>
+ <translation>Görgetés lefelé</translation>
</message>
<message>
<location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="-6"/>
<source>Line up</source>
- <translation>Egy sorral feljebb</translation>
+ <translation>Sor felfelé</translation>
</message>
<message>
<location line="+4"/>
<source>Position</source>
- <translation>Pozíció</translation>
+ <translation>Helyzet</translation>
</message>
<message>
<location line="+4"/>
<source>Line down</source>
- <translation>Egy sorral lejjebb</translation>
+ <translation>Sor lefelé</translation>
</message>
</context>
<context>
<name>QSharedMemory</name>
<message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+304"/>
+ <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="+223"/>
+ <source>%1: unable to set key on lock</source>
+ <translation>%1:a kulcs beállítása sikertelen a zároláson</translation>
+ </message>
+ <message>
+ <location line="+81"/>
<source>%1: create size is less then 0</source>
- <translation>%1: 0-nál kisebb méret létrehozása</translation>
+ <translation>%1: a megadott méret kissebb mint 0</translation>
</message>
<message>
<location line="+168"/>
<location filename="../src/corelib/kernel/qsharedmemory_p.h" line="+155"/>
<source>%1: unable to lock</source>
- <translation>%1: Nem lehet zárolni</translation>
+ <translation>%1: a zárolás sikertelen</translation>
</message>
<message>
<location line="+22"/>
<source>%1: unable to unlock</source>
- <translation>%1: Nem lehet kinyitni</translation>
+ <translation>%1: a feloldás sikertelen</translation>
</message>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_symbian.cpp" line="+83"/>
- <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+79"/>
+ <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+81"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/>
<source>%1: permission denied</source>
- <translation>%1: engedély megtagadva</translation>
+ <translation>%1: hozzáférés megtagadva</translation>
</message>
<message>
<location line="-16"/>
@@ -5199,14 +8146,14 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+4"/>
<source>%1: doesn&apos;t exists</source>
- <translation>%1: nem létezik</translation>
+ <translation>%1: nem tatlálható</translation>
</message>
<message>
<location line="+8"/>
<location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+10"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+18"/>
<source>%1: out of resources</source>
- <translation>%1: Kifogyott az erőforrásból</translation>
+ <translation>%1: az erőforrások elfogytak</translation>
</message>
<message>
<location line="+7"/>
@@ -5218,19 +8165,23 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+21"/>
<source>%1: key is empty</source>
- <translation>%1: Üres kulcs</translation>
+ <translation>%1: a kulcs hiányzik</translation>
+ </message>
+ <message>
+ <source>%1: unix key file doesn&apos;t exists</source>
+ <translation type="obsolete">%1: az unix kulcsfájl hiányzik</translation>
</message>
<message>
<location line="+15"/>
<source>%1: ftok failed</source>
- <translation>%1: ftok hiba</translation>
+ <translation>%1: ftok hibát adott vissza</translation>
</message>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_symbian.cpp" line="+56"/>
<location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+51"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+15"/>
<source>%1: unable to make key</source>
- <translation>%1: Nem lehet kulcsot csinálni</translation>
+ <translation>%1: a kulcs elkészítése sikertelen</translation>
</message>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="-97"/>
@@ -5241,23 +8192,23 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+39"/>
<source>%1: UNIX key file doesn&apos;t exist</source>
- <translation>%1: UNIX kulcs fájl nem létezik</translation>
+ <translation>%1: az UNIX kulcsfájl nem létezik</translation>
</message>
<message>
<location line="+78"/>
<source>%1: system-imposed size restrictions</source>
- <translation>%1: a rendszer rárakott méretének korlátozásai</translation>
+ <translation>%1: a rendszer méretkorlátokat állított fel</translation>
</message>
<message>
<location line="+53"/>
<source>%1: not attached</source>
- <translation>%1: nincs hozzácsatolva</translation>
+ <translation>%1: nem lesz csatolva</translation>
</message>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_symbian.cpp" line="-67"/>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+4"/>
<source>%1: invalid size</source>
- <translation>%1: érvénytelen méret</translation>
+ <translation>%1: hibás méret</translation>
</message>
<message>
<location line="+40"/>
@@ -5268,130 +8219,126 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+32"/>
<source>%1: size query failed</source>
- <translation>%1: méret lekérdezési hiba</translation>
- </message>
- <message>
- <location filename="../src/corelib/kernel/qsharedmemory.cpp" line="-271"/>
- <source>%1: unable to set key on lock</source>
- <translation>%1: nem lehet beállítani a kulcsot a záron</translation>
+ <translation>%1: hiba a méret lekérdezésekor</translation>
</message>
</context>
<context>
<name>QShortcut</name>
<message>
- <location filename="../src/gui/kernel/qkeysequence.cpp" line="+393"/>
+ <location filename="../src/gui/kernel/qkeysequence.cpp" line="+396"/>
<source>Space</source>
- <translation>Space</translation>
+ <extracomment>This and all following &quot;incomprehensible&quot; strings in QShortcut context are key names. Please use the localized names appearing on actual keyboards or whatever is commonly used.</extracomment>
+ <translation>Szóköz</translation>
</message>
<message>
<location line="+1"/>
<source>Esc</source>
- <translation>Esc</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Tab</source>
- <translation>Tab</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Backtab</source>
- <translation>Backtab</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Backspace</source>
- <translation>Backspace</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Return</source>
- <translation>Return</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Enter</source>
- <translation>Enter</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Ins</source>
- <translation>Ins</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Del</source>
- <translation>Del</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Pause</source>
- <translation>Pause</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Print</source>
- <translation>Print</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>SysReq</source>
- <translation>SysReq</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Home</source>
- <translation>Home</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>End</source>
- <translation>End</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Left</source>
- <translation>Left</translation>
+ <translation>Bal</translation>
</message>
<message>
<location line="+1"/>
<source>Up</source>
- <translation>Up</translation>
+ <translation>Fel</translation>
</message>
<message>
<location line="+1"/>
<source>Right</source>
- <translation>Right</translation>
+ <translation>Jobb</translation>
</message>
<message>
<location line="+1"/>
<source>Down</source>
- <translation>Down</translation>
+ <translation>Le</translation>
</message>
<message>
<location line="+1"/>
<source>PgUp</source>
- <translation>PgUp</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>PgDown</source>
- <translation>PgDown</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>CapsLock</source>
- <translation>CapsLock</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>NumLock</source>
- <translation>NumLock</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>ScrollLock</source>
- <translation>ScrollLock</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
@@ -5416,57 +8363,57 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Stop</source>
- <translation>Leállítás</translation>
+ <translation>Stop</translation>
</message>
<message>
<location line="+1"/>
<source>Refresh</source>
- <translation>Felfrissítés</translation>
+ <translation>Frissítés</translation>
</message>
<message>
<location line="+1"/>
<source>Volume Down</source>
- <translation>Hangerő lehalkítása</translation>
+ <translation>Hangerő csökkentése</translation>
</message>
<message>
<location line="+1"/>
<source>Volume Mute</source>
- <translation>Hangerő Elnémítás</translation>
+ <translation>Némítás</translation>
</message>
<message>
<location line="+1"/>
<source>Volume Up</source>
- <translation>Hangerő hangosítása</translation>
+ <translation>Hangerő növelése</translation>
</message>
<message>
<location line="+1"/>
<source>Bass Boost</source>
- <translation>Basszus erősítés</translation>
+ <translation>Mély hang kiemelése</translation>
</message>
<message>
<location line="+1"/>
<source>Bass Up</source>
- <translation>Basszus növelése</translation>
+ <translation>Mély hang növelése</translation>
</message>
<message>
<location line="+1"/>
<source>Bass Down</source>
- <translation>Basszus csökkentése</translation>
+ <translation>Mély hang csökkentése</translation>
</message>
<message>
<location line="+1"/>
<source>Treble Up</source>
- <translation>Felháromszorozás</translation>
+ <translation>Magas hang növelése</translation>
</message>
<message>
<location line="+1"/>
<source>Treble Down</source>
- <translation>Leharmadolás</translation>
+ <translation>Magas hang csökkentése</translation>
</message>
<message>
<location line="+1"/>
<source>Media Play</source>
- <translation>Média elindítása</translation>
+ <translation>Média lejátszása</translation>
</message>
<message>
<location line="+1"/>
@@ -5491,7 +8438,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Favorites</source>
- <translation>Kedvcencek</translation>
+ <translation>Kedvencek</translation>
</message>
<message>
<location line="+1"/>
@@ -5501,127 +8448,127 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Standby</source>
- <translation>Készenlét</translation>
+ <translation>Standby</translation>
</message>
<message>
<location line="+1"/>
<source>Open URL</source>
- <translation>URL megnyitása</translation>
+ <translation>URL megynyitása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch Mail</source>
- <translation>Mail indítása</translation>
+ <translation>Levelezőprogram indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch Media</source>
- <translation>Média indítása</translation>
+ <translation>Médialejátszó indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (0)</source>
- <translation>Elindítás (0)</translation>
+ <translation>(0) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (1)</source>
- <translation>Elindítás (1)</translation>
+ <translation>(1) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (2)</source>
- <translation>Elindítás (2)</translation>
+ <translation>(2) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (3)</source>
- <translation>Elindítás (3)</translation>
+ <translation>(3) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (4)</source>
- <translation>Elindítás (4)</translation>
+ <translation>(4) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (5)</source>
- <translation>Elindítás (5)</translation>
+ <translation>(5) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (6)</source>
- <translation>Elindítás (6)</translation>
+ <translation>(6) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (7)</source>
- <translation>Elindítás (7)</translation>
+ <translation>(7) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (8)</source>
- <translation>Elindítás (8)</translation>
+ <translation>(8) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (9)</source>
- <translation>Elindítás (9)</translation>
+ <translation>(9) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (A)</source>
- <translation>Elindítás (A)</translation>
+ <translation>(A) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (B)</source>
- <translation>Elindítás (B)</translation>
+ <translation>(B) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (C)</source>
- <translation>Elindítás (C)</translation>
+ <translation>(C) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (D)</source>
- <translation>Elindítás (D)</translation>
+ <translation>(D) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (E)</source>
- <translation>Elindítás (E)</translation>
+ <translation>(E) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Launch (F)</source>
- <translation>Elindítás (F)</translation>
+ <translation>(F) indítása</translation>
</message>
<message>
<location line="+1"/>
<source>Monitor Brightness Up</source>
- <translation>Monitorfény növelése</translation>
+ <translation>Fényesség növelése</translation>
</message>
<message>
<location line="+1"/>
<source>Monitor Brightness Down</source>
- <translation>Monitorfény csökkentése</translation>
+ <translation>Fényesség csökkentése</translation>
</message>
<message>
<location line="+1"/>
<source>Keyboard Light On/Off</source>
- <translation>Billentyű világítás be/ki</translation>
+ <translation>Billentyűzet világítás be/ki</translation>
</message>
<message>
<location line="+1"/>
<source>Keyboard Brightness Up</source>
- <translation>Billentyűfény növelése</translation>
+ <translation>Billentyűzet fényerő növelése</translation>
</message>
<message>
<location line="+1"/>
<source>Keyboard Brightness Down</source>
- <translation>Billentyűfény csökkentése</translation>
+ <translation>Billentyűzet fényerő csökkentése</translation>
</message>
<message>
<location line="+1"/>
@@ -5631,27 +8578,27 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Wake Up</source>
- <translation>Felébresztés</translation>
+ <translation>Ébresztés</translation>
</message>
<message>
<location line="+1"/>
<source>Eject</source>
- <translation>Kidobás</translation>
+ <translation>Tálcanyitás</translation>
</message>
<message>
<location line="+1"/>
<source>Screensaver</source>
- <translation>Képernyővédő</translation>
+ <translation>Képernyőkímélő</translation>
</message>
<message>
<location line="+1"/>
<source>WWW</source>
- <translation>WWW</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Sleep</source>
- <translation>Alvás</translation>
+ <translation>Altatás</translation>
</message>
<message>
<location line="+1"/>
@@ -5666,22 +8613,22 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>History</source>
- <translation>Történelem</translation>
+ <translation>Előzmények</translation>
</message>
<message>
<location line="+1"/>
<source>Add Favorite</source>
- <translation>Hozzáadás a kedvencekhez</translation>
+ <translation>Kedvenc hozzáadása</translation>
</message>
<message>
<location line="+1"/>
<source>Hot Links</source>
- <translation>Hot linkek</translation>
+ <translation>Gyorslinkek</translation>
</message>
<message>
<location line="+1"/>
<source>Adjust Brightness</source>
- <translation>Fényszabályozás</translation>
+ <translation>Fényerő beállítása</translation>
</message>
<message>
<location line="+1"/>
@@ -5696,22 +8643,25 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Audio Rewind</source>
- <translation>Audió áttekercselés</translation>
+ <translation>Visszatekerés</translation>
</message>
<message>
<location line="+1"/>
<source>Back Forward</source>
- <translation>Előre hátra</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>Előre-hátra</translation>
</message>
<message>
<location line="+1"/>
<source>Application Left</source>
- <translation>Alkalmazás balra</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>Alkalmazás bal</translation>
</message>
<message>
<location line="+1"/>
<source>Application Right</source>
- <translation>Alkalmazás jobbra</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>Alkalmazás jobb</translation>
</message>
<message>
<location line="+1"/>
@@ -5731,12 +8681,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Clear</source>
- <translation>Tiszta</translation>
+ <translation>Törlés</translation>
</message>
<message>
<location line="+1"/>
<source>Clear Grab</source>
- <translation>Tiszta megmarkolás</translation>
+ <translation>Elfogás törlése</translation>
</message>
<message>
<location line="+1"/>
@@ -5756,6 +8706,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Display</source>
+ <translatorcomment>CHECKIT - Kijelző?</translatorcomment>
<translation>Megjelenítés</translation>
</message>
<message>
@@ -5771,7 +8722,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Spreadsheet</source>
- <translation>Táblázatkezelő</translation>
+ <translation>Táblázat</translation>
</message>
<message>
<location line="+1"/>
@@ -5786,7 +8737,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Go</source>
- <translation>Gyerünk</translation>
+ <translation>Ugrás</translation>
</message>
<message>
<location line="+1"/>
@@ -5801,7 +8752,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Market</source>
- <translation>Piac</translation>
+ <translation>Piactér</translation>
</message>
<message>
<location line="+1"/>
@@ -5811,17 +8762,18 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Keyboard Menu</source>
- <translation>Billlentyű menü</translation>
+ <translation>Billentyűzet menü</translation>
</message>
<message>
<location line="+1"/>
<source>Menu PB</source>
- <translation>PB menü</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">PB menü</translation>
</message>
<message>
<location line="+1"/>
<source>My Sites</source>
- <translation>Oldalam</translation>
+ <translation>Weboldalaim</translation>
</message>
<message>
<location line="+1"/>
@@ -5836,7 +8788,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Option</source>
- <translation>Opció</translation>
+ <translation>Opciók</translation>
</message>
<message>
<location line="+1"/>
@@ -5866,12 +8818,14 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Rotation PB</source>
- <translation>PB forgatás</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">PB forgatás</translation>
</message>
<message>
<location line="+1"/>
<source>Rotation KB</source>
- <translation>KB forgatás</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">KB forgatás</translation>
</message>
<message>
<location line="+1"/>
@@ -5886,12 +8840,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Spellchecker</source>
- <translation>Helyesírás ellenőrző</translation>
+ <translation>Nyelvi ellenörző</translation>
</message>
<message>
<location line="+1"/>
<source>Split Screen</source>
- <translation>Képernyő felosztása</translation>
+ <translation>Képernyő kettéosztása</translation>
</message>
<message>
<location line="+1"/>
@@ -5901,7 +8855,8 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Task Panel</source>
- <translation>Feladat panel</translation>
+ <translatorcomment>CHECKIT - WTF?</translatorcomment>
+ <translation>Taszk panel</translation>
</message>
<message>
<location line="+1"/>
@@ -5926,12 +8881,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Word Processor</source>
- <translation>Szó feldolgozó</translation>
+ <translation>Szövegszerkesztő</translation>
</message>
<message>
<location line="+1"/>
<source>XFer</source>
- <translation>XFer</translation>
+ <translation>Átvitel</translation>
</message>
<message>
<location line="+1"/>
@@ -5951,17 +8906,17 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Messenger</source>
- <translation>Hírnök</translation>
+ <translation>Üzenetküldő</translation>
</message>
<message>
<location line="+1"/>
<source>WebCam</source>
- <translation>WebCam</translation>
+ <translation>Webkamera</translation>
</message>
<message>
<location line="+1"/>
<source>Mail Forward</source>
- <translation>Mail továbbítása</translation>
+ <translation>Levél továbbítás</translation>
</message>
<message>
<location line="+1"/>
@@ -5986,37 +8941,37 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Wireless</source>
- <translation>Vezeték nélküli</translation>
+ <translation>Wireless</translation>
</message>
<message>
<location line="+1"/>
<source>Ultra Wide Band</source>
- <translation>Ultra széles sáv</translation>
+ <translation>Szélessáv</translation>
</message>
<message>
<location line="+1"/>
<source>Audio Forward</source>
- <translation>Audio továbbítás</translation>
+ <translation>Előretekerés</translation>
</message>
<message>
<location line="+1"/>
<source>Audio Repeat</source>
- <translation>Audió ismétlés</translation>
+ <translation>Ismétlés</translation>
</message>
<message>
<location line="+1"/>
<source>Audio Random Play</source>
- <translation>Audió véletlenszerű lejátszása</translation>
+ <translation>Random lejátszás</translation>
</message>
<message>
<location line="+1"/>
<source>Subtitle</source>
- <translation>Alcím</translation>
+ <translation>Felirat</translation>
</message>
<message>
<location line="+1"/>
<source>Audio Cycle Track</source>
- <translation>Audió ciklikus követése</translation>
+ <translation>Sávismétlés</translation>
</message>
<message>
<location line="+1"/>
@@ -6031,12 +8986,13 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Top Menu</source>
- <translation>Felső menü</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>Legfelső menü</translation>
</message>
<message>
<location line="+1"/>
<source>Suspend</source>
- <translation>Felfüggesztés</translation>
+ <translation>Altatás</translation>
</message>
<message>
<location line="+1"/>
@@ -6046,63 +9002,63 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+4"/>
<source>Print Screen</source>
- <translation>Képernyő másolás</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Page Up</source>
- <translation>Feljebb lapozás</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Page Down</source>
- <translation>Lejjebb lapozás</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Caps Lock</source>
- <translation>Caps Lock</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Num Lock</source>
- <translation>Num Lock</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Number Lock</source>
- <translation>Number Lock</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Scroll Lock</source>
- <translation>Scroll Lock</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Insert</source>
- <translation>Insert</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Delete</source>
- <translation>Delete</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>Escape</source>
- <translation>Escape</translation>
+ <translation></translation>
</message>
<message>
<location line="+1"/>
<source>System Request</source>
- <translation>System Request</translation>
+ <translation></translation>
</message>
<message>
<location line="-18"/>
<location line="+22"/>
<source>Select</source>
- <translation>Kiválsztás</translation>
+ <translation>Kiválasztás</translation>
</message>
<message>
<location line="+1"/>
@@ -6117,22 +9073,22 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+4"/>
<source>Context1</source>
- <translation>Tartalom1</translation>
+ <translation>Kontextus1</translation>
</message>
<message>
<location line="+1"/>
<source>Context2</source>
- <translation>Tartalom2</translation>
+ <translation>Kontextus2</translation>
</message>
<message>
<location line="+1"/>
<source>Context3</source>
- <translation>Tartalom3</translation>
+ <translation>Kontextus3</translation>
</message>
<message>
<location line="+1"/>
<source>Context4</source>
- <translation>Tartalom4</translation>
+ <translation>Kontextus4</translation>
</message>
<message>
<location line="+1"/>
@@ -6142,41 +9098,191 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Hangup</source>
- <translation>Felfüggeszt</translation>
+ <translation>Hívás vége</translation>
</message>
<message>
<location line="+1"/>
<source>Flip</source>
- <translation>Feldobás</translation>
+ <translation>Csere</translation>
</message>
<message>
- <location line="+573"/>
+ <location line="+4"/>
+ <source>Kanji</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Muhenkan</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Henkan</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Romaji</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hiragana</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Katakana</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hiragana Katakana</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Zenkaku</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hankaku</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Zenkaku Hankaku</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Touroku</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Massyo</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Kana Lock</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Kana Shift</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Eisu Shift</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Eisu toggle</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Code input</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Multiple Candidate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Previous Candidate</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Hangul</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Start</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul End</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Hanja</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Jamo</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Romaja</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Jeonja</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Banja</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul PreHanja</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul PostHanja</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Hangul Special</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location line="+602"/>
<location line="+135"/>
<source>Ctrl</source>
- <translation>Ctrl</translation>
+ <translation></translation>
</message>
<message>
<location line="-134"/>
<location line="+138"/>
<source>Shift</source>
- <translation>Shift</translation>
+ <translation></translation>
</message>
<message>
<location line="-137"/>
<location line="+135"/>
<source>Alt</source>
- <translation>Alt</translation>
+ <translation></translation>
</message>
<message>
<location line="-134"/>
<location line="+130"/>
<source>Meta</source>
- <translation>Meta</translation>
+ <translation></translation>
</message>
<message>
<location line="-40"/>
<source>+</source>
- <translation>+</translation>
+ <translation></translation>
</message>
<message>
<location line="+61"/>
@@ -6184,9 +9290,9 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<translation>F%1</translation>
</message>
<message>
- <location line="-869"/>
+ <location line="-934"/>
<source>Home Page</source>
- <translation>Honlap</translation>
+ <translation>Kezdőoldal</translation>
</message>
</context>
<context>
@@ -6194,106 +9300,110 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/plugins/accessible/widgets/rangecontrols.cpp" line="+151"/>
<source>Page left</source>
- <translation>Lapozás balra</translation>
+ <translation>Oldal balra</translation>
</message>
<message>
<location line="+0"/>
<source>Page up</source>
- <translation>Lapozás felfele</translation>
+ <translation>Oldal felfelé</translation>
</message>
<message>
<location line="+2"/>
<source>Position</source>
- <translation>Pozíció</translation>
+ <translation>Helyzet</translation>
</message>
<message>
<location line="+3"/>
<source>Page right</source>
- <translation>Lapozás jobbra</translation>
+ <translation>Oldal jobbra</translation>
</message>
<message>
<location line="+0"/>
<source>Page down</source>
- <translation>Lapozás lefele</translation>
+ <translation>Oldal lefelé</translation>
</message>
</context>
<context>
<name>QSocks5SocketEngine</name>
<message>
+ <source>Socks5 timeout error connecting to socks server</source>
+ <translation type="obsolete">Időtúllépés a socks szerverhez kapcsolódáskor</translation>
+ </message>
+ <message>
<location filename="../src/network/socket/qsocks5socketengine.cpp" line="-67"/>
<source>Connection to proxy refused</source>
- <translation>Proxyhoz kapcsolódás elutasítva</translation>
+ <translation>A proxy elutasította a kapcsolatot</translation>
</message>
<message>
<location line="+4"/>
<source>Connection to proxy closed prematurely</source>
- <translation>A proxyhoz való csatlakozás túl korán be lett zárva</translation>
+ <translation>A proxy váratlanul lezárta a kapcsolatot</translation>
</message>
<message>
<location line="+4"/>
<source>Proxy host not found</source>
- <translation>Proxy hoszt nem található</translation>
+ <translation>A proxy nem található</translation>
</message>
<message>
<location line="+5"/>
<source>Connection to proxy timed out</source>
- <translation>Proxyhoz való csatlakozásnál időtúllépés történt</translation>
+ <translation>A várakozási idő lejárt a proxyhoz</translation>
</message>
<message>
<location line="+17"/>
<source>Proxy authentication failed</source>
- <translation>Proxy hitelesítési hiba</translation>
+ <translation>A proxy azonosítás sikertelen</translation>
</message>
<message>
<location line="+1"/>
<source>Proxy authentication failed: %1</source>
- <translation>Proxy hitelesítési hiba: %1</translation>
+ <translation>A proxy azonosítás sikertelen: %1</translation>
</message>
<message>
<location line="+9"/>
<source>SOCKS version 5 protocol error</source>
- <translation>SOCKS verzió 5-s protokoll hiba</translation>
+ <translation>SOCKS verzió 5-ös protokoll hiba</translation>
</message>
<message>
<location line="+19"/>
<source>General SOCKSv5 server failure</source>
- <translation>Általános SOCKSv5 szerver hiba</translation>
+ <translation>Általános SOCKSv5 szerverhiba</translation>
</message>
<message>
<location line="+4"/>
<source>Connection not allowed by SOCKSv5 server</source>
- <translation>A csatlakozást nem engedi a SOCKSv5 szerver</translation>
+ <translation>A kapcsolódást nem engedi a SOCKSv5 szerver</translation>
</message>
<message>
<location line="+16"/>
<source>TTL expired</source>
- <translation>Lejárt a TTL</translation>
+ <translation>A TTL lejárt</translation>
</message>
<message>
<location line="+4"/>
<source>SOCKSv5 command not supported</source>
- <translation>SOCKSv5 parancs nincs támogatva</translation>
+ <translation>A SOCKSv5 parancs nem támogatott</translation>
</message>
<message>
<location line="+4"/>
<source>Address type not supported</source>
- <translation>Cím típus nincs támogatva</translation>
+ <translation>A címtípus nem támogatott</translation>
</message>
<message>
<location line="+5"/>
<source>Unknown SOCKSv5 proxy error code 0x%1</source>
- <translation>Ismeretlen SOCKSv5 proxy hiba kód 0x%1</translation>
+ <translation>Ismeretlen SOCKSv5 proxy hibakód: 0x%1</translation>
</message>
<message>
<location line="+689"/>
<source>Network operation timed out</source>
- <translation>Hálózat műveleti időtúllépés</translation>
+ <translation>Időtúllépés hálózati művelet során</translation>
</message>
</context>
<context>
<name>QSoftKeyManager</name>
<message>
- <location filename="../src/gui/kernel/qsoftkeymanager.cpp" line="+79"/>
+ <location filename="../src/gui/kernel/qsoftkeymanager.cpp" line="+63"/>
<source>Ok</source>
<translation>Ok</translation>
</message>
@@ -6315,10 +9425,10 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+3"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
- <location line="+172"/>
+ <location filename="../src/gui/kernel/qsoftkeymanager_s60.cpp" line="+321"/>
<source>Exit</source>
<translation>Kilépés</translation>
</message>
@@ -6333,7 +9443,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Less</source>
- <translation>Kevés</translation>
+ <translation>Kevesebb</translation>
</message>
</context>
<context>
@@ -6346,7 +9456,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Delete this record?</source>
- <translation>Törölni szeretné ezt a felvételt?</translation>
+ <translation>Rekord törlése?</translation>
</message>
<message>
<location line="+1"/>
@@ -6375,12 +9485,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+4"/>
<source>Save edits?</source>
- <translation>Szerkesztések mentése?</translation>
+ <translation>Módosítások mentése?</translation>
</message>
<message>
<location line="+3"/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
<location line="+32"/>
@@ -6390,65 +9500,74 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>Cancel your edits?</source>
- <translation>Szerkesztések visszavonása?</translation>
+ <translation>Módosítások elvetése?</translation>
</message>
</context>
<context>
<name>QSslSocket</name>
<message>
- <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+546"/>
+ <location filename="../src/network/ssl/qsslsocket_openssl.cpp" line="+550"/>
<source>Unable to write data: %1</source>
- <translation>Nem lehet adatot írni: %1</translation>
+ <translation>Az adat nem írható: %1</translation>
</message>
<message>
- <location line="+119"/>
+ <location line="+63"/>
+ <source>Unable to decrypt data: %1</source>
+ <translation>Az adat nem visszafejthető: %1</translation>
+ </message>
+ <message>
+ <location line="+76"/>
<source>Error while reading: %1</source>
- <translation>Hiba történt olvasás közben: %1</translation>
+ <translation>Olvasási hiba: %1</translation>
</message>
<message>
<location line="+96"/>
<source>Error during SSL handshake: %1</source>
- <translation>Hiba történt az SSL kézfogás közben: %1</translation>
+ <translation>SSL kézfogás hiba: %1</translation>
</message>
<message>
- <location line="-501"/>
+ <location line="-524"/>
<source>Error creating SSL context (%1)</source>
- <translation>Hiba történt az SSL összefüggés (%1) létrehozása közben</translation>
+ <translation>Az SSL kontextus létrehozása sikertelen (%1)</translation>
</message>
<message>
<location line="+25"/>
<source>Invalid or empty cipher list (%1)</source>
- <translation>Érvénytelen vagy üres számjegy lista (%1)</translation>
+ <translation>Érvénytelen vagy üres a titkosítók listája (%1)</translation>
</message>
<message>
- <location line="+42"/>
+ <location line="+45"/>
<source>Private key does not certify public key, %1</source>
- <translation>A privát kulcs nem igazolja a publikus kulcsot, %1</translation>
+ <translation>A privát és a publikus kulcs nem illik össze: %1</translation>
</message>
<message>
<location line="+20"/>
<source>Error creating SSL session, %1</source>
- <translation>Hiba történt az SSL szakasz létrehozása közben, %1</translation>
+ <translation>Hiba az SSL munkamenet létrehozásakor, %1</translation>
</message>
<message>
<location line="+15"/>
<source>Error creating SSL session: %1</source>
- <translation>Hiba történt az SSL szakasz létrehozása közben: %1</translation>
+ <translation>Hiba az SSL munkamenet létrehozásakor: %1</translation>
</message>
<message>
- <location line="-61"/>
+ <location line="-64"/>
<source>Cannot provide a certificate with no key, %1</source>
- <translation>Nem lehet biztosítani egy igazolást kulcs nélkül, %1</translation>
+ <translation>Kulcs nélkül nem állítható ki tanusítvány, %1</translation>
</message>
<message>
<location line="+7"/>
<source>Error loading local certificate, %1</source>
- <translation>Hiba történt a helyi igazolás betöltése közben, %1</translation>
+ <translation>Hiba a helyi tanúsítvány betöltése közben, %1</translation>
</message>
<message>
- <location line="+12"/>
+ <location line="+15"/>
<source>Error loading private key, %1</source>
- <translation>Hiba történt a privát kulcs betöltése közben, %1</translation>
+ <translation>Hiba a titkos kulcs betöltése közben, %1</translation>
+ </message>
+ <message>
+ <source>Private key does not certificate public key, %1</source>
+ <translation type="obsolete">A privát és a publikus kulcs nem illik össze: %1</translation>
</message>
<message>
<location filename="../src/network/ssl/qsslerror.cpp" line="+213"/>
@@ -6458,107 +9577,109 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+3"/>
<source>The issuer certificate could not be found</source>
- <translation>A problémás igazolás nem található</translation>
+ <translation>A kibocsátó tanusítványa nem található</translation>
</message>
<message>
<location line="+3"/>
<source>The certificate signature could not be decrypted</source>
- <translation>Az igazolás aláírás titkosítását nem sikerült feloldani</translation>
+ <translation>A tanusítvány aláírása nem visszafejthető</translation>
</message>
<message>
<location line="+3"/>
<source>The public key in the certificate could not be read</source>
- <translation>Az igazolásban található publikus kulcsot nem sikerült olvasni</translation>
+ <translation>A tanusítvány publikus kulcsa nem olvasható</translation>
</message>
<message>
<location line="+3"/>
<source>The signature of the certificate is invalid</source>
- <translation>Az igazolás aláírása érvénytelen</translation>
+ <translation>A tanusítvány aláírása érvénytelen</translation>
</message>
<message>
<location line="+3"/>
<source>The certificate is not yet valid</source>
- <translation>Az igazolás még nem érvényes</translation>
+ <translation>A tanusítvány még nem érvényes</translation>
</message>
<message>
<location line="+3"/>
<source>The certificate has expired</source>
- <translation>Az igazolás lejárt</translation>
+ <translation>A tanusítvány már lejárt</translation>
</message>
<message>
<location line="+3"/>
<source>The certificate&apos;s notBefore field contains an invalid time</source>
- <translation>A mező érvénytelen idő tartalmazása előtt nincsen igazolás</translation>
+ <translation>A tanusítvány notBefore mezője érvénytelen időpontot tartalmaz</translation>
</message>
<message>
<location line="+3"/>
<source>The certificate&apos;s notAfter field contains an invalid time</source>
- <translation>A mező érvénytelen idő tartalmazása után nincsen igazolás</translation>
+ <translation>A tanusítvány notAfter mezője érvénytelen időpontot tartalmaz</translation>
</message>
<message>
<location line="+3"/>
<source>The certificate is self-signed, and untrusted</source>
- <translation>Az igazolás ön jelölt, és megbízhatatlan</translation>
+ <translation>A tanusítvány önaláírt és nem megbízható</translation>
</message>
<message>
<location line="+3"/>
<source>The root certificate of the certificate chain is self-signed, and untrusted</source>
- <translation>Az igazolás lánc rendszergazda igazolása ön jelölt és megbízhatatlan</translation>
+ <translation>A tanusítványlánc gyökértanusítványa önaláírt, és nem megbízható</translation>
</message>
<message>
<location line="+3"/>
<source>The issuer certificate of a locally looked up certificate could not be found</source>
- <translation>Egy helyileg utánanézett igazolás problémás igazolása nem található</translation>
+ <translatorcomment>CHECKIT: looked up</translatorcomment>
+ <translation>A megtalált tanusítvány kibocsátójának tanusítványa nem található</translation>
</message>
<message>
<location line="+3"/>
<source>No certificates could be verified</source>
- <translation>Nem sikerült igazolást leellenőrizni</translation>
+ <translation>Nincs ellenőrizhető tanusítvány</translation>
</message>
<message>
<location line="+3"/>
<source>One of the CA certificates is invalid</source>
- <translation>A CA igazolások egyike érvénytelen</translation>
+ <translation>Az egyik tanusítványkibocsátó tanusítványa érvénytelen</translation>
</message>
<message>
<location line="+3"/>
<source>The basicConstraints path length parameter has been exceeded</source>
- <translation>Az alap megszorítási útvonal hossz paramétereket meghaladták</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">A basicConstraints hosszának értéke túl nagy</translation>
</message>
<message>
<location line="+3"/>
<source>The supplied certificate is unsuitable for this purpose</source>
- <translation>A szolgáltatott igazolás nem alkalmas erre a célra</translation>
+ <translation>A megadott tanusítvány nem használható erre a célra</translation>
</message>
<message>
<location line="+3"/>
<source>The root CA certificate is not trusted for this purpose</source>
- <translation>A rendszergazda CA igazolás nem megbízható erre a célra</translation>
+ <translation>A tanusítványkibocsátó tanusítványa nem használható erre a célra</translation>
</message>
<message>
<location line="+3"/>
<source>The root CA certificate is marked to reject the specified purpose</source>
- <translation>A rendszergazda CA igazolás a specializást cél megtagadására lett megjelölve</translation>
+ <translation>A tanusítványkibocsátó tanusítványa nem engedi, hogy e célra használják</translation>
</message>
<message>
<location line="+3"/>
<source>The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate</source>
- <translation>Az aktuális jelölt problémás igazolása meg lett tagadva, mert a téma neve nem egyezett az aktuális igazolás problémás nevével</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+4"/>
<source>The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate</source>
- <translation>Az aktuális jelölt problémás igazolása el lett utasítva, mert a problémás név és sorszám benyűjtva és nem egyezett az aktuális igazolás hitelesítési kulcs azonosítójával</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
<location line="+5"/>
<source>The peer did not present any certificate</source>
- <translation>A kortárs nem nyújtott be egyetlen igazolást sem</translation>
+ <translation>A partner nem szolgáltatott semmilyen tanusítványt</translation>
</message>
<message>
<location line="+3"/>
<source>The host name did not match any of the valid hosts for this certificate</source>
- <translation>A hoszt név nem egyezik egyetlen érvényes hoszttal sem erre az igazolásra</translation>
+ <translation>A gépnév nem felel meg a tanusítványon találha gépnevek egyikének sem</translation>
</message>
<message>
<location line="+6"/>
@@ -6571,17 +9692,17 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/corelib/statemachine/qstatemachine.cpp" line="+1028"/>
<source>Missing initial state in compound state &apos;%1&apos;</source>
- <translation>Hiányzó kezdeti állapot összetett helyzetben &apos;%1&apos;</translation>
+ <translation>A kezdeti állapot hiányzik egy összetett állapotnál &apos;%1&apos;</translation>
</message>
<message>
<location line="+7"/>
<source>Missing default state in history state &apos;%1&apos;</source>
- <translation>Hiányzó alapértelmezett állapot a történelmi állapotokban &apos;%1&apos;</translation>
+ <translation>Az alapértelmezett állapot nem található a(z) &apos;%1&apos; megelőző állapotban</translation>
</message>
<message>
<location line="+7"/>
<source>No common ancestor for targets and source of transition from state &apos;%1&apos;</source>
- <translation>Nincs közös őse az átmeneti céloknak és forrásnak a(z) &apos;%1&apos; helyzetből</translation>
+ <translation>Nincs közös őse a forrásállapotnak és a célállapotoknak a(z) &apos;%1&apos; állapotból való átmenetben</translation>
</message>
<message>
<location line="+4"/>
@@ -6592,21 +9713,10 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<context>
<name>QSystemSemaphore</name>
<message>
- <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-46"/>
- <source>%1: does not exist</source>
- <translation>%1 : nem létezik</translation>
- </message>
- <message>
- <location line="+5"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+66"/>
- <source>%1: out of resources</source>
- <translation>%1: kifogyott az erőforrásból</translation>
- </message>
- <message>
- <location line="-13"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+4"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_unix.cpp" line="-54"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+70"/>
<source>%1: permission denied</source>
- <translation>%1: Engedély megtagadva</translation>
+ <translation>%1: hozzáférés megtagadva</translation>
</message>
<message>
<location line="+4"/>
@@ -6614,8 +9724,19 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<translation>%1: már létezik</translation>
</message>
<message>
- <location line="+13"/>
- <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+3"/>
+ <location line="+4"/>
+ <source>%1: does not exist</source>
+ <translation>%1: még nem létezik</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="-4"/>
+ <source>%1: out of resources</source>
+ <translation>%1: az erőforrások elfogytak</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <location filename="../src/corelib/kernel/qsystemsemaphore_win.cpp" line="+7"/>
<source>%1: unknown error %2</source>
<translation>%1: ismeretlen hiba %2</translation>
</message>
@@ -6625,12 +9746,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+595"/>
<source>Unable to open connection</source>
- <translation>Nem lehet megnyitni a kapcsolatot</translation>
+ <translation>A kapcsolat nem nyitható meg</translation>
</message>
<message>
<location line="+5"/>
<source>Unable to use database</source>
- <translation>Nem lehet az adatbázist használni</translation>
+ <translation>Az adatbázis nem használható</translation>
</message>
</context>
<context>
@@ -6643,28 +9764,32 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+0"/>
<source>Scroll Right</source>
- <translation>Görgetésre jobbra</translation>
+ <translation>Görgetés jobbra</translation>
</message>
</context>
<context>
<name>QTcpServer</name>
<message>
- <location filename="../src/network/socket/qtcpserver.cpp" line="+282"/>
+ <source>Socket operation unsupported</source>
+ <translation type="obsolete">Socket művelet nem támogatott</translation>
+ </message>
+ <message>
+ <location filename="../src/network/socket/qtcpserver.cpp" line="+292"/>
<source>Operation on socket is not supported</source>
- <translation>A socketen végzett művelet nem támogatott</translation>
+ <translation>A művelet nem támogatott socketeken</translation>
</message>
</context>
<context>
<name>QTextControl</name>
<message>
- <location filename="../src/gui/text/qtextcontrol.cpp" line="+2024"/>
+ <location filename="../src/gui/text/qtextcontrol.cpp" line="+2046"/>
<source>&amp;Undo</source>
<translation>&amp;Visszavonás</translation>
</message>
<message>
<location line="+2"/>
<source>&amp;Redo</source>
- <translation>&amp;Megismétlés</translation>
+ <translation>Új&amp;ra</translation>
</message>
<message>
<location line="+4"/>
@@ -6679,7 +9804,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+7"/>
<source>Copy &amp;Link Location</source>
- <translation>&amp;Link címének másolása</translation>
+ <translation>&amp;Link helyének másolása</translation>
</message>
<message>
<location line="+6"/>
@@ -6694,7 +9819,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+7"/>
<source>Select All</source>
- <translation>Az összes kiválasztása</translation>
+ <translation>Összes kijelölése</translation>
</message>
</context>
<context>
@@ -6703,7 +9828,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+310"/>
<location line="+6"/>
<source>Press</source>
- <translation>Megnyomás</translation>
+ <translation>Nyomja meg</translation>
</message>
<message>
<location line="-4"/>
@@ -6715,9 +9840,9 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<context>
<name>QUdpSocket</name>
<message>
- <location filename="../src/network/socket/qudpsocket.cpp" line="+179"/>
+ <location filename="../src/network/socket/qudpsocket.cpp" line="+189"/>
<source>This platform does not support IPv6</source>
- <translation>Ez a platform nem támogatja az IPv6-t</translation>
+ <translation>A platform nem támogatja az IPv6-ot</translation>
</message>
</context>
<context>
@@ -6730,7 +9855,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+28"/>
<source>Redo</source>
- <translation>Megismétlés</translation>
+ <translation>Újra</translation>
</message>
</context>
<context>
@@ -6751,7 +9876,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+27"/>
<source>Redo</source>
- <translation>Megismétlés</translation>
+ <translation>Újra</translation>
</message>
</context>
<context>
@@ -6759,85 +9884,89 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/gui/text/qtextcontrol.cpp" line="+899"/>
<source>LRM Left-to-right mark</source>
- <translation>LRM balról jobbra jelölés</translation>
+ <translation>LRM Balról jobbra jelölő</translation>
</message>
<message>
<location line="+1"/>
<source>RLM Right-to-left mark</source>
- <translation>RLM jobbról balra jelölés</translation>
+ <translation>LRM Jobbról balra jelölő</translation>
</message>
<message>
<location line="+1"/>
<source>ZWJ Zero width joiner</source>
- <translation>ZWJ Nulla szélességű asztalos</translation>
+ <translation>ZWJ Nulla szélességű egyesítő jelölő</translation>
</message>
<message>
<location line="+1"/>
<source>ZWNJ Zero width non-joiner</source>
- <translation>ZWNJ Nulla szélességű nem asztalos</translation>
+ <translation>ZWN Nulla szélességű nem-egyesítő jelölő</translation>
</message>
<message>
<location line="+1"/>
<source>ZWSP Zero width space</source>
- <translation>ZWSP Nulla szélességű hely</translation>
+ <translation>ZWSP Nulla szélességű szóköz</translation>
</message>
<message>
<location line="+1"/>
<source>LRE Start of left-to-right embedding</source>
- <translation>LRE Balról jobbra beágyazás kezdete</translation>
+ <translation>LRE balról-jobbra beágyazás kezdete</translation>
</message>
<message>
<location line="+1"/>
<source>RLE Start of right-to-left embedding</source>
- <translation>RLE Jobbról balra beágyazás kezdete</translation>
+ <translation>RLE jobbról-balra beágyazás kezdete</translation>
</message>
<message>
<location line="+1"/>
<source>LRO Start of left-to-right override</source>
- <translation>LRO Balról jobbra megsemmisítés kezdete</translation>
+ <translation>LRO balról-jobbra felülbírálás kezdete</translation>
</message>
<message>
<location line="+1"/>
<source>RLO Start of right-to-left override</source>
- <translation>RLO Jobbról balra megsemmisítés kezdete</translation>
+ <translation>RLO Jobbról-balra felülbírálás kezdete</translation>
</message>
<message>
<location line="+1"/>
<source>PDF Pop directional formatting</source>
- <translation>PDF Kérirányú formázás benézése</translation>
+ <translation>PDF normál irányú formázási jelölő</translation>
</message>
<message>
<location line="+6"/>
<source>Insert Unicode control character</source>
- <translation>Unicode vezérlő karakter beszúrása</translation>
+ <translation>Unicode vezérlőkarakter beszúrása</translation>
</message>
</context>
<context>
<name>QWebFrame</name>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+712"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+753"/>
<source>Request cancelled</source>
- <translation>Kérés visszavonva</translation>
+ <translation>A kérés megszakítva</translation>
</message>
<message>
<location line="+19"/>
<source>Request blocked</source>
- <translation>Kérés blokkolva</translation>
+ <translation>A kérést blokkolták</translation>
</message>
<message>
<location line="+7"/>
<source>Cannot show URL</source>
- <translation>Nem lehet megjeleníteni az URL-t</translation>
+ <translation>A cím nem megjeleníthető</translation>
</message>
<message>
<location line="+6"/>
<source>Frame load interrupted by policy change</source>
- <translation>Irányvonal megváltozása miatt a szerkezet töltése megszakítva</translation>
+ <translation>A keret betöltése szabályváltoztatás miatt megszakadt</translation>
+ </message>
+ <message>
+ <source>Frame load interruped by policy change</source>
+ <translation type="obsolete">A keret betöltése szabályváltoztatás miatt megszakadt</translation>
</message>
<message>
<location line="+6"/>
<source>Cannot show mimetype</source>
- <translation>Nem lehet megjeleníteni mime típust</translation>
+ <translation>Nem megjeleníthető fájltípus</translation>
</message>
<message>
<location line="+6"/>
@@ -6848,34 +9977,50 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<context>
<name>QWebPage</name>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+42"/>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+347"/>
+ <source>Redirection limit reached</source>
+ <translation>Átirányítási korlát elérve</translation>
+ </message>
+ <message>
+ <location line="+121"/>
+ <source>Bad HTTP request</source>
+ <translation>Hibás HTTP kérés</translation>
+ </message>
+ <message>
+ <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+44"/>
<source>Submit</source>
<comment>default label for Submit buttons in forms on web pages</comment>
- <translation>Feltöltés</translation>
+ <translation>Küldés</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>Feltöltés</translation>
+ <translation>Küldés</translation>
</message>
<message>
<location line="+5"/>
<source>Reset</source>
<comment>default label for Reset buttons in forms on web pages</comment>
- <translation>Helyreállítás</translation>
+ <translation>Törlés</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+11"/>
+ <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>Ez egy kereshető index. Írja be a keresendő szavakat: </translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Choose File</source>
<comment>title for file button used in HTML forms</comment>
- <translation>Fájl kiválasztása</translation>
+ <translation>Fájl tallózása</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>Nincsen egyetlen fájl sem kiválasztva</translation>
+ <translation>Nincs fájl kiválaszva</translation>
</message>
<message>
<location line="+5"/>
@@ -6887,13 +10032,13 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Save Link...</source>
<comment>Download Linked File context menu item</comment>
- <translation>Link mentése...</translation>
+ <translation>Link célpontjának mentése...</translation>
</message>
<message>
<location line="+5"/>
<source>Copy Link</source>
<comment>Copy Link context menu item</comment>
- <translation>Link másolása</translation>
+ <translation>Link címének másolása</translation>
</message>
<message>
<location line="+5"/>
@@ -6905,7 +10050,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Save Image</source>
<comment>Download Image context menu item</comment>
- <translation>Kép elmentése</translation>
+ <translation>Kép mentése</translation>
</message>
<message>
<location line="+5"/>
@@ -6917,7 +10062,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Open Frame</source>
<comment>Open Frame in New Window context menu item</comment>
- <translation>Szerkezet megnyitása</translation>
+ <translation>Keret megnyitása új ablakban</translation>
</message>
<message>
<location line="+5"/>
@@ -6929,25 +10074,25 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Go Back</source>
<comment>Back context menu item</comment>
- <translation>Menj vissza</translation>
+ <translation>Vissza</translation>
</message>
<message>
<location line="+5"/>
<source>Go Forward</source>
<comment>Forward context menu item</comment>
- <translation>Menj előre</translation>
+ <translation>Előre</translation>
</message>
<message>
<location line="+5"/>
<source>Stop</source>
<comment>Stop context menu item</comment>
- <translation>Leállítás</translation>
+ <translation>Stop</translation>
</message>
<message>
<location line="+5"/>
<source>Reload</source>
<comment>Reload context menu item</comment>
- <translation>Újratöltés</translation>
+ <translation>Frissítés</translation>
</message>
<message>
<location line="+5"/>
@@ -6965,13 +10110,13 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>No Guesses Found</source>
<comment>No Guesses Found context menu item</comment>
- <translation>Nincs feltételezések találata</translation>
+ <translation>Nincs találat</translation>
</message>
<message>
<location line="+5"/>
<source>Ignore</source>
<comment>Ignore Spelling context menu item</comment>
- <translation>Mellőzés</translation>
+ <translation>Kihagyás</translation>
</message>
<message>
<location line="+5"/>
@@ -6989,7 +10134,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Look Up In Dictionary</source>
<comment>Look Up in Dictionary context menu item</comment>
- <translation>Utánanézés szótárban</translation>
+ <translation>Keresés a szótárban</translation>
</message>
<message>
<location line="+5"/>
@@ -7001,49 +10146,49 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Ignore</source>
<comment>Ignore Grammar context menu item</comment>
- <translation>Mellőzés</translation>
+ <translation>Kihagyás</translation>
</message>
<message>
<location line="+5"/>
<source>Spelling</source>
<comment>Spelling and Grammar context sub-menu item</comment>
- <translation>Helyesírás</translation>
+ <translation>Nyelvi eszközök</translation>
</message>
<message>
<location line="+5"/>
<source>Show Spelling and Grammar</source>
<comment>menu item title</comment>
- <translation>Helyesírás és nyelvtan megjelenítése</translation>
+ <translation>Nyelvi eszközök megjelenítése</translation>
</message>
<message>
<location line="+1"/>
<source>Hide Spelling and Grammar</source>
<comment>menu item title</comment>
- <translation>Helyesírás és nyelvtan elrejtése</translation>
+ <translation>Nyelvi eszközök elrejtése</translation>
</message>
<message>
<location line="+5"/>
<source>Check Spelling</source>
<comment>Check spelling context menu item</comment>
- <translation>Helyesírás ellenőrzés</translation>
+ <translation>Nyelvhelyesség ellenőrzése</translation>
</message>
<message>
<location line="+5"/>
<source>Check Spelling While Typing</source>
<comment>Check spelling while typing context menu item</comment>
- <translation>Helyesírás ellenőrzés gépelés közben</translation>
+ <translation>Nyelvhelyesség ellenőrzése gépeléskor</translation>
</message>
<message>
<location line="+5"/>
<source>Check Grammar With Spelling</source>
<comment>Check grammar with spelling context menu item</comment>
- <translation>Nyelvtani ellenőrzés helyesírás ellenőrzéssel</translation>
+ <translation>Nyelvtan ellenőrzése</translation>
</message>
<message>
<location line="+5"/>
<source>Fonts</source>
<comment>Font context sub-menu item</comment>
- <translation>Betű</translation>
+ <translation>Betűtípus</translation>
</message>
<message>
<location line="+5"/>
@@ -7061,25 +10206,25 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Underline</source>
<comment>Underline context menu item</comment>
- <translation>Aláhúzás</translation>
+ <translation>Aláhúzott</translation>
</message>
<message>
<location line="+5"/>
<source>Outline</source>
<comment>Outline context menu item</comment>
- <translation>Kontúrozás</translation>
+ <translation>Áthúzott</translation>
</message>
<message>
<location line="+5"/>
<source>Direction</source>
<comment>Writing direction context sub-menu item</comment>
- <translation>Irány összefüggések írás, menü elem</translation>
+ <translation>Irány</translation>
</message>
<message>
<location line="+5"/>
<source>Text Direction</source>
<comment>Text direction context sub-menu item</comment>
- <translation>Szöveg irány</translation>
+ <translation>Szövegirány</translation>
</message>
<message>
<location line="+5"/>
@@ -7100,7 +10245,13 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<translation>Jobbról balra</translation>
</message>
<message>
- <location line="+105"/>
+ <location line="+100"/>
+ <source>Missing Plug-in</source>
+ <comment>Label text to be used when a plug-in is missing</comment>
+ <translation>Egy plug-in hiányzik</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Loading...</source>
<comment>Media controller status message when the media is loading</comment>
<translation>Betöltés...</translation>
@@ -7109,31 +10260,31 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+5"/>
<source>Live Broadcast</source>
<comment>Media controller status message when watching a live broadcast</comment>
- <translation>Élő bejelentés</translation>
+ <translation>Élő adás</translation>
</message>
<message>
<location line="+8"/>
<source>Audio Element</source>
<comment>Media controller element</comment>
- <translation>Audió elem</translation>
+ <translation>Hang elem</translation>
</message>
<message>
<location line="+2"/>
<source>Video Element</source>
<comment>Media controller element</comment>
- <translation>Videó elem</translation>
+ <translation>Video elem</translation>
</message>
<message>
<location line="+2"/>
<source>Mute Button</source>
<comment>Media controller element</comment>
- <translation>Elnémítás gomb</translation>
+ <translation>Némítás gomb</translation>
</message>
<message>
<location line="+2"/>
<source>Unmute Button</source>
<comment>Media controller element</comment>
- <translation>Elnémítás megszűntetése gomb</translation>
+ <translation>Némítás feloldása gomb</translation>
</message>
<message>
<location line="+2"/>
@@ -7145,7 +10296,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+2"/>
<source>Pause Button</source>
<comment>Media controller element</comment>
- <translation>Szünet gomb</translation>
+ <translation>Megállítás gomb</translation>
</message>
<message>
<location line="+2"/>
@@ -7157,19 +10308,19 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+2"/>
<source>Slider Thumb</source>
<comment>Media controller element</comment>
- <translation>Csuszka ujj</translation>
+ <translation>Csúszka pozícionáló</translation>
</message>
<message>
<location line="+2"/>
<source>Rewind Button</source>
<comment>Media controller element</comment>
- <translation>Áttekercselés gomb</translation>
+ <translation>Visszatekerés gomb</translation>
</message>
<message>
<location line="+2"/>
<source>Return to Real-time Button</source>
<comment>Media controller element</comment>
- <translation>A valós idejűre visszatérés gomb</translation>
+ <translation>Valós időre visszatérés gombja</translation>
</message>
<message>
<location line="+2"/>
@@ -7181,133 +10332,135 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+2"/>
<source>Remaining Time</source>
<comment>Media controller element</comment>
- <translation>Fennmaradó idő</translation>
+ <translation>Hátralévő idő</translation>
</message>
<message>
<location line="+2"/>
<source>Status Display</source>
<comment>Media controller element</comment>
- <translation>Státusz kijelzés</translation>
+ <translation>Állapotkijelző</translation>
</message>
<message>
<location line="+2"/>
<source>Fullscreen Button</source>
<comment>Media controller element</comment>
- <translation>Teljes képernyő gomb</translation>
+ <translation>Teljes méret gomb</translation>
</message>
<message>
<location line="+2"/>
<source>Seek Forward Button</source>
<comment>Media controller element</comment>
- <translation>Keresés továbbítása gomb</translation>
+ <translation>Előre keresés gomb</translation>
</message>
<message>
<location line="+2"/>
<source>Seek Back Button</source>
<comment>Media controller element</comment>
- <translation>Keresés visszafele gomb</translation>
+ <translation>Visszafele keresés gomb</translation>
</message>
<message>
<location line="+8"/>
<source>Audio element playback controls and status display</source>
<comment>Media controller element</comment>
- <translation>Audió elem visszajátszás vezérlők és státusz kijelzés</translation>
+ <translation>Hang elem lejátszásvezérlői és állapotkijelzője</translation>
</message>
<message>
<location line="+2"/>
<source>Video element playback controls and status display</source>
<comment>Media controller element</comment>
- <translation>Videó elem visszajátszás vezérlők és státusz kijelzés</translation>
+ <translation>Videó elem lejátszásvezérlői és állapotkijelzője</translation>
</message>
<message>
<location line="+2"/>
<source>Mute audio tracks</source>
<comment>Media controller element</comment>
- <translation>Audió számok elnémítása</translation>
+ <translation>Hangsávok elnémítása</translation>
</message>
<message>
<location line="+2"/>
<source>Unmute audio tracks</source>
<comment>Media controller element</comment>
- <translation>Audió számok elnémításának megszűntetése</translation>
+ <translation>Hangsávok visszakapcsolása</translation>
</message>
<message>
<location line="+2"/>
<source>Begin playback</source>
<comment>Media controller element</comment>
- <translation>Visszajátszás megkezdése</translation>
+ <translation>Lejátszás indítása</translation>
</message>
<message>
<location line="+2"/>
<source>Pause playback</source>
<comment>Media controller element</comment>
- <translation>Visszajátszás szüneteltetése</translation>
+ <translation>Lejátszás megállítása</translation>
</message>
<message>
<location line="+2"/>
<source>Movie time scrubber</source>
<comment>Media controller element</comment>
- <translation>Film idő súroló</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>Mozi idő csúszka sáv</translation>
</message>
<message>
<location line="+2"/>
<source>Movie time scrubber thumb</source>
<comment>Media controller element</comment>
- <translation>Film idő súrolókörte</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>Mozi idő csúszka</translation>
</message>
<message>
<location line="+2"/>
<source>Rewind movie</source>
<comment>Media controller element</comment>
- <translation>Film visszatekerése</translation>
+ <translation>Videó visszatekerése</translation>
</message>
<message>
<location line="+2"/>
<source>Return streaming movie to real-time</source>
<comment>Media controller element</comment>
- <translation>Özönlő filmek visszaadása a valós idő számára</translation>
+ <translation>Valós időbe váltás</translation>
</message>
<message>
<location line="+2"/>
<source>Current movie time</source>
<comment>Media controller element</comment>
- <translation>Az aktuális filmidő</translation>
+ <translation>Eltelt lejátszási idő</translation>
</message>
<message>
<location line="+2"/>
<source>Remaining movie time</source>
<comment>Media controller element</comment>
- <translation>Fennmaradó filmidő</translation>
+ <translation>Hátralevő lejátszási idő</translation>
</message>
<message>
<location line="+2"/>
<source>Current movie status</source>
<comment>Media controller element</comment>
- <translation>Az aktuális film státusz</translation>
+ <translation>A lejátszás állapota</translation>
</message>
<message>
<location line="+2"/>
<source>Play movie in full-screen mode</source>
<comment>Media controller element</comment>
- <translation>Film lejátszása teljes képernyős módban</translation>
+ <translation>Videó teljes képernyős lejátszása</translation>
</message>
<message>
<location line="+2"/>
<source>Seek quickly back</source>
<comment>Media controller element</comment>
- <translation>Gyorsan visszafele keresés</translation>
+ <translation>Gyors visszaugrás</translation>
</message>
<message>
<location line="+2"/>
<source>Seek quickly forward</source>
<comment>Media controller element</comment>
- <translation>Gyorsan előre keresés</translation>
+ <translation>Gyors előreugrás</translation>
</message>
<message>
<location line="+9"/>
<source>Indefinite time</source>
<comment>Media time description</comment>
- <translation>Bizonytalan idő</translation>
+ <translation>Végtelen idő</translation>
</message>
<message>
<location line="+9"/>
@@ -7334,101 +10487,108 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<translation>%1 másodperc</translation>
</message>
<message>
- <location line="-210"/>
+ <source>LTR</source>
+ <comment>Left to Right context menu item</comment>
+ <translation type="obsolete">Balról jobbra</translation>
+ </message>
+ <message>
+ <source>RTL</source>
+ <comment>Right to Left context menu item</comment>
+ <translation type="obsolete">Jobbról balra</translation>
+ </message>
+ <message>
+ <location line="-225"/>
<source>Inspect</source>
<comment>Inspect Element context menu item</comment>
- <translation>Megtekintés</translation>
+ <translation>Elemzés</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>Nincsenek utóbbi keresések</translation>
+ <translation>Nincs keresési előzmény</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>Utóbbi keresések</translation>
+ <translation>Keresési előzmények</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>Utóbbi keresések kiürítése</translation>
+ <translation>Keresési előzmények ürítése</translation>
</message>
<message>
- <location line="+75"/>
+ <location line="+90"/>
<source>Unknown</source>
<comment>Unknown filesize FTP directory listing item</comment>
<translation>Ismeretlen</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+167"/>
- <source>Web Inspector - %2</source>
- <translation>Web felügyelő - %2</translation>
- </message>
- <message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="+5"/>
+ <location line="+5"/>
<source>%1 (%2x%3 pixels)</source>
<comment>Title string for images</comment>
- <translation>%1 (%2x%3 pixelek)</translation>
+ <translation>%1 (%2x%3 képpont)</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+412"/>
- <source>Bad HTTP request</source>
- <translation>Érvénytelen HTTP kérés</translation>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp" line="+253"/>
+ <source>Web Inspector - %2</source>
+ <translation>Web elemző - %2</translation>
</message>
- <message>
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/Localizations.cpp" line="-291"/>
- <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>Ez egy kereshető index. Gépelje be a kívánt kulcsszavakat:</translation>
+ <message numerus="yes">
+ <location filename="../src/3rdparty/webkit/WebCore/platform/qt/FileChooserQt.cpp" line="+45"/>
+ <source>%n file(s)</source>
+ <comment>number of chosen file</comment>
+ <translation>
+ <numerusform>%n fájl</numerusform>
+ </translation>
</message>
<message>
<location filename="../src/3rdparty/webkit/WebCore/platform/qt/ScrollbarQt.cpp" line="+58"/>
<source>Scroll here</source>
- <translation>Görgetés ide</translation>
+ <translation>Gördítés ide</translation>
</message>
<message>
<location line="+3"/>
<source>Left edge</source>
- <translation>Bal szegély</translation>
+ <translation>Bal szélre</translation>
</message>
<message>
<location line="+0"/>
<source>Top</source>
- <translation>Felül</translation>
+ <translation>Felülre</translation>
</message>
<message>
<location line="+1"/>
<source>Right edge</source>
- <translation>Jobb szegély</translation>
+ <translation>Jobb szélre</translation>
</message>
<message>
<location line="+0"/>
<source>Bottom</source>
- <translation>Alul</translation>
+ <translation>Alulra</translation>
</message>
<message>
<location line="+3"/>
<source>Page left</source>
- <translation>Lapozás balra</translation>
+ <translation>Egy oldalt balra</translation>
</message>
<message>
<location line="+0"/>
<source>Page up</source>
- <translation>Lapozás fel</translation>
+ <translation>Egy oldalt felfelé</translation>
</message>
<message>
<location line="+1"/>
<source>Page right</source>
- <translation>Lapozás jobbra</translation>
+ <translation>Egy oldalt jobbra</translation>
</message>
<message>
<location line="+0"/>
<source>Page down</source>
- <translation>Lapozás balra</translation>
+ <translation>Egy oldalt le</translation>
</message>
<message>
<location line="+3"/>
@@ -7438,7 +10598,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+0"/>
<source>Scroll up</source>
- <translation>Görgetés fel</translation>
+ <translation>Görgetés felfelé</translation>
</message>
<message>
<location line="+1"/>
@@ -7448,200 +10608,192 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+0"/>
<source>Scroll down</source>
- <translation>Görgetés lefele</translation>
- </message>
- <message numerus="yes">
- <location filename="../src/3rdparty/webkit/WebCore/platform/qt/FileChooserQt.cpp" line="+45"/>
- <source>%n file(s)</source>
- <comment>number of chosen file</comment>
- <translation>
- <numerusform>%n fájl</numerusform>
- </translation>
+ <translation>Görgetés le</translation>
</message>
<message>
- <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1822"/>
+ <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+2033"/>
<source>JavaScript Alert - %1</source>
- <translation>JavaSzkript figyelmeztetés - %1</translation>
+ <translation>JavaScript figyelmeztetés - %1</translation>
</message>
<message>
- <location line="+16"/>
+ <location line="+17"/>
<source>JavaScript Confirm - %1</source>
- <translation>JavaSzkript megerősítés - %1</translation>
+ <translation>JavaScript megerősítés - %1</translation>
</message>
<message>
- <location line="+18"/>
+ <location line="+20"/>
<source>JavaScript Prompt - %1</source>
- <translation>JavaSzkript prompt - %1</translation>
+ <translation>JavaScript Prompt kérdés - %1</translation>
</message>
<message>
- <location line="+25"/>
+ <location line="+26"/>
<source>JavaScript Problem - %1</source>
- <translation>JavaSzkript probléma - %1</translation>
+ <translation>JavaScript probléma - %1</translation>
</message>
<message>
<location line="+0"/>
<source>The script on this page appears to have a problem. Do you want to stop the script?</source>
- <translation>Az ezen a lapon található szkriptnek úgy tűnik, hogy van egy problémája. Le szeretné állítani a szkriptet?</translation>
+ <translation>Az ezen a lapon levő parancsfájl hibásnak tűnik. Leállítja a parancsfájl futását?</translation>
</message>
<message>
- <location line="+381"/>
+ <location line="+395"/>
<source>Move the cursor to the next character</source>
- <translation>Az egér mozgatása a következő karakterre</translation>
+ <translation>Tegye a kurzort a következő karakterhez</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the previous character</source>
- <translation>Az egér mozgatása az előző karakterre</translation>
+ <translation>Tegye a kurzort az előző karakterhez</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the next word</source>
- <translation>Az egér mozgatása a következő szóra</translation>
+ <translation>Tegye a kurzort a következő szóhoz</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the previous word</source>
- <translation>Az egér mozgatása az előző szóra</translation>
+ <translation>Tegye a kurzort az előző szóhoz</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the next line</source>
- <translation>Az egér mozgatása a következő sorra</translation>
+ <translation>Tegye a kurzort a következő sorba</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the previous line</source>
- <translation>Az egér mozgatása az előző sorra</translation>
+ <translation>Tegye a kurzort az előző sorba</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the start of the line</source>
- <translation>Az egér mozgatása a sor elejére</translation>
+ <translation>Tegye a kurzort a sor elejére</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the end of the line</source>
- <translation>Az egér mozgatása a sor végére</translation>
+ <translation>Tegye a kurzort a sor végére</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the start of the block</source>
- <translation>Az egér mozgatása a blokk elejére</translation>
+ <translation>Tegye a kurzort a blokk elejére</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the end of the block</source>
- <translation>Az egér mozgatása a blokk végére</translation>
+ <translation>Tegye a kurzort a blokk végére</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the start of the document</source>
- <translation>Az egér mozgatása a dokumentum elejére</translation>
+ <translation>Tegye a kurzort a dokumentum elejére</translation>
</message>
<message>
<location line="+3"/>
<source>Move the cursor to the end of the document</source>
- <translation>Az egér mozgatása a dokumentum végére</translation>
+ <translation>Tegye a kurzort a dokumentum végére</translation>
</message>
<message>
<location line="+3"/>
<source>Select all</source>
- <translation>Az összes kiválasztása</translation>
+ <translation>Összes kijelölése</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the next character</source>
- <translation>A következő karakter kiválasztása</translation>
+ <translation>Kijelölés a következő karakterig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the previous character</source>
- <translation>Az előző karakter kiválasztása</translation>
+ <translation>Kijelölés az előző karakterig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the next word</source>
- <translation>A következő szó kiválasztása</translation>
+ <translation>Kijelölés a következő szóig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the previous word</source>
- <translation>Az előző szó kiválasztása</translation>
+ <translation>Kijelölés az előző szóig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the next line</source>
- <translation>A következő sor kiválasztása</translation>
+ <translation>Kijelölés a következő sorig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the previous line</source>
- <translation>Az előző sor kiválasztása</translation>
+ <translation>Kijelölés az előző sorig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the start of the line</source>
- <translation>A sor elejének kiválasztása</translation>
+ <translation>Kijelölés a sor elejéig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the end of the line</source>
- <translation>A sor végének kiválasztása</translation>
+ <translation>Kijelölés a sor végéig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the start of the block</source>
- <translation>A blokk elejének kiválsztása</translation>
+ <translation>Kijelölés a blokk elejéig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the end of the block</source>
- <translation>A blokk végének kiválasztása</translation>
+ <translation>Kijelölés a blokk végéig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the start of the document</source>
- <translation>A dokumentum elejének kiválasztása</translation>
+ <translation>Kijelölés a dokumentum elejéig</translation>
</message>
<message>
<location line="+3"/>
<source>Select to the end of the document</source>
- <translation>A dokumentum végének kiválasztása</translation>
+ <translation>Kijelölés a dokumentum végéig</translation>
</message>
<message>
<location line="+3"/>
<source>Delete to the start of the word</source>
- <translation>A szó elejének törlése</translation>
+ <translation>Törlés a szó elejéig</translation>
</message>
<message>
<location line="+3"/>
<source>Delete to the end of the word</source>
- <translation>A szó végének törlése</translation>
+ <translation>Törlés a szó végéig</translation>
</message>
<message>
<location line="+33"/>
<source>Insert a new paragraph</source>
- <translation>Egy új bekezdés beszúrása</translation>
+ <translation>Új bekezdés beszúrása</translation>
</message>
<message>
<location line="+3"/>
<source>Insert a new line</source>
- <translation>Egy új sor beszúrása</translation>
+ <translation>Új sor beszúrása</translation>
</message>
<message>
<location line="+4"/>
<source>Paste and Match Style</source>
- <translation>Stílus beillesztése és összepasszintása</translation>
+ <translation>Beillesztés stílusegyeztetéssel</translation>
</message>
<message>
<location line="+3"/>
<source>Remove formatting</source>
- <translation>Formázás eltávolítása</translation>
+ <translation>A formázás törlése</translation>
</message>
<message>
<location line="+4"/>
<source>Strikethrough</source>
- <translation>Áthúzás</translation>
+ <translation>Áthúzva</translation>
</message>
<message>
<location line="+4"/>
@@ -7656,7 +10808,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+4"/>
<source>Insert Bulleted List</source>
- <translation>Hivatalos közlemény lista beszúrása</translation>
+ <translation>Pontozott lista beszúrása</translation>
</message>
<message>
<location line="+4"/>
@@ -7666,32 +10818,32 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+4"/>
<source>Indent</source>
- <translation>Behúzás</translation>
+ <translation>Behúzás növelése</translation>
</message>
<message>
<location line="+3"/>
<source>Outdent</source>
- <translation>Behúzás kifelé</translation>
+ <translation>Behúzás csökkentése</translation>
</message>
<message>
<location line="+3"/>
<source>Center</source>
- <translation>Közép</translation>
+ <translation>Középre igazítás</translation>
</message>
<message>
<location line="+3"/>
<source>Justify</source>
- <translation>Igazolás</translation>
+ <translation>Sorkizárás</translation>
</message>
<message>
<location line="+3"/>
<source>Align Left</source>
- <translation>Balra állít</translation>
+ <translation>Balra igazítás</translation>
</message>
<message>
<location line="+3"/>
<source>Align Right</source>
- <translation>Jobbra állít</translation>
+ <translation>Jobbra igazítás</translation>
</message>
</context>
<context>
@@ -7705,7 +10857,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<context>
<name>QWidget</name>
<message>
- <location filename="../src/gui/kernel/qwidget.cpp" line="+5720"/>
+ <location filename="../src/gui/kernel/qwidget.cpp" line="+5802"/>
<source>*</source>
<translation>*</translation>
</message>
@@ -7713,12 +10865,31 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<context>
<name>QWizard</name>
<message>
- <location filename="../src/gui/dialogs/qwizard.cpp" line="+661"/>
- <source>Cancel</source>
- <translation>Mégse</translation>
+ <location filename="../src/gui/dialogs/qwizard.cpp" line="+689"/>
+ <source>Go Back</source>
+ <translation>Visszalépés</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Continue</source>
+ <translation>Folytatás</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Commit</source>
+ <translation>Véglegesítés</translation>
</message>
<message>
<location line="+2"/>
+ <source>Done</source>
+ <translation>Kész</translation>
+ </message>
+ <message>
+ <source>Quit</source>
+ <translation type="obsolete">Kilépés</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Help</source>
<translation>Súgó</translation>
</message>
@@ -7733,32 +10904,17 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<translation>&amp;Befejezés</translation>
</message>
<message>
- <location line="+4"/>
- <source>&amp;Help</source>
- <translation>&amp;Súgó</translation>
- </message>
- <message>
- <location line="-14"/>
- <source>Go Back</source>
- <translation>Vissza ugrás</translation>
- </message>
- <message>
- <location line="+3"/>
- <source>Continue</source>
- <translation>Folytatás</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>Commit</source>
- <translation>Kommit</translation>
+ <location line="+2"/>
+ <source>Cancel</source>
+ <translation>Mégsem</translation>
</message>
<message>
<location line="+2"/>
- <source>Done</source>
- <translation>Kész</translation>
+ <source>&amp;Help</source>
+ <translation>&amp;Súgó</translation>
</message>
<message>
- <location line="-4"/>
+ <location line="-8"/>
<source>&amp;Next</source>
<translation>&amp;Következő</translation>
</message>
@@ -7778,7 +10934,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>&amp;Move</source>
- <translation>&amp;Mozgatás</translation>
+ <translation>Á&amp;thelyezés</translation>
</message>
<message>
<location line="+1"/>
@@ -7788,12 +10944,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+2"/>
<source>Mi&amp;nimize</source>
- <translation>&amp;Minimalizálás</translation>
+ <translation>&amp;Kis méret</translation>
</message>
<message>
<location line="+2"/>
<source>Ma&amp;ximize</source>
- <translation>Ma&amp;ximalizálás</translation>
+ <translation>Te&amp;ljes méret</translation>
</message>
<message>
<location line="+2"/>
@@ -7803,17 +10959,29 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+6"/>
<source>Stay on &amp;Top</source>
- <translation>&amp;Tetején maradni</translation>
+ <translation>Mindig leg&amp;felül</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+1059"/>
+ <source>Sh&amp;ade</source>
+ <translation>&amp;Felcsukás</translation>
</message>
<message>
- <location line="-988"/>
+ <location line="-278"/>
+ <location line="+60"/>
+ <source>%1 - [%2]</source>
+ <translation>%1 - [%2]</translation>
+ </message>
+ <message>
+ <location line="-1832"/>
<source>Minimize</source>
- <translation>Minimalizálás</translation>
+ <translation>Kis méret</translation>
</message>
<message>
<location line="+2"/>
<source>Restore Down</source>
- <translation>Letárolás</translation>
+ <translation>Előző méret</translation>
</message>
<message>
<location line="-4"/>
@@ -7821,21 +10989,9 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<translation>Bezárás</translation>
</message>
<message>
- <location line="+993"/>
- <location line="+1059"/>
- <source>Sh&amp;ade</source>
- <translation>Árnya&amp;lat</translation>
- </message>
- <message>
- <location line="-278"/>
- <location line="+60"/>
- <source>%1 - [%2]</source>
- <translation>%1 - [%2]</translation>
- </message>
- <message>
- <location line="+214"/>
+ <location line="+2048"/>
<source>&amp;Unshade</source>
- <translation>&amp;Leeresztés</translation>
+ <translation>&amp;Lenyitás</translation>
</message>
</context>
<context>
@@ -7848,32 +11004,32 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>error triggered by consumer</source>
- <translation>Ügyfél által előidézett hiba</translation>
+ <translation>feldolgozó által kiváltott hiba</translation>
</message>
<message>
<location line="+1"/>
<source>unexpected end of file</source>
- <translation>Váratlan fájlvég</translation>
+ <translation>váratlan fájlvég</translation>
</message>
<message>
<location line="+1"/>
<source>more than one document type definition</source>
- <translation>Több mint egy dokumentum típus definíció</translation>
+ <translation>több dokumentumtípus definíció</translation>
</message>
<message>
<location line="+1"/>
<source>error occurred while parsing element</source>
- <translation>Hiba történt az elem elemzése közben</translation>
+ <translation>hiba az elem értelmezésénél</translation>
</message>
<message>
<location line="+1"/>
<source>tag mismatch</source>
- <translation>Nem egyező címke</translation>
+ <translation>eltérő tag hiba</translation>
</message>
<message>
<location line="+1"/>
<source>error occurred while parsing content</source>
- <translation>Hiba történt a tartalom elemzése közben</translation>
+ <translation>hiba a tartalom értelmezésénél</translation>
</message>
<message>
<location line="+1"/>
@@ -7883,77 +11039,77 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+1"/>
<source>invalid name for processing instruction</source>
- <translation>érvénytelen név az utasítás feldolgozására</translation>
+ <translation>érvénytelen feldolgozási utasítás név</translation>
</message>
<message>
<location line="+1"/>
<source>version expected while reading the XML declaration</source>
- <translation>várt verzió az XML deklaráció olvasása közben</translation>
+ <translation>az XML deklaráció nem tartalmaz verzióinformációt</translation>
</message>
<message>
<location line="+1"/>
<source>wrong value for standalone declaration</source>
- <translation>Hibás egyedülálló deklaráció érték</translation>
+ <translation>érvénytelen érték önálló deklarációban</translation>
</message>
<message>
- <location line="+3"/>
+ <location line="+1"/>
+ <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
+ <translation>az XML deklarációból hiányzik a kódolási információ vagy egy önálló deklaráció</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>standalone declaration expected while reading the XML declaration</source>
+ <translation>az XML deklarációból hiányzik az önálló deklaráció</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>error occurred while parsing document type definition</source>
- <translation>Hiba történt a dokumentum típus definíció elemzése közben</translation>
+ <translation>hiba a dokumentumtípus definíció értelmezésénél</translation>
</message>
<message>
<location line="+1"/>
<source>letter is expected</source>
- <translation>betű várt</translation>
+ <translation>a várt elem betű</translation>
</message>
<message>
<location line="+1"/>
<source>error occurred while parsing comment</source>
- <translation>hiba történt az elemző megjegyzés előfordulása közben</translation>
+ <translation>hiba a megjegyzés értelmezésénél</translation>
</message>
<message>
<location line="+1"/>
<source>error occurred while parsing reference</source>
- <translation>Hiba történt az elemző hivatkozás előfordulása közben</translation>
+ <translation>hiba a hivatkozás értelmezésénél</translation>
</message>
<message>
<location line="+1"/>
<source>internal general entity reference not allowed in DTD</source>
- <translation>A DTD-ben nem engedélyezett a belső általános valós hivatkozás</translation>
+ <translation>A DTD-ben nem engedélyezett belső általános entitás használata</translation>
</message>
<message>
<location line="+1"/>
<source>external parsed general entity reference not allowed in attribute value</source>
- <translation>Az attribútum értékben nem engedélyezett a külsőleg elemzett általános valós hivatkozás</translation>
+ <translation>külső feldolgozású általános entitáshivatkozás nem engedélyezett attribútum értékében</translation>
</message>
<message>
<location line="+1"/>
<source>external parsed general entity reference not allowed in DTD</source>
- <translation>A DTD-ben nem engedélyezett a külsőleg elemzett általános valós hivatkozás</translation>
+ <translation>külső feldolgozású általános entitáshivatkozás nem engedélyezett a DTD-ben</translation>
</message>
<message>
<location line="+1"/>
<source>unparsed entity reference in wrong context</source>
- <translation>Hivatkozás egy nem értelmezett entitásra hibás összefüggésben</translation>
+ <translation>nem értelmezett entitás referencia egy rossz kontextusban</translation>
</message>
<message>
<location line="+1"/>
<source>recursive entities</source>
- <translation>Rekurzív entitások</translation>
+ <translation>rekurzív entitások</translation>
</message>
<message>
<location line="+1"/>
<source>error in the text declaration of an external entity</source>
- <translation>Hiba egy külső entitás szöveg deklarációjában</translation>
- </message>
- <message>
- <location line="-11"/>
- <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
- <translation>Kódolása deklaráció vagy egyedülálló deklaráció várt az XML deklaráció olvasása közben</translation>
- </message>
- <message>
- <location line="+1"/>
- <source>standalone declaration expected while reading the XML declaration</source>
- <translation>Egyedülálló deklaráció várt az XML deklaráció olvasása közben</translation>
+ <translation>hiba egy külső entitás szövegdeklarációjában</translation>
</message>
</context>
<context>
@@ -7961,27 +11117,27 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location filename="../src/xmlpatterns/api/qcoloringmessagehandler.cpp" line="+87"/>
<source>Warning in %1, at line %2, column %3: %4</source>
- <translation>Figyelmeztetés %1-ben, %2 sorban, %3 oszlopban: %4</translation>
+ <translation>Figyelmeztetés a(z) %1 helyen, sor %2, oszlop %3: %4</translation>
</message>
<message>
<location line="+7"/>
<source>Warning in %1: %2</source>
- <translation>Figyelmeztetés %1-ben: %2</translation>
+ <translation>Figyelmeztetés a(z) %1 helyen: %2</translation>
</message>
<message>
<location line="+16"/>
<source>Unknown location</source>
- <translation>Ismeretlen elhelyezkedés</translation>
+ <translation>Ismeretlen hely</translation>
</message>
<message>
<location line="+14"/>
<source>Error %1 in %2, at line %3, column %4: %5</source>
- <translation>%1 hiba %2-ben, %3 sorban, %4 oszlopban: %5</translation>
+ <translation>%1 hiba a(z) %2 %3. sorának %4. oszlopában: %5</translation>
</message>
<message>
<location line="+8"/>
<source>Error %1 in %2: %3</source>
- <translation>%1 hiba %2-ben: %3</translation>
+ <translation>%1 hiba a(z) %2 helyen: %3</translation>
</message>
</context>
<context>
@@ -7990,7 +11146,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location filename="../src/corelib/xml/qxmlstream.cpp" line="+611"/>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="+1770"/>
<source>Extra content at end of document.</source>
- <translation>Extra tartalom a dokumentum végén.</translation>
+ <translation>Nem várt tartalom a dokumentum végén.</translation>
</message>
<message>
<location line="+271"/>
@@ -8005,22 +11161,22 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+259"/>
<source>Sequence &apos;]]&gt;&apos; not allowed in content.</source>
- <translation>&apos;]]&gt;&apos; sor nem engedélyezett a tartalomban.</translation>
+ <translation>&apos;]]&gt;&apos; szekvencia nem megengedett a tartalomban.</translation>
</message>
<message>
<location line="+309"/>
<source>Namespace prefix &apos;%1&apos; not declared</source>
- <translation>&apos;%1&apos; névtér előtag nincsen deklarálva</translation>
+ <translation>A(z) &apos;%1&apos; névtér prefixum nincs deklarálva</translation>
</message>
<message>
<location line="+78"/>
<source>Attribute redefined.</source>
- <translation>Attribútum újradefiniálva.</translation>
+ <translation>Az attributum újra lett definiálva.</translation>
</message>
<message>
<location line="+115"/>
<source>Unexpected character &apos;%1&apos; in public id literal.</source>
- <translation>Váratlan karakter &apos;%1&apos; a publikus azonosító literál.</translation>
+ <translation>Váratlan &apos;%1&apos; karakter a publikus id literálban.</translation>
</message>
<message>
<location line="+28"/>
@@ -8035,17 +11191,17 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+23"/>
<source>%1 is an invalid encoding name.</source>
- <translation>%1 egy érvénytelen kódolási név.</translation>
+ <translation>%1 nem egy érvényes kódolás név.</translation>
</message>
<message>
<location line="+7"/>
<source>Encoding %1 is unsupported</source>
- <translation>%1 kódolás nem támogatva</translation>
+ <translation>%1 kódolás nem támogatott</translation>
</message>
<message>
<location line="+16"/>
<source>Standalone accepts only yes or no.</source>
- <translation>Egyedülálló elfogadás kizárólas igen vagy nem.</translation>
+ <translation>Csak igen vagy nem lehet az értéke.</translation>
</message>
<message>
<location line="+2"/>
@@ -8055,7 +11211,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+16"/>
<source>Premature end of document.</source>
- <translation>Túl korai dokumentum vég.</translation>
+ <translation>A dokumentum hirtelen véget ért.</translation>
</message>
<message>
<location line="+2"/>
@@ -8065,12 +11221,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+40"/>
<source>Expected </source>
- <translation>Várt</translation>
+ <translation>Várt </translation>
</message>
<message>
<location line="+11"/>
<source>, but got &apos;</source>
- <translation>, pedig megkapta &apos;</translation>
+ <translation>, de ezt kaptam: &apos;</translation>
</message>
<message>
<location line="+4"/>
@@ -8080,37 +11236,37 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+225"/>
<source>Expected character data.</source>
- <translation>Várt karakter adat.</translation>
+ <translation>Karakteres adat szükséges.</translation>
</message>
<message>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="-995"/>
<source>Recursive entity detected.</source>
- <translation>Rekurzív entitás észlelve.</translation>
+ <translation>Rekurzív entitást találtam.</translation>
</message>
<message>
<location line="+516"/>
<source>Start tag expected.</source>
- <translation>Kezdő címke várva.</translation>
+ <translation>Kezdő tag szükséges.</translation>
</message>
<message>
<location line="+222"/>
<source>XML declaration not at start of document.</source>
- <translation>XML deklaráció nem a dokumentum elején található.</translation>
+ <translation>Az XML deklaráció nem a dokumentum elején kezdődik.</translation>
</message>
<message>
<location line="-31"/>
<source>NDATA in parameter entity declaration.</source>
- <translation>NDATA a paraméter entitás deklarációban.</translation>
+ <translation>NDATA a paraméter-entitás deklarációjában.</translation>
</message>
<message>
<location line="+34"/>
<source>%1 is an invalid processing instruction name.</source>
- <translation>%1 egy érvénytelen feldolgozó utasítás neve.</translation>
+ <translation>%1 érvénytelen feldolgozási utasítás név.</translation>
</message>
<message>
<location line="+11"/>
<source>Invalid processing instruction name.</source>
- <translation>Érvénytelen feldolgozó utasítás név.</translation>
+ <translation>Érvénytelen feldolgozási utasítás név.</translation>
</message>
<message>
<location filename="../src/corelib/xml/qxmlstream.cpp" line="-536"/>
@@ -8118,7 +11274,7 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="+164"/>
<location line="+53"/>
<source>Illegal namespace declaration.</source>
- <translation>Illegális névtér deklarációk.</translation>
+ <translation>Érvénytelen névtér deklaráció.</translation>
</message>
<message>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="+15"/>
@@ -8128,287 +11284,63 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+23"/>
<source>Opening and ending tag mismatch.</source>
- <translation>Nyitó és záró címkék nem egyeznek.</translation>
+ <translation>A nyitó és a záró tag nem egyezik.</translation>
</message>
<message>
<location line="+18"/>
<source>Reference to unparsed entity &apos;%1&apos;.</source>
- <translation>Hivatkozás egy nem értelmezett entitásra &apos;%1&apos;.</translation>
+ <translation>Hivatkozás egy nem értelmezett entitásra: &apos;%1&apos;.</translation>
</message>
<message>
<location line="-13"/>
<location line="+61"/>
<location line="+40"/>
<source>Entity &apos;%1&apos; not declared.</source>
- <translation>&apos;%1&apos; entitás nincsen deklarálva.</translation>
+ <translation>&apos;%1&apos; entitás nincs deklarálva.</translation>
</message>
<message>
<location line="-26"/>
<source>Reference to external entity &apos;%1&apos; in attribute value.</source>
- <translation>Hivatkozás egy külső entitásra &apos;%1&apos; az attribútum értékben.</translation>
+ <translation>Hivatkozás &apos;%1&apos; külső entitásra attribútum értékben.</translation>
</message>
<message>
<location line="+40"/>
<source>Invalid character reference.</source>
- <translation>Érvénytelen karakter hivatkozás.</translation>
+ <translation>Érvénytelen karakterhivatkozás.</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>Helytelen kódolási tartalommal találta szembe magát.</translation>
+ <translation>Hibás kódolású tartalom.</translation>
</message>
<message>
<location line="+274"/>
<source>The standalone pseudo attribute must appear after the encoding.</source>
- <translation>Az egyedülálló ál attribútumnak a kódolás után kell feltűnnie.</translation>
+ <translation>Az egyedülálló pszeudo-attribútumnak a kódolás után kell szerepelnie.</translation>
</message>
<message>
<location filename="../src/corelib/xml/qxmlstream_p.h" line="+562"/>
<source>%1 is an invalid PUBLIC identifier.</source>
- <translation>%1 egy érvénytelen PUBLIC-us azonosító.</translation>
+ <translation>%1 egy érvénytelen PUBLIC azonosító.</translation>
</message>
</context>
<context>
<name>QtXmlPatterns</name>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="+99"/>
- <location line="+15"/>
- <source>At least one component must be present.</source>
- <translation>Legalább egy komponenset be kell nyújtani.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
- <source>%1 is not a valid value of type %2.</source>
- <translation>%1 nem egy érvény értéke a(z) %2 típusnak.</translation>
- </message>
- <message>
- <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>A(z) %1-ről %2-re történő kasztoláskor, a forrás érték nem lehet %3.</translation>
- </message>
- <message>
- <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>Hatékony logikai értéket nem lehet egy sor számára kiszámítani, amely kettő vagy több atomikus értéket tartalmaz.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
- <source>The data of a processing instruction cannot contain the string %1</source>
- <translation>Egy feldolgozó utasítás adata nem tartalmazhat %1 sztringet</translation>
- </message>
- <message>
- <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 egy érvénytelen %2</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
- <source>%1 is not a valid XML 1.0 character.</source>
- <translation>%1 egy érvénytelen 1.0 XML karakter.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
- <source>%1 was called.</source>
- <translation>%1 lett meghívva.</translation>
- </message>
- <message>
- <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>A kicserélési sztrinben, %1 -t legalább egy számnak kell követnie nem meneküléskor.</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>A kicserelési sztringben, %1-t csak magának a(z) %2 vagy %3 menekülésére lehet használni</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
- <source>%1 matches newline characters</source>
- <translation>%1 megegyező újsor karakterek</translation>
- </message>
- <message>
- <location line="+10"/>
- <source>Matches are case insensitive</source>
- <translation>Az egyezés kis és nagybetűre nem érzékeny</translation>
- </message>
- <message>
- <location line="+104"/>
- <source>%1 is an invalid regular expression pattern: %2</source>
- <translation>%1 egy érvénytelen reguláris kifejezés minta: %2</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+346"/>
- <source>It will not be possible to retrieve %1.</source>
- <translation>Nem lesz lehetséges kinyerni %1.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+266"/>
- <source>The default collection is undefined</source>
- <translation>Az alapértelmezett gyűjtemény nincs definiálva</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>%1 cannot be retrieved</source>
- <translation>%1 nem lehet megszerezni</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
- <source>The item %1 did not match the required type %2.</source>
- <translation>A(z) %1 elem nem egyezik a szükséges típussal %2.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+352"/>
- <location line="+7323"/>
- <source>%1 is an unknown schema type.</source>
- <translation>%1 egy ismeretlen terv típus.</translation>
- </message>
- <message>
- <location line="-7254"/>
- <source>A template with name %1 has already been declared.</source>
- <translation>Egy %1 nevű sablon már deklarálva van.</translation>
- </message>
- <message>
- <location line="+213"/>
- <source>Only one %1 declaration can occur in the query prolog.</source>
- <translation>Kizárólag egy %1 deklaráció fordulhat elő a kérdéses előszóban.</translation>
- </message>
- <message>
- <location line="+188"/>
- <source>The initialization of variable %1 depends on itself</source>
- <translation>A(z) %1 változó inicializálása önmagától függ</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
- <source>The variable %1 is unused</source>
- <translation>A(z) %1 változó nincsen használva</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+2904"/>
- <source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
- <translation>%1-es verzió nem támogatott. A támogatott XQuery verzió az 1.0.</translation>
- </message>
- <message>
- <location line="+71"/>
- <source>No function with signature %1 is available</source>
- <translation>Nincs %1 aláírással rendelkező függvény</translation>
+ <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+344"/>
+ <source>%1 is an unsupported encoding.</source>
+ <translation>%1 nem támogatott kódolás.</translation>
</message>
<message>
- <location line="+303"/>
- <source>It is not possible to redeclare prefix %1.</source>
- <translation>Nem lehetséges a(z) %1 előtag újradeklarálása.</translation>
+ <location line="+16"/>
+ <source>%1 contains octets which are disallowed in the requested encoding %2.</source>
+ <translation>%1 olyan okteteket tartalmaz, amelyek nem megengedettek a kért %2 kódolásban.</translation>
</message>
<message>
<location line="+18"/>
- <source>Prefix %1 is already declared in the prolog.</source>
- <translation>%1 előtag már deklarálva van az előszóban.</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>Az opció nevének tartalmaznia kell egy előtagot. Nincs alapértelmezett névtér ezekre az opciókra.</translation>
- </message>
- <message>
- <location line="+171"/>
- <source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
- <translation>A terv importálása tulajdonság nem támogatott, és ennek következtében a(z) %1 deklarációk nem fordulhatnak elő.</translation>
- </message>
- <message>
- <location line="+13"/>
- <source>The target namespace of a %1 cannot be empty.</source>
- <translation>Egy %1 cél névtere nem lehet üres.</translation>
- </message>
- <message>
- <location line="+8"/>
- <source>The module import feature is not supported</source>
- <translation>A modul importáló tulajdonság nem támogatott</translation>
- </message>
- <message>
- <location line="+178"/>
- <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>Egy felhasználó által definiált függvény névterének egy könyvtár modulban megfelelőnek kell lenni a modul névtérrel. Más szóval, %1-nek kellene lennie %2 helyett</translation>
- </message>
- <message>
- <location line="+34"/>
- <source>A function already exists with the signature %1.</source>
- <translation>Egy függvény már létezik ezzel az aláírással %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>Kulső függvények nincsenek támogatva. Az összes támogatott függvényt lehet közvetlenül haszálni, az első külső deklarálásuk nélkül</translation>
- </message>
- <message>
- <location line="+1709"/>
- <source>The %1-axis is unsupported in XQuery</source>
- <translation>A(z) %1 tengely nem támogatott az XQuery-ben</translation>
- </message>
- <message>
- <location line="+435"/>
- <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
- <translation>Az URI névtér nem lehet üres sztring egy előtaghoz való összeköttetéskor, %1.</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>%1 is an invalid namespace URI.</source>
- <translation>%1 egy érvénytelen URI névtér.</translation>
- </message>
- <message>
- <location line="+6"/>
- <source>It is not possible to bind to the prefix %1</source>
- <translation>Nem lehetséges a(z) %1 előtaggal összekötni</translation>
- </message>
- <message>
- <location line="+30"/>
- <source>Two namespace declaration attributes have the same name: %1.</source>
- <translation>Két névtér deklaráció attribútumnak ugyanaz a neve: %1.</translation>
- </message>
- <message>
- <location line="+89"/>
- <source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
- <translation>Az URI névtérnek állandónak kell lennie és nem használhat elhatárolt kifejezéseket.</translation>
- </message>
- <message>
- <location line="+699"/>
- <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 nem a hatókör attribútum deklarációin belül található. Vegye figyelembe, hogy a terv importáló tulajdonság nem támogatott.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
- <source>empty</source>
- <translation>üres</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>zero or one</source>
- <translation>nulla vagy egy</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>exactly one</source>
- <translation>pontosan egy</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>one or more</source>
- <translation>egy vagy több</translation>
- </message>
- <message>
- <location line="+2"/>
- <source>zero or more</source>
- <translation>nulla vagy több</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+156"/>
- <source>The focus is undefined.</source>
- <translation>A fókusz nincs definiálva.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="+93"/>
- <source>An attribute by name %1 has already been created.</source>
- <translation>Egy %1 nevű attribútum már létre lett hozva.</translation>
+ <source>The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character.</source>
+ <translation>%1 kódrészlet %2 helyen, %3 kódolással érvénytelen XML karakter.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/api/qiodevicedelegate.cpp" line="+84"/>
@@ -8418,7 +11350,12 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<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 elemet nem lehet besorolni, mert úgy tűnik a dokumentum elem külső oldalán található.</translation>
+ <translation>%1 elem nem szerializálható, mert a document elemen kívül szerepel.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>Attribute %1 can&apos;t be serialized because it appears at the top level.</source>
+ <translation>%1 attribútum nem szerializálható, mert legfelső szinten szerepel.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/data/qabstractdatetime.cpp" line="+80"/>
@@ -8428,893 +11365,1127 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+19"/>
<source>Day %1 is outside the range %2..%3.</source>
- <translation>%1 nap a tartomány külsp oldalán van %2..%3.</translation>
+ <translation>A(z) %1. nap nem esik %2 és %3 közé.</translation>
</message>
<message>
<location line="+7"/>
<source>Month %1 is outside the range %2..%3.</source>
- <translation>%1 hónap a tartomány külső felületén van %2..%3.</translation>
+ <translation>A(z) %1. hónap nem esik %2 és %3 közé.</translation>
</message>
<message>
<location line="+10"/>
<source>Overflow: Can&apos;t represent date %1.</source>
- <translation>Túlcsordulás: Nem lehet feltünteti a(z) %1 dátumot.</translation>
+ <translation>Túlcsordulás: A(z) %1 dátum nem reprezentálható.</translation>
</message>
<message>
<location line="+9"/>
<source>Day %1 is invalid for month %2.</source>
- <translation>%1 nap érvénytelen a(z) %2 hónapra vonatkozólag.</translation>
+ <translation>Nincs %1 nap %2 hónapban.</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>Idő 24:%1:%2:%3 érvénytelen. Az óra 24, de a perc, másodperc, és milliszekundum egyáltalán nem 0; </translation>
+ <translation>Az 24:%1:%2.%3 időpont érvénytelen, mert az óra értéke 24, de a többi érték nem 0; </translation>
</message>
<message>
<location line="+13"/>
<source>Time %1:%2:%3.%4 is invalid.</source>
- <translation>Idő %1:%2:%3.%4 érvénytelen.</translation>
+ <translation>Az %1:%2:%3.%4 időpont érvénytelen.</translation>
</message>
<message>
<location line="+115"/>
<source>Overflow: Date can&apos;t be represented.</source>
- <translation>Túlcsordulás: A dátumot nem lehet feltüntetni.</translation>
+ <translation>Túlcsordulás: A dátum nem reprezentálható.</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>Legalább egy komponenst meg kell adni.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qabstractduration.cpp" line="-7"/>
+ <location line="-7"/>
<source>At least one time component must appear after the %1-delimiter.</source>
- <translation>Legalább egy idő komponensnek lennie kell a(z) %1 határolójel után.</translation>
+ <translation>Legalább egy időkomponenst meg kell adni a(z) %1 elválasztó után.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/data/qanyuri_p.h" line="+132"/>
+ <source>%1 is not a valid value of type %2.</source>
+ <translation>%1 nem érvényes %2 típusú érték.</translation>
+ </message>
+ <message>
+ <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>Ha %2-t %1-re kényszerítünk, a kiinduló érték nem lehet %3.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+65"/>
+ <source>Integer division (%1) by zero (%2) is undefined.</source>
+ <translation>A nullával (%2) való egészosztás (%1) nincs értelmezve.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Division (%1) by zero (%2) is undefined.</source>
+ <translation>A nullával (%2) való osztás (%1) nincs értelmezve.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="+201"/>
+ <location line="+7"/>
+ <source>Modulus division (%1) by zero (%2) is undefined.</source>
+ <translation>A nullával (%2) való maradékos osztás (%1) nincs értelmezve.</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 típus értékének osztása egy %2(nem szám)-mal nem engedélyezett.</translation>
+ <translation>%1 típusú érték %2-vel osztása nem megengedett, mert az nem szám.</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 típus értékének osztása egy %2 vagy %3(plusz vagy minusz nulla)-mal nem engedélyezett.</translation>
+ <translation>%1 típusú érték osztása %2 vagy %3 (pozitív vagy negatív nulla) értékkel nem megengedett.</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 típusú érték %2 vagy %3-mal való szorzása(plusz vagy minusz végtelen) nem engedélyezett.</translation>
+ <translation>%1 típusú érték szorzása %2 vagy %3 (pozitív vagy negatív végtelen) típusú értékkel nem megengedett.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/data/qatomicvalue.cpp" line="+79"/>
<source>A value of type %1 cannot have an Effective Boolean Value.</source>
- <translation>%1 típusú értéknek nincsen hatékony logikai értéke.</translation>
+ <translation>%1 típusú érték nem kaphat effektív logikai értéket.</translation>
+ </message>
+ <message>
+ <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>Effektív logikai érték nem számítható olyan sorozatra, melyben kettő vagy több atomi érték szerepel.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/data/qderivedinteger_p.h" line="+402"/>
<source>Value %1 of type %2 exceeds maximum (%3).</source>
- <translation>%2 típus %1 értéke elérte a maxiumot (%3).</translation>
+ <translation>A(z) %2 típusú %1 érték meghaladja a maximumot (%3).</translation>
</message>
<message>
<location line="+9"/>
<source>Value %1 of type %2 is below minimum (%3).</source>
- <translation>%1 típus %2 értéke a minimum alatt van (%3).</translation>
+ <translation>A(z) %2 típusú %1 érték kisebb, mint a minimum (%3).</translation>
</message>
<message>
<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 típus értékének tartalmaznia kell egy páratlan számú számot. A(z) %2 érték nem.</translation>
+ <translation>%1 típusú értékben páros számú számjegynek kell szerepelnie. A(z) %2 érték nem megfelelő.</translation>
</message>
<message>
<location line="+19"/>
<source>%1 is not valid as a value of type %2.</source>
- <translation>%1 érvénytelen %2 típusú értékként.</translation>
+ <translation>%1 nem érvényes %2 típusú érték.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
+ <source>Ambiguous rule match.</source>
+ <translation>Nem egyértelmű szabály illeszkedés.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qarithmeticexpression.cpp" line="+207"/>
<source>Operator %1 cannot be used on type %2.</source>
- <translation>%1 műveletet nem lehet a(z) %2 típuson használni.</translation>
+ <translation>%1 operátor nem használható %2 típuson.</translation>
</message>
<message>
<location line="+17"/>
<source>Operator %1 cannot be used on atomic values of type %2 and %3.</source>
- <translation>%1 műveletet nem lehet a %2 és %3-as típusú atomikus értéken használni.</translation>
+ <translation>%1 operátor nem használható %2 és %3 típusok atomi értékein.</translation>
</message>
<message>
<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>Az URI névtér a névben számított attribútumra nem lehet %1.</translation>
+ <translation>Egy számított attribútum nevében szereplő névtér URI-je nem lehet %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>Egy kiszámított attribútumnak nem lehet %1 URI névtere %2 helyi névvel.</translation>
+ <translation>Számított attribútum neve nem szerepelhet %1 névtér URI-ben %2 lokális névvel.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qcastas.cpp" line="+88"/>
<source>Type error in cast, expected %1, received %2.</source>
- <translation>Típus hiba a kasztolásban, %1 várt, %2 kapott.</translation>
+ <translation>Típushiba a kényszerítés során, várt %1, kapott %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-re kasztoláskor vagy típus származtatáskor, a forrás értéknek ugyanolyan típusúnak kell lennie, vagy sztring literálnak kell lennie. %2 típus nem engedélyezett.</translation>
+ <translation>%1 vagy belőle származó típusra való kényszerítéskor a kiindulási értéknek azonos típusúnak vagy sztring literálnak kell lennie. %2 típus nem megengedett.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qcommentconstructor.cpp" line="+67"/>
<source>A comment cannot contain %1</source>
- <translation>A megjegyzés nem tartalmazhat %1-t</translation>
+ <translation>Megjegyzésben nem szerepelhet %1</translation>
</message>
<message>
<location line="+6"/>
<source>A comment cannot end with a %1.</source>
- <translation>A megjegyzés nem végződget %1-gyel.</translation>
+ <translation>Egy megjegyzés nem végződhet a következőre: %1.</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>Egy névtér konstruktorában a névtér értéke nem lehet üres karaktersorozat.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>The prefix must be a valid %1, which %2 is not.</source>
+ <translation>A prefixum érvényes %1 kell legyen, aminek %2 nem tesz eleget.</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>The prefix %1 cannot be bound.</source>
+ <translation>%1 prefixum nem köthető.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Only the prefix %1 can be bound to %2 and vice versa.</source>
+ <translation>Csak %1 prefixum köthető %2 kifejezéshez és fordítva.</translation>
</message>
<message>
<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>Az attribútum csomópont egy dokumentum csomópont gyermeke. Ennek következtében a(z) %1 attribútum nem helyénvaló.</translation>
+ <translation>Attribútum csomópont nem lehet egy document csomópont gyermeke. Emiatt a(z) %1 attribútum nem ide való.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qexpressionfactory.cpp" line="+162"/>
<source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
- <translation>A köbyvtár modult nem lehet közvetlenül kiértékelni. A fő modulból kell importálni.</translation>
+ <translation>Egy könyvtár modult nem lehet közvetlenül kiértékelni. Mindenképp egy fő modulból kell importálni.</translation>
</message>
<message>
<location line="+40"/>
<source>No template by name %1 exists.</source>
- <translation>%1 nevű sablon nem létezik.</translation>
+ <translation>Nem létezik %1 nevű sablon.</translation>
</message>
<message>
<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>A(z) %1 típus értéke egy állítmány. Egy állítmánynak tartalmaznia kell vagy egy szám típust vagy egy effektív logikai érték típust.</translation>
+ <translation>Egy %1 típusú érték nem lehet predikátum. Egy predikátumnak szám vagy effektív logikai érték típusúnak kell lennie.</translation>
</message>
<message>
<location line="+32"/>
<source>A positional predicate must evaluate to a single numeric value.</source>
- <translation>A helyzet állítmányt egy egyetlen szám értékként kell kiértékelni.</translation>
+ <translation>Egy pozicionális predikátumnak egyetlen numerikus értékké kell kiértékelődnie.</translation>
</message>
<message>
<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, %2 is invalid.</source>
- <translation>A cél neve egy utasítás feldolgozásban nem lehet %1 kis és nagybetűk bármely kombinációjában. Ennek következtében a(z) %2 érvénytelen.</translation>
+ <translation>Feldolgozási utasításban a célnév nem lehet %1 semmilyen kis- vagy nagybetűs formában. Emiatt %2 érvénytelen.</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 nem egy érvényes cél név az utasítás feldolgozásban. %2 vagy %3 értéknek kell lennie.</translation>
+ <translation>%1 érvénytelen célnév egy feldolgozási utasításban. Értéke %2 típusú kell legyen, mint pl. %3.</translation>
</message>
<message>
<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>Az utolsó lépésnek vagy csomópontokat vagy atomikus értékeket kell tartalmaznia. Ez nem lehet a kettő közötti keverék.</translation>
+ <translation>Egy útvonal utolsó lépésének vagy csomópontokat vagy atomi értékeket kell tartalmaznia. Nem lehet a kettő keveréke.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/>
+ <source>The data of a processing instruction cannot contain the string %1</source>
+ <translation>Egy feldolgozási utasítás adata nem tartalmazhatja %1 sztringet</translation>
</message>
<message>
<location filename="../src/xmlpatterns/expr/qqnameconstructor.cpp" line="+82"/>
<source>No namespace binding exists for the prefix %1</source>
- <translation>Nem létezik névtér összeköttetés a(z) %1 előtagra</translation>
+ <translation>Nincs névtér kötés a(z) %1 prefixumhoz</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="-12"/>
+ <location filename="../src/xmlpatterns/expr/qqnameconstructor_p.h" line="+156"/>
<source>No namespace binding exists for the prefix %1 in %2</source>
- <translation>Nem létezik névtér összeköttetés a(z) %1 előtagra %2-ben</translation>
+ <translation>Nincs névtér kötés a(z) %1 prefixumhoz %2 helyen</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <location filename="../src/xmlpatterns/functions/qqnamefns.cpp" line="+69"/>
+ <source>%1 is an invalid %2</source>
+ <translation>%1 egy érvénytelen %2</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+74"/>
+ <source>The parameter %1 is passed, but no corresponding %2 exists.</source>
+ <translation>Az átadott paraméter %1, de nincs megfelelő %2.</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
+ <translation>%1 paraméter kötelező, de nincs megadva megfelelő %2.</translation>
+ </message>
+ <message numerus="yes">
+ <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 maximum %n argumentumot fogad, így %2 érvénytelen.</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 legalább %n argumentumot fogad, így %2 érvénytelen.</numerusform>
+ </translation>
</message>
<message>
<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>Az első argumentum %1 nem lehet %2 típusú. Egy számos típusnak kelle lennie, xs:évHónapIdőtartam vagy xs:napIdőTartam.</translation>
+ <translation>%1 első paramétere nem lehet %2 típusú. Csak numerikus típus, xs:yearMonthDuration vagy xs:dayTimeDuration lehet.</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>Az első argumentum %1 nem lehet %2 típusú. %3, %4 vagy %5 típusúnak kell lennie.</translation>
+ <translation>%1 első argumentuma nem lehet %2 típusú. Csak %3, %4 vagy %5 megengedett.</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>Az második argumentum %1 nem lehet %2 típusú. %3, %4 vagy %5 típusúnak kell lennie.</translation>
+ <translation>%1 második argumentuma nem lehet %2 típusú. Csak %3, %4 vagy %5 megengedett.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qassemblestringfns.cpp" line="+88"/>
+ <source>%1 is not a valid XML 1.0 character.</source>
+ <translation>%1 érvénytelen XML 1.0 karakter.</translation>
+ </message>
+ <message>
+ <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 függvény második argumentumának gyökér csomópontja document típusú kell legyen. %2 nem document csomópont.</translation>
</message>
<message>
<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>Ha mindkét értéknek zóna eltolása van, ugyanazt a zóna eltolást kell tartalmazniuk. %1 és %2 nem ugyanaz.</translation>
+ <translation>Ha mindkét értékben zóna eltolás van, akkor annak azonosnak kell lennie. %1 és %2 nem egyezik.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qerrorfn.cpp" line="+61"/>
+ <source>%1 was called.</source>
+ <translation>%1 meghívva.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="-65"/>
+ <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-t %2 vagy %3-nak kell követnie, nem a kicserélési sztring végén.</translation>
+ <translation>%1-t %2 vagy %3 kell kövesse, nem a helyettesítő karakterlánc végén.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="-110"/>
+ <location line="+39"/>
+ <source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
+ <translation>A csereszövegben %1-t legalább egy számjegy kell kövesse, amennyiben az nincs escapelve.</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>A csereszövegben %1 csak önmaga vagy %2 escapelésére használható, %3-ra nem</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qpatternplatform.cpp" line="+92"/>
+ <source>%1 matches newline characters</source>
+ <translation>%1 illeszkedik az újsor karakterekre</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>%1 and %2 match the start and end of a line.</source>
- <translation>%1 és %2 egyezik a sor elején és végén.</translation>
+ <translation>%1 és %2 a sor elejére és végére is illeszkedik.</translation>
</message>
<message>
- <location line="+10"/>
+ <location line="+6"/>
+ <source>Matches are case insensitive</source>
+ <translation>Az illeszkedések nem nagybetű-érzékenyek</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Whitespace characters are removed, except when they appear in character classes</source>
- <translation>Nem látható karakterek eltávolítva, kivéve mikor karakter osztályokban tűnnek fel</translation>
+ <translation>A nem nyomtatható karakterek törlésre kerülnek, kivétel, ha karakter osztályokban szerepelnek</translation>
</message>
<message>
- <location line="+130"/>
+ <location line="+100"/>
+ <source>%1 is an invalid regular expression pattern: %2</source>
+ <translation>%1 érvénytelen reguláris kifejezés minta: %2</translation>
+ </message>
+ <message>
+ <location line="+30"/>
<source>%1 is an invalid flag for regular expressions. Valid flags are:</source>
- <translation>%1 egy érvénytelen jelző reguláris kifejezésekre. Érvényes flagek:</translation>
+ <translation>%1 érvénytelen kapcsoló reguláris kifejezésekhez. Az érvényes kapcsolók:</translation>
</message>
<message>
<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>Ha az első argumentum üres sorozat vagy nulla hosszúságú sztring (nincsen névtér), egy előtagot nem lehet meghatározni. %1 előtag volt meghatározva.</translation>
+ <translation>Ha az első argumentum az üres szekvencia vagy egy nulla hosszúságú sztring (névtér nélkül), akkor nem adható meg prefixum. %1 prefixum lett megadva.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qsequencefns.cpp" line="+346"/>
+ <source>It will not be possible to retrieve %1.</source>
+ <translation>Nem lesz lehetséges %1 lekérése.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qsequencegeneratingfns.cpp" line="+266"/>
+ <source>The default collection is undefined</source>
+ <translation>Nincs meghatározva az alapértelmezett kollekció</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>%1 cannot be retrieved</source>
+ <translation>%1-t nem lehet lekérni</translation>
</message>
<message>
<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>A(z) %1 szabványosítási forma nem támogatott. A támogatott formák %2, %3, %4 és %5 és semmi más, lásd az üres sztringet (nincs szabványosítás).</translation>
+ <translation>%1 normalizáló formája nem támogatott. A támogatott formák %2, %3, %4 és %5 vagy semmi, pl. az üres sztring (normalizáció nélkül).</translation>
</message>
<message>
<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>A zóna eltolásnak a(z) %1..%2 tartományban kell benne lennie. %3 az tartományon kívüli.</translation>
+ <translation>Egy zónaeltolásnak a(z) %1..%2 nyílt intervallumba kell esnie. %3 az értékhatáron kívül van.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>%1 is not a whole number of minutes.</source>
+ <translation>%1 nem egész számú perc.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
+ <source>The URI cannot have a fragment</source>
+ <translation>A URI nem tartalmazhat töredéket</translation>
</message>
<message>
<location filename="../src/xmlpatterns/janitors/qcardinalityverifier.cpp" line="+58"/>
<source>Required cardinality is %1; got cardinality %2.</source>
- <translation>Szükséges számosság %1, szerzett számosság %2.</translation>
+ <translation>Az elvárt kardinalitás %1; azonban %2 lett megadva.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="-3944"/>
- <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>A(z) %1 kódolás érvénytelen. Kizárólag latin karaktereket kell tartalmaznia, nem szabad látható karaktereket tartalmaznia, és a(z) %2 reguláris kifejezéssel kell megegyeznie.</translation>
+ <location filename="../src/xmlpatterns/janitors/qitemverifier.cpp" line="+67"/>
+ <source>The item %1 did not match the required type %2.</source>
+ <translation>%1 elem nem egyezik a várt %2 típussal.</translation>
</message>
<message>
- <location line="+260"/>
- <source>The keyword %1 cannot occur with any other mode name.</source>
- <translation>A(z) %1 kulcscszó nem fordulhat elő semmilyen más mód névvel.</translation>
+ <location filename="../src/xmlpatterns/parser/qparsercontext.cpp" line="+93"/>
+ <source>The variable %1 is unused</source>
+ <translation>A(z) %1 változó nincs használva</translation>
</message>
<message>
- <location line="-3117"/>
- <source>No variable with name %1 exists</source>
- <translation>%1 nevű változó nem létezik</translation>
+ <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="+295"/>
+ <source>W3C XML Schema identity constraint selector</source>
+ <translation>W3C XML séma azonosító szabály kiválasztó</translation>
</message>
<message>
- <location line="+3146"/>
- <source>The value of attribute %1 must be of type %2, which %3 isn&apos;t.</source>
- <translation>A(z) %1 attribútumnak %2 típusúnak kell lennie, amelyik nem %3-as.</translation>
+ <location line="+3"/>
+ <source>W3C XML Schema identity constraint field</source>
+ <translation>W3C XML séma azonosító megszorítás mező</translation>
</message>
<message>
- <location line="+75"/>
- <source>The prefix %1 cannot be bound. By default, it is already bound to the namespace %2.</source>
- <translation>A(z) %1 előtagot nem lehet összekötni. Alapértelmezetten, már hozzá van kötve a %2 névtérhez.</translation>
+ <location line="+4"/>
+ <source>A construct was encountered which is disallowed in the current language(%1).</source>
+ <translation>Olyan szerkezetet találtam, ami az aktuális nyelvben nem megengedett(%1).</translation>
</message>
<message>
- <location line="+312"/>
- <source>A variable with name %1 has already been declared.</source>
- <translation>%1 nevű változó már deklarálva van.</translation>
+ <location line="+50"/>
+ <location line="+7323"/>
+ <source>%1 is an unknown schema type.</source>
+ <translation>%1 ismeretlen séma típus.</translation>
</message>
<message>
- <location line="+39"/>
- <source>No value is available for the external variable with name %1.</source>
- <translation>%1 nevű külső változóhoz nem érhető el érték. </translation>
+ <location line="-7254"/>
+ <source>A template with name %1 has already been declared.</source>
+ <translation>%1 nevű sablon már van deklarálva.</translation>
</message>
<message>
- <location line="+96"/>
- <source>A stylesheet function must have a prefixed name.</source>
- <translation>A stíluslap függvénynek tartalmaznia kell egy előtag nevet.</translation>
+ <location line="+26"/>
+ <source>%1 is not a valid numeric literal.</source>
+ <translation>%1 érvénytelen numerikus literál.</translation>
</message>
<message>
- <location line="+18"/>
- <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>A(z) %1 névtér foglalt, ennek következtében a felhasználó által definiált függvényt nem lehet használni. Próbálja ki az előredefiniált %2 előtagot, amely erre az esetekre van kitalálva.</translation>
+ <location line="+187"/>
+ <source>Only one %1 declaration can occur in the query prolog.</source>
+ <translation>Csak egy %1 deklaráció szerepelhet a lekérdezés bevezetésben.</translation>
</message>
<message>
- <location line="+106"/>
- <source>An argument with name %1 has already been declared. Every argument name must be unique.</source>
- <translation>Egy %1 nevű argumentum már deklarálva van. Minden argumentum névnek egyedülállónak kell lennie.</translation>
+ <location line="+188"/>
+ <source>The initialization of variable %1 depends on itself</source>
+ <translation>%1 változó inicializálása önmagától függ</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>Mikor %1 függvény van használva egyeztetése egy mintán belül, az argumentumnak egy változó hivatkozásnak vagy egy sztring literálnak kell lennie.</translation>
+ <location line="+63"/>
+ <source>No variable with name %1 exists</source>
+ <translation>Nem létezik %1 nevű változó</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>Egy XSLT mintában, az első argumentumnak a(z) %1 függvényre egy sztring literálnak kell lennie, amikor egyeztetésre használják.</translation>
+ <location line="+2841"/>
+ <source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
+ <translation>A(z) %1 verzió nem támogatott. A támogatott XQuery verzió 1.0.</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>Egy XSLT mintában, az első argumentumnak a(z) %1 függvény esetén egy literálnak vagy egy változó hibatkozásnak kell lennie, mikor egyeztetésre használják.</translation>
+ <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 kódolás érvénytelen. Csak Latin karaktereket tartalmazhat, nem nyomtatható karakterek nélkül, és illeszkednie kell %2 reguláris kifejezésre.</translation>
</message>
<message>
- <location line="+9"/>
- <source>In an XSL-T pattern, function %1 cannot have a third argument.</source>
- <translation>Egy XSLT mintában, %1 függvénynek nem lehet egy harmadik argumentuma.</translation>
+ <location line="+55"/>
+ <source>No function with signature %1 is available</source>
+ <translation>%1 szignaturájú függvény nem található</translation>
</message>
<message>
+ <location line="+72"/>
<location line="+10"/>
- <source>In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching.</source>
- <translation>Egy XSLT mintában, kizárólag a(z) %1 és %2 függvényeket, és %3-at nem lehet egyeztetésre használni.</translation>
+ <source>A default namespace declaration must occur before function, variable, and option declarations.</source>
+ <translation>Egy alapértelmezett névtér deklarációnak meg kell előznie a függvény-, változó- és opció deklarációkat.</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>Egy XSLT mintában, %1 tengelyt nem lehet használni, kizárólag a(z) %2 vagy %3 tengelyeket.</translation>
+ <location line="+10"/>
+ <source>Namespace declarations must occur before function, variable, and option declarations.</source>
+ <translation>A névtér deklarációknak meg kell előzniük a függvény-, változó- és opció deklarációkat.</translation>
</message>
<message>
- <location line="+126"/>
- <source>%1 is an invalid template mode name.</source>
- <translation>%1 egy érvénytelen sablon mód név.</translation>
+ <location line="+11"/>
+ <source>Module imports must occur before function, variable, and option declarations.</source>
+ <translation>Modul importoknak meg kell előzniük a függvény-, változó- és opció deklarációkat.</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>Egy változó összeköttetés nevének egy for kifejezésben különböznie kell a pozícionális változótol. Ezért, a két %1 nevű változó ütközik.</translation>
+ <location line="+102"/>
+ <source>The keyword %1 cannot occur with any other mode name.</source>
+ <translation>%1 kulcsszó nem szerepelhet együtt semmilyen más mód névvel.</translation>
</message>
<message>
- <location line="+778"/>
- <source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source>
- <translation>A terv jóváhagyási tulajdonság nem támogatott. Ezért, %1 kifejezést nem lehet használni.</translation>
+ <location line="+29"/>
+ <source>The value of attribute %1 must be of type %2, which %3 isn&apos;t.</source>
+ <translation>%1 attribútum értékének %2 típusúnak kell lennie, %3 nem az.</translation>
</message>
<message>
- <location line="+40"/>
- <source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source>
- <translation>A pragma kifejezések egyike sem támogatott. Ezért egy visszavonuló kifejezést kell nyújtani</translation>
+ <location line="+69"/>
+ <source>It is not possible to redeclare prefix %1.</source>
+ <translation>%1 prefixum újradeklarálása nem lehetséges.</translation>
</message>
<message>
- <location line="+269"/>
- <source>Each name of a template parameter must be unique; %1 is duplicated.</source>
- <translation>Sablon paraméter mindegyik nevének egyedülállónak kell lennie, %1 az duplikáns.</translation>
+ <location line="+6"/>
+ <source>The prefix %1 cannot be bound. By default, it is already bound to the namespace %2.</source>
+ <translation>%1 prefixum nem köthető. Alapértelmezés szerint már kötött %2 névtérhez.</translation>
</message>
<message>
- <location line="+462"/>
- <source>No function with name %1 is available.</source>
- <translation>%1 nevű függvény nem elérhető.</translation>
+ <location line="+12"/>
+ <source>Prefix %1 is already declared in the prolog.</source>
+ <translation>%1 prefixum már deklarálva van a bevezetésben.</translation>
</message>
<message>
- <location line="-6235"/>
- <source>%1 is not a valid numeric literal.</source>
- <translation>%1 nem egy érvényes számos literál.</translation>
+ <location line="+95"/>
+ <source>The name of an option must have a prefix. There is no default namespace for options.</source>
+ <translation>Egy opció nevének kötelező prefixumot megadni. Nics alapértelmezett névetér az opciók számára.</translation>
</message>
<message>
- <location line="-152"/>
- <source>W3C XML Schema identity constraint selector</source>
- <translation>W3C XML terv azonosító megszorító kiválasztó</translation>
+ <location line="+171"/>
+ <source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
+ <translation>A Schema Import szolgáltatás nem támogatott, így %1 deklarációk nem fogadhatók el.</translation>
</message>
<message>
- <location line="+3"/>
- <source>W3C XML Schema identity constraint field</source>
- <translation>W3C XML Terv azonosító megszorító mező</translation>
+ <location line="+13"/>
+ <source>The target namespace of a %1 cannot be empty.</source>
+ <translation>Egy %1 cél-névtere nem lehet üres.</translation>
</message>
<message>
- <location line="+4"/>
- <source>A construct was encountered which is disallowed in the current language(%1).</source>
- <translation>Egy olyan konstruktort talált amelyik nincsen engedélyezve az aktuális nyelvben(%1).</translation>
+ <location line="+8"/>
+ <source>The module import feature is not supported</source>
+ <translation>A modul import szolgáltatás nem támogatott</translation>
</message>
<message>
- <location line="+6502"/>
- <source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
- <translation>%1 névteret kizárólag a %2-vel lehet összekötni (és ennyi, vagy mindkét esetben, előre deklarált).</translation>
+ <location line="+13"/>
+ <source>A variable with name %1 has already been declared.</source>
+ <translation>Egy %1 nevű változó már deklarálva van.</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 előtagot kizárólag a %2-vel lehet összekötni (és ennyi, vagy mindkét esetben, előre deklarált).</translation>
+ <location line="+39"/>
+ <source>No value is available for the external variable with name %1.</source>
+ <translation>%1 nevű külső változóhoz nem érhető el érték.</translation>
</message>
<message>
- <location line="+120"/>
- <source>An attribute with name %1 has already appeared on this element.</source>
- <translation>%1 attribútum név már van ebben az elemben.</translation>
+ <location line="+96"/>
+ <source>A stylesheet function must have a prefixed name.</source>
+ <translation>Egy stíluslap függvénynek prefixummal ellátott neve kell legyen.</translation>
</message>
<message>
- <location line="+61"/>
- <source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
- <translation>Egy közvetlen elem konstruktor, mely nincsen jól megformázva. %1 a(z) %2-ben végzőik.</translation>
+ <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>Egy felhasználói függvény névtere nem lehet üres (próbálja meg a(z) %1 prefixumot, ami ilyen esetekre van fenntartva)</translation>
</message>
<message>
- <location line="+458"/>
- <source>The name %1 does not refer to any schema type.</source>
- <translation>A(z) %1 név nem vonatkozik egyetlen terv típusra sem.</translation>
+ <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>A(z) %1 névtér fenntartott, így felhasználói függvények nem használhatják. Próbálja meg a(z) %2 prefixumot, ami ilyen esetekre van.</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 egy összetett típus. Összetett típusra kasztolás nem lehetséges. De egy atomikus típusra mint egy %2 működik.</translation>
+ <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>Egy függvénytár modulban definiált felhasználói függvény névtere meg kell egyezzen a modul névterével. Más szóval %1 kellene legyen %2 helyett</translation>
</message>
<message>
- <location line="+9"/>
- <source>%1 is not an atomic type. Casting is only possible to atomic types.</source>
- <translation>%1 nem egy atomikus típus. Kaszolás kizárólag csak atomikus típusra lehetséges.</translation>
+ <location line="+34"/>
+ <source>A function already exists with the signature %1.</source>
+ <translation>%1 szignaturájú függvény már létezik.</translation>
</message>
<message>
- <location line="+76"/>
- <source>%1 is not a valid name for a processing-instruction.</source>
- <translation>%1 nem egy érvényes név egy utasítás feldolgozásra.</translation>
+ <location line="+23"/>
+ <source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
+ <translation>Külső függvények nem támogatottak. Minden támogatott függvény használható, külső függvényként való deklarálás nélkül</translation>
</message>
<message>
- <location line="+188"/>
- <source>The name of an extension expression must be in a namespace.</source>
- <translation>Egy kifejezés kiterjesztés nevének egy névtérben kell lennie.</translation>
+ <location line="+37"/>
+ <source>An argument with name %1 has already been declared. Every argument name must be unique.</source>
+ <translation>%1 nevű argumentum már deklarálva van. Minden argumentumnévnek egyedinek kell lennie.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="-93"/>
- <source>Required type is %1, but %2 was found.</source>
- <translation>%1 a szükséges típus, de %2 található.</translation>
+ <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 függvény minta belsejében történő illesztésekor, az argumentumnak változó hivatkozásnak vagy szöveges literálnak kell lennie.</translation>
</message>
<message>
- <location line="+44"/>
- <source>Promoting %1 to %2 may cause loss of precision.</source>
- <translation>%1 elősegítése %2-re precíziós vesztést okozhat.</translation>
+ <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>Egy XSL-T mintában %1 függvény első argumentumának szöveges literálnak kell lennie, ha illesztéshez használjuk.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qoutputvalidator.cpp" line="-7"/>
- <source>It&apos;s not possible to add attributes after any other kind of node.</source>
- <translation>Nem lehetséges attribútumokat hozzáadni, bármely másik csomópont után.</translation>
+ <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>Egy XSL-T mintában %1 függvény első argumentumának szöveges literálnak vagy változó hivatkozásnak kell lennie, ha illesztéshez használjuk.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
- <source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
- <translation>Kizárólag a Unicode Kódpontos összevetés támogatott(%1). %2 nem támogatott.</translation>
+ <location line="+9"/>
+ <source>In an XSL-T pattern, function %1 cannot have a third argument.</source>
+ <translation>Egy XSL-T mintában %1 függénynek nem lehet harmadik argumentuma.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/data/qatomicmathematicians.cpp" line="-180"/>
- <source>Integer division (%1) by zero (%2) is undefined.</source>
- <translation>Egész számos (%1) osztás nullával (%2) nem definiált.</translation>
+ <location line="+10"/>
+ <source>In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching.</source>
+ <translation>Egy XSL-T mintában csak %1 és %2 függvények használhatók illesztéshez, %3 nem.</translation>
</message>
<message>
- <location line="+7"/>
- <source>Division (%1) by zero (%2) is undefined.</source>
- <translation>Osztás (%1) nullával (%2) nem definiált.</translation>
+ <location line="+63"/>
+ <source>In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can.</source>
+ <translation>Egy XSL-T mintában %1 tengely nem, csak %2 vagy %3 tengely használható.</translation>
</message>
<message>
- <location line="+7"/>
- <source>Modulus division (%1) by zero (%2) is undefined.</source>
- <translation>Tényezős osztás (%1) nullával (%2) nem definiált.</translation>
+ <location line="+126"/>
+ <source>%1 is an invalid template mode name.</source>
+ <translation>%1 érvénytelen sablon mód név.</translation>
</message>
- <message numerus="yes">
- <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 legalább %n argumentumot vár. A(z) %2 ennel következtében érvénytelen.</numerusform>
- </translation>
+ <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>Egy for-kifejezésben kötött változó nevének különbözőnek kell lennie, mint a pozicionális változó neve. Így a két %1 nevű változó ütközik.</translation>
</message>
- <message numerus="yes">
- <location line="+11"/>
- <source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
- <translation>
- <numerusform>%1 legalább %n argumentumot igényel. Ennek következtében a(z) %2 érvénytelen.</numerusform>
- </translation>
+ <message>
+ <location line="+778"/>
+ <source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source>
+ <translation>A Schema Validation szolgáltatás nem támogatott. Ennélfogva %1-kifejezések nem használhatók.</translation>
</message>
<message>
- <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>A második argumentum rendszergazda csomópontja %1 függvényre dokumentum csomópontnak kell lenni. %2 nem egy dokumentum csomópont.</translation>
+ <location line="+40"/>
+ <source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source>
+ <translation>Pragma kifejezések egyike sem támogatott. Ennélfogva léteznie kell egy alapértelmezett kifejezésnek</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/parser/qquerytransformparser.cpp" line="-3172"/>
- <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
- <translation>A névtér a felhasználó által definiált függvényre nem lehet üres (próbálja ki az előredefiniált %1 előtagot, mely innen esetekre lett kitalálva)</translation>
+ <location line="+269"/>
+ <source>Each name of a template parameter must be unique; %1 is duplicated.</source>
+ <translation>Minden sablonparaméter neve egyedi kell legyen, %1 azonban duplán szerepel.</translation>
</message>
<message>
- <location line="-693"/>
- <location line="+10"/>
- <source>A default namespace declaration must occur before function, variable, and option declarations.</source>
- <translation>Egy alapértelmezett névtér deklarációnak a függvény, változó, és opció deklarációk előtt kell elhelyezkednie.</translation>
+ <location line="+129"/>
+ <source>The %1-axis is unsupported in XQuery</source>
+ <translation>A(z) %1-tengely nem támogatott XQuery-ben</translation>
</message>
<message>
- <location line="+10"/>
- <source>Namespace declarations must occur before function, variable, and option declarations.</source>
- <translation>A névtér deklarációnak a függvény, változó, és opció deklarációk előtt kell elhelyezkednie.</translation>
+ <location line="+333"/>
+ <source>No function with name %1 is available.</source>
+ <translation>Nem létezik %1 nevű függvény.</translation>
</message>
<message>
- <location line="+11"/>
- <source>Module imports must occur before function, variable, and option declarations.</source>
- <translation>Modul importálásnak a függvény, változó, és opció deklarációk előtt kell elhelyezkednie.</translation>
+ <location line="+102"/>
+ <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
+ <translation>Prefixumhoz kötés esetén a névtér URI nem lehet az üres sztring, %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qtimezonefns.cpp" line="+12"/>
- <source>%1 is not a whole number of minutes.</source>
- <translation>%1 nem egy egész számú perc érték.</translation>
+ <location line="+7"/>
+ <source>%1 is an invalid namespace URI.</source>
+ <translation>%1 érvénytelen névtér URI.</translation>
</message>
<message>
- <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 attribtútumot nem lehet sorozatosítani, mert legfelső szinten tűnik fel.</translation>
+ <location line="+6"/>
+ <source>It is not possible to bind to the prefix %1</source>
+ <translation>Nem lehet kötni %1 prefixumhoz</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/acceltree/qacceltreeresourceloader.cpp" line="+344"/>
- <source>%1 is an unsupported encoding.</source>
- <translation>%1 egy nem támogatott kódolás.</translation>
+ <location line="+7"/>
+ <source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation>%1 névtér csak %2-hoz köthető (és minden esetben előre deklarált).</translation>
</message>
<message>
- <location line="+16"/>
- <source>%1 contains octets which are disallowed in the requested encoding %2.</source>
- <translation>%1 oktálisokat tartalmat, melyek tiltva vannak a lekérdezett %2 kódolásban.</translation>
+ <location line="+8"/>
+ <source>Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
+ <translation>%1 prefixum csak %2-hoz köthető (és minden esetben előre deklarált).</translation>
</message>
<message>
- <location line="+18"/>
- <source>The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character.</source>
- <translation>A kódpont %1, mely a %2-ben fordul elő %3 kódolást használva, egy érvénytelen XML karakter.</translation>
+ <location line="+15"/>
+ <source>Two namespace declaration attributes have the same name: %1.</source>
+ <translation>Két névtér-deklaráció attribútum neve azonos: %1.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qapplytemplate.cpp" line="+119"/>
- <source>Ambiguous rule match.</source>
- <translation>Bizonytalan szabály egyezés.</translation>
+ <location line="+89"/>
+ <source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
+ <translation>Egy névtér URI-nek konstansnak kell lennie és nem használhat bennfoglalt kifejezéseket.</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>Egy névtér konstruktorban, egy névtér értéke nem lehet egy üres sztring.</translation>
+ <location line="+16"/>
+ <source>An attribute with name %1 has already appeared on this element.</source>
+ <translation>%1 nevű attribútum már szerepelt ebben az elemben.</translation>
</message>
<message>
- <location line="+11"/>
- <source>The prefix must be a valid %1, which %2 is not.</source>
- <translation>Az előtagnak egy érvényes %1-nek kell lennie, %2 nem lehet.</translation>
+ <location line="+61"/>
+ <source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
+ <translation>Egy közvetlen elem konstruktor nem jól formázott. %1-t %2 zárja le.</translation>
</message>
<message>
- <location line="+14"/>
- <source>The prefix %1 cannot be bound.</source>
- <translation>A(z) %1 előtagot nem lehet összekötni.</translation>
+ <location line="+458"/>
+ <source>The name %1 does not refer to any schema type.</source>
+ <translation>A(z) %1 név nem mutat semmilyen séma típusra.</translation>
</message>
<message>
<location line="+10"/>
- <source>Only the prefix %1 can be bound to %2 and vice versa.</source>
- <translation>Kizárólag a(z) %1 előtagot lehet összekötni a %2-vel és fordítva.</translation>
+ <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 komplex típus. Komplex típusra való kényszerítés nem lehetséges. Azonban atomi típusokra, mint pl. %2 történő kényszerítés igen.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/expr/qtemplate.cpp" line="+145"/>
- <source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
- <translation>A(z) %1 paraméter követelik, de nincs megelelő %2 támogatás hozzá.</translation>
+ <location line="+9"/>
+ <source>%1 is not an atomic type. Casting is only possible to atomic types.</source>
+ <translation>%1 nem atomi típus. Típuskényszerítés csak atomi típusra történhet.</translation>
</message>
<message>
- <location line="-71"/>
- <source>The parameter %1 is passed, but no corresponding %2 exists.</source>
- <translation>A(z) %1 paraméter teljesítve, de a megfelelő %2 nem létezik.</translation>
+ <location line="+76"/>
+ <source>%1 is not a valid name for a processing-instruction.</source>
+ <translation>%1 érvénytelen feldogozási utasítás név.</translation>
</message>
<message>
- <location filename="../src/xmlpatterns/functions/qunparsedtextfn.cpp" line="+65"/>
- <source>The URI cannot have a fragment</source>
- <translation>Az URI nem tartalmaz tördezettséget</translation>
+ <location line="+69"/>
+ <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 nem a láthatóságon belüli attribútum deklarációk között van. A séma import szolgáltatás nem támogatott.</translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>The name of an extension expression must be in a namespace.</source>
+ <translation>Egy kiterjesztés kifejezés nevének névtérben kell lennie.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/parser/qxslttokenizer.cpp" line="+519"/>
<source>Element %1 is not allowed at this location.</source>
- <translation>%1 elem nincs engedélyezve ezen a ponton.</translation>
+ <translation>%1 elem nem megengedett ezen a helyen.</translation>
</message>
<message>
<location line="+9"/>
<source>Text nodes are not allowed at this location.</source>
- <translation>Szöveg csomópontok nincsenek engedélyezve ezen a ponton.</translation>
+ <translation>Szöveg csomópontok nem megengedettek ezen a helyen.</translation>
</message>
<message>
<location line="+20"/>
<source>Parse error: %1</source>
- <translation>Elemzési hiba: %1</translation>
+ <translation>Értelmezési hiba: %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>XSLT verzió attribútum értékének %1 típusú értéknek kell lennie, %2 nem lehet.</translation>
+ <translation>Az XSL-T verzió attribútum értékének %1 típusúnak kell lennie, %2 pedig nem az.</translation>
</message>
<message>
<location line="+20"/>
<source>Running an XSL-T 1.0 stylesheet with a 2.0 processor.</source>
- <translation>Egy XSLT 1.0 stíluslap egy 2.0 feldolgozóval való futtatása.</translation>
+ <translation>XSL-T 1.0 stíluslap futtatása 2.0 verziójú feldolgozóval.</translation>
</message>
<message>
<location line="+108"/>
<source>Unknown XSL-T attribute %1.</source>
- <translation>Ismeretlen XSLT attribútum %1.</translation>
+ <translation>Ismeretlen XSL-T attributum: %1.</translation>
</message>
<message>
<location line="+23"/>
<source>Attribute %1 and %2 are mutually exclusive.</source>
- <translation>A(z) %1 és %2 attribútum kölcsönösen kizárják egymást.</translation>
+ <translation>%1 és %2 attribútumok kölcsönösen kizáróak.</translation>
</message>
<message>
<location line="+166"/>
<source>In a simplified stylesheet module, attribute %1 must be present.</source>
- <translation>Egy leegyszerűsített stíluslap modulban, %1 attribútumot kell nyújtani.</translation>
+ <translation>Egy egyszerűsített stíluslap modulban a(z) %1 attribútumnak jelen kell lennie.</translation>
</message>
<message>
<location line="+72"/>
<source>If element %1 has no attribute %2, it cannot have attribute %3 or %4.</source>
- <translation>Ha a(z) %1 elem nem tartalmaz %2 attribútumot, akkor nem tartalmazhat %3 vagy %4 attribútumot.</translation>
+ <translation>Ha %1 elemnek nincs %2 attribútuma, akkor %3 vagy %4 attribútuma sem lehet.</translation>
</message>
<message>
<location line="+9"/>
<source>Element %1 must have at least one of the attributes %2 or %3.</source>
- <translation>%1 elemnek legalább egy %2 vagy %3 attribútumot kell tartalmaznia.</translation>
+ <translation>%1 elemnek valamelyik attribútumát meg kell adni %2 vagy %3 közül.</translation>
</message>
<message>
<location line="+28"/>
<source>At least one mode must be specified in the %1-attribute on element %2.</source>
- <translation>Legalább egy csomópontot meg kell határozni a(z) %1 attribútumban a(z) %2 elemen.</translation>
+ <translation>%2 elem %1-attribútumában legalább egy módot meg kell adni.</translation>
</message>
<message>
<location line="+123"/>
<source>Element %1 must come last.</source>
- <translation>%1 elemnek kell utoljára következnie.</translation>
+ <translation>%1 elemnek az utoljára kell szerepelnie.</translation>
</message>
<message>
<location line="+24"/>
<source>At least one %1-element must occur before %2.</source>
- <translation>Legalább egy %1 elemnek kell előfordulnia %2 előtt.</translation>
+ <translation>Legalább egy %1-elemnek szerepelnie kell %2 előtt.</translation>
</message>
<message>
<location line="+7"/>
<source>Only one %1-element can appear.</source>
- <translation>Csak egy %1 elem jelenhet meg.</translation>
+ <translation>Csak egy %1-elem jelenhet meg.</translation>
</message>
<message>
<location line="+31"/>
<source>At least one %1-element must occur inside %2.</source>
- <translation>Legalább egy %1 elem fordulhat elő %2-n belül.</translation>
+ <translation>Legalább egy %1-elemnek meg kell jelennie %2-n belül.</translation>
</message>
<message>
<location line="+58"/>
<source>When attribute %1 is present on %2, a sequence constructor cannot be used.</source>
- <translation>Mikor %1 attribútuk van benyújtva %2-n, egy sorozat konstruktort nem lehet használni.</translation>
+ <translation>Ha %2-n meg van adva %1 attribútum, akkor nem használható szekvencia konstruktor.</translation>
</message>
<message>
<location line="+13"/>
<source>Element %1 must have either a %2-attribute or a sequence constructor.</source>
- <translation>%1 elemnek vagy egy %2 attribútumot vagy egy sorozat konstruktort kell tartalmaznia.</translation>
+ <translation>%1 elemnek vagy %2-attribútumának vagy szekvencia konstruktorának lennie kell.</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>Amikor egy paramétert igényel, egy alapértelmezett érték ellátni egy %1 attribútum vagy egy sorozat konstruktoron keresztül.</translation>
+ <translation>Ha paraméter az elvárt, akkor alapértelmezett értéket nem lehet %1-attribútumon vagy szekvencia konstruktoron keresztül átadni.</translation>
</message>
<message>
<location line="+270"/>
<source>Element %1 cannot have children.</source>
- <translation>%1 elem nem tartalmazhat gyereket.</translation>
+ <translation>%1 elemnek nem lehetnek gyermekei.</translation>
</message>
<message>
<location line="+434"/>
<source>Element %1 cannot have a sequence constructor.</source>
- <translation>%1 elem nem tartalmazhat egy sorozat konstruktort.</translation>
+ <translation>%1 elemnek nem lehet szekvencia konstruktora.</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>A(z) %1 attribútum nem jelenhet meg %2-n, mikor egy %3 gyereke.</translation>
+ <translation>%1 attribútum nem szerepelhet %2-n, ha az %3 gyermeke.</translation>
</message>
<message>
<location line="+15"/>
<source>A parameter in a function cannot be declared to be a tunnel.</source>
- <translation>Egy paramétert nem lehet behangoltnak deklarálni egy függvényben.</translation>
+ <translation>Egy függvényparaméter nem definiálható mint tunnel.</translation>
</message>
<message>
<location line="+149"/>
<source>This processor is not Schema-aware and therefore %1 cannot be used.</source>
- <translation>Ez a feldolgozó nem terv biztos és ennek következtében a(z) %1-t nem lehet használni.</translation>
+ <translation>Ez a feldolgozó nem sémafüggő, ezért %1 nem használható.</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>Felső szintű stíluslap elemeknek nem szabad egy nem nulla névtérnek lenniük, %1 nem jó.</translation>
+ <translation>Felső szintű stíluslap elemeknek egy nem üres névtérben kell lenniük, ezért %1 nem jó.</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>%1 attribútum értékének a(z) %2-s elemen vagy %3 vagy %4, vagy %5-nek kell lennie.</translation>
+ <translation>%2 elem %1 attribútumának értéke %3 vagy %4 kell legyen, de nem %5.</translation>
</message>
<message>
<location line="+20"/>
<source>Attribute %1 cannot have the value %2.</source>
- <translation>%1 attribútum nem tartalmazhat %2 értéket.</translation>
+ <translation>%1 attribútum értéke nem lehet %2.</translation>
</message>
<message>
<location line="+58"/>
<source>The attribute %1 can only appear on the first %2 element.</source>
- <translation>A(z) %1 attribútum kizárólag az első %2 elemen tűnhet fel.</translation>
+ <translation>%1 attribútum csak az első %2 elem esetén jelenhet meg.</translation>
</message>
<message>
<location line="+99"/>
<source>At least one %1 element must appear as child of %2.</source>
- <translation>Legalább egy %1 elemnek mutatkoznia %2 gyerekeként.</translation>
+ <translation>Legalább egy %1 elemnek %2 gyermekeként meg kell jelennie.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/schema/qxsdparticlechecker.cpp" line="+165"/>
+ <source>Empty particle cannot be derived from non-empty particle.</source>
+ <translation>Üres részecske nem származtatható nem üres részecskéből.</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Derived particle is missing element %1.</source>
+ <translation>Származtatott részecskéből hiányzik %1 elem.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Derived element %1 is missing value constraint as defined in base particle.</source>
+ <translation>%1 származtatott elemből hiányzik az ős részecskében definiált érték megszorítás.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Derived element %1 has weaker value constraint than base particle.</source>
+ <translation>%1 származtatott elem érték megkötése gyengébb, mint az ős részecskéé.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Fixed value constraint of element %1 differs from value constraint in base particle.</source>
+ <translation>%1 elem rögzített érték megkötése különbözik az ős részecskében megadott érték megkötéstől.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Derived element %1 cannot be nillable as base element is not nillable.</source>
+ <translation>%1 elem nem lehet nil-feltételű, mert az ős eleme sem nil-feltételű.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Block constraints of derived element %1 must not be more weaker than in the base element.</source>
+ <translation>%1 származtatott elem blokk megkötései nem lehetnek gyengébbek, mint az ős elemben.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Simple type of derived element %1 cannot be validly derived from base element.</source>
+ <translation>%1 származtatott elem egyszerű típusa nem származtatható érvényesen az ős elemből.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Complex type of derived element %1 cannot be validly derived from base element.</source>
+ <translation>%1 származtatott elem komplex típusa nem származtatható érvényesen az ős elemből.</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Element %1 is missing in derived particle.</source>
+ <translation>%1 elem hiányzik a származtatott részecskéből.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Element %1 does not match namespace constraint of wildcard in base particle.</source>
+ <translation>%1 elem nem illeszkedik az ős részecskében megadott névtér helyettesítő mintájára.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Wildcard in derived particle is not a valid subset of wildcard in base particle.</source>
+ <translation>Származtatott részecske helyettesítő mintája érvénytelen részhalmaza az ős részecske helyettesítő mintájának.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>processContent of wildcard in derived particle is weaker than wildcard in base particle.</source>
+ <translation>Származtatott elem mintájának processContent értéke gyengébb, mint az ős részecske mintája.</translation>
+ </message>
+ <message>
+ <location line="+240"/>
+ <source>Derived particle allows content that is not allowed in the base particle.</source>
+ <translation>Származtatott részecske olyan tartalmat is engedélyez, ami nem megengedett az ős részecskében.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/schema/qxsdschemachecker.cpp" line="+227"/>
<source>%1 has inheritance loop in its base type %2.</source>
- <translation>%1 tartalmaz egy öröklődési hurkot annak %2 alaptípusában.</translation>
+ <translation>%1 öröklődési hurkot tartalmaz %2 szülő típusában.</translation>
</message>
<message>
<location line="+5"/>
<location line="+24"/>
<source>Circular inheritance of base type %1.</source>
- <translation>A(z) %1 alaptípus cirkuláris öröklődése.</translation>
+ <translation>Körkörös %1 őstípusú öröklődés.</translation>
</message>
<message>
<location line="+11"/>
<source>Circular inheritance of union %1.</source>
- <translation>A(z) %1 union cirkuláris öröklődése.</translation>
+ <translation>%1 union körkörös öröklődése.</translation>
</message>
<message>
<location line="+25"/>
<source>%1 is not allowed to derive from %2 by restriction as the latter defines it as final.</source>
- <translation>A(z) %1 %2-ből való származtatása nem megengedett, azzal a korlátozassal, hogy az utóbbi utolsónak definiálja.</translation>
+ <translation>%1 nem származhat %2-ből megkötéssel, mert utóbbi final-ként definiálja.</translation>
</message>
<message>
<location line="+5"/>
<source>%1 is not allowed to derive from %2 by extension as the latter defines it as final.</source>
- <translation>%1-nek nem engedélyezett a %2-ből való származtatása, azzal a kiegészítéssel, hogy a utóbbi végsőnek definiálja.</translation>
+ <translation>%1 nem származhat %2-ből kiterjesztéssel, mert utóbbi final-ként definiálja.</translation>
</message>
<message>
<location line="+31"/>
<source>Base type of simple type %1 cannot be complex type %2.</source>
- <translation>A(z) %1 egyszerű típus alaptípusa nem lehet egy %2 összetett típus.</translation>
+ <translation>%1 egyszerű típus őstípusa nem lehet %2 komplex típus.</translation>
</message>
<message>
<location line="+9"/>
<source>Simple type %1 cannot have direct base type %2.</source>
- <translation>A(z) %1 egyszerű típus nem tartalmazhat közvetlen %2 alap típust.</translation>
+ <translation>%1 egyszerű típus közvetlen őstípusa nem lehet %2.</translation>
</message>
<message>
<location line="+33"/>
<location line="+9"/>
<source>Simple type %1 is not allowed to have base type %2.</source>
- <translation>%1 egyszerű típusnak nincs engedélyezve, hogy %2 alap típusokat tartalmazzon.</translation>
+ <translation>%1 egyszerű típus őstípusa nem lehet %2.</translation>
</message>
<message>
<location line="+12"/>
<source>Simple type %1 can only have simple atomic type as base type.</source>
- <translation>A(z) %1 egyszerű típus kizárólag egyszerű atomikus típusokat tartalmazhat alaptípusként.</translation>
+ <translation>%1 egyszerű típus őse csak egyszerű atomi típus lehet.</translation>
</message>
<message>
<location line="+6"/>
<source>Simple type %1 cannot derive from %2 as the latter defines restriction as final.</source>
- <translation>%1 egyszerű típus nem származtatható %2-ből, mint ahogy az utóbbi végső korlátozásokat definiál.</translation>
+ <translation>%1 nem származhat %2-ből, mert utóbbi final megkötést definiál.</translation>
</message>
<message>
<location line="+13"/>
<location line="+484"/>
<source>Variety of item type of %1 must be either atomic or union.</source>
- <translation>%1 elemtípus különbözőségeinek vagy vagy atomikus vagy unionnak kell lenni.</translation>
+ <translation>%1 elemtípus választéka csak atomic vagy union lehet.</translation>
</message>
<message>
<location line="-474"/>
<location line="+483"/>
<source>Variety of member types of %1 must be atomic.</source>
- <translation>%1 tagtípusok különbözőségének atomikusnak kell lennie.</translation>
+ <translation>%1 tagtípusok választéka csak atomi lehet.</translation>
</message>
<message>
<location line="-470"/>
<location line="+451"/>
<source>%1 is not allowed to derive from %2 by list as the latter defines it as final.</source>
- <translation>%1 származtatása a(z) %2-ből nem engedélyezett, listázva azt, hogy az utóbbi végsőként definiálja.</translation>
+ <translation>%1 nem származhat %2-ből listával, mert utóbbi final-ként definiálja.</translation>
</message>
<message>
<location line="-431"/>
<source>Simple type %1 is only allowed to have %2 facet.</source>
- <translation>%1 egyszerű típus kizárólag %2 oldalt tartalmazhat.</translation>
+ <translation>%1 egyszerű típusnak csak %2 facet-je lehet.</translation>
</message>
<message>
<location line="+10"/>
<source>Base type of simple type %1 must have variety of type list.</source>
- <translation>%1 egyszerű típus alap típusának különböző típus listákat kell tartalmaznia.</translation>
+ <translation></translation>
</message>
<message>
<location line="+6"/>
<source>Base type of simple type %1 has defined derivation by restriction as final.</source>
- <translation>%1 egyszerű típus alaptípusa definiálja a számaztatást végső korlátozással.</translation>
+ <translation>%1 egyszerű típus őstípusa a megkötéssel történő származtatást final-ként definiálta.</translation>
</message>
<message>
<location line="+6"/>
<source>Item type of base type does not match item type of %1.</source>
- <translation>Az alap típus elem típusa nem egyezik a(z) %1 elemtípusával. </translation>
+ <translation>Az ős típusa nem egyezik %1 elemtípussal.</translation>
</message>
<message>
<location line="+26"/>
<location line="+93"/>
<source>Simple type %1 contains not allowed facet type %2.</source>
- <translation>%1 egyszerű típus nem engedélyezett oldal %2 típusokat tartalmaz.</translation>
+ <translation>%1 egyszerű típus nem megengedett %2 facet típust tartalmaz.</translation>
</message>
<message>
<location line="-72"/>
<location line="+413"/>
<source>%1 is not allowed to derive from %2 by union as the latter defines it as final.</source>
- <translation>%1 %2-ből történő származtatása nem engedélyezett az unió által, az utóbbi végsőként definiálja.</translation>
+ <translation>%1 nemm származhat %2-ből union-nal, mert utóbbi final-ként definiálta.</translation>
</message>
<message>
<location line="-404"/>
<source>%1 is not allowed to have any facets.</source>
- <translation>%1 nem tartalmazhat semmilyen oldalt.</translation>
+ <translation>%1 nem birtokolhat facet-eket.</translation>
</message>
<message>
<location line="+8"/>
<source>Base type %1 of simple type %2 must have variety of union.</source>
- <translation>%2 egyszerű típus %1 alap típusának különböző egységeket kell tartalmaznia.</translation>
+ <translation>%2 típusú %1 őstípusnak union választéka kell legyen.</translation>
</message>
<message>
<location line="+9"/>
<source>Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute.</source>
- <translation>%2 egyszerű típus %1 alap típusa nem tartalmazhat korlátozásokat a %3 attribútumban.</translation>
+ <translation>%2 egyszerű típusú %1 őstípusnak nem lehet megkötést adni %3 attribútumban.</translation>
</message>
<message>
<location line="+18"/>
<source>Member type %1 cannot be derived from member type %2 of %3&apos;s base type %4.</source>
- <translation>%1 tag típus nem származtatható a(z) %3 %4 alap típusának %2 tagtípusából.</translation>
+ <translation>%1 tag típus nem származhat %2 tag típusból, %3-nak %4 őstípusából.</translation>
</message>
<message>
<location line="+65"/>
<source>Derivation method of %1 must be extension because the base type %2 is a simple type.</source>
- <translation>%1 származtatása eljárásának kiterjesztésnek kell lennie, mert %2 alap típus egy egyszerű típus.</translation>
+ <translation>%1 származtatási módja kiterjesztés kell legyen, mert %2 őstípus egyszerű típus.</translation>
</message>
<message>
<location line="+30"/>
<source>Complex type %1 has duplicated element %2 in its content model.</source>
- <translation>A(z) %1 összetett típusnak duplikáns %2 eleme van a tartalmi modellében.</translation>
+ <translation>%1 komplex típus tartalom modelljében %2 elem duplán szerepel.</translation>
</message>
<message>
<location line="+8"/>
<source>Complex type %1 has non-deterministic content.</source>
- <translation>%1 összetett típusnak nincsen meghatározott tartalma.</translation>
+ <translation>%1 komplex típus tartalma nem determinisztikus.</translation>
</message>
<message>
<location line="+21"/>
<source>Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3.</source>
- <translation>%1 összetett típus attribútumai a(z) %2 alap típus attribútumainak nem érvényes kiterjesztései: %3.</translation>
+ <translation>%1 komplex típus attribútumai nem érvényes kiterjesztései %2 őstípus attribútumainak: %3.</translation>
</message>
<message>
<location line="+37"/>
<source>Content model of complex type %1 is not a valid extension of content model of %2.</source>
- <translation>%1 komplex típus tartalmi modelle a(z) %2 tartalmi modellének nem egy érvényes kiterjesztése.</translation>
+ <translation>%1 komplex típus tartalom modellje nem érvényes kiterjesztése %2 tartalom modelljének.</translation>
</message>
<message>
<location line="+10"/>
<source>Complex type %1 must have simple content.</source>
- <translation>%1 komplex típusnak tartalmaznia kell egy egyszerű tartalmat.</translation>
+ <translation>%1 komplex típusnak egyszerű tartalma kell legyen.</translation>
</message>
<message>
<location line="+7"/>
<source>Complex type %1 must have the same simple type as its base class %2.</source>
- <translation>%1 komplex típusnak ugyanazt az egyszerű típust kell tartalmaznia a(z) %2 alap osztálya számára.</translation>
+ <translation>%1 komplex típusnak ugyanazzal az egyszerű típussal kell rendelkeznie, mint %2 ősosztályának.</translation>
</message>
<message>
<location line="+67"/>
<source>Complex type %1 cannot be derived from base type %2%3.</source>
- <translation>%1 komplex típus nem származtatható a(z) %2%3 alap típusból.</translation>
+ <translation>%1 komplex típus nem származhat %2%3 őstípusból.</translation>
</message>
<message>
<location line="+14"/>
<source>Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3.</source>
- <translation>%1 komplex típus attribútumai nem egy érvényes korlátozások a(z) %2 alap típus attribútumaitól: %3.</translation>
+ <translation>%1 komplex típus attribútumai nem érvényes megszorítások %2 őstípus attribútumai alapján: %3.</translation>
</message>
<message>
<location line="+14"/>
<source>Complex type %1 with simple content cannot be derived from complex base type %2.</source>
- <translation>%1 komplex típus egyszerű tartalommal nem származtatható %2 komplex alap típusból.</translation>
+ <translation>%1 egyszerű tartalmú komplex típus nem származhat %2 komplex típusból.</translation>
</message>
<message>
<location line="+35"/>
<source>Item type of simple type %1 cannot be a complex type.</source>
- <translation>A(z) %1 egyszerű típus elemi típusa nem lehet egy komplex típus.</translation>
+ <translation>%1 egyszerű típusú elem típusa nem lehet komplex típus.</translation>
</message>
<message>
<location line="+44"/>
<source>Member type of simple type %1 cannot be a complex type.</source>
- <translation>%1 egyszerű típus tag típusa nem lehet egy komplex típus.</translation>
+ <translation>%1 egyszerű típusú tag típus nem lehet komplex típus.</translation>
</message>
<message>
<location line="+8"/>
<source>%1 is not allowed to have a member type with the same name as itself.</source>
- <translation>%1 nem engedélyzett, hogy tartalmazzon egy tag típust ugyanazzal a névvel, mint a saját neve.</translation>
+ <translation>%1 nem tartalmazhat olyan tag típust, melynek neve egyezik önmaga nevével.</translation>
</message>
<message>
<location line="+83"/>
<location line="+29"/>
<location line="+34"/>
<source>%1 facet collides with %2 facet.</source>
- <translation>%1 oldal ütközik a(z) %2 oldallal.</translation>
+ <translation>%1 facet ütközik %2 facet-tel.</translation>
</message>
<message>
<location line="-20"/>
<source>%1 facet must have the same value as %2 facet of base type.</source>
- <translation>%1 oldalnak ugyanazt az értéket kell tartalmaznia, mint az alap típus %2 oldalának.</translation>
+ <translation>%1 facet-nek %2 facet-ével azonos őstípusú értéke kell legyen.</translation>
</message>
<message>
<location line="+37"/>
<source>%1 facet must be equal or greater than %2 facet of base type.</source>
- <translation>%1 oldalnak nagyobbnak vagy egyenlőnek kell lennie, mint az alap típus %2 oldalának.</translation>
+ <translation>%1 facet-nek egyenlőnek vagy nagyobbnak kell lennie %2 facet-nél őstípus alapján.</translation>
</message>
<message>
<location line="+19"/>
@@ -9326,541 +12497,319 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+34"/>
<location line="+35"/>
<source>%1 facet must be less than or equal to %2 facet of base type.</source>
- <translation>%1 oldalnal kisebb vagy egyenlőnek kell lennie az alap típus %2 oldalánál.</translation>
+ <translation>%1 facet-nek egyenlőnek vagy kisebbnek kell lennie %2 facet-nél őstípus alapján.</translation>
</message>
<message>
<location line="-389"/>
<source>%1 facet contains invalid regular expression</source>
- <translation>%1 oldal érvénytelen reguláris kifejezéseket tartalmaz</translation>
+ <translation>%1 facet érvénytelen reguláris kifejezést tartalmaz</translation>
</message>
<message>
<location line="+15"/>
<source>Unknown notation %1 used in %2 facet.</source>
- <translation>%1 ismeretlen jelölési mód van használva a(z) %2 oldalon.</translation>
+ <translation>Ismeretlen jelölés %1 a(z) %2 facet-ben.</translation>
</message>
<message>
<location line="+20"/>
<source>%1 facet contains invalid value %2: %3.</source>
- <translation>%1 oldal érvénytelen %2 értéket tartalmaz: %3.</translation>
+ <translation>%1 facet értéke érvénytelen %2: %3.</translation>
</message>
<message>
<location line="+22"/>
<source>%1 facet cannot be %2 or %3 if %4 facet of base type is %5.</source>
- <translation>%1 oldal nem lehet %2 vagy %3, ha az alap típus %4 oldala %5.</translation>
+ <translation>%1 facet nem lehet %2 vagy %3, ha %4 facet, mint őstípus %5.</translation>
</message>
<message>
<location line="+11"/>
<source>%1 facet cannot be %2 if %3 facet of base type is %4.</source>
- <translation>%1 oldal nem lehet %2, ha az alap típus %3 oldala %4.</translation>
+ <translation>%1 facet nem lehet %2, ha %3 facet, mint őstípus %4.</translation>
</message>
<message>
<location line="+20"/>
<location line="+55"/>
<location line="+230"/>
<source>%1 facet must be less than or equal to %2 facet.</source>
- <translation>%1 oldalnak kisebb egyenlőnek kell lennie a(z) %2 oldalnál.</translation>
+ <translation>%1 facet-nek kisebbnek vagy egyenlőnek kell lennie, mint %2 facet.</translation>
</message>
<message>
<location line="-257"/>
<location line="+134"/>
<location line="+82"/>
<source>%1 facet must be less than %2 facet of base type.</source>
- <translation>%1 oldalnak kisebbnek kell lennie az alap típus %2 oldalánál.</translation>
+ <translation>%1 facet-nek kisebbnek kell lennie %2 facet-nél, mint őstípusnál.</translation>
</message>
<message>
<location line="-201"/>
<location line="+79"/>
<source>%1 facet and %2 facet cannot appear together.</source>
- <translation>%1 oldal és %2 oldal nem fordulhat elő együtt.</translation>
+ <translation>%1 és %2 facet-ek nem jelenhetnek meg együttesen.</translation>
</message>
<message>
<location line="-27"/>
<location line="+12"/>
<location line="+113"/>
<source>%1 facet must be greater than %2 facet of base type.</source>
- <translation>%1 oldalnak nagyobbnak kell lennie, mint az alaptípus %2 oldalának.</translation>
+ <translation>%1 facet-nek nagyobbnak kell lennei, %2 facet-nél, mint őstípusnál.</translation>
</message>
<message>
<location line="-86"/>
<location line="+58"/>
<source>%1 facet must be less than %2 facet.</source>
- <translation>%1 oldalnak kisebbnek kell lenni a(z) %2 oldalnál.</translation>
+ <translation>%1 facet kisebb kell legyen, mint %2 facet.</translation>
</message>
<message>
<location line="-42"/>
<location line="+58"/>
<source>%1 facet must be greater than or equal to %2 facet of base type.</source>
- <translation>%1 oldalnak nagyobb vagy egyenlőnek kell lennie az alap típus %2 oldalánál.</translation>
+ <translation>%1 facet-nek egyenlőnek vagy nagyobbnak kell lennie %2 facet-nél mint őstípusnál.</translation>
</message>
<message>
<location line="+113"/>
<source>Simple type contains not allowed facet %1.</source>
- <translation>Egyszerű típus nem tartalmazhat %1 oldalt.</translation>
+ <translation>Egyszerű típus nem megengedett %1 facet-et tartalmaz.</translation>
</message>
<message>
<location line="+12"/>
<source>%1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list.</source>
- <translation>%1, %2, %3, %4, %5 és %6 oldalak nem engedélyezettek listáról származtatáskor.</translation>
+ <translation>%1, %2, %3, %4, %5 és %6 facet-ek nem megengedettek, ha lista alapján származtatunk.</translation>
</message>
<message>
<location line="+16"/>
<source>Only %1 and %2 facets are allowed when derived by union.</source>
- <translation>Csak a(z) %1 és %2 oldalak engedélyezettek union származtatásakor.</translation>
+ <translation>Csak %1 és %2 facet-ek engedélyezettek union típusú származtatás esetén.</translation>
</message>
<message>
<location line="+23"/>
<location line="+16"/>
<source>%1 contains %2 facet with invalid data: %3.</source>
- <translation>%1 %2 oldalt tartalmaz érvénytelen adattal: %3.</translation>
+ <translation>%1 érvénytelen adattartalmú %2 facet-et tartalmaz: %3.</translation>
</message>
<message>
<location line="+24"/>
<source>Attribute group %1 contains attribute %2 twice.</source>
- <translation>A(z) %1 attribútum csoport a(z) %2 attribútumot kétszer tartalmazza.</translation>
+ <translation>%1 attribútum csoport kétszer tartalmazza %2 attribútumot.</translation>
</message>
<message>
<location line="+9"/>
<source>Attribute group %1 contains two different attributes that both have types derived from %2.</source>
- <translation>A(z) %1 attribútum csoport két különböző attribútumot tartalmaz, melyek közül mindkettő %2-ból számaztatott típusokat tartalmaz.</translation>
+ <translation>%1 attribútum csoport két különböző attribútumot tartalmaz, melyek típusa %2-ből származtatott.</translation>
</message>
<message>
<location line="+8"/>
<source>Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
- <translation>A(z) %1 attribútum csoport %2 attribútumot tartalmaz, amely olyan megszorított értéket tartalmaz, kivéve a típust, amit %3-ból örököl.</translation>
+ <translation>%1 attribútum csoport %2 attribútumot tartalmaz, aminek érték megkötése van, de típusa %3-ból származik.</translation>
</message>
<message>
<location line="+23"/>
<source>Complex type %1 contains attribute %2 twice.</source>
- <translation>A(z) %1 összetett típus %2 attribútumot tartalmazza kétszer.</translation>
+ <translation>%1 komplex típus %2 attribútumot kétszer tartalmazza.</translation>
</message>
<message>
<location line="+9"/>
<source>Complex type %1 contains two different attributes that both have types derived from %2.</source>
- <translation>%1 komplex típus két különböző attribútumot tartalmaz, amelyek közül mindkettő %2-ból származtatott típusokat tartalmaz.</translation>
+ <translation>%1 komplex típus két különböző attribútumot tartalmaz, melyek típusa %2-ből származtatott.</translation>
</message>
<message>
<location line="+8"/>
<source>Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3.</source>
- <translation>%1 kompex típus %2 attribútumot tartalmaz, aminek megszorító értéke van, kivéve a típust, amit a(z) %3-ból örököl.</translation>
+ <translation>%1 komplex típus %2 attribútumot tartalmaz, aminek érték megkötése van, de típusa %3-ból származik.</translation>
</message>
<message>
<location line="+43"/>
<source>Element %1 is not allowed to have a value constraint if its base type is complex.</source>
- <translation>%1 elem nem tartalmazhat egy korlátozott értéket, ha az alaptípusa komplex.</translation>
+ <translation>%1 elemre nem lehet érték megkötés, ha őstípusa komplex.</translation>
</message>
<message>
<location line="+7"/>
<source>Element %1 is not allowed to have a value constraint if its type is derived from %2.</source>
- <translation>%1 elem nem tartalmazhat egy korlátozott értéket, ha a típusa a(z) %2-ből származik.</translation>
+ <translation>%1 elemre nem lehet érték megkötés, ha típusa %2-ből származtatott.</translation>
</message>
<message>
<location line="+10"/>
<location line="+11"/>
<source>Value constraint of element %1 is not of elements type: %2.</source>
- <translation>%1 elem korlátozó értéke nem elemi típus: %2.</translation>
+ <translation>%1 elem érték megkötése nem a következő elemtípusú: %2.</translation>
</message>
<message>
<location line="+13"/>
<source>Element %1 is not allowed to have substitution group affiliation as it is no global element.</source>
- <translation>%1 elem nem tartalmazhat helyettesítési csoport egyesítést, mert nem egy globális elem.</translation>
+ <translation>%1 elemnek nem lehet helyettesítő csoport kapcsolata, mivel nem globális elem.</translation>
</message>
<message>
<location line="+28"/>
<source>Type of element %1 cannot be derived from type of substitution group affiliation.</source>
- <translation>%1 elem típus nem származtatható helyettesítési csoport egyesítési típusból.</translation>
+ <translation>%1 elem típusa nem származhat helyettesítő csoport kapcsolat típusból.</translation>
</message>
<message>
<location line="+41"/>
<source>Value constraint of attribute %1 is not of attributes type: %2.</source>
- <translation>%1 attribútum korlátozó értéke nem attribútum típus: %2.</translation>
+ <translation>%1 attribútum érték megkötése nem az attribútum típusával egyező: %2.</translation>
</message>
<message>
<location line="+9"/>
<source>Attribute %1 has value constraint but has type derived from %2.</source>
- <translation>%1 attribútumnak korlátozó értéke van, de %2-ből származtatott típust tartalmaz.</translation>
+ <translation>%1 attribútumnak érték megkötése van, de típusa %2-ből származtatott.</translation>
</message>
<message>
<location line="+56"/>
<source>%1 attribute in derived complex type must be %2 like in base type.</source>
- <translation>%1 attribútum egy származtatott komplex típusban %2-nek kell lennie, mint az alap típusban.</translation>
+ <translation>%1 attribútumnak %2-nek kell lennie a származtatott komplex típusban, úgy mint az őstípusban.</translation>
</message>
<message>
<location line="+11"/>
<source>Attribute %1 in derived complex type must have %2 value constraint like in base type.</source>
- <translation>A származtatott komplex típusban levő %1 attribútumnak %2 érték korlátozót kell tartalmaznia, mint az alap típusban.</translation>
+ <translation>Származtatott komplex típusban %1 attribútumnak %2 érték megkötésének kell lennie, mint az őstípusban.</translation>
</message>
<message>
<location line="+9"/>
<source>Attribute %1 in derived complex type must have the same %2 value constraint like in base type.</source>
- <translation>Származtatott komplex típusban levő %1 attribútumnak ugyanazt a(z) %2 korlátozott értéket kell tartalmaznia, mint az alap típusban.</translation>
+ <translation>Származtatott komplex típusban %1 attribútumnak %2 érték megkötésének kell lennie, mint az őstípusban.</translation>
</message>
<message>
<location line="+7"/>
<source>Attribute %1 in derived complex type must have %2 value constraint.</source>
- <translation>Származtatott komplex típusban levő %1 attribútumnak %2 érték korlátozót kell tartalmaznia.</translation>
+ <translation>Származtatott komplex típus %1 attribútumának %2 érték megkötésének kell lennie.</translation>
</message>
<message>
<location line="+18"/>
<source>processContent of base wildcard must be weaker than derived wildcard.</source>
- <translation>Az alap helyettesítő jel folyamat tartalma gyengébb kell legyen, mint a származtatott helyettesítő jel.</translation>
+ <translation>Az ős helyettesítő kifejezésének processContent-je gyengébb kell legyen, mint a származtatott helyettesítő.</translation>
</message>
<message>
<location line="+39"/>
<location line="+15"/>
<source>Element %1 exists twice with different types.</source>
- <translation>%1 elem kétszer létezik különböző típusokkal.</translation>
+ <translation>%1 elem kétszer létezik eltérő típussal.</translation>
</message>
<message>
<location line="+28"/>
<source>Particle contains non-deterministic wildcards.</source>
- <translation>A részecske nem meghatározott helyettesítő jeleket tartalmaz.</translation>
+ <translation>A részecske nem determinisztikus helyettesítőket tartalmaz.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/schema/qxsdschemahelper.cpp" line="+691"/>
<location line="+63"/>
<source>Base attribute %1 is required but derived attribute is not.</source>
- <translation>A(z) %1 alap attribútum szükséges, de a származtatott attribútum nem.</translation>
+ <translation>%1 ős attribútum megkövetelt, de a származtatott nem.</translation>
</message>
<message>
<location line="-57"/>
<source>Type of derived attribute %1 cannot be validly derived from type of base attribute.</source>
- <translation>A(z) %1 származtatott attribútum típusa nem lehet érvényesen származtatni az alap attribútum típusból.</translation>
+ <translation>%1 származtatott attribútum típusa nem származtatható érvényesen az ős attribútum típusából.</translation>
</message>
<message>
<location line="+28"/>
<source>Value constraint of derived attribute %1 does not match value constraint of base attribute.</source>
- <translation>&apos;%1 származtatott attribútum érték korlátozója nem egyezik az alap attribútum érték korlátozójával.</translation>
+ <translation>%1 származtatott attribútum érték megkötése nem egyezik az ős attribútuméval.</translation>
</message>
<message>
<location line="+5"/>
<source>Derived attribute %1 does not exist in the base definition.</source>
- <translation>%1 származtatott attribútum nem létezik az alap definícióban.</translation>
+ <translation>%1 származtatott attribútum nem létezik az ős definíciójában.</translation>
</message>
<message>
<location line="+11"/>
<source>Derived attribute %1 does not match the wildcard in the base definition.</source>
- <translation>%1 származtatott attribútum nem egyezik a helyettesítő jellel az alap definícióban.</translation>
+ <translation>%1 származtatott attribútum nem illeszkedik az ősben megadott helyettesítőre.</translation>
</message>
<message>
<location line="+17"/>
<source>Base attribute %1 is required but missing in derived definition.</source>
- <translation>%1 alap attribútum szükséges, de hiáynzik a származtatott definícióban.</translation>
+ <translation>%1 ős attribútum megkövetelt, de hiányzik a leszármazott definíciójából.</translation>
</message>
<message>
<location line="+9"/>
<source>Derived definition contains an %1 element that does not exists in the base definition</source>
- <translation>A származtatot definíció egy %1 elemet tartalmaz, ami nem létezik az alap definícióban</translation>
+ <translation>A leszármazott definíciója olyan %1 elemet tartalmaz, ami nem létezik az ős definíciójában</translation>
</message>
<message>
<location line="+5"/>
<source>Derived wildcard is not a subset of the base wildcard.</source>
- <translation>Származtatott helyettesítőjel nem az alap helyettesítőjel egy részhalmaza.</translation>
+ <translation>A származtatott helyettesítő nem részhalmaza az ősnek.</translation>
</message>
<message>
<location line="+5"/>
<source>%1 of derived wildcard is not a valid restriction of %2 of base wildcard</source>
- <translation>Származtaott helyettesítő jel %1-e nem az alap helyettesítőjel %2-nek egy érvényes korlátozója</translation>
+ <translation>Leszármazott helyettesítő %1 része nem érvényes korlátozása az ős %2 részének</translation>
</message>
<message>
<location line="+23"/>
<source>Attribute %1 from base type is missing in derived type.</source>
- <translation>Az alap típus %1 attribútuma hiányzik a származtatott típusban.</translation>
+ <translation>Az őstípus %1 attribútuma hiányzik a származtatott típusból.</translation>
</message>
<message>
<location line="+5"/>
<source>Type of derived attribute %1 differs from type of base attribute.</source>
- <translation>A(z) %1 származtatott típus az alap attribútum típusától különbözik.</translation>
+ <translation>%1 származtatott attribútum típusa eltér az ős attribútum típusától.</translation>
</message>
<message>
<location line="+8"/>
<source>Base definition contains an %1 element that is missing in the derived definition</source>
- <translation>Az alap definíció egy %1 elemet tartalmaz, ami hiányzik a származtatott definícióból</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/schema/qxsdschemaresolver.cpp" line="+354"/>
- <source>%1 references unknown %2 or %3 element %4.</source>
- <translation>%1 ismeretlen %2 vagy %3 elemre hivatkozik %4.</translation>
- </message>
- <message>
- <location line="+10"/>
- <source>%1 references identity constraint %2 that is no %3 or %4 element.</source>
- <translation>%1 %2 indentitás korlátozóra hivatkozik, ami nem %3 vagy %4 elem.</translation>
- </message>
- <message>
- <location line="+10"/>
- <source>%1 has a different number of fields from the identity constraint %2 that it references.</source>
- <translation>%1 mezők egy különböző számát tartalmazza a(z) %2 indetitás korlátozóbol, amelyik erre hivatkozik.</translation>
- </message>
- <message>
- <location line="+23"/>
- <source>Base type %1 of %2 element cannot be resolved.</source>
- <translation>%1 elem %2 alap típusát nem lehet megfejteni.</translation>
- </message>
- <message>
- <location line="+84"/>
- <source>Item type %1 of %2 element cannot be resolved.</source>
- <translation>%2 elem %1 elem típusát nem lehet megfejteni.</translation>
- </message>
- <message>
- <location line="+31"/>
- <source>Member type %1 of %2 element cannot be resolved.</source>
- <translation>%2 elem %1 tag típusát nem lehet megoldani.</translation>
- </message>
- <message>
- <location line="+28"/>
- <location line="+408"/>
- <location line="+30"/>
- <source>Type %1 of %2 element cannot be resolved.</source>
- <translation>%2 elem %1 típusát nem lehet megoldani.</translation>
- </message>
- <message>
- <location line="-416"/>
- <source>Base type %1 of complex type cannot be resolved.</source>
- <translation>Komplex típus %1 alap típusát nem lehet megfejteni.</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>%1 cannot have complex base type that has a %2.</source>
- <translation>%1 nem tartalmazhat komplex alap típusokat, egy %2-t tartalmaz.</translation>
- </message>
- <message>
- <location line="+279"/>
- <source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
- <translation>%1 komplex típus tartalmi modelle %2 elemet tartalmaz, tehát nem származtatható kiterjesztésben egy nem üres típusból.</translation>
- </message>
- <message>
- <location line="+6"/>
- <source>Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model.</source>
- <translation>%1 komplex nem típus nem származtatható kiterjesztésben %2-ből, mert az utóbbi %3 elemet tartalmaz a tartalmi modellében.</translation>
- </message>
- <message>
- <location line="+101"/>
- <source>Type of %1 element must be a simple type, %2 is not.</source>
- <translation>%1 elem típusnak egy egyszerű típusnak kell, de %2 nem az.</translation>
- </message>
- <message>
- <location line="+62"/>
- <source>Substitution group %1 of %2 element cannot be resolved.</source>
- <translation>%2 elem %1 helyettesítési csoportját nem lehet megoldani.</translation>
- </message>
- <message>
- <location line="+9"/>
- <source>Substitution group %1 has circular definition.</source>
- <translation>%1 helyettesítési csoport cirkuláris definíciót tartalmaz.</translation>
- </message>
- <message>
- <location line="+120"/>
- <location line="+7"/>
- <source>Duplicated element names %1 in %2 element.</source>
- <translation>Duplikát %1 elemnév %2 elemben.</translation>
- </message>
- <message>
- <location line="+29"/>
- <location line="+52"/>
- <location line="+71"/>
- <location line="+28"/>
- <source>Reference %1 of %2 element cannot be resolved.</source>
- <translation>%2 elem %1 hivatkozását nem lehet megoldani.</translation>
- </message>
- <message>
- <location line="-138"/>
- <source>Circular group reference for %1.</source>
- <translation>Cirkuláris csoport hivatkozás %1-re.</translation>
- </message>
- <message>
- <location line="+16"/>
- <source>%1 element is not allowed in this scope</source>
- <translation>%1 elem nem engedélyezett ebben a hatókörben</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>%1 element cannot have %2 attribute with value other than %3.</source>
- <translation>%1 elem nem tartalmazhat %2 attribútumot %3-tól eltérő értékkel.</translation>
- </message>
- <message>
- <location line="+8"/>
- <source>%1 element cannot have %2 attribute with value other than %3 or %4.</source>
- <translation>%1 element nem tartalmazhat %2 attribútumot %3 vagy %4-től eltérő értékkel.</translation>
- </message>
- <message>
- <location line="+91"/>
- <source>%1 or %2 attribute of reference %3 does not match with the attribute declaration %4.</source>
- <translation>%3 hivatkozás %1 vagy %2 attribútuma nem egyezik meg a(z) %4 attribútum deklarációval.</translation>
- </message>
- <message>
- <location line="+25"/>
- <source>Attribute group %1 has circular reference.</source>
- <translation>%1 attribútum csoport cirkuláris hivatkozást tartalmaz.</translation>
- </message>
- <message>
- <location line="+131"/>
- <source>%1 attribute in %2 must have %3 use like in base type %4.</source>
- <translation>%2-ben található %1 attribútumnak %3 használatát kell tartalmaznia, mint a(z) %4 alap típusban.</translation>
- </message>
- <message>
- <location line="+52"/>
- <source>Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2.</source>
- <translation>%1 attribútum helyettesítő jele nem a(z) %2 alap típus attribútum helyettesítő jelének egy érvényes korlátozása.</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>%1 has attribute wildcard but its base type %2 has not.</source>
- <translation>%1 attribútum helyettesítő jelet tartalmaz, de a(z) %2 alap típusa nem.</translation>
- </message>
- <message>
- <location line="+26"/>
- <source>Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible.</source>
- <translation>%2 alaptípusának attribútum helyettesítő jele és a(z) %1 típus attribútum helyettesítő jelének union-ja nem kifejezhető.</translation>
- </message>
- <message>
- <location line="+48"/>
- <source>Enumeration facet contains invalid content: {%1} is not a value of type %2.</source>
- <translation>Felsorolás oldal érvénytelen tartalmat tartalmaz. {%1} nem egy érvényes %2 típus érték.</translation>
- </message>
- <message>
- <location line="+10"/>
- <source>Namespace prefix of qualified name %1 is not defined.</source>
- <translation>%1 minősített név névtér előtagja nincs definiálva.</translation>
- </message>
- <message>
- <location line="+51"/>
- <location line="+18"/>
- <source>%1 element %2 is not a valid restriction of the %3 element it redefines: %4.</source>
- <translation>%2 elem %1 nem a(z) %3 elem egy érvényes korlátozása, újradefininálja: %4.</translation>
- </message>
- <message>
- <location filename="../src/xmlpatterns/schema/qxsdparticlechecker.cpp" line="+165"/>
- <source>Empty particle cannot be derived from non-empty particle.</source>
- <translation>Üres részecskét nem lehet egy üres részecskéből származtatni.</translation>
- </message>
- <message>
- <location line="+15"/>
- <source>Derived particle is missing element %1.</source>
- <translation>Származtatott részecskének van egy %1 hiányzó eleme.</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Derived element %1 is missing value constraint as defined in base particle.</source>
- <translation>%1 származtatott elem hiányol egy érték korlátozót, ami az alap részecskében van definiálva.</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>Derived element %1 has weaker value constraint than base particle.</source>
- <translation>%1 származtatott elem gyengébb érték korlátozót tartalmaz, mint az alap részecske.</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Fixed value constraint of element %1 differs from value constraint in base particle.</source>
- <translation>%1 elem fix érték korlátozója különbözik az alap részecskében található érték korlátozótól.</translation>
- </message>
- <message>
- <location line="+7"/>
- <source>Derived element %1 cannot be nillable as base element is not nillable.</source>
- <translation>%1 származtatott elem nem lehet nullázható, mint ahogy az alap elem sem nullázható.</translation>
- </message>
- <message>
- <location line="+10"/>
- <source>Block constraints of derived element %1 must not be more weaker than in the base element.</source>
- <translation>%1 származtatott elem blokk korlátozója nem lehet gyengébb, mint az alap elemben.</translation>
- </message>
- <message>
- <location line="+11"/>
- <source>Simple type of derived element %1 cannot be validly derived from base element.</source>
- <translation>%1 származtatott elem egyszerű típusa nem származtatható érvényesen az alap elemből.</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>Complex type of derived element %1 cannot be validly derived from base element.</source>
- <translation>%1 származtatott elem komplex típusa nem származtatható érvényesen az alap elemből.</translation>
- </message>
- <message>
- <location line="+24"/>
- <source>Element %1 is missing in derived particle.</source>
- <translation>%1 elem hiányzik a származtott récseszkében.</translation>
- </message>
- <message>
- <location line="+18"/>
- <source>Element %1 does not match namespace constraint of wildcard in base particle.</source>
- <translation>%1 elem nem egyezik meg az alap részecskében található helyettesítő jel névtér korlátozójával.</translation>
- </message>
- <message>
- <location line="+11"/>
- <source>Wildcard in derived particle is not a valid subset of wildcard in base particle.</source>
- <translation>Helyettesítő jel a származtatott részecskénen nem az alap részecskében található helyettesítő jel egy érvényes részhalmaza.</translation>
- </message>
- <message>
- <location line="+5"/>
- <source>processContent of wildcard in derived particle is weaker than wildcard in base particle.</source>
- <translation>A származtatott részecskében található helyettesítő jel folyamatTartalma gyengébb, mint az alap részecskében található helyettesítő jel.</translation>
- </message>
- <message>
- <location line="+240"/>
- <source>Derived particle allows content that is not allowed in the base particle.</source>
- <translation>Származtatott részecske engedélyezi a tartalmat, ami nem engedélyezett az alap részecskében.</translation>
+ <translation>Az ős definíciója tartalmaz olyan %1 elemet, ami hiányzik a leszármazott definíciójából</translation>
</message>
<message>
<location filename="../src/xmlpatterns/schema/qxsdschemaparser.cpp" line="+170"/>
<source>Can not process unknown element %1, expected elements are: %2.</source>
- <translation>Nem lehet feldolgozni ismeretlen %1 elemet, várt elemek: %2.</translation>
+ <translation>%1 ismeretlen elemet nem lehet feldolgozni, a várt elemek: %2.</translation>
</message>
<message>
<location line="+13"/>
<source>Element %1 is not allowed in this scope, possible elements are: %2.</source>
- <translation>%1 elem nem engedélyezett ebben a hatórközben, lehetséges elemek: %2.</translation>
+ <translation>%1 elem nem megengedett ebben a hatókörben, a lehetséges elemek: %2.</translation>
</message>
<message>
<location line="+16"/>
<source>Child element is missing in that scope, possible child elements are: %1.</source>
- <translation>Gyermek elem hiányzik abban a hatókörben, lehetséges gyermek elemek: %1.</translation>
+ <translation>Gyermek elem hiányzik abból a hatókörből, lehetséges gyermek elemek: %1.</translation>
</message>
<message>
- <location line="+127"/>
+ <location line="+143"/>
<source>Document is not a XML schema.</source>
- <translation>Dokumentum nem egy XML terv.</translation>
+ <translation>A dokumentum nem egy XML séma.</translation>
</message>
<message>
<location line="+22"/>
<source>%1 attribute of %2 element contains invalid content: {%3} is not a value of type %4.</source>
- <translation>%2 elem %1 attribútuma érvénytelen tartalmat tartalmaz: {%3} nem egy %4 típus érték.</translation>
+ <translation>%2 elem %1 attribútuma érvénytelen tartalmú: {%3} érvénytelen %4 típusú érték.</translation>
</message>
<message>
<location line="+6"/>
<source>%1 attribute of %2 element contains invalid content: {%3}.</source>
- <translation>%2 elem %1 attribútuma érvénytelen tartalmat tartalmaz: {%3}.</translation>
+ <translation>%2 elem %1 attribútuma érvénytelen tartalmú: {%3}.</translation>
</message>
<message>
<location line="+26"/>
<source>Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema.</source>
- <translation>A beleértett terv %1 cél névtere különbözik a %2 cél névtértől, amit a beleértett terv által lett definiálva.</translation>
+ <translation>%1 beemelt séma cél-névtere különbözik a beemelő sémában definiált %2 cél-névtértől.</translation>
</message>
<message>
<location line="+14"/>
<location line="+11"/>
<source>Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema.</source>
- <translation>Az importált terv %1 cél névtere különbözik a(z) %2 cél névtértől, ami az importált terv által van definiálva.</translation>
+ <translation>%1 importált séma cél-névtere különbözik az importáló sémában definiált %2 cél-névtértől.</translation>
</message>
<message>
- <location line="+237"/>
+ <location line="+243"/>
<source>%1 element is not allowed to have the same %2 attribute value as the target namespace %3.</source>
- <translation>%1 elem nem tartalmazhatja ugyanazt a(z) %2 attribútum értéket, mint a(z) %3 cél névtér.</translation>
+ <translation>%1 elemnek nem lehet ugyanaz a %2 attribútum értéke, mint %3 cél-névtérnek.</translation>
</message>
<message>
<location line="+8"/>
<source>%1 element without %2 attribute is not allowed inside schema without target namespace.</source>
- <translation>%1 elem %2 attribútum nélkül nem engedélyezett a vázlaton belül cél névtér nélkül.</translation>
+ <translation>%2 attribútum nélküli %1 elem nem engedélyezett cél-névtér nélküli séma belsejében.</translation>
</message>
<message>
- <location line="+833"/>
+ <location line="+851"/>
<location line="+158"/>
<source>%1 element is not allowed inside %2 element if %3 attribute is present.</source>
- <translation>%1 elem nem engedélyezett a(z) %2 elemen belül, ha %3 attribútum van nyújtva.</translation>
+ <translation>%1 elem nem megengedett %2 elemen belül, ha %3 attribútum meg van adva.</translation>
</message>
<message>
<location line="-97"/>
<location line="+119"/>
<location line="+92"/>
<source>%1 element has neither %2 attribute nor %3 child element.</source>
- <translation>%1 elem nem tartalmaz %2 attribútumot és %3 gyermek elemet sem.</translation>
+ <translation>%1 elemnek sem %2 attribútuma, sem %3 gyermek eleme nincs.</translation>
</message>
<message>
<location line="+835"/>
@@ -9878,23 +12827,23 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+11"/>
<location line="+11"/>
<source>%1 element with %2 child element must not have a %3 attribute.</source>
- <translation>%1 elem %2 gyermek elemmel nem tartalmazhat egy %3 attribútumot.</translation>
+ <translation>%2 gyermek elemmel rendelkező %1 elemnek nem lehet %3 attribútuma.</translation>
</message>
<message>
<location line="-1325"/>
<source>%1 attribute of %2 element must be %3 or %4.</source>
- <translation>%2 elem %1 attribútumának %3 vagy %4-nek kell lennie.</translation>
+ <translation>%2 elem %1 attribútumának értéke %3 vagy %4 kell legyen.</translation>
</message>
<message>
<location line="+36"/>
<source>%1 attribute of %2 element must have a value of %3.</source>
- <translation>%2 elem %1 attribútumának %3 egy értékét tartalmaznia kell.</translation>
+ <translation>%2 elem %1 attribútumának értéke %3 kell legyen.</translation>
</message>
<message>
<location line="+7"/>
<location line="+34"/>
<source>%1 attribute of %2 element must have a value of %3 or %4.</source>
- <translation>%2 elem %1 attribútumának tartalmaznia kell %3 vagy %4 egy értékét.</translation>
+ <translation>%2 elem %1 attribútumának értéke %3 vagy %4 kell legyen.</translation>
</message>
<message>
<location line="+319"/>
@@ -9912,81 +12861,81 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<location line="+6"/>
<location line="+77"/>
<source>%1 element must not have %2 and %3 attribute together.</source>
- <translation>%1 elemnek tartalmaznia kell %2 és %3 attribútumokat együttesen.</translation>
+ <translation>%1 elemnek nem lehet egyidejűleg %2 és %3 attribútuma.</translation>
</message>
<message>
<location line="-768"/>
<location line="+222"/>
<source>Content of %1 attribute of %2 element must not be from namespace %3.</source>
- <translation>%2 elem %1 attribútumának tartalmának nem szabad a(z) %3 névtérből lennie.</translation>
+ <translation>%2 elem %1 attribútumának tartalma nem lehet %3 névtérből való.</translation>
</message>
<message>
<location line="-215"/>
<location line="+222"/>
<source>%1 attribute of %2 element must not be %3.</source>
- <translation>%2 elem %1 attribútumának nem szabad %3-nak lennie.</translation>
+ <translation>%2 elem %1 attribútuma nem lehet %3.</translation>
</message>
<message>
<location line="-64"/>
<source>%1 attribute of %2 element must have the value %3 because the %4 attribute is set.</source>
- <translation>%2 elem %1 attribútumának tartalmaznia kell %3 értéket, mert %4 attribútum be van állítva.</translation>
+ <translation>%2 elem %1 attribútumának értéke %3 kell legyen, mert a(z) %4 attribútum van megadva.</translation>
</message>
<message>
<location line="+187"/>
<source>Specifying use=&apos;prohibited&apos; inside an attribute group has no effect.</source>
- <translation>Használat meghatározásának = &apos;tiltott&apos; egy attribútum csoportját belül nincsen hatása.</translation>
+ <translation>use=&apos;prohibited&apos; megadása egy attribútum csoporton belül hatástalan.</translation>
</message>
<message>
<location line="+353"/>
<source>%1 element must have either %2 or %3 attribute.</source>
- <translation>%1 elemnek vagy %2 vagy %3 attribútumot tartalmaznia kell.</translation>
+ <translation>%1 elemnek vagy %2 vagy %3 attribútumának lennie kell.</translation>
</message>
<message>
<location line="+554"/>
<source>%1 element must have either %2 attribute or %3 or %4 as child element.</source>
- <translation>%1 elemnek tartalmaznia kell vagy %2 vagy %3 vagy %4 attribútumot, mint ahogy a gyermek elem.</translation>
+ <translation>%1 elemnek vagy %2 attribútumának, vagy %3 vagy %4 gyermek elemének lennie kell.</translation>
</message>
<message>
<location line="+55"/>
<source>%1 element requires either %2 or %3 attribute.</source>
- <translation>%1 elem vagy %2 vagy %3 attribútumot igényli.</translation>
+ <translation>%1 elemnek %2 vagy %3 attribútumát meg kell adni.</translation>
</message>
<message>
<location line="+19"/>
<source>Text or entity references not allowed inside %1 element</source>
- <translation>Szöveg avgy entitás hivatkozás nem engedélyezett a(z) %1 elemen belül</translation>
+ <translation>Szöveg és entitás referenciák nem engedélyezettek %1 elemen belül</translation>
</message>
<message>
<location line="+41"/>
<location line="+112"/>
<source>%1 attribute of %2 element must contain %3, %4 or a list of URIs.</source>
- <translation>%2 elem %1 attribútumának tartalmaznia kell %3, %4 vagy URI-k egy listáját.</translation>
+ <translation>%2 elem %1 attribútumának %3-t, %4-t vagy URI-k listáját kell tartalmaznia.</translation>
</message>
<message>
<location line="+126"/>
<source>%1 element is not allowed in this context.</source>
- <translation>%1 elem nem engedélyezett ebben a szöveg környezetben.</translation>
+ <translation>%1 elem nem megengedett ebben a kontextusban.</translation>
</message>
<message>
<location line="+53"/>
<source>%1 attribute of %2 element has larger value than %3 attribute.</source>
- <translation>%2 elem %1 attribútuma nagyobb értéket tartalmaz, mint a %3 attribútum.</translation>
+ <translation>%2 elem %1 attribútumának értéka nagyobb, mint a(z) %3 attribútumé.</translation>
</message>
<message>
<location line="+25"/>
<source>Prefix of qualified name %1 is not defined.</source>
- <translation>A(z) %1 minősített név előtagja nem definiált.</translation>
+ <translation>%1 kvalifikált név prefixuma nincs definiálva.</translation>
</message>
<message>
<location line="+65"/>
<location line="+61"/>
<source>%1 attribute of %2 element must either contain %3 or the other values.</source>
- <translation>%2 elem %1 attribútumának vagy %3 vagy más értékeket kell tartalmaznia.</translation>
+ <translation>%2 elem %1 attribútumának vagy %3-t vagy a többi értéket kell tartalmaznia.</translation>
</message>
<message>
<location line="+131"/>
<source>Component with ID %1 has been defined previously.</source>
- <translation>%1 azonosítóval rendelkezővel komponens előzőleg definiálva lett.</translation>
+ <translation>%1 ID-jű komponens már lett definiálva korábban.</translation>
</message>
<message>
<location line="+17"/>
@@ -10006,329 +12955,483 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+23"/>
<source>Attribute group %1 already defined.</source>
- <translation>%1 csoport attribútum már definiálva van.</translation>
+ <translation>%1 attribútum csoport már definiálva van.</translation>
</message>
<message>
<location line="+11"/>
<source>Element group %1 already defined.</source>
- <translation>%1 csoport elem már definiálva van.</translation>
+ <translation>%1 elemcsoport már definiálva van.</translation>
</message>
<message>
<location line="+11"/>
<source>Notation %1 already defined.</source>
- <translation>%1 értesítés már definiálva van.</translation>
+ <translation>%1 jelölés már definiálva van.</translation>
</message>
<message>
<location line="+11"/>
<source>Identity constraint %1 already defined.</source>
- <translation>%1 azonosító korlátozó már definiálva van.</translation>
+ <translation>%1 identitás megkötés már definiálva van.</translation>
</message>
<message>
<location line="+11"/>
<source>Duplicated facets in simple type %1.</source>
- <translation>Duplikált oldalak %1 egyszerű típusban.</translation>
+ <translation>Duplikált facet-ek %1 egyszerű típusban.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/schema/qxsdschemaresolver.cpp" line="+354"/>
+ <source>%1 references unknown %2 or %3 element %4.</source>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation>%1 érvénytelen %2 vagy %3 %4 elemre hivatkozik.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>%1 references identity constraint %2 that is no %3 or %4 element.</source>
+ <translation>%1 %2 identitás megkötésre hivatkozik, ami nem %3 vagy %4 elem.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>%1 has a different number of fields from the identity constraint %2 that it references.</source>
+ <translation>%1 eltérő számú mezőt tartalmaz, mint az általa hivatkozott %2 identitás megkötés.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Base type %1 of %2 element cannot be resolved.</source>
+ <translation>%2 elem %1 őstípusa nem feloldható.</translation>
+ </message>
+ <message>
+ <location line="+84"/>
+ <source>Item type %1 of %2 element cannot be resolved.</source>
+ <translation>%2 elem %1 elemtípusa nem feloldható.</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Member type %1 of %2 element cannot be resolved.</source>
+ <translation>%2 elem %1 tagtípusa nem feloldható.</translation>
+ </message>
+ <message>
+ <location line="+28"/>
+ <location line="+415"/>
+ <location line="+30"/>
+ <source>Type %1 of %2 element cannot be resolved.</source>
+ <translation>%2 elem %1 típusa nem oldható fel.</translation>
+ </message>
+ <message>
+ <location line="-423"/>
+ <source>Base type %1 of complex type cannot be resolved.</source>
+ <translation>Komplex típus %1 őstípusa nem oldható fel.</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>%1 cannot have complex base type that has a %2.</source>
+ <translation>%1-nek nem lehet %2-t tartalmazó komplex őstípusa.</translation>
+ </message>
+ <message>
+ <location line="+286"/>
+ <source>Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type.</source>
+ <translation>%1 komplex típus tartalom modellje %2 elemet tartalmaz, ezáltal kiterjesztéssel nem származtatható nem üres típusból.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model.</source>
+ <translation>%1 komplex típus nem származhat kiterjesztéssel %2-ból, mivel utóbbi %3 elemet tartalmaz a tartalom modelljében.</translation>
+ </message>
+ <message>
+ <location line="+101"/>
+ <source>Type of %1 element must be a simple type, %2 is not.</source>
+ <translation>%1 elem típusának egyszerű típusnak kell lennie, %2 nem az.</translation>
+ </message>
+ <message>
+ <location line="+62"/>
+ <source>Substitution group %1 of %2 element cannot be resolved.</source>
+ <translation>%2 elem %1 részcsoportja nem oldható fel.</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Substitution group %1 has circular definition.</source>
+ <translation>%1 részcsoport körkörös definíciót tartalmaz.</translation>
+ </message>
+ <message>
+ <location line="+120"/>
+ <location line="+7"/>
+ <source>Duplicated element names %1 in %2 element.</source>
+ <translation>Duplikált %1 elemnevek a(z) %2 elemben.</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <location line="+52"/>
+ <location line="+71"/>
+ <location line="+28"/>
+ <source>Reference %1 of %2 element cannot be resolved.</source>
+ <translation>%2 elem %1 referenciája nem oldható fel.</translation>
+ </message>
+ <message>
+ <location line="-138"/>
+ <source>Circular group reference for %1.</source>
+ <translation>Körkörös csoport referencia %1-nél.</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>%1 element is not allowed in this scope</source>
+ <translation>%1 elem nem megengedett ebben a hatókörben</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>%1 element cannot have %2 attribute with value other than %3.</source>
+ <translation>%1 elem %2 attribútumának nem lehet más értéke, mint %3.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>%1 element cannot have %2 attribute with value other than %3 or %4.</source>
+ <translation>%1 elem %2 attribútumának nem lehet más értéke, mint %3 vagy %4.</translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>%1 or %2 attribute of reference %3 does not match with the attribute declaration %4.</source>
+ <translation>%3 referencia %1 vagy %2 attribútuma nem egyezik %4 attribútum deklarációval.</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Attribute group %1 has circular reference.</source>
+ <translation>%1 attribútum csoport körkörös referenciát tartalmaz.</translation>
+ </message>
+ <message>
+ <location line="+131"/>
+ <source>%1 attribute in %2 must have %3 use like in base type %4.</source>
+ <translation>%2 %1 attribútuma %3 kell legyen, úgy, mint %4 őstípusban.</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2.</source>
+ <translation>%1 attribútum helyettesítője nem érvényes megkötése %2 őstípus helyettesítőjének.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>%1 has attribute wildcard but its base type %2 has not.</source>
+ <translation>%1-nak van attribútum helyettesítője, de %2 őstípusnak nincs.</translation>
+ </message>
+ <message>
+ <location line="+26"/>
+ <source>Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible.</source>
+ <translation>%1 típus attribútum helyettesítőjének és %2 őstípusa helyettesítőjének uniója nem kiefjezhető.</translation>
+ </message>
+ <message>
+ <location line="+48"/>
+ <source>Enumeration facet contains invalid content: {%1} is not a value of type %2.</source>
+ <translation>Érvénytelen tartalom felsorolás facet-ben: {%1} érvénytelen érték %2 típusban.</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Namespace prefix of qualified name %1 is not defined.</source>
+ <translation>%1 névtér prefixum vagy kvalifikált név nincs definiálva.</translation>
+ </message>
+ <message>
+ <location line="+51"/>
+ <location line="+18"/>
+ <source>%1 element %2 is not a valid restriction of the %3 element it redefines: %4.</source>
+ <translation>%1 elem érvénytelen %2 megkötése az általa felüldefiniált %3 elemre: %4.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/schema/qxsdtypechecker.cpp" line="+233"/>
<location line="+7"/>
<location line="+21"/>
<source>%1 is not valid according to %2.</source>
- <translation>%1 nem érvényes %2 szerint.</translation>
+ <translation>%2 alapján %1 érvénytelen.</translation>
</message>
<message>
<location line="+167"/>
<source>String content does not match the length facet.</source>
- <translation>Sztring tartalom nem egyezik a hossz oldallal.</translation>
+ <translation>A karakterlánc tartalom nem felel meg a hossz facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>String content does not match the minLength facet.</source>
- <translation>Sztring tartalom nem egyezik a minimális hosszúságú felülettel.</translation>
+ <translation>A karakterlánc tartalom nem felel meg a minLength facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>String content does not match the maxLength facet.</source>
- <translation>Sztring tartalom nem egyezik a maximális hosszúságú felülettel.</translation>
+ <translation>A karakterlánc tartalom nem felel meg a maxLength facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>String content does not match pattern facet.</source>
- <translation>Sztrng tartalom nem egyezik a minta felülettel.</translation>
+ <translation>A karakterlánc tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>String content is not listed in the enumeration facet.</source>
- <translation>Sztring tartalom nincs listázva a felsorol felületben.</translation>
+ <translation>A karakterlánc tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+17"/>
<source>Signed integer content does not match the maxInclusive facet.</source>
- <translation>Előjeles egész szám tartalom nem egyezik a maximális beleszámított felülettel.</translation>
+ <translation>Előjeles egész szám tartalom nem felel meg a maxInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Signed integer content does not match the maxExclusive facet.</source>
- <translation>Előjeles egész szám tartalom nem egyzik a maximális kizárólagos felülettel.</translation>
+ <translation>Előjeles egész szám tartalom nem felel meg a maxExclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Signed integer content does not match the minInclusive facet.</source>
- <translation>Előjeles egész szám tartalom nem egyezik a minimális beleértet felülettel.</translation>
+ <translation>Előjeles egész szám tartalom nem felel meg a minInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Signed integer content does not match the minExclusive facet.</source>
- <translation>Előjeles egész szám tartalom nem egyezik a minimális kizárólagos felülettel.</translation>
+ <translation>Előjeles egész szám tartalom nem felel meg a minExclusive facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Signed integer content is not listed in the enumeration facet.</source>
- <translation>Előjeles egész szám tartalom nincsen kilistázva a felsorolási felületben.</translation>
+ <translation>Előjeles egész szám tartalom nem felel meg a felsorolás facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Signed integer content does not match pattern facet.</source>
- <translation>Előjeles egész szám tartalom nem egyezik a minta felületben.</translation>
+ <translation>Előjeles egész szám tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+9"/>
<source>Signed integer content does not match in the totalDigits facet.</source>
- <translation>Előjeles egész szám tartalom nem egyezik a teljesSzámos felület.</translation>
+ <translation>Előjeles egész szám tartalom nem felel meg a totalDigits facet-nek.</translation>
</message>
<message>
<location line="+17"/>
<source>Unsigned integer content does not match the maxInclusive facet.</source>
- <translation>Nem előjeles egész szám tartalom nem egyezik a maximális beleértett felülettel.</translation>
+ <translation>Előjel nélküli egész szám tartalom nem felel meg a maxInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Unsigned integer content does not match the maxExclusive facet.</source>
- <translation>Nem előjeles egész szám tartalom nem egyezik a maximális kizárólagos felülettel.</translation>
+ <translation>Előjel nélküli egész szám tartalom nem felel meg a maxExclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Unsigned integer content does not match the minInclusive facet.</source>
- <translation>Nem előjeles tartalom nem egyezik a minimális beleértett felülettel.</translation>
+ <translation>Előjel nélküli egész szám tartalom nem felel meg a minInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Unsigned integer content does not match the minExclusive facet.</source>
- <translation>Nem előjeleg egész szám tartalom nem egyezik a beleértett minimális felülettel.</translation>
+ <translation>Előjel nélküli egész szám tartalom nem felel meg a minExclusive facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Unsigned integer content is not listed in the enumeration facet.</source>
- <translation>Nem előjeles egész szám tartalom nincsen kilistázva a felsorolási felületben.</translation>
+ <translation>Előjel nélküli egész szám tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+18"/>
<source>Unsigned integer content does not match pattern facet.</source>
- <translation>Nem előjeles egész szám tartalom nem egyezik a minta felületben.</translation>
+ <translation>Előjel nélküli egész szám tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+9"/>
<source>Unsigned integer content does not match in the totalDigits facet.</source>
- <translation>Nem előjeles egész szám tartalom nem egyezik a teljesSzámos felületben.</translation>
+ <translation>Előjel nélküli egész szám tartalom nem felel meg a totalDigits facet-nek.</translation>
</message>
<message>
<location line="+17"/>
<source>Double content does not match the maxInclusive facet.</source>
- <translation>Dupla tartalom nem egyezik a maximális beleértett felületben.</translation>
+ <translation>Dupla pontosságú szám tartalom nem felel meg a maxInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Double content does not match the maxExclusive facet.</source>
- <translation>Dupla tartalom nem egyezik a maximális kizárólagos felülettel.</translation>
+ <translation>Dupla pontosságú szám tartalom nem felel meg a maxExclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Double content does not match the minInclusive facet.</source>
- <translation>Dupla tartalom nem egyezik a minimális beleértett felülettel.</translation>
+ <translation>Dupla pontosságú szám tartalom nem felel meg a minInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Double content does not match the minExclusive facet.</source>
- <translation>Dupla tartalom nem egyezik a minimális kizárólag felülettel.</translation>
+ <translation>Dupla pontosságú szám tartalom nem felel meg a minExclusive facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Double content is not listed in the enumeration facet.</source>
- <translation>Dupla tartalom nincs listázva a felsorolási felületben.</translation>
+ <translation>Dupla pontosságú szám tartalom nem felel meg a felsorolás facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Double content does not match pattern facet.</source>
- <translation>Dupla tartalom nem egyezik a minta felületben.</translation>
+ <translation>Dupla pontosságú szám tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Decimal content does not match in the fractionDigits facet.</source>
- <translation>Tizedes tartalom nem egyezik a szám tényezős felületben.</translation>
+ <translation>Decimális tartalom nem felel meg a fractionDigits facet-nek.</translation>
</message>
<message>
<location line="+9"/>
<source>Decimal content does not match in the totalDigits facet.</source>
- <translation>Tizedes tartalom nem egyezik a teljesenSzámos felületben.</translation>
+ <translation>Decimális tartalom nem felel meg a totalDigits facet-nek.</translation>
</message>
<message>
<location line="+14"/>
<source>Date time content does not match the maxInclusive facet.</source>
- <translation>Dátum idő tartalom nem egyezik a maximális beleértett felülettel.</translation>
+ <translation>Dátum-idő tartalom nem felel meg a maxInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Date time content does not match the maxExclusive facet.</source>
- <translation>Dátum idő tartalom nem egyezik a maximális kizárólagos felülettel.</translation>
+ <translation>Dátum-idő tartalom nem felel meg a maxExclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Date time content does not match the minInclusive facet.</source>
- <translation>Dátum idő tartalom nem egyezik a minimális beleértett felülettel.</translation>
+ <translation>Dátum-idő tartalom nem felel meg a minInclusive facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Date time content does not match the minExclusive facet.</source>
- <translation>Dátum idő tartalom nem egyezik a minimális kizárólagos felülettel.</translation>
+ <translation>Dátum-idő tartalom nem felel meg a minExclusive facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Date time content is not listed in the enumeration facet.</source>
- <translation>Dátum idő tartalom nincsen kilistázva a felsorolási felületben.</translation>
+ <translation>Dátum-idő tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+18"/>
<source>Date time content does not match pattern facet.</source>
- <translation>Dátum idő tartalom nem egyezik a minta felületben.</translation>
+ <translation>Dátum-idő tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+15"/>
<source>Duration content does not match the maxInclusive facet.</source>
- <translation>Tartalom időtartam nem egyezik a maximális beleértett felülettel.</translation>
+ <translation>Időtartam tartalom nem felel meg a maxInclusive facet-nek.</translation>
</message>
<message>
<location line="+9"/>
<source>Duration content does not match the maxExclusive facet.</source>
- <translation>Tartalom időtartam nem egyezik a maximális kizárólagos felülettel.</translation>
+ <translation>Időtartam tartalom nem felel meg a maxExclusive facet-nek.</translation>
</message>
<message>
<location line="+9"/>
<source>Duration content does not match the minInclusive facet.</source>
- <translation>Tartalom időtartam nem egyezik a minimális benne foglalt felülettel.</translation>
+ <translation>Időtartam tartalom nem felel meg a minInclusive facet-nek.</translation>
</message>
<message>
<location line="+9"/>
<source>Duration content does not match the minExclusive facet.</source>
- <translation>Tartalom időtartam nem egyezik a minimális kizárólagos felülettel.</translation>
+ <translation>Időtartam tartalom nem felel meg a minExclusive facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Duration content is not listed in the enumeration facet.</source>
- <translation>Tartalom időtartam nincs listázva a felsorolási felületben.</translation>
+ <translation>Időtartam tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+18"/>
<source>Duration content does not match pattern facet.</source>
- <translation>Tartalom időtartam nem egyezik a felület mintában.</translation>
+ <translation>Időtartam tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+27"/>
<source>Boolean content does not match pattern facet.</source>
- <translation>Logikai tartalom nem egyezik a minta felületben.</translation>
+ <translation>Logikai tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+17"/>
<source>Binary content does not match the length facet.</source>
- <translation>Bináris tartalom nem egyezik a hossz felületben.</translation>
+ <translation>Bináris tartalom nem felel meg a hossz facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Binary content does not match the minLength facet.</source>
- <translation>Bináris tartalom nem egyezik a minimális hossz felületben.</translation>
+ <translation>Bináris tartalom nem felel meg a minLength facet-nek.</translation>
</message>
<message>
<location line="+8"/>
<source>Binary content does not match the maxLength facet.</source>
- <translation>Bináris tartalom nem egyezik a maximális hossz felületben.</translation>
+ <translation>Bináris tartalom nem felel meg a maxLength facet-nek.</translation>
</message>
<message>
<location line="+18"/>
<source>Binary content is not listed in the enumeration facet.</source>
- <translation>Bináris tartalom nincsen kilistázva a felsorolási felületben.</translation>
+ <translation>Bináris tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+27"/>
<source>Invalid QName content: %1.</source>
- <translation>Érvénytelen QName tartalom: %1.</translation>
+ <translation>Érvénytelen QName tartalom: %1.</translation>
</message>
<message>
<location line="+17"/>
<source>QName content is not listed in the enumeration facet.</source>
- <translation>QName tartalom nincsen kilistázva a felsorolási felületben.</translation>
+ <translation>QName tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+18"/>
<source>QName content does not match pattern facet.</source>
- <translation>QName tartalom nem egyezik a mintha felületben.</translation>
+ <translation>QName tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+36"/>
<source>Notation content is not listed in the enumeration facet.</source>
- <translation>Tartalom jelölés nincsen kilistázva a felsorolási felületben.</translation>
+ <translation>Jelölő tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+19"/>
<source>List content does not match length facet.</source>
- <translation>Tartalom lista nem egyezik a hossz felületben.</translation>
+ <translation>Lista tartalom nem felel meg a hossz facet-nek.</translation>
</message>
<message>
<location line="+7"/>
<source>List content does not match minLength facet.</source>
- <translation>Tartalmi lista nem egyezik a minimális hossz felületben.</translation>
+ <translation>Lista tartalom nem felel meg a minLength facet-nek.</translation>
</message>
<message>
<location line="+7"/>
<source>List content does not match maxLength facet.</source>
- <translation>Tartalmi list nem egyezik a maximális hossz felületen.</translation>
+ <translation>Lista tartalom nem felel meg a maxLength facet-nek.</translation>
</message>
<message>
<location line="+90"/>
<source>List content is not listed in the enumeration facet.</source>
- <translation>Tartalmi lista nincsen kilistázva a felsorolási felületen.</translation>
+ <translation>Lista tartalom nem szerepl a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+18"/>
<source>List content does not match pattern facet.</source>
- <translation>Tartalmi lista nem egyezik a minta felületen.</translation>
+ <translation>Lista tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+39"/>
<source>Union content is not listed in the enumeration facet.</source>
- <translation>Egység tartalom nincsen kilistázva a felsorolási felületen.</translation>
+ <translation>Union tartalom nem szerepel a felsorolás facet-ben.</translation>
</message>
<message>
<location line="+18"/>
<source>Union content does not match pattern facet.</source>
- <translation>Egység tartalom nem egyezik a minta felületen.</translation>
+ <translation>Union tartalom nem felel meg a minta facet-nek.</translation>
</message>
<message>
<location line="+15"/>
<source>Data of type %1 are not allowed to be empty.</source>
- <translation>%1 típus adata nem engedélyezett, hogy üres legyen.</translation>
+ <translation>%1 típusú adat nem lehet üres.</translation>
</message>
<message>
<location filename="../src/xmlpatterns/schema/qxsdvalidatinginstancereader.cpp" line="+160"/>
<source>Element %1 is missing child element.</source>
- <translation>%1 elem hiányzik a gyermek elemből.</translation>
+ <translation>Hiányzó gyermek elem %1 elemben.</translation>
</message>
<message>
<location line="+16"/>
<source>There is one IDREF value with no corresponding ID: %1.</source>
- <translation>Van egy IDREF érték nem megfelelő azonosítóval: %1.</translation>
+ <translation>Egy IDREF érték van hozzátartozó ID nélkül: %1.</translation>
</message>
<message>
<location line="+27"/>
<source>Loaded schema file is invalid.</source>
- <translation>Betöltött terv fájl nem létezik.</translation>
+ <translatorcomment>A betöltött sémafájl érvénytelen.</translatorcomment>
+ <translation></translation>
</message>
<message>
<location line="+16"/>
@@ -10338,128 +13441,128 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+13"/>
<source>xsi:schemaLocation namespace %1 has already appeared earlier in the instance document.</source>
- <translation>xsi:tervElhelyezkedés %1 névtér már előfordult korábban a példa dokumentumban.</translation>
+ <translation>%1 xsi:schemaLocation névtér már szerepelt korábban a példány dokumentumban.</translation>
</message>
<message>
<location line="+22"/>
<source>xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute.</source>
- <translation>xsi:tervElhelyezkedés névtér nem fordulhat elő az első nem névtér elem vagy attribútum után.</translation>
+ <translation>xsi:noNamespaceSchemaLocation nem szerepelhet az első nem-névtérbeli elem vagy attribútum után.</translation>
</message>
<message>
<location line="+18"/>
<source>No schema defined for validation.</source>
- <translation>Nincsen terv definiálva jóváhagyásra.</translation>
+ <translation>Nincs megadva séma a validáláshoz.</translation>
</message>
<message>
<location line="+10"/>
<source>No definition for element %1 available.</source>
- <translation>Nincsen elérhető definíció a(z) %1 elemre.</translation>
+ <translation>%1 elem definíciója nem érhető el.</translation>
</message>
<message>
<location line="+18"/>
<location line="+49"/>
<location line="+142"/>
<source>Specified type %1 is not known to the schema.</source>
- <translation>%1 meghatározott típus ismeretlen a terv számára.</translation>
+ <translation>A megadott %1 típus ismeretlen a séma számára.</translation>
</message>
<message>
<location line="-176"/>
<source>Element %1 is not defined in this scope.</source>
- <translation>%1 elem nincs definiálva ebben a hatókörben.</translation>
+ <translation>%1 elem nem ebben a hatókörben lett definiálva.</translation>
</message>
<message>
<location line="+43"/>
<source>Declaration for element %1 does not exist.</source>
- <translation>%1 elem deklaráció nem létezik.</translation>
+ <translation>%1 elem deklarációja nem létezik.</translation>
</message>
<message>
<location line="+12"/>
<source>Element %1 contains invalid content.</source>
- <translation>%1 elem érvénytelen tartalmat tartalmaz.</translation>
+ <translation>%1 elemben érvénytelen tartalom van.</translation>
</message>
<message>
<location line="+73"/>
<source>Element %1 is declared as abstract.</source>
- <translation>%1 elem elvontkét lett deklarálva.</translation>
+ <translation>%1 elem absztraktként lett definiálva.</translation>
</message>
<message>
<location line="+7"/>
<source>Element %1 is not nillable.</source>
- <translation>%1 elem nem nullázható.</translation>
+ <translation>%1 elem nem nil-feltételű.</translation>
</message>
<message>
<location line="+8"/>
<source>Attribute %1 contains invalid data: %2</source>
- <translation>%1 attribútum érvénytelen adatokat tartalmaz: %2</translation>
+ <translation>%1 attribútum érvénytelen adatot tartalmaz: %2</translation>
</message>
<message>
<location line="+8"/>
<source>Element contains content although it is nillable.</source>
- <translation>Elem nem nullázható elemeket tartalmaz.</translation>
+ <translation>Az elem annak ellenére tartalmaz adatot, hogy nil-feltételű.</translation>
</message>
<message>
<location line="+6"/>
<source>Fixed value constraint not allowed if element is nillable.</source>
- <translation>Fix érték korlátozó nem engedélyezett, ha az elem nullázható.</translation>
- </message>
- <message>
- <location line="+230"/>
- <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
- <translation>%1 nem tartalmazhat másik elemeket, mint ennek is egy fix mérete van.</translation>
+ <translation>Az elemre rögzített érték megkötés nem adható, ha az nil-feltételű.</translation>
</message>
<message>
- <location line="-198"/>
+ <location line="+32"/>
<source>Specified type %1 is not validly substitutable with element type %2.</source>
- <translation>%1 meghatározott típus nem helyettesíthető érvényesen %2 elem típussal.</translation>
+ <translation>A megadott %1 típus nem helyettesíthető érvényesen %2 elemtípussal.</translation>
</message>
<message>
<location line="+23"/>
<source>Complex type %1 is not allowed to be abstract.</source>
- <translation>%1 komplex típus nem engedélyezett, hogy elvont legyen.</translation>
+ <translation>%1 komplex típus nem lehet absztrakt.</translation>
</message>
<message>
<location line="+21"/>
<source>Element %1 contains not allowed attributes.</source>
- <translation>%1 nem engedélyezett attribútumokat tartalmaz.</translation>
+ <translation>%1 elem nem megengedett attribútumokat tartalmaz.</translation>
</message>
<message>
<location line="+6"/>
<location line="+97"/>
<source>Element %1 contains not allowed child element.</source>
- <translation>%1 nem engedélyezett gyermek attribútumokat tartalmaz.</translation>
+ <translation>%1 elem nem megengedett gyermek elemet tartalmaz.</translation>
</message>
<message>
<location line="-76"/>
<location line="+93"/>
<source>Content of element %1 does not match its type definition: %2.</source>
- <translation>%1 elem tartalma nem egyezik meg a típus definíciójával: %2.</translation>
+ <translation>%1 elem tartalma nem egyezik típusának definíciójával: %2.</translation>
</message>
<message>
<location line="-85"/>
<location line="+92"/>
<location line="+41"/>
<source>Content of element %1 does not match defined value constraint.</source>
- <translation>%1 elem tartalma nem egyezik meg a definiált érték korlátozóval.</translation>
+ <translation>%1 elem tartalma nem egyezik a definiált érték megkötéssel.</translation>
</message>
<message>
<location line="-73"/>
<source>Element %1 contains not allowed child content.</source>
- <translation>%1 nem engedélyezett gyermek tartalmat tartalmaz.</translation>
+ <translation>%1 elem nem megengedett gyermek tartalmat tartalmaz.</translation>
</message>
<message>
<location line="+41"/>
<source>Element %1 contains not allowed text content.</source>
- <translation>%1 nem engedélyezett szöveg tartalmat tartalmaz.</translation>
+ <translation>%1 elemben nem megengedett szövegtartalom található.</translation>
</message>
<message>
- <location line="+61"/>
+ <location line="+18"/>
+ <source>Element %1 cannot contain other elements, as it has a fixed content.</source>
+ <translation>%1 elem nem tartalmazhat más elemeket, mert tartalma rögzített.</translation>
+ </message>
+ <message>
+ <location line="+43"/>
<source>Element %1 is missing required attribute %2.</source>
- <translation>%1 hiányzik, %2 attribútum igényli.</translation>
+ <translation>%1 elemből hiányzik a kötelező %2 attribútum.</translation>
</message>
<message>
<location line="+29"/>
<source>Attribute %1 does not match the attribute wildcard.</source>
- <translation>%1 attribűtum nem egyezik meg az attribútum helyettesítő jellel.</translation>
+ <translation>%1 attribútum nem egyezik az attribútum helyettesítővel.</translation>
</message>
<message>
<location line="+9"/>
@@ -10469,69 +13572,190 @@ Kérem válasszon egy különböző fájl nevet.</translation>
<message>
<location line="+6"/>
<source>Element %1 contains two attributes of type %2.</source>
- <translation>%1 elem %2 típus két attribútumát tartalmazza.</translation>
+ <translation>%1 elem két %2 típusú attribútumot tartalmaz.</translation>
</message>
<message>
<location line="+11"/>
<source>Attribute %1 contains invalid content.</source>
- <translation>%1 attribútum érvénytelen tartalmaz tartalmaz.</translation>
+ <translation>%1 attribútumban érvénytelen tartalom szerepel.</translation>
</message>
<message>
<location line="+7"/>
<source>Element %1 contains unknown attribute %2.</source>
- <translation>%1 elem ismeretlen %2 attribútumokat tartalmaz.</translation>
+ <translation>%1 elem a(z) %2 ismeretlen attribútumot tartalmazza.</translation>
</message>
<message>
<location line="+40"/>
<location line="+46"/>
<source>Content of attribute %1 does not match its type definition: %2.</source>
- <translation>%1 attribútum tartalma nem egyezik a típus definíciójával: %2.</translation>
+ <translation>%1 attribútum tartalma nem egyezik a típus definícióban megadottakkal: %2.</translation>
</message>
<message>
<location line="-38"/>
<location line="+46"/>
<source>Content of attribute %1 does not match defined value constraint.</source>
- <translation>%1 attribútum tartalma nem egyezik meg a definiált érték korlátozóval.</translation>
+ <translation>%1 attribútum tartalma nem egyezik a definiált érték megkötéssel.</translation>
</message>
<message>
<location line="+88"/>
<source>Non-unique value found for constraint %1.</source>
- <translation>Nem található egyedülálló érték a(z) %1 módosítóra.</translation>
+ <translation>%1 megkötés nem egyedi értéket tartalmaz.</translation>
</message>
<message>
<location line="+20"/>
<source>Key constraint %1 contains absent fields.</source>
- <translation>%1 kulcs korlátozó hiányzó mezőket tartalmaz.</translation>
+ <translation>%1 kulcs megkötés hiányzó mezőket tartalmaz.</translation>
</message>
<message>
<location line="+18"/>
<source>Key constraint %1 contains references nillable element %2.</source>
- <translation>%1 kulcs korlátozó hivatkozásokat nem tartalmaz nullázható %2 elemekre.</translation>
+ <translation>%1 kulcsfeltétel %2 nil-feltételű elemre vonatkozó hivatkozást tartalmaz.</translation>
</message>
<message>
<location line="+40"/>
<source>No referenced value found for key reference %1.</source>
- <translation>Nem található referencia érték a(z) %1 kulcs referenciára.</translation>
+ <translation>Nem található hivatkozott érték %1 kulcs referenciához.</translation>
</message>
<message>
<location line="+64"/>
<source>More than one value found for field %1.</source>
- <translation>Több mint egy érték található a(z) %1-es mezőre.</translation>
+ <translation>%1 mezőhöz egynél több érték létezik.</translation>
</message>
<message>
<location line="+20"/>
<source>Field %1 has no simple type.</source>
- <translation>%1 mezőnek nincsen egyszerű típusa.</translation>
+ <translation>%1 mezőnek nincs egyszerű típusa.</translation>
</message>
<message>
<location line="+73"/>
<source>ID value &apos;%1&apos; is not unique.</source>
- <translation>%1 azonosító érték nem egyedülálló.</translation>
+ <translation>&apos;%1&apos; ID érték nem egyedi.</translation>
</message>
<message>
<location line="+11"/>
<source>&apos;%1&apos; attribute contains invalid QName content: %2.</source>
- <translation>%1 attribútum érvénytelen QName tartalmaz tartalmaz: %2.</translation>
+ <translation>&apos;%1% attribútum érvénytelen QName adatot tartalmaz: %2.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/type/qcardinality.cpp" line="+55"/>
+ <source>empty</source>
+ <translation>üres</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>zero or one</source>
+ <translation>nulla vagy egy</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>exactly one</source>
+ <translation>pontosan egy</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>one or more</source>
+ <translation>egy vagy több</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>zero or more</source>
+ <translation>nulla vagy több</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/type/qtypechecker.cpp" line="+63"/>
+ <source>Required type is %1, but %2 was found.</source>
+ <translation>Az elvárt típus %1, de a kapott %2.</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <source>Promoting %1 to %2 may cause loss of precision.</source>
+ <translation>%1 átalakítása %2 típusra a pontosság elvesztését okozhatja.</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>The focus is undefined.</source>
+ <translation>A fókusz nincs definiálva.</translation>
+ </message>
+ <message>
+ <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>Semmilyen más csomópont után nem adható meg attribútum.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>An attribute by name %1 has already been created.</source>
+ <translation>%1 nevű attribútum már létre van hozva.</translation>
+ </message>
+ <message>
+ <location filename="../src/xmlpatterns/utils/qxpathhelper_p.h" line="+120"/>
+ <source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
+ <translation>Csak a Unicode Codepoint Collation támogatott(%1). %2 nem támogatott.</translation>
+ </message>
+</context>
+<context>
+ <name>VolumeSlider</name>
+ <message>
+ <source>Muted</source>
+ <translation type="obsolete">Elnémítva</translation>
+ </message>
+ <message>
+ <source>Volume: %1%</source>
+ <translation type="obsolete">Hangerő: %1%</translation>
+ </message>
+</context>
+<context>
+ <name>WebCore::PlatformScrollbar</name>
+ <message>
+ <source>Scroll here</source>
+ <translation type="obsolete">Görgetés ide</translation>
+ </message>
+ <message>
+ <source>Left edge</source>
+ <translation type="obsolete">Bal szélre</translation>
+ </message>
+ <message>
+ <source>Top</source>
+ <translation type="obsolete">Felülre</translation>
+ </message>
+ <message>
+ <source>Right edge</source>
+ <translation type="obsolete">Jobb szélre</translation>
+ </message>
+ <message>
+ <source>Bottom</source>
+ <translation type="obsolete">Alulra</translation>
+ </message>
+ <message>
+ <source>Page left</source>
+ <translation type="obsolete">Egy oldalt balra</translation>
+ </message>
+ <message>
+ <source>Page up</source>
+ <translation type="obsolete">Egy oldalt felfelé</translation>
+ </message>
+ <message>
+ <source>Page right</source>
+ <translation type="obsolete">Egy oldalt jobbra</translation>
+ </message>
+ <message>
+ <source>Page down</source>
+ <translation type="obsolete">Egy oldalt lefelé</translation>
+ </message>
+ <message>
+ <source>Scroll left</source>
+ <translation type="obsolete">Görgetés balra</translation>
+ </message>
+ <message>
+ <source>Scroll up</source>
+ <translation type="obsolete">Görgetés felfelé</translation>
+ </message>
+ <message>
+ <source>Scroll right</source>
+ <translation type="obsolete">Görgetés jobbra</translation>
+ </message>
+ <message>
+ <source>Scroll down</source>
+ <translation type="obsolete">Görgetés lefelé</translation>
</message>
</context>
</TS>
diff --git a/translations/qt_ja_JP.ts b/translations/qt_ja.ts
index e6f92b7..e6f92b7 100644
--- a/translations/qt_ja_JP.ts
+++ b/translations/qt_ja.ts
diff --git a/translations/qtconfig_hu.ts b/translations/qtconfig_hu.ts
index 0eaead0..549a5d8 100644
--- a/translations/qtconfig_hu.ts
+++ b/translations/qtconfig_hu.ts
@@ -1,35 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.0" language="hu">
+<TS version="2.0" language="hu_HU">
<context>
<name>MainWindow</name>
<message>
- <location filename="../tools/qtconfig/mainwindow.cpp" line="+202"/>
+ <location filename="../tools/qtconfig/mainwindow.cpp" line="+204"/>
<source>Desktop Settings (Default)</source>
- <translation>Asztali beállítások (Alapértelmezett)</translation>
+ <translation>Az asztal beállításai (Alapértelmezett)</translation>
</message>
<message>
<location line="+5"/>
<source>Choose style and palette based on your desktop settings.</source>
- <translation>Stílus és paletta alapú kiválasztása az asztali beállításokban.</translation>
+ <translation>Stílus és paletta választása az asztal beállításai alapján.</translation>
</message>
<message>
<location line="+144"/>
<source>On The Spot</source>
- <translation>Azon nyomban</translation>
+ <translation>On The Spot</translation>
</message>
<message>
<location line="+33"/>
<location line="+1"/>
- <location line="+38"/>
+ <location line="+40"/>
<location line="+1"/>
<source>Auto (default)</source>
<translation>Automatikus (alapértelmezett)</translation>
</message>
<message>
- <location line="-38"/>
+ <location line="-40"/>
<source>Choose audio output automatically.</source>
- <translation>Audió kimenet automatikus kiválasztása.</translation>
+ <translation>Válasszon automatikusan egy hangkimenetet.</translation>
</message>
<message>
<location line="+1"/>
@@ -40,17 +40,17 @@
<message>
<location line="+1"/>
<source>Experimental aRts support for GStreamer.</source>
- <translation>Kísérleti aRts támogatás a GStreamerhez.</translation>
+ <translation>Kísérleti aRts támogatás GStreamer-hez.</translation>
</message>
<message>
- <location line="+31"/>
+ <location line="+33"/>
<source>Phonon GStreamer backend not available.</source>
- <translation>Phonon GStreamer backend nem elérhető.</translation>
+ <translation>Phonon GStreamer segítő nem érhető el.</translation>
</message>
<message>
<location line="+4"/>
<source>Choose render method automatically</source>
- <translation>Render eljárás automatikus kiválasztása</translation>
+ <translation>Válasszon automatikusan egy renderelési módot</translation>
</message>
<message>
<location line="+2"/>
@@ -61,7 +61,8 @@
<message>
<location line="+0"/>
<source>Use X11 Overlays</source>
- <translation>X11 borítás használata</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Használja az X11 átlapolást</translation>
</message>
<message>
<location line="+3"/>
@@ -70,72 +71,76 @@
<translation>OpenGL</translation>
</message>
<message>
- <location line="+0"/>
<source>Use OpenGL if avaiable</source>
- <translation>OpenGL használata, ha rendelkezésre áll</translation>
+ <translation type="obsolete">Használja az OpenGL-t ha elérhető</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Use OpenGL if available</source>
+ <translation>Használja az OpenGL-t ha elérhető</translation>
</message>
<message>
<location line="+2"/>
<location line="+1"/>
<source>Software</source>
- <translation>Szoftver</translation>
+ <translation>Szoftveres</translation>
</message>
<message>
<location line="+0"/>
<source>Use simple software rendering</source>
- <translation>Egyszerű szoftver adás használata</translation>
+ <translation>Használjon szoftveres renderelést</translation>
</message>
<message>
<location line="+27"/>
<source>No changes to be saved.</source>
- <translation>A változtatások nincsenek elmentve.</translation>
+ <translation>Nem történt változás.</translation>
</message>
<message>
<location line="+4"/>
<source>Saving changes...</source>
- <translation>Változtatások elmentése...</translation>
+ <translation>Változások mentése...</translation>
</message>
<message>
<location line="+48"/>
<source>Over The Spot</source>
- <translation>Célon túlmenően</translation>
+ <translation>Over The Spot</translation>
</message>
<message>
<location line="+2"/>
<source>Off The Spot</source>
- <translation>Elkalandozás</translation>
+ <translation>Off The Spot</translation>
</message>
<message>
<location line="+2"/>
<source>Root</source>
- <translation>Rendszergazda</translation>
+ <translation>Root</translation>
</message>
<message>
<location line="+466"/>
<source>Select a Directory</source>
- <translation>Egy könyvtár kiválasztása</translation>
+ <translation>Válasszon egy könyvtárat</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) 2010 Nokia Corporation and/or its subsidiary(-ies).</source>
- <translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Verzió %2&lt;br/&gt;&lt;br/&gt;Szerzői jog (C) 2010 Nokia vállalat és/vagy leányvállalata(i).</translation>
+ <translation>&lt;h3&gt;%1&lt;/h3&gt;&lt;br/&gt;Verzió %2&lt;br/&gt;&lt;br/&gt;Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</translation>
</message>
<message>
<location line="+3"/>
<location line="+1"/>
<location line="+8"/>
<source>Qt Configuration</source>
- <translation>Qt Konfiguráció</translation>
+ <translation>Qt beállítás</translation>
</message>
<message>
<location line="+22"/>
<source>Save Changes</source>
- <translation>Változtatások elmentése</translation>
+ <translation>Változások mentése</translation>
</message>
<message>
<location line="+1"/>
<source>Save changes to settings?</source>
- <translation>Változtatások elmentése a beállításokba ?</translation>
+ <translation>Menti a beállítások változását?</translation>
</message>
<message>
<location line="+1"/>
@@ -150,416 +155,395 @@
<message>
<location line="+0"/>
<source>&amp;Cancel</source>
- <translation>&amp;Mégse</translation>
+ <translation>&amp;Mégsem</translation>
</message>
</context>
<context>
<name>MainWindowBase</name>
<message>
- <location filename="../tools/qtconfig/mainwindowbase.ui" line="+54"/>
+ <location filename="../tools/qtconfig/mainwindowbase.ui"/>
<source>Qt Configuration</source>
- <translation>Qt Konfiguráció
-</translation>
+ <translation>Qt beállítás</translation>
</message>
<message>
- <location line="+35"/>
+ <location/>
<source>Appearance</source>
- <translation>Feltűnés</translation>
+ <translation>Megjelenés</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>GUI Style</source>
- <translation>GUI Stílus</translation>
+ <translation>GUI stílus</translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Select GUI &amp;Style:</source>
- <translation>GUI &amp;Stílus kiválasztása:</translation>
+ <translation>Válasszon egy &amp;stílust:</translation>
</message>
<message>
- <location line="+88"/>
- <source>Build Palette</source>
- <translation>Építési paletta</translation>
+ <location/>
+ <source>Preview</source>
+ <translation>Előnézet</translation>
</message>
<message>
- <location line="+12"/>
- <source>&amp;3-D Effects:</source>
- <translation>&amp;3 D Hatások:</translation>
+ <location/>
+ <source>Select &amp;Palette:</source>
+ <translation>Előnézet &amp;választása:</translation>
</message>
<message>
- <location line="+31"/>
- <source>Window Back&amp;ground:</source>
- <translation>Ablak Hát&amp;tér:</translation>
+ <location/>
+ <source>Active Palette</source>
+ <translation>Aktív elemek</translation>
</message>
<message>
- <location line="+35"/>
- <source>&amp;Tune Palette...</source>
- <translation>&amp;Hangolási paletta...</translation>
+ <location/>
+ <source>Inactive Palette</source>
+ <translation>Inaktív elemek</translation>
</message>
<message>
- <location line="+10"/>
- <source>Please use the KDE Control Center to set the palette.</source>
- <translation>Kérem használja a KDE Vezérlő Központot a paletta beállításához.</translation>
+ <location/>
+ <source>Disabled Palette</source>
+ <translation>Letiltott elemek</translation>
</message>
<message>
- <location line="-154"/>
- <source>Preview</source>
- <translation>Előnézet</translation>
+ <location/>
+ <source>Build Palette</source>
+ <translation>Paletta felépítése</translation>
</message>
<message>
- <location line="+6"/>
- <source>Select &amp;Palette:</source>
- <translation>&amp;Paletta kiválasztása:</translation>
+ <location/>
+ <source>&amp;3-D Effects:</source>
+ <translation>&amp;3-D effektek:</translation>
</message>
<message>
- <location line="+11"/>
- <source>Active Palette</source>
- <translation>Aktív paletta</translation>
+ <location/>
+ <source>Window Back&amp;ground:</source>
+ <translation>Ablak &amp;háttér:</translation>
</message>
<message>
- <location line="+5"/>
- <source>Inactive Palette</source>
- <translation>Inaktív paletta</translation>
+ <location/>
+ <source>&amp;Tune Palette...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
- <source>Disabled Palette</source>
- <translation>Tiltott paletta</translation>
+ <location/>
+ <source>Please use the KDE Control Center to set the palette.</source>
+ <translation>Kérem, használja a KDE vezérlőközpontot a paletta beállításához.</translation>
</message>
<message>
- <location line="+138"/>
+ <location/>
<source>Fonts</source>
- <translation>Betűk</translation>
+ <translation>Betűtípusok</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Default Font</source>
- <translation>Alapértelmezett betű</translation>
+ <translation>Alapértelmezett betűtípus</translation>
</message>
<message>
- <location line="+45"/>
+ <location/>
<source>&amp;Style:</source>
<translation>&amp;Stílus:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;Point Size:</source>
- <translation>&amp;Pont méret:</translation>
+ <translation>&amp;Pontméret:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>F&amp;amily:</source>
- <translation>Csa&amp;lád:</translation>
+ <translation>&amp;Család:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Sample Text</source>
- <translation>Minta szöveg</translation>
+ <translation>Példa szöveg</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Font Substitution</source>
- <translation>Betű helyettesítés</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>S&amp;elect or Enter a Family:</source>
- <translation>Egy család ki&amp;választása vgy bevitele:</translation>
+ <translation>Válassza ki, vagy írja b&amp;íe a betűcsaládot:</translation>
</message>
<message>
- <location line="+38"/>
+ <location/>
<source>Current Substitutions:</source>
- <translation>Aktuális helyettesítés:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
- <location line="+501"/>
+ <location/>
<source>Up</source>
<translation>Fel</translation>
</message>
<message>
- <location line="-494"/>
- <location line="+508"/>
+ <location/>
<source>Down</source>
<translation>Le</translation>
</message>
<message>
- <location line="-501"/>
- <location line="+494"/>
+ <location/>
<source>Remove</source>
- <translation>Eltávolítás</translation>
+ <translation>Törlés</translation>
</message>
<message>
- <location line="-464"/>
+ <location/>
<source>Select s&amp;ubstitute Family:</source>
- <translation>Család &amp;helyettesítésének kiválasztása:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+20"/>
- <location line="+487"/>
+ <location/>
<source>Add</source>
- <translation>Hozzáad</translation>
+ <translation>Hozzáadás</translation>
</message>
<message>
- <location line="-474"/>
+ <location/>
<source>Interface</source>
- <translation>Interfész</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Interfész</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Feel Settings</source>
- <translation>Érzet beállítások</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
- <location line="+26"/>
+ <location/>
<source> ms</source>
- <translation> ms</translation>
+ <translation></translation>
</message>
<message>
- <location line="-13"/>
+ <location/>
<source>&amp;Double Click Interval:</source>
- <translation>&amp;Dupla kattintási intervallum:</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">&amp;Dupla kattintás sebessége:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>No blinking</source>
<translation>Nincs villogás</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>&amp;Cursor Flash Time:</source>
- <translation>&amp;Kurzor flash idő:</translation>
+ <translation>&amp;Kurzor villogás sebessége:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source> lines</source>
- <translation>sorok</translation>
+ <translation> sor</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Wheel &amp;Scroll Lines:</source>
- <translation>Kerék sor &amp;görgetés:</translation>
+ <translation>Görgetett &amp;sorok száma:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Resolve symlinks in URLs</source>
- <translation>URL-ben található szimlinkek megoldása</translation>
+ <translation>Szimbolikus linkek feloldása az URL-ekben</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>GUI Effects</source>
- <translation>GUI hatások</translation>
+ <translation>GUI effektek</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>&amp;Enable</source>
<translation>&amp;Engedélyezés</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Alt+E</source>
- <translation>Alt+E</translation>
+ <translation></translation>
</message>
<message>
- <location line="+22"/>
+ <location/>
<source>&amp;Menu Effect:</source>
- <translation>&amp;Menü hatás:</translation>
+ <translation>&amp;Menü effekt:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>C&amp;omboBox Effect:</source>
- <translation>C&amp;omboBox hatás:</translation>
+ <translation>&amp;Legördülő lista effekt:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>&amp;ToolTip Effect:</source>
- <translation>&amp;Eszköz tipp hatás:</translation>
+ <translation>&amp;ToolTip effekt:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Tool&amp;Box Effect:</source>
- <translation>Eszköz&amp;doboz hatás:</translation>
+ <translation>Eszköz&amp;tár effekt:</translation>
</message>
<message>
- <location line="+17"/>
- <location line="+19"/>
- <location line="+14"/>
- <location line="+19"/>
+ <location/>
<source>Disable</source>
- <translation>Tiltás</translation>
+ <translation>Letiltás</translation>
</message>
<message>
- <location line="-47"/>
- <location line="+19"/>
- <location line="+14"/>
- <location line="+19"/>
+ <location/>
<source>Animate</source>
- <translation>Animálás</translation>
+ <translation>Animáció</translation>
</message>
<message>
- <location line="-47"/>
- <location line="+33"/>
+ <location/>
<source>Fade</source>
- <translation>Elhalkulás</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+28"/>
+ <location/>
<source>Global Strut</source>
- <translation>Globális struktúra</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Minimum &amp;Width:</source>
- <translation>Minimum &amp;szélesség:</translation>
+ <translation>Minimum s&amp;zélesség:</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Minimum Hei&amp;ght:</source>
- <translation>Minimum ma&amp;gasség:</translation>
+ <translation>Minimum &amp;magasság:</translation>
</message>
<message>
- <location line="+10"/>
- <location line="+10"/>
+ <location/>
<source> pixels</source>
- <translation>pixelek</translation>
+ <translation> pixel</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Enhanced support for languages written right-to-left</source>
- <translation>Kiterjesztett támogatás a jobbról balra írt nyelvek számára</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Javított támogatás balról jobbra író nyelvekhez</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>XIM Input Style:</source>
<translation>XIM beviteli stílus:</translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>On The Spot</source>
- <translation>Azon nyomban</translation>
+ <translation>On The Spot</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Over The Spot</source>
- <translation>Célon túlmenően</translation>
+ <translation>Over The Spot</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Off The Spot</source>
- <translation>Elkalandozás</translation>
+ <translation>Off The Spot</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Root</source>
- <translation>Rendszergazda</translation>
+ <translation>Root</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>Default Input Method:</source>
- <translation>Alapértelmezett beviteli eljárás:</translation>
+ <translation>Alapértelmezett beviteli mód:</translation>
</message>
<message>
- <location line="+31"/>
+ <location/>
<source>Printer</source>
<translation>Nyomtató</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Enable Font embedding</source>
- <translation>Betű beágyazás engedélyezése</translation>
+ <translation>Font beágyazás engedélyezése</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>Font Paths</source>
- <translation>Betű útvonalak</translation>
+ <translation>Fontok útvonalai</translation>
</message>
<message>
- <location line="+77"/>
+ <location/>
<source>Browse...</source>
- <translation>Böngészés...</translation>
+ <translation>Tallózás...</translation>
</message>
<message>
- <location line="+7"/>
+ <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>Nyomja meg a &lt;b&gt;Böngészés&lt;/b&gt; gombot vagy lépjen be egy könyvtárba és nyomja meg az Enter gombot hogy hozzáadja őket a listához.</translation>
+ <translation>Nyomja meg a &lt;b&gt;Tallózás&lt;b&gt; gombot, vagy írja be a mappa elérési útját, majd nyomja meg az Enter-t a listához adáshoz.</translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>Phonon</source>
- <translation>Phonon</translation>
+ <translation></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>About Phonon</source>
- <translation>Phonon-ról</translation>
+ <translation>A Phonon névjegye</translation>
</message>
<message>
- <location line="+6"/>
- <location line="+44"/>
+ <location/>
<source>Current Version:</source>
- <translation>Aktuális verzió:</translation>
+ <translation>Jelenlegi verzió:</translation>
</message>
<message>
- <location line="-37"/>
- <location line="+44"/>
+ <location/>
<source>Not available</source>
- <translation>Nem elérhető</translation>
+ <translation>Nem érhető el</translation>
</message>
<message>
- <location line="-37"/>
- <location line="+44"/>
+ <location/>
<source>Website:</source>
- <translation>Weblap:</translation>
+ <translation>Weboldal:</translation>
</message>
<message>
- <location line="-37"/>
+ <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; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&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;</source>
- <translation>&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; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&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>
+ <translation></translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>About GStreamer</source>
- <translation>GStreamer-ről</translation>
+ <translation>A GStreamer névjegye</translation>
</message>
<message>
- <location line="+27"/>
+ <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; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&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;</source>
- <translation>&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; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&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>
+ <translation></translation>
</message>
<message>
- <location line="+17"/>
+ <location/>
<source>GStreamer backend settings</source>
- <translation>GStreamer backend beállítások</translation>
+ <translation>A GStreamer backend beállításai</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Preferred audio sink:</source>
- <translation>Preferrált audió tartály:</translation>
+ <translatorcomment>CHECKIT</translatorcomment>
+ <translation type="unfinished">Preferált hangrendszer:</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Preferred render method:</source>
- <translation>Preferrált render eljárás:</translation>
+ <translation>Preferált renderelési mód:</translation>
</message>
<message>
- <location line="+13"/>
+ <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; }
@@ -569,271 +553,270 @@ p, li { white-space: pre-wrap; }
&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; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
-&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;Megjegyzés: Ezekben a beállításokban történő változtatások megakadályozhatják az alkalmazásokat a megfelelő betöltéstől.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+&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;Figyelem: ezen beállítások megváltoztatása egyes alkalmazások indulásában gondokat okozhat.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
- <location line="+68"/>
+ <location/>
<source>&amp;File</source>
<translation>&amp;Fájl</translation>
</message>
<message>
- <location line="+19"/>
+ <location/>
<source>&amp;Help</source>
<translation>&amp;Súgó</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>&amp;Save</source>
- <translation>&amp;Mentés</translation>
+ <translation>M&amp;entés</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Save</source>
<translation>Mentés</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Ctrl+S</source>
- <translation>Ctrl+S</translation>
+ <translation></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>E&amp;xit</source>
<translation>&amp;Kilépés</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Exit</source>
<translation>Kilépés</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>&amp;About</source>
<translation>&amp;Névjegy</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>About</source>
<translation>Névjegy</translation>
</message>
<message>
- <location line="+8"/>
+ <location/>
<source>About &amp;Qt</source>
- <translation>&amp;Qt-ról</translation>
+ <translation>&amp;Qt névjegy</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>About Qt</source>
- <translation>Qt-ról</translation>
+ <translation>A Qt névjegye</translation>
</message>
</context>
<context>
<name>PaletteEditorAdvancedBase</name>
<message>
- <location filename="../tools/qtconfig/paletteeditoradvancedbase.ui" line="+61"/>
+ <location filename="../tools/qtconfig/paletteeditoradvancedbase.ui"/>
<source>Tune Palette</source>
- <translation>Hangoló paletta</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <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;Paletta szerkesztése&lt;/b&gt;&lt;p&gt;Az aktuális widget vagy űrlap palettájának megváltoztatása&lt;/p&gt;&lt;p&gt;Egy generált paletta használata vagy szín kiválasztás mindegyik színcsoport és szín szabályra.&lt;/p&gt;&lt;p&gt;A paletta tesztelhető különböző widget szerkezetekkel az előnézeti szegmensben.&lt;/p&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>Select &amp;Palette:</source>
- <translation>&amp;Paletta kiválasztása:</translation>
+ <translation type="unfinished">Előnézet &amp;választása:</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>Active Palette</source>
- <translation>Aktív paletta</translation>
+ <translation type="unfinished">Aktív elemek</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Inactive Palette</source>
- <translation>Inaktív paletta</translation>
+ <translation type="unfinished">Inaktív elemek</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Disabled Palette</source>
- <translation>Paletta tiltása</translation>
+ <translation type="unfinished">Letiltott elemek</translation>
</message>
<message>
- <location line="+21"/>
+ <location/>
<source>Auto</source>
- <translation>Auto</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Build inactive palette from active</source>
- <translation>Inaktív paletta építése aktívból</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>Build disabled palette from active</source>
- <translation>Tiltott paletta építése aktívból</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+16"/>
+ <location/>
<source>Central color &amp;roles</source>
- <translation>Központi szín &amp;szabályok</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>Choose central color role</source>
- <translation>Központi szín szabályok kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <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;Egy szín szabály kiválasztása.&lt;/b&gt;&lt;p&gt;Az elérhetp központi szabályok: &lt;ul&gt; &lt;li&gt;Ablak - általános háttér szín.&lt;/li&gt; &lt;li&gt;AblakSzöveg - általános előtér szín. &lt;/li&gt; &lt;li&gt;Alap - háttérszínként használva példul szöveg beviteli widgetekre, rendszerint fehér vagy más világos színekre. &lt;/li&gt; &lt;li&gt;Szöveg - az előtér szín van haszálva a bázissal. Rendszerint ez ugyanaz, mint az AblakSzöveg, amilyen esetekben egy jó ellentétet kell biztosítania mindkettőre Ablakkal és Bázissal. &lt;/li&gt; &lt;li&gt;Gomb - általános gomb háttér szín, ahol a gomboknak szüksége van egy háttére ami különbözik az ablakétól, mint a Macintosh stílusban. &lt;/li&gt; &lt;li&gt;GombSzöveg - egy előtér szín van használva gomb színnel. &lt;/li&gt; &lt;li&gt;Kihangsúlyozás - egy szín a kiválasztott vagy kihangsúlyozott elem jelölésére. &lt;/li&gt; &lt;li&gt;KihangsúlyozottSzöveg - egy szöveg szín, ami ellentétes a kihangsúlyozással. &lt;/li&gt; &lt;li&gt;VilágosSzöveg - egy szöveg szín, ami nagyon különböző az AblakSzövegtől és a kontrasztoktól jól van példul feketével. &lt;/li&gt; &lt;/ul&gt; &lt;/p&gt;</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location/>
<source>Window</source>
- <translation>Ablak</translation>
+ <translation type="unfinished">Ablak</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>WindowText</source>
- <translation>AblakSzöveg</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Button</source>
- <translation>Gomb</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Base</source>
- <translation>Bázis</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Text</source>
<translation>Szöveg</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>BrightText</source>
- <translation>VilágosSzöveg</translation>
+ <translation></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>ButtonText</source>
- <translation>GombSzöveg</translation>
+ <translation></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Highlight</source>
- <translation>Kihangsúlyozás</translation>
+ <translation></translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>HighlightedText</source>
- <translation>KihangsúlyozottSzöveg</translation>
+ <translation></translation>
</message>
<message>
- <location line="+52"/>
+ <location/>
<source>&amp;Select Color:</source>
- <translation>Szín &amp;kiválasztása:</translation>
+ <translation>&amp;Szín választás:</translation>
</message>
<message>
- <location line="+24"/>
- <location line="+171"/>
+ <location/>
<source>Choose a color</source>
- <translation>Egy szín kiválasztása</translation>
+ <translation>Válasszon színt</translation>
</message>
<message>
- <location line="-168"/>
+ <location/>
<source>Choose a color for the selected central color role.</source>
- <translation>Egy szín kiválasztása a kiválasztott központi szín szabályokra.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+15"/>
+ <location/>
<source>3-D shadow &amp;effects</source>
- <translation>3 D árnyék &amp;hatások</translation>
+ <translation>3D árnyék &amp;effektek</translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>Build &amp;from button color</source>
- <translation>Építés gomb szín&amp;ből</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Generate shadings</source>
- <translation>Árnyékolások generálása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>Check to let 3D-effect colors be calculated from button-color.</source>
- <translation></translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Choose 3D-effect color role</source>
- <translation>3D hatás szín szabályok kiválasztása</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+3"/>
+ <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></translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+4"/>
+ <location/>
<source>Light</source>
<translation>Világos</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Midlight</source>
- <translation>Központi fény</translation>
+ <translation>Sötétebb</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Mid</source>
- <translation>Középső</translation>
+ <translation>Közepes</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Dark</source>
<translation>Sötét</translation>
</message>
<message>
- <location line="+5"/>
+ <location/>
<source>Shadow</source>
<translation>Árnyék</translation>
</message>
<message>
- <location line="+54"/>
+ <location/>
<source>Select Co&amp;lor:</source>
<translation>&amp;Szín kiválasztása:</translation>
</message>
<message>
- <location line="+27"/>
+ <location/>
<source>Choose a color for the selected effect color role.</source>
- <translation>Egy szín kiválasztása a kiválaszott hatás szín szabályra.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+42"/>
+ <location/>
<source>OK</source>
<translation>OK</translation>
</message>
<message>
- <location line="+9"/>
+ <location/>
<source>Close dialog and apply all changes.</source>
- <translation>Párbeszéd ablak bezárása és az összes változtatás alkalmazása.</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Cancel</source>
- <translation>Mégse</translation>
+ <translation>Mégsem</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>Close dialog and discard all changes.</source>
- <translation>Párbeszédablak bezárása és az összes változtatás eldobása.</translation>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -841,68 +824,68 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../tools/qtconfig/previewframe.cpp" line="+81"/>
<source>Desktop settings will only take effect after an application restart.</source>
- <translation>Az asztal beállítások kizárólag az alkalmazás újraindítása utan lépnek érvénybe.</translation>
+ <translation>Az asztal új beállításai kizárólag az alkalmazás újraindítása utan lépnek érvénybe.</translation>
</message>
</context>
<context>
<name>PreviewWidgetBase</name>
<message>
- <location filename="../tools/qtconfig/previewwidgetbase.ui" line="+66"/>
+ <location filename="../tools/qtconfig/previewwidgetbase.ui"/>
<source>Preview Window</source>
- <translation>Előnézet ablak</translation>
+ <translation>Előnézeti ablak</translation>
</message>
<message>
- <location line="+40"/>
+ <location/>
<source>ButtonGroup</source>
- <translation>GombCsoport</translation>
+ <translation></translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>RadioButton1</source>
- <translation>RádioGomb1</translation>
+ <translation></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>RadioButton2</source>
- <translation>RádioGomb2</translation>
+ <translation></translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>RadioButton3</source>
- <translation>RádioGomb3</translation>
+ <translation></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>ButtonGroup2</source>
- <translation>GombCsoport2</translation>
+ <translation></translation>
</message>
<message>
- <location line="+18"/>
+ <location/>
<source>CheckBox1</source>
- <translation>Jelölőnégyzet1</translation>
+ <translation></translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>CheckBox2</source>
- <translation>Jelölőnégyzet2</translation>
+ <translation></translation>
</message>
<message>
- <location line="+36"/>
+ <location/>
<source>LineEdit</source>
- <translation>SorSzerkesztés</translation>
+ <translation></translation>
</message>
<message>
- <location line="+11"/>
+ <location/>
<source>ComboBox</source>
- <translation>ComboBox</translation>
+ <translation></translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>PushButton</source>
- <translation>NyomóGomb</translation>
+ <translation></translation>
</message>
<message>
- <location line="+41"/>
+ <location/>
<source>&lt;p&gt;
&lt;a href=&quot;http://qt.nokia.com&quot;&gt;http://qt.nokia.com&lt;/a&gt;
&lt;/p&gt;
diff --git a/translations/qvfb_hu.ts b/translations/qvfb_hu.ts
index bb8c931..9e49d26 100644
--- a/translations/qvfb_hu.ts
+++ b/translations/qvfb_hu.ts
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.0" language="hu">
+<TS version="2.0" language="hu_HU">
<context>
<name>AnimationSaveWidget</name>
<message>
- <location filename="../tools/qvfb/qvfb.cpp" line="+865"/>
+ <location filename="../tools/qvfb/qvfb.cpp" line="+868"/>
<location line="+204"/>
<source>Record</source>
- <translation>Rekord</translation>
+ <translation>Felvétel</translation>
</message>
<message>
<location line="-202"/>
@@ -22,24 +22,24 @@
<message>
<location line="+18"/>
<source>Save in MPEG format (requires netpbm package installed)</source>
- <translation>MPEG formátumba mentés (netpbm csomag telepítése szükséges)</translation>
+ <translation>Mentés MPEG formátumban (a netpbm csomagnak telepítve kell lenni)</translation>
</message>
<message>
<location line="+8"/>
<location line="+206"/>
<source>Click record to begin recording.</source>
- <translation>Kattintson az írásra az írás megkezdéséhez.</translation>
+ <translation>Kattintson ide a felvétel indításához.</translation>
</message>
<message>
<location line="-115"/>
<location line="+147"/>
<source>Finished saving.</source>
- <translation>Befejezett mentés.</translation>
+ <translation>Mentés befejezve.</translation>
</message>
<message>
<location line="-63"/>
<source>Paused. Click record to resume, or save if done.</source>
- <translation>Szüneteltetve. Kattintson az írásra a folytatáshoz, vagy mentse el, ha kész.</translation>
+ <translation>Leállítva. Kattintson a felvétel gombra a folytatáshoz, vagy a mentéshez, ha végzett.</translation>
</message>
<message>
<location line="+6"/>
@@ -65,204 +65,205 @@
<message>
<location line="+2"/>
<source>Save canceled.</source>
- <translation>Megnés visszavonva.</translation>
+ <translation>Mentés megszakítva.</translation>
</message>
<message>
<location line="+9"/>
<source>Save failed!</source>
- <translation>Mentési hiba!</translation>
+ <translation>A mentés sikertelen!</translation>
</message>
</context>
<context>
<name>Config</name>
<message>
- <location filename="../tools/qvfb/config.ui" line="+54"/>
+ <location filename="../tools/qvfb/config.ui"/>
<source>Configure</source>
- <translation>Konfigurálás</translation>
+ <translation>Beállítás</translation>
</message>
<message>
- <location line="+29"/>
+ <location/>
<source>Size</source>
<translation>Méret</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>176x220 &quot;SmartPhone&quot;</source>
- <translation>176x220 &quot;ÜgyesTelefon&quot;</translation>
+ <translation>176x220 &quot;SmartPhone&quot;</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>240x320 &quot;PDA&quot;</source>
<translation>240x320 &quot;PDA&quot;</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>320x240 &quot;TV&quot; / &quot;QVGA&quot;</source>
<translation>320x240 &quot;TV&quot; / &quot;QVGA&quot;</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>640x480 &quot;VGA&quot;</source>
<translation>640x480 &quot;VGA&quot;</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>800x600</source>
<translation>800x600</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>1024x768</source>
<translation>1024x768</translation>
</message>
<message>
- <location line="+21"/>
+ <location/>
<source>Custom</source>
- <translation>Szokásos</translation>
+ <translation>Egyedi</translation>
</message>
<message>
- <location line="+44"/>
+ <location/>
<source>Depth</source>
- <translation>Mélység</translation>
+ <translation>Színmélység</translation>
</message>
<message>
- <location line="+6"/>
+ <location/>
<source>1 bit monochrome</source>
- <translation>1 bites egyszínű</translation>
+ <translation>1 bites monokróm</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>2 bit grayscale</source>
- <translation>2 bites szürke skálázás</translation>
+ <translation>2 bites szürkeárnyalatos</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>4 bit grayscale</source>
- <translation>4 bites szürke slálázás</translation>
+ <translation>4 bites szürkeárnyalatos</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>8 bit</source>
<translation>8 bites</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>12 (16) bit</source>
<translation>12 (16) bites</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>15 bit</source>
- <translation>15 bites</translation>
+ <translation></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>16 bit</source>
<translation>16 bites</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>18 bit</source>
- <translation>18 bites</translation>
+ <translation></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>24 bit</source>
- <translation>24 bites</translation>
+ <translation></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>32 bit</source>
- <translation>32 bites</translation>
+ <translation></translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>32 bit ARGB</source>
- <translation>32 bites ARGB</translation>
+ <translation>32 bit ARGB-vel</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Swap red and blue channels</source>
- <translation>Piros és kék csatornák felcserélése</translation>
+ <translation>Cserélje fel a piros és kék csatornát</translation>
</message>
<message>
- <location line="+3"/>
+ <location/>
<source>BGR format</source>
<translation>BGR formátum</translation>
</message>
<message>
- <location line="+20"/>
+ <location/>
<source>Skin</source>
- <translation>Szkin</translation>
+ <translation>Téma</translation>
</message>
<message>
- <location line="+14"/>
+ <location/>
<source>None</source>
- <translation>Semmi</translation>
+ <translation>Nincs</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Emulate touch screen (no mouse move)</source>
- <translatorcomment>указателя?</translatorcomment>
- <translation>Érintő képernyő emulálása (nincs egér mozgatás)</translation>
+ <translation>Érintőképernyő szimulálása (nincs egérmozgás)</translation>
</message>
<message>
- <location line="+7"/>
+ <location/>
<source>Emulate LCD screen (Only with fixed zoom of 3.0 times magnification)</source>
- <translation>LCD kijelző emulálása (Kizárólag egy fix 3-szoros nagyítással)</translation>
+ <translation>LCD képernyő emulálása (Kizárólag egy fix 3-szoros nagyítással)</translation>
</message>
<message>
- <location line="+26"/>
+ <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;Vegye figyelembe azt, hogy bármely alkalmazás, amely virtuális framebuffer-t használ, be lesz fejezve, ha megváltoztatja a méretet vagy a mélységet &lt;i&gt;felül&lt;/i&gt;. Szabadon módosíthatja a Gamma-t &lt;i&gt;alul&lt;/i&gt;.</translation>
+ <translation>&lt;p&gt;Bármely, a virtuális framebuffert használó alkalmazás leáll, ha &lt;i&gt;fent&lt;/i&gt;megváltoztatja a méretet vagy a színmélységet. A Gamma értéket szabadon módosíthatja.</translation>
</message>
<message>
- <location line="+10"/>
+ <location/>
<source>Gamma</source>
<translation>Gamma</translation>
</message>
<message>
- <location line="+12"/>
+ <location/>
<source>Blue</source>
<translation>Kék</translation>
</message>
<message>
- <location line="+489"/>
- <location line="+496"/>
- <location line="+14"/>
- <location line="+496"/>
+ <location/>
<source>1.0</source>
- <translation>1.0</translation>
+ <translation></translation>
</message>
<message>
- <location line="-999"/>
+ <location/>
<source>Green</source>
<translation>Zöld</translation>
</message>
<message>
- <location line="+496"/>
+ <location/>
<source>All</source>
<translation>Mind</translation>
</message>
<message>
- <location line="+496"/>
+ <location/>
<source>Red</source>
<translation>Piros</translation>
</message>
<message>
- <location line="+496"/>
+ <location/>
<source>Set all to 1.0</source>
- <translation>Az összes 1.0-ra állítása</translation>
+ <translation>Mindegyik legyen 1.0</translation>
</message>
<message>
- <location line="+34"/>
+ <location/>
<source>&amp;OK</source>
<translation>&amp;OK</translation>
</message>
<message>
- <location line="+13"/>
+ <location/>
<source>&amp;Cancel</source>
- <translation>&amp;Mégse</translation>
+ <translation>&amp;Mégsem</translation>
+ </message>
+ <message>
+ <location/>
+ <source>800x480</source>
+ <translation>800x480</translation>
</message>
</context>
<context>
@@ -270,75 +271,75 @@
<message>
<location filename="../tools/shared/deviceskin/deviceskin.cpp" line="+79"/>
<source>The image file &apos;%1&apos; could not be loaded.</source>
- <translation>Nem sikerült betölteni a(z) &apos;%1&apos; kép fájlt.</translation>
+ <translation>A képfájl (%1) nem tölthető be.</translation>
</message>
<message>
<location line="+64"/>
<source>The skin directory &apos;%1&apos; does not contain a configuration file.</source>
- <translation>A(z) &apos;%1&apos; skin könyvtár nem tartalmaz egyetlen konfigurációs fájlt sem.</translation>
+ <translation>A téma könyvtár (%1) nem tartalmaz konfigurációs fájlt.</translation>
</message>
<message>
<location line="+5"/>
<source>The skin configuration file &apos;%1&apos; could not be opened.</source>
- <translation>Nem lehetett megnyitni a(z) &apos;%1&apos; skin konfigurációs fájlt.</translation>
+ <translation>A téma konfigurációs fájlja (%1) nem nyitható meg.</translation>
</message>
<message>
<location line="+6"/>
<source>The skin configuration file &apos;%1&apos; could not be read: %2</source>
- <translation>Nem lehetett olvasni a(z) &apos;%1&apos; skin konfigurációs fájlt: %2</translation>
+ <translation>A téma kofnigurációs fájlja (%1) nem olvasható: %2</translation>
</message>
<message>
<location line="+70"/>
<source>Syntax error: %1</source>
- <translation>Szintakszis hiba: %1</translation>
+ <translation>Szintaxis hiba : %1</translation>
</message>
<message>
<location line="+21"/>
<source>The skin &quot;up&quot; image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1 &apos;fel&apos; skinezett kép fájl nem létezik.</translation>
+ <translation>A témából hiányzik a &quot;felfelé&quot; kép (%1).</translation>
</message>
<message>
<location line="+10"/>
<source>The skin &quot;down&quot; image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1 &apos;le&apos; skinezett kép fájl nem létezik.</translation>
+ <translation>A témából hiányzik a &quot;lefelé&quot; kép (%1).</translation>
</message>
<message>
<location line="+11"/>
<source>The skin &quot;closed&quot; image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1&apos; skin &quot;bezárt&quot; kép fájl nem létezik.</translation>
+ <translation>A témából hiányzik a &quot;bezárva&quot; kép (%1).</translation>
</message>
<message>
<location line="+12"/>
<source>The skin cursor image file &apos;%1&apos; does not exist.</source>
- <translation>A(z) &apos;%1&apos; skin kurzor kép fájl nem létezik.</translation>
+ <translation>A témából hiányzik a kurzor (%1).</translation>
</message>
<message>
<location line="+25"/>
<source>Syntax error in area definition: %1</source>
- <translation>Szintaszis hiba a terület definícióban: %1</translation>
+ <translation>Szintaxis hiba a területdefiníciónál: %1</translation>
</message>
<message>
<location line="+38"/>
<source>Mismatch in number of areas, expected %1, got %2.</source>
- <translation>Nem megfelelő terület szám, %1 várt, %2 kapott.</translation>
+ <translation>A területek száma nem megfelelő, csak %1 van %2 helyett.</translation>
</message>
</context>
<context>
<name>QVFb</name>
<message>
- <location filename="../tools/qvfb/qvfb.cpp" line="-501"/>
+ <location filename="../tools/qvfb/qvfb.cpp" line="-504"/>
<source>Browse...</source>
- <translation>Böngészés...</translation>
+ <translation>Tallózás...</translation>
</message>
<message>
- <location line="+140"/>
+ <location line="+143"/>
<source>Load Custom Skin...</source>
- <translation>Szokásos skin betöltése...</translation>
+ <translation>Egyedi téma betöltése...</translation>
</message>
<message>
<location line="+1"/>
<source>All QVFB Skins (*.skin)</source>
- <translation>Minden QVFB skin (*.skin)</translation>
+ <translation>Minden QVFB téma (*.skin)</translation>
</message>
</context>
</TS>
diff --git a/translations/translations.pri b/translations/translations.pri
index 2edc89a..9ab72fc 100644
--- a/translations/translations.pri
+++ b/translations/translations.pri
@@ -13,7 +13,7 @@ LUPDATE += -locations relative -no-ui-lines
###### Qt Libraries
-QT_TS = ar cs da de es fr he hu ja_JP pl pt ru sk sl sv uk zh_CN zh_TW
+QT_TS = ar cs da de es fr he hu ja pl pt ru sk sl sv uk zh_CN zh_TW
ts-qt.commands = (cd $$QT_SOURCE_TREE/src && $$LUPDATE \
-I../include -I../include/Qt \
@@ -73,5 +73,8 @@ ts-qvfb.depends = sub-tools
ts.depends = ts-qt ts-designer ts-linguist ts-assistant ts-qtconfig ts-qvfb
+check-ts.commands = (cd $$PWD && perl check-ts.pl)
+check-ts.depends = ts
+
QMAKE_EXTRA_TARGETS += ts-qt ts-designer ts-linguist ts-assistant ts-qtconfig ts-qvfb \
- ts
+ ts check-ts
diff --git a/util/s60theme/main.cpp b/util/s60theme/main.cpp
index 7f38d5c..1234fd2 100644
--- a/util/s60theme/main.cpp
+++ b/util/s60theme/main.cpp
@@ -70,9 +70,9 @@ int main(int argc, char *argv[])
const QFileInfo inputInfo(input);
const QString output = QString::fromLatin1(argv[2]);
if (inputInfo.isDir())
- return S60ThemeConvert::convertDefaultThemeToBlob(input, output);
+ return S60ThemeConvert::convertDefaultThemeToBlob(input, output) ? 0 : 1;
else if (inputInfo.suffix().compare(QString::fromLatin1("tdf"), Qt::CaseInsensitive) == 0)
- return S60ThemeConvert::convertTdfToBlob(input, output);
+ return S60ThemeConvert::convertTdfToBlob(input, output) ? 0 : 1;
return help();
}
diff --git a/util/s60theme/s60themeconvert.cpp b/util/s60theme/s60themeconvert.cpp
index 7908055..b1e8022 100644
--- a/util/s60theme/s60themeconvert.cpp
+++ b/util/s60theme/s60themeconvert.cpp
@@ -45,6 +45,8 @@
#include <QtWebKit>
static const int pictureSize = 256;
+static const char* const msgPartNotInTdf = " Warning: The .tdf file does not have a part for ";
+static const char* const msgSvgNotFound = " Fatal: Could not find part .svg ";
void dumpPartPictures(const QHash<QString, QPicture> &partPictures) {
foreach (const QString &partKey, partPictures.keys()) {
@@ -84,6 +86,7 @@ private:
WebKitSVGRenderer::WebKitSVGRenderer(QWidget *parent)
: QWebView(parent)
{
+
connect(this, SIGNAL(loadFinished(bool)), SLOT(loadFinishedSlot(bool)));
setFixedSize(pictureSize, pictureSize);
QPalette pal = palette();
@@ -202,11 +205,19 @@ bool loadThemeFromTdf(const QString &tdfFile,
return false;
const QString tdfBasePath = QFileInfo(tdfFile).absolutePath();
WebKitSVGRenderer renderer;
- foreach(const QString& partKey, parsedPartSvgs.keys()) {
- const QString tdfFullName =
- tdfBasePath + QDir::separator() + parsedPartSvgs.value(partKey);
- if (!QFile(tdfFullName).exists())
- qWarning() << "Could not find part:" << parsedPartSvgs.value(partKey);
+ foreach (const QString &partKey, QS60Style::partKeys()) {
+ qDebug() << partKey;
+ QString tdfFullName;
+ if (parsedPartSvgs.contains(partKey)) {
+ tdfFullName = tdfBasePath + QDir::separator() + parsedPartSvgs.value(partKey);
+ } else {
+ qWarning() << msgPartNotInTdf << partKey;
+ tdfFullName = tdfBasePath + QDir::separator() + partKey + QLatin1String(".svg");
+ }
+ if (!QFile(tdfFullName).exists()) {
+ qWarning() << msgSvgNotFound << QDir::toNativeSeparators(tdfFullName);
+ return false;
+ }
const QPicture partPicture = renderer.svgToQPicture(tdfFullName);
parsedPartPictures.insert(partKey, partPicture);
}
@@ -276,8 +287,8 @@ bool loadDefaultTheme(const QString &themePath,
const QString partFileName = partKey + QLatin1String(".svg");
const QString partFile(dir.absolutePath() + QDir::separator() + partFileName);
if (!QFile::exists(partFile)) {
- qWarning() << "Could not find part:" << partFileName;
- continue;
+ qWarning() << msgSvgNotFound << partFileName;
+ return false;
}
const QPicture partPicture = renderer.svgToQPicture(partFile);
partPictures.insert(partKey, partPicture);