From a2a5a8c5e203fe9d55f9addba1533a30c6f2ba19 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Thu, 10 Jun 2010 18:54:11 +0200 Subject: Doc: Started organizing Symbian platform deployment information. Reviewed-by: Trust Me --- doc/src/deployment/deployment.qdoc | 27 ++++++++-- doc/src/external-resources.qdoc | 10 ++++ doc/src/platforms/symbian-introduction.qdoc | 76 +++++++++++++++++------------ 3 files changed, 78 insertions(+), 35 deletions(-) diff --git a/doc/src/deployment/deployment.qdoc b/doc/src/deployment/deployment.qdoc index 51974af..286c080 100644 --- a/doc/src/deployment/deployment.qdoc +++ b/doc/src/deployment/deployment.qdoc @@ -1472,8 +1472,10 @@ /*! \page deployment-symbian.html \contentspage Deploying Qt Applications + \ingroup qtsymbian + \title Deploying an Application on the Symbian Platform - \title Deploying an Application on the Symbian platform + \section1 Overview Applications are deployed to Symbian devices in signed \c .sis package files. The \c .sis file content is controlled with \c .pkg files. The \c .pkg file contains a set @@ -1483,10 +1485,17 @@ to end-users some changes are needed. This document describes what changes are typically needed and how to implement them. + \section1 Requirements + + Download the latest release of the Smart Installer from + \l{http://get.qt.nokia.com/nokiasmartinstaller/}, and install it on top + of the Qt package. + \section1 Static Linking - Qt for the Symbian platform does currently not support static linking of - Qt libraries. + Qt for the Symbian platform does not currently support static linking of + Qt libraries with application binaries. You will need to build shared + libraries as described below and link your application with them. \section1 Shared Libraries @@ -1532,7 +1541,7 @@ S60 3rd edition FP1, S60 3rd edition FP2 and S60 5th edition devices. Now we are ready to compile the application and create the application - deployment file. Run \c qmake to create Symbian specific makefiles, resources (\.rss) + deployment file. Run \c qmake to create Symbian specific makefiles, resources (\c .rss) and deployment packaging files (\c .pkg). And do build to create the application binaries and resources. @@ -1562,4 +1571,14 @@ For more information about creating a \c .sis file and installing it to device see also \l {The Symbian platform - Introduction to Qt#Installing your own applications}{here}. + \section1 Further Reading + + This document aims to cover the common case for developers who want to + deploy Qt applications on devices using the Smart Installer. It does not + aim to cover every possible way of installing applications, Qt and other + dependencies on a device. + + A wider selection of deployment methods is described in the + \l{Deploying a Qt Application article} on the Symbian Foundation + Developer Wiki. */ diff --git a/doc/src/external-resources.qdoc b/doc/src/external-resources.qdoc index 249c10a1..6f22f00 100644 --- a/doc/src/external-resources.qdoc +++ b/doc/src/external-resources.qdoc @@ -427,3 +427,13 @@ \externalpage http://opensource.org/licenses/bsd-license.php \title New and Modified BSD Licenses */ + +/*! + \externalpage http://developer.symbian.org/wiki/index.php/Platform_Security_%28Fundamentals_of_Symbian_C%2B%2B%29#Self-Signed_Applications + \title Symbian Platform Security +*/ + +/*! + \externalpage http://developer.symbian.org/wiki/index.php/Deploying_a_Qt_Application + \title Deploying a Qt Application article +*/ diff --git a/doc/src/platforms/symbian-introduction.qdoc b/doc/src/platforms/symbian-introduction.qdoc index 6ffc568..9563a8e 100644 --- a/doc/src/platforms/symbian-introduction.qdoc +++ b/doc/src/platforms/symbian-introduction.qdoc @@ -83,12 +83,12 @@ \tableofcontents - \section1 Required tools + \section1 Required Tools See \l{Qt for the Symbian platform Requirements} to see what tools are required to use Qt for the Symbian platform. - \section1 Installing Qt and running demos + \section1 Installing Qt and Running Demos Follow the instructions found in \l{Installing Qt on the Symbian platform from a Binary Package} to learn how to install Qt using a binary package and how to build and run Qt demos. @@ -96,7 +96,7 @@ Follow the instructions found in \l{Installing Qt on the Symbian platform} to learn how to install Qt using using source package and how to build and run the Qt demos. - \section1 Building your own applications + \section1 Building Your Own Applications If you are new to Qt development, have a look at \l{How to Learn Qt}. In general, the difference between developing a @@ -109,12 +109,19 @@ \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 0 For more information on how to use qmake have a look at the \l - {qmake Tutorial}. + {qmake Tutorial}. In particular, see the + \l{qmake Platform Notes#Symbian platform}{qmake Platform Notes} for + details of Symbian-specific build settings. Now you can build the Qt for the Symbian platform application with - standard build tools. By default, running \c make will produce binaries for - the emulator. However, the Symbian platform comes with several alternative - build targets, as shown in the table below: + standard build tools. + + \section2 Alternative Build Targets + + By default, running \c make will produce binaries for the emulator. + However, the Symbian platform comes with several alternative + build targets that can be used to create binaries for target hardware + and deploy them on devices, as shown in the table below: \table \row \o \c debug-winscw \o Build debug binaries for the emulator (default). @@ -144,19 +151,30 @@ To work on your project in Carbide, simply import the \c .pro file by right clicking on the project explorer and executing "Import...". - \section2 Smart Installer + \section1 Running Applications from the Command Line - The Smart Installer makes sure that deployed applications have all the Qt dependencies - they need to run on a device. + The application can be launched on the emulator using \c{make run} command. - Download the latest release of the Smart Installer from \l{http://get.qt.nokia.com/nokiasmartinstaller/}, - and install it on top of the Qt package. + The application can be launched on a device using \c{make runonphone} command. + When this command is invoked, a \c .sis file is first created as if \c{make sis} + command was invoked (see above for details). + \bold{Note:} Running the application on a device using this command requires + \c TRK application to be running on the device. - \section1 Installing your own applications + Additional environment variables that can be utilized with these commands are: + \table + \row \o \c QT_RUN_OPTIONS \o Any command line parameters you wish to pass + to your application. + \row \o \c QT_RUN_ON_PHONE_OPTIONS \o Options for runonphone application. + Execute \c runonphone from command line for + more information about available options. + \c{make runonphone} only. + \endtable + + \section1 Installing Your Own Applications To install your own applications on hardware, you need a signed \c .sis file. - (Refer to the \l{http://developer.symbian.org/wiki/index.php/Platform_Security_%28Fundamentals_of_Symbian_C%2B%2B%29#Self-Signed_Applications} - {Platform Security Article} for more informations about self-signing.) + (Refer to the \l{Symbian Platform Security} article for more informations about self-signing.) The signed \c .sis file can be created with \c make \c sis target. \c sis target is only supported for executables or projects with \c DEPLOYMENT statements. By default the \c sis target will create signed \c .sis file for last build @@ -214,23 +232,19 @@ \snippet doc/src/snippets/code/doc_src_symbian-introduction.qdoc 5 - \section1 Running applications from command line + \section1 Deployment and the Smart Installer - The application can be launched on the emulator using \c{make run} command. + Although some Symbian devices may already have a version of Qt installed + on them, there needs to be a way to ensure that an appropriate version + of Qt is available for your application to use. Rather than deploy the + required Qt libraries with your application, the preferred way to + package Qt applications for deployment is to download and use the Smart + Installer. - The application can be launched on a device using \c{make runonphone} command. - When this command is invoked, a \c .sis file is first created as if \c{make sis} - command was invoked (see above for details). - \bold{Note:} Running the application on a device using this command requires - \c TRK application to be running on the device. + The Smart Installer makes sure that deployed applications have all the + Qt dependencies they need to run on a device, performing the necessary + updates when the user installs the application. - Additional environment variables that can be utilized with these commands are: - \table - \row \o \c QT_RUN_OPTIONS \o Any command line parameters you wish to pass - to your application. - \row \o \c QT_RUN_ON_PHONE_OPTIONS \o Options for runonphone application. - Execute \c runonphone from command line for - more information about available options. - \c{make runonphone} only. - \endtable + More information about deployment can be found in the + \l{Deploying an Application on the Symbian Platform} document. */ -- cgit v0.12 From 4aab0b33e7c34677b530553bb0a5493aca6547a5 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Mon, 28 Jun 2010 18:42:41 +0200 Subject: Doc: Synchronize HTML templates for each language. Reviewed-by: Trust Me --- tools/qdoc3/test/qt-html-templates.qdocconf | 2 +- tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf | 14 +- tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf | 191 +++++++++++++++++++--- 3 files changed, 170 insertions(+), 37 deletions(-) diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf index 1fb000b..8708f1b 100644 --- a/tools/qdoc3/test/qt-html-templates.qdocconf +++ b/tools/qdoc3/test/qt-html-templates.qdocconf @@ -160,7 +160,7 @@ HTML.footer = " \n" \ "
\n" \ "
X
\n" \ "
\n" \ - "

\n" \ + "

\n" \ "

\n" \ "
\n" \ "
\n" \ diff --git a/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf b/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf index 027548e..e2abd2a 100644 --- a/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf +++ b/tools/qdoc3/test/qt-html-templates_ja_JP.qdocconf @@ -160,19 +160,9 @@ HTML.footer = " \n" \ "
\n" \ "
X
\n" \ "
\n" \ - "

\n" \ + "

\n" \ "

\n" \ "
\n" \ "
\n" \ "
\n" \ - "
\n" \ - "\n" + " \n" diff --git a/tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf b/tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf index 5fb68cf..e00bef9 100644 --- a/tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf +++ b/tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf @@ -1,25 +1,168 @@ -HTML.stylesheets = classic.css -HTML.postheader = "\n" \ - "\n" \ - "\n" \ - "" \ - "" \ - "
" \ - "" \ - "  " \ - "" \ - "主页 ·" \ - " " \ - "所有类 ·" \ - " " \ - "所有函数 ·" \ - " " \ - "简介" \ - "
" +HTML.stylesheets = style/style.css \ + style/OfflineStyle.css \ + style/style_ie7.css \ + style/style_ie8.css \ + style/style_ie6.css -HTML.footer = "


\n" \ - "\n" \ - "\n" \ - "\n" \ - "\n" \ - "
版权所有 © 2010 诺基亚公司和/或其子公司商标
Qt \\version
" +HTML.postheader = "
\n" \ + "
\n" \ + "
\n" \ + " Home
\n" \ + " Qt Reference Documentation\n" \ + "
\n" \ + "
\n" \ + " \n" \ + "
\n" \ + "
\n" \ + "
\n" \ + " \n" \ + "
\n" \ + "
\n" \ + " \n" \ + "
\n" \ + " \n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + " \n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + " Search index:
\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + " \n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "

\n" \ + " API Lookup

\n" \ + "
\n" \ + " \n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "

\n" \ + " Qt Topics

\n" \ + "
\n" \ + " \n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "

\n" \ + " Examples

\n" \ + "
\n" \ + " \n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "
    \n" \ + "
  • Home
  • \n" \ + " \n" + +HTML.postpostheader = "
\n" \ + "
\n" \ + "
\n" \ + " \n" \ + "
\n" \ + "
\n" \ + "
\n" + +HTML.footer = " \n" \ + "
\n" \ + " [+] Documentation Feedback
\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + " \n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "

\n" \ + " © 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.

\n" \ + "

\n" \ + " All other trademarks are property of their respective owners. Privacy Policy

\n" \ + "
\n" \ + "
\n" \ + "
X
\n" \ + "
\n" \ + "

\n" \ + "

\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "
\n" -- cgit v0.12 From 08478207ee9a6563ae63ebcef833925db6426bd8 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Wed, 30 Jun 2010 19:03:53 +0200 Subject: Doc: Made the Gestures Programming document more visible. Reviewed-by: Trust Me --- src/gui/kernel/qevent.cpp | 5 +++++ src/gui/kernel/qgesture.cpp | 28 +++++++++++++++++++++++----- src/gui/kernel/qgesturerecognizer.cpp | 3 +++ 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index 92eed33..0c0eabb 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -4281,6 +4281,11 @@ QTouchEvent::TouchPoint &QTouchEvent::TouchPoint::operator=(const QTouchEvent::T QGestureEvent::accept() for each of them, or an event filter consumes the event. + \section1 Further Reading + + For an overview of gesture handling in Qt and information on using gestures + in your applications, see the \l{Gestures Programming} document. + \sa QGesture, QGestureRecognizer, QWidget::grabGesture(), QGraphicsObject::grabGesture() */ diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp index f5688f4..8264422 100644 --- a/src/gui/kernel/qgesture.cpp +++ b/src/gui/kernel/qgesture.cpp @@ -58,6 +58,9 @@ QT_BEGIN_NAMESPACE the QGestureRecognizer object that is registered with the application; see QGestureRecognizer::registerRecognizer(). + For an overview of gesture handling in Qt and information on using gestures + in your applications, see the \l{Gestures Programming} document. + \section1 Gesture Properties The class has a list of properties that can be queried by the user to get @@ -218,7 +221,10 @@ QGesture::GestureCancelPolicy QGesture::gestureCancelPolicy() const \image pangesture.png - \sa {Gestures Programming}, QPinchGesture, QSwipeGesture + For an overview of gesture handling in Qt and information on using gestures + in your applications, see the \l{Gestures Programming} document. + + \sa QPinchGesture, QSwipeGesture */ /*! @@ -313,6 +319,9 @@ void QPanGesture::setAcceleration(qreal value) them closer together or further apart to change the scale factor, zoom, or level of detail of the user interface. + For an overview of gesture handling in Qt and information on using gestures + in your applications, see the \l{Gestures Programming} document. + \image pinchgesture.png Instead of repeatedly applying the same pinching gesture, the user may @@ -321,7 +330,7 @@ void QPanGesture::setAcceleration(qreal value) will continue to be delivered to the target object, containing an instance of QPinchGesture in the Qt::GestureUpdated state. - \sa {Gestures Programming}, QPanGesture, QSwipeGesture + \sa QPanGesture, QSwipeGesture */ /*! @@ -571,7 +580,10 @@ void QPinchGesture::setRotationAngle(qreal value) \image swipegesture.png - \sa {Gestures Programming}, QPanGesture, QPinchGesture + For an overview of gesture handling in Qt and information on using gestures + in your applications, see the \l{Gestures Programming} document. + + \sa QPanGesture, QPinchGesture */ /*! @@ -666,7 +678,10 @@ void QSwipeGesture::setSwipeAngle(qreal value) \brief The QTapGesture class describes a tap gesture made by the user. \ingroup gestures - \sa {Gestures Programming}, QPanGesture, QPinchGesture + For an overview of gesture handling in Qt and information on using gestures + in your applications, see the \l{Gestures Programming} document. + + \sa QPanGesture, QPinchGesture */ /*! @@ -699,7 +714,10 @@ void QTapGesture::setPosition(const QPointF &value) gesture made by the user. \ingroup gestures - \sa {Gestures Programming}, QPanGesture, QPinchGesture + For an overview of gesture handling in Qt and information on using gestures + in your applications, see the \l{Gestures Programming} document. + + \sa QPanGesture, QPinchGesture */ /*! diff --git a/src/gui/kernel/qgesturerecognizer.cpp b/src/gui/kernel/qgesturerecognizer.cpp index 3e23bbf..e0e7784 100644 --- a/src/gui/kernel/qgesturerecognizer.cpp +++ b/src/gui/kernel/qgesturerecognizer.cpp @@ -62,6 +62,9 @@ QT_BEGIN_NAMESPACE need to use this class directly. Instances will be created behind the scenes by the framework. + For an overview of gesture handling in Qt and information on using gestures + in your applications, see the \l{Gestures Programming} document. + \section1 Recognizing Gestures The process of recognizing gestures involves filtering input events sent to specific -- cgit v0.12 From bbc7aa139308ff304f2e4c2611ed57d855d00d80 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Fri, 16 Jul 2010 14:04:08 +0200 Subject: Doc: Fixed name clash. Reviewed-by: Trust Me --- doc/src/examples/qml-examples.qdoc | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/src/examples/qml-examples.qdoc b/doc/src/examples/qml-examples.qdoc index ce53677..db6e657 100644 --- a/doc/src/examples/qml-examples.qdoc +++ b/doc/src/examples/qml-examples.qdoc @@ -165,7 +165,6 @@ \image qml-layoutitem-example.png */ /*! - \title QGraphicsGridLayout \example declarative/cppextensions/qgraphicslayouts/qgraphicsgridlayout This example shows how to use QGraphicsGridLayout to lay out QML items. This is -- cgit v0.12 From 4ed51b7160471ae3a7db1fbb12a8f265ff7c3239 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Fri, 16 Jul 2010 14:06:50 +0200 Subject: Doc: Merged in some of Thomas Zander's suggestions. Reviewed-by: Trust Me --- doc/src/frameworks-technologies/gestures.qdoc | 49 +++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/doc/src/frameworks-technologies/gestures.qdoc b/doc/src/frameworks-technologies/gestures.qdoc index 927df22..f7c8312 100644 --- a/doc/src/frameworks-technologies/gestures.qdoc +++ b/doc/src/frameworks-technologies/gestures.qdoc @@ -60,7 +60,8 @@ \section1 Using Standard Gestures with Widgets Gestures can be enabled for instances of QWidget and QGraphicsObject subclasses. - An object that accepts gesture input is referred to as a \e{target object}. + An object that accepts gesture input is referred to throughout the documentation + as a \e{target object}. To enable a gesture for a target object, call its QWidget::grabGesture() or QGraphicsObject::grabGesture() function with an argument describing the @@ -69,13 +70,57 @@ \snippet examples/gestures/imagegestures/imagewidget.cpp enable gestures - In the above code, the gesture is set up in the constructor of the target object + In the above code, the gestures are set up in the constructor of the target object itself. + \section1 Handling Events + When the user performs a gesture, QGestureEvent events will be delivered to the target object, and these can be handled by reimplementing the QWidget::event() handler function for widgets or QGraphicsItem::sceneEvent() for graphics objects. + As one target object can subscribe to more than one gesture type, the QGestureEvent + can contain more than one QGesture, indicating several possible gestures are active + at the same time. It is then up to the widget to determine how to handle those + multiple gestures and choose if some should be canceled in favor of others. + + Each QGesture contained within a QGestureEvent object can be accepted() or ignored() + individually, or all together. Additionally, you can query the individual QGesture + data objects (the state) using several getters. + + \section2 Standard Procedure for Event Handling + + A QGesture is by default accepted when it arrives at your widget. However, it is good + practice to always explicitly accept or reject a gesture. The general rule is that, if + you accept a gesture, you are using it. If you are ignoring it you are not interested + in it. Ignoring a gesture may mean it gets offered to another target object, or it will + get canceled. + + Each QGesture has several states it goes through; there is a well defined way to change + the state, typically the user input is the cause of state changes (by starting and + stopping interaction, for instance) but the widget can also cause state changes. + + The first time a particular QGesture is delivered to a widget or graphics item, it will + be in the Qt::GestureStarted state. The way you handle the gesture at this point + influences whether you can interact with it later. + + \list + \o Accepting the gesture means the widget acts on the gesture and there will follow + gestures with the Qt::GestureUpdatedstate. + \o Ignoring the gesture will mean the gesture will never be offered to you again. + It will be offered to a parent widget or item as well. + \o Calling setGestureCancelPolicy() on the gesture when it is in its starting state, + and is also accepted can cause other gestures to be canceled. + \endlist + + Using QGesture::CancelAllInContext to cancel a gesture will cause all gestures, in any + state, to be canceled unless they are explicitly accepted. This means that active + gestures on children will get canceled. It also means that gestures delivered in the + same QGestureEvent will get canceled if the widget ignores them. This can be a useful + way to filter out all gestures except the one you are interested in. + + \section2 Example Event Handling + For convenience, the \l{Image Gestures Example} reimplements the general \l{QWidget::}{event()} handler function and delegates gesture events to a specialized gestureEvent() function: -- cgit v0.12 From d59380458cce6fc52b6de91d8380b31d46c3f83f Mon Sep 17 00:00:00 2001 From: David Boddie Date: Fri, 16 Jul 2010 14:09:11 +0200 Subject: Doc: Fixed QML documentation errors. Reviewed-by: Trust Me --- src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp | 2 +- src/declarative/graphicsitems/qdeclarativepathview.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp index 0342c9f..9dcba60 100644 --- a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp +++ b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp @@ -612,7 +612,7 @@ QAction* QDeclarativeWebView::stopAction() const #endif // QT_NO_ACTION /*! - \qmlproperty real WebView::title + \qmlproperty string WebView::title This property holds the title of the web page currently viewed By default, this property contains an empty string. diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp index f4ebd13..1224c73 100644 --- a/src/declarative/graphicsitems/qdeclarativepathview.cpp +++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp @@ -403,7 +403,7 @@ QDeclarativePathView::~QDeclarativePathView() 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. - Models can also be created directly in XML, using the ListModel element. + Models can also be created directly in QML, using the ListModel element. \sa {qmlmodels}{Data Models} */ @@ -627,8 +627,8 @@ void QDeclarativePathViewPrivate::setOffset(qreal o) so as to stay with the current item. The below example demonstrates how to make a simple highlight. Note the use - of the PathView.onPath property to ensure that the highlight is hidden - when flicked off of the path. + of the \l{PathView::onPath}{PathView.onPath} attached property to ensure that + the highlight is hidden when flicked away from the path. \code Component { -- cgit v0.12 From e2fb9c4df301678719cb0cff78838b35435c3b38 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Fri, 16 Jul 2010 14:09:59 +0200 Subject: Doc: Fixed typo. Reviewed-by: Trust Me --- src/xmlpatterns/api/qabstractxmlnodemodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xmlpatterns/api/qabstractxmlnodemodel.cpp b/src/xmlpatterns/api/qabstractxmlnodemodel.cpp index 7f2ad9f..0f9760d 100644 --- a/src/xmlpatterns/api/qabstractxmlnodemodel.cpp +++ b/src/xmlpatterns/api/qabstractxmlnodemodel.cpp @@ -1355,7 +1355,7 @@ bool QXmlItem::isNull() const QAbstractXmlNodeModel for its existence, the only way you can create an instance of QXmlNodeModelIndex is by asking the node model to create one for you with QAbstractXmlNodeModel::createIndex(). Since - that function is protected, it is usually a good ide to write a + that function is protected, it is usually a good idea to write a public function that creates a QXmlNodeModelIndex from arguments that are appropriate for your particular node model. -- cgit v0.12 From 8f0e2e8a995f16fe737e538ce6f35e91b5a100b5 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Mon, 26 Jul 2010 14:04:52 +0100 Subject: Clear Qt::WA_OutsideWSRange when making window fullscreen Task-number: QTBUG-10269 Reviewed-by: Jason Barron --- src/gui/kernel/qwidget_s60.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 46f3254..d06328c 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -1130,8 +1130,10 @@ void QWidget::setWindowState(Qt::WindowStates newstate) const bool cbaVisibilityHint = windowFlags() & Qt::WindowSoftkeysVisibleHint; if (newstate & Qt::WindowFullScreen && !cbaVisibilityHint) { + setAttribute(Qt::WA_OutsideWSRange, false); window->SetExtentToWholeScreen(); } else if (newstate & Qt::WindowMaximized || ((newstate & Qt::WindowFullScreen) && cbaVisibilityHint)) { + setAttribute(Qt::WA_OutsideWSRange, false); TRect maxExtent = qt_QRect2TRect(qApp->desktop()->availableGeometry(this)); window->SetExtent(maxExtent.iTl, maxExtent.Size()); } else { -- cgit v0.12 From f1257358b4432abf874460f58cba73bce17981ab Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Tue, 27 Jul 2010 16:23:52 +0100 Subject: Ensure that window rectangle is updated when CBA visibility changes In S60, there are two pieces of screen furniture, changes in whose visibility or size can affect the size of the Qt application window. These are the status pane, at the top of the screen, and the CBA at the bottom. QSymbianControl listens for changes in status pane visibility and size by implementing MEikStatusPaneObserver. Notifications received via this interface trigger a call to QSymbianControl::handleClientAreaChange() which resizes the control. There is no corresponding interface through which to receive notifications of changes in CBA visibility. This patch introduces a utility function for setting the visibility of both the status pane and CBA, which ensures that the control's rectangle is updated when either one changes. Task-number: QTBUG-5320 Reviewed-by: Jason Barron --- src/gui/kernel/qapplication_s60.cpp | 36 +++++++++++++++++++++++++----------- src/gui/kernel/qt_s60_p.h | 3 +++ src/gui/kernel/qwidget_s60.cpp | 15 +++++---------- 3 files changed, 33 insertions(+), 21 deletions(-) diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index d5ff792..7dbf4b7 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -102,6 +102,25 @@ QS60Data* qGlobalS60Data() return qt_s60Data(); } +#ifdef Q_WS_S60 +void QS60Data::setStatusPaneAndButtonGroupVisibility(bool statusPaneVisible, bool buttonGroupVisible) +{ + bool buttonGroupVisibilityChanged = false; + if (CEikButtonGroupContainer *const b = buttonGroupContainer()) { + buttonGroupVisibilityChanged = (b->IsVisible() != buttonGroupVisible); + b->MakeVisible(buttonGroupVisible); + } + bool statusPaneVisibilityChanged = false; + if (CEikStatusPane *const s = statusPane()) { + statusPaneVisibilityChanged = (s->IsVisible() != statusPaneVisible); + s->MakeVisible(statusPaneVisible); + } + if (buttonGroupVisibilityChanged && !statusPaneVisibilityChanged) + // Ensure that control rectangle is updated + static_cast(QApplication::activeWindow()->winId())->handleClientAreaChange(); +} +#endif + bool qt_nograb() // application no-grab option { #if defined(QT_DEBUG) @@ -999,17 +1018,12 @@ void QSymbianControl::FocusChanged(TDrawNow /* aDrawNow */) qwidget->d_func()->setWindowTitle_sys(qwidget->windowTitle()); #ifdef Q_WS_S60 // If widget is fullscreen/minimized, hide status pane and button container otherwise show them. - CEikStatusPane *statusPane = S60->statusPane(); - CEikButtonGroupContainer *buttonGroup = S60->buttonGroupContainer(); - TBool visible = !(qwidget->windowState() & (Qt::WindowFullScreen | Qt::WindowMinimized)); - if (statusPane) - statusPane->MakeVisible(visible); - if (buttonGroup) { - // Visibility - const TBool isFullscreen = qwidget->windowState() & Qt::WindowFullScreen; - const TBool cbaVisibilityHint = qwidget->windowFlags() & Qt::WindowSoftkeysVisibleHint; - buttonGroup->MakeVisible(visible || (isFullscreen && cbaVisibilityHint)); - } + const bool visible = !(qwidget->windowState() & (Qt::WindowFullScreen | Qt::WindowMinimized)); + const bool statusPaneVisibility = visible; + const bool isFullscreen = qwidget->windowState() & Qt::WindowFullScreen; + const bool cbaVisibilityHint = qwidget->windowFlags() & Qt::WindowSoftkeysVisibleHint; + const bool buttonGroupVisibility = (visible || (isFullscreen && cbaVisibilityHint)); + S60->setStatusPaneAndButtonGroupVisibility(statusPaneVisibility, buttonGroupVisibility); #endif } else if (QApplication::activeWindow() == qwidget->window()) { if (CCoeEnv::Static()->AppUi()->IsDisplayingMenuOrDialog() || S60->menuBeingConstructed) { diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h index bec51b8..bf71062 100644 --- a/src/gui/kernel/qt_s60_p.h +++ b/src/gui/kernel/qt_s60_p.h @@ -148,6 +148,7 @@ public: static inline CAknTitlePane* titlePane(); static inline CAknContextPane* contextPane(); static inline CEikButtonGroupContainer* buttonGroupContainer(); + static void setStatusPaneAndButtonGroupVisibility(bool statusPaneVisible, bool buttonGroupVisible); TTrapHandler *s60InstalledTrapHandler; #endif @@ -226,6 +227,8 @@ private: #ifdef QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER void translateAdvancedPointerEvent(const TAdvancedPointerEvent *event); #endif + +public: void handleClientAreaChange(); private: diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index d06328c..fe0d083 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -1110,15 +1110,10 @@ void QWidget::setWindowState(Qt::WindowStates newstate) // The window decoration visibility has to be changed before doing actual window state // change since in that order the availableGeometry will return directly the right size and // we will avoid unnecessarty redraws - CEikStatusPane *statusPane = S60->statusPane(); - CEikButtonGroupContainer *buttonGroup = S60->buttonGroupContainer(); - TBool visible = !(newstate & (Qt::WindowFullScreen | Qt::WindowMinimized)); - if (statusPane) - statusPane->MakeVisible(visible); - if (buttonGroup) { - // Visibility - buttonGroup->MakeVisible(visible || (isFullscreen && cbaRequested)); - } + const bool visible = !(newstate & (Qt::WindowFullScreen | Qt::WindowMinimized)); + const bool statusPaneVisibility = visible; + const bool buttonGroupVisibility = (visible || (isFullscreen && cbaRequested)); + S60->setStatusPaneAndButtonGroupVisibility(statusPaneVisibility, buttonGroupVisibility); #endif // Q_WS_S60 // Ensure the initial size is valid, since we store it as normalGeometry below. @@ -1142,7 +1137,7 @@ void QWidget::setWindowState(Qt::WindowStates newstate) // accurate because it did not consider the status pane. This means that when returning // normal mode after showing the status pane, the geometry would overlap so we should // move it if it never had an explicit position. - if (!wasMoved && statusPane && visible) { + if (!wasMoved && S60->statusPane() && visible) { TPoint tl = static_cast(S60->appUi())->ClientRect().iTl; normalGeometry.setTopLeft(QPoint(tl.iX, tl.iY)); } -- cgit v0.12 From 9a059c53caaf19cd2ff722df6e47870a2843ee43 Mon Sep 17 00:00:00 2001 From: Jason Barron Date: Fri, 30 Jul 2010 11:38:37 +0200 Subject: Fix proxy widgets with the OpenVG paint engine. Proxy widgets use the shared painter functionality and this implies that the paint engine's begin function does not get called for each new widget that gets painted. This causes a problem because the system clip gets modified by QPainter, but the paint engine does not realize that this happened and fails to use the new clip. The result is that you can end up painting outside the intended clip area. The fix is to reimplement the virtual systemStateChanged() function in QVGPaintEnginePrivate and make it call updateScissor() to re-evaluate the clipping flags and update the current clip accordingly. A similar fix was done to the OpenGL paint engine way back in 307c2954. Task-number: QTBUG-12486 Reviewed-by: Rhys Weatherley --- src/openvg/qpaintengine_vg.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp index 7de09ce..e368c32 100644 --- a/src/openvg/qpaintengine_vg.cpp +++ b/src/openvg/qpaintengine_vg.cpp @@ -120,6 +120,7 @@ private: class QVGPaintEnginePrivate : public QPaintEngineExPrivate { + Q_DECLARE_PUBLIC(QVGPaintEngine) public: // Extra blending modes from VG_KHR_advanced_blending extension. // Use the QT_VG prefix to avoid conflicts with any definitions @@ -150,7 +151,7 @@ public: QT_VG_BLEND_XOR_KHR = 0x2026 }; - QVGPaintEnginePrivate(); + QVGPaintEnginePrivate(QVGPaintEngine *q_ptr); ~QVGPaintEnginePrivate(); void init(); @@ -171,6 +172,7 @@ public: void setBrushTransform(const QBrush& brush, VGMatrixMode mode); void setupColorRamp(const QGradient *grad, VGPaint paint); void setImageOptions(); + void systemStateChanged(); #if !defined(QVG_SCISSOR_CLIP) void ensureMask(QVGPaintEngine *engine, int width, int height); void modifyMask @@ -299,6 +301,9 @@ public: // Clear all lazily-set modes. void clearModes(); + +private: + QVGPaintEngine *q; }; inline void QVGPaintEnginePrivate::setImageMode(VGImageMode mode) @@ -350,7 +355,7 @@ void QVGPaintEnginePrivate::clearModes() imageQuality = (VGImageQuality)0; } -QVGPaintEnginePrivate::QVGPaintEnginePrivate() +QVGPaintEnginePrivate::QVGPaintEnginePrivate(QVGPaintEngine *q_ptr) : q(q_ptr) { init(); } @@ -1452,7 +1457,7 @@ QVGPainterState::~QVGPainterState() } QVGPaintEngine::QVGPaintEngine() - : QPaintEngineEx(*new QVGPaintEnginePrivate) + : QPaintEngineEx(*new QVGPaintEnginePrivate(this)) { } @@ -2995,6 +3000,11 @@ void QVGPaintEnginePrivate::setImageOptions() } } +void QVGPaintEnginePrivate::systemStateChanged() +{ + q->updateScissor(); +} + static void drawVGImage(QVGPaintEnginePrivate *d, const QRectF& r, VGImage vgImg, const QSize& imageSize, const QRectF& sr) -- cgit v0.12 From 4cf313be8d440e2ef9bdb4a586fbcba20c3ee317 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 28 Jul 2010 14:05:52 +0100 Subject: Added support to Phonon MMF backend for playback of Qt resource files The backend accesses the resource file path via MediaSource::url(). A small patch to Phonon was required to enable this, because by default, Phonon passes a QIODevice, rather than the resource file path, to the backend. The backend uses this path to create a QResource object, through which the memory buffer into which the resource file has been read can be accessed. This buffer is wrapped in a Symbian 8-bit descriptor and passed to the OpenDesL() function of the appropriate MMF client utility API. Task-number: QTBUG-6562 --- src/3rdparty/phonon/mmf/abstractmediaplayer.cpp | 28 ++++++++-- src/3rdparty/phonon/mmf/abstractmediaplayer.h | 6 ++- src/3rdparty/phonon/mmf/abstractplayer.h | 4 +- src/3rdparty/phonon/mmf/abstractvideoplayer.cpp | 6 +++ src/3rdparty/phonon/mmf/abstractvideoplayer.h | 1 + src/3rdparty/phonon/mmf/audioplayer.cpp | 6 +++ src/3rdparty/phonon/mmf/audioplayer.h | 1 + src/3rdparty/phonon/mmf/dummyplayer.cpp | 2 +- src/3rdparty/phonon/mmf/dummyplayer.h | 2 +- src/3rdparty/phonon/mmf/mediaobject.cpp | 71 ++++++++++++++++++++++--- src/3rdparty/phonon/mmf/mediaobject.h | 11 ++-- src/3rdparty/phonon/phonon/mediasource.cpp | 5 ++ 12 files changed, 123 insertions(+), 20 deletions(-) diff --git a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp index be2a568..bca0891 100644 --- a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp +++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp @@ -16,6 +16,7 @@ along with this library. If not, see . */ +#include #include #include "abstractmediaplayer.h" @@ -216,9 +217,10 @@ void MMF::AbstractMediaPlayer::doSetTickInterval(qint32 interval) TRACE_EXIT_0(); } -void MMF::AbstractMediaPlayer::open(const MediaSource &source, RFile& file) +void MMF::AbstractMediaPlayer::open() { - TRACE_CONTEXT(AbstractMediaPlayer::setFileSource, EAudioApi); + TRACE_CONTEXT(AbstractMediaPlayer::open, EAudioApi); + const MediaSource source = m_parent->source(); TRACE_ENTRY("state %d source.type %d", privateState(), source.type()); close(); @@ -229,7 +231,9 @@ void MMF::AbstractMediaPlayer::open(const MediaSource &source, RFile& file) switch (source.type()) { case MediaSource::LocalFile: { - symbianErr = openFile(file); + RFile *const file = m_parent->file(); + Q_ASSERT(file); + symbianErr = openFile(*file); if (KErrNone != symbianErr) errorMessage = tr("Error opening file"); break; @@ -237,9 +241,10 @@ void MMF::AbstractMediaPlayer::open(const MediaSource &source, RFile& file) case MediaSource::Url: { const QUrl url(source.url()); - if (url.scheme() == QLatin1String("file")) { - symbianErr = openFile(file); + RFile *const file = m_parent->file(); + Q_ASSERT(file); + symbianErr = openFile(*file); if (KErrNone != symbianErr) errorMessage = tr("Error opening file"); } else { @@ -251,6 +256,19 @@ void MMF::AbstractMediaPlayer::open(const MediaSource &source, RFile& file) break; } + case MediaSource::Stream: { + QResource *const resource = m_parent->resource(); + if (resource && resource->isValid()) { + m_buffer.Set(resource->data(), resource->size()); + symbianErr = openDescriptor(m_buffer); + if (KErrNone != symbianErr) + errorMessage = tr("Error opening resource"); + } else { + errorMessage = tr("Error opening source: resource not valid"); + } + break; + } + // Other source types are handled in MediaObject::createPlayer // Protection against adding new media types and forgetting to update this switch diff --git a/src/3rdparty/phonon/mmf/abstractmediaplayer.h b/src/3rdparty/phonon/mmf/abstractmediaplayer.h index 7d28caf..e795ecb 100644 --- a/src/3rdparty/phonon/mmf/abstractmediaplayer.h +++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.h @@ -47,7 +47,7 @@ protected: AbstractMediaPlayer(MediaObject *parent, const AbstractPlayer *player); public: - virtual void open(const Phonon::MediaSource&, RFile&); + virtual void open(); // MediaObjectInterface virtual void play(); @@ -70,6 +70,7 @@ protected: virtual int setDeviceVolume(int mmfVolume) = 0; virtual int openFile(RFile& file) = 0; virtual int openUrl(const QString& url) = 0; + virtual int openDescriptor(const TDesC8 &des) = 0; virtual int bufferStatus() const = 0; void updateMetaData(); @@ -123,6 +124,9 @@ private: bool m_prefinishMarkSent; bool m_aboutToFinishSent; + // Used for playback of resource files + TPtrC8 m_buffer; + QMultiMap m_metaData; }; diff --git a/src/3rdparty/phonon/mmf/abstractplayer.h b/src/3rdparty/phonon/mmf/abstractplayer.h index 30d5243..dd98c7c 100644 --- a/src/3rdparty/phonon/mmf/abstractplayer.h +++ b/src/3rdparty/phonon/mmf/abstractplayer.h @@ -26,8 +26,6 @@ along with this library. If not, see . #include "abstractvideooutput.h" -class RFile; - QT_BEGIN_NAMESPACE namespace Phonon @@ -54,7 +52,7 @@ class AbstractPlayer : public QObject public: AbstractPlayer(const AbstractPlayer *player); - virtual void open(const Phonon::MediaSource&, RFile&) = 0; + virtual void open() = 0; virtual void close() = 0; // MediaObjectInterface (implemented) diff --git a/src/3rdparty/phonon/mmf/abstractvideoplayer.cpp b/src/3rdparty/phonon/mmf/abstractvideoplayer.cpp index 9ea4d18..fb20bea 100644 --- a/src/3rdparty/phonon/mmf/abstractvideoplayer.cpp +++ b/src/3rdparty/phonon/mmf/abstractvideoplayer.cpp @@ -144,6 +144,12 @@ int MMF::AbstractVideoPlayer::openUrl(const QString &url) return err; } +int MMF::AbstractVideoPlayer::openDescriptor(const TDesC8 &des) +{ + TRAPD(err, m_player->OpenDesL(des)); + return err; +} + int MMF::AbstractVideoPlayer::bufferStatus() const { int result = 0; diff --git a/src/3rdparty/phonon/mmf/abstractvideoplayer.h b/src/3rdparty/phonon/mmf/abstractvideoplayer.h index d854793..3ff3c75 100644 --- a/src/3rdparty/phonon/mmf/abstractvideoplayer.h +++ b/src/3rdparty/phonon/mmf/abstractvideoplayer.h @@ -66,6 +66,7 @@ public: virtual int setDeviceVolume(int mmfVolume); virtual int openFile(RFile &file); virtual int openUrl(const QString &url); + virtual int openDescriptor(const TDesC8 &des); virtual int bufferStatus() const; virtual void close(); diff --git a/src/3rdparty/phonon/mmf/audioplayer.cpp b/src/3rdparty/phonon/mmf/audioplayer.cpp index f49e898..7c8b9bd 100644 --- a/src/3rdparty/phonon/mmf/audioplayer.cpp +++ b/src/3rdparty/phonon/mmf/audioplayer.cpp @@ -137,6 +137,12 @@ int MMF::AudioPlayer::openUrl(const QString& /*url*/) return 0; } +int MMF::AudioPlayer::openDescriptor(const TDesC8 &des) +{ + TRAPD(err, m_player->OpenDesL(des)); + return err; +} + int MMF::AudioPlayer::bufferStatus() const { int result = 0; diff --git a/src/3rdparty/phonon/mmf/audioplayer.h b/src/3rdparty/phonon/mmf/audioplayer.h index 0eb8bb7..e43cadd 100644 --- a/src/3rdparty/phonon/mmf/audioplayer.h +++ b/src/3rdparty/phonon/mmf/audioplayer.h @@ -67,6 +67,7 @@ typedef CMdaAudioPlayerUtility NativePlayer; virtual int setDeviceVolume(int mmfVolume); virtual int openFile(RFile& file); virtual int openUrl(const QString& url); + virtual int openDescriptor(const TDesC8 &des); virtual int bufferStatus() const; virtual void close(); diff --git a/src/3rdparty/phonon/mmf/dummyplayer.cpp b/src/3rdparty/phonon/mmf/dummyplayer.cpp index d39ef76..ba75b02 100644 --- a/src/3rdparty/phonon/mmf/dummyplayer.cpp +++ b/src/3rdparty/phonon/mmf/dummyplayer.cpp @@ -92,7 +92,7 @@ qint64 MMF::DummyPlayer::totalTime() const return 0; } -void MMF::DummyPlayer::open(const Phonon::MediaSource &, RFile &) +void MMF::DummyPlayer::open() { } diff --git a/src/3rdparty/phonon/mmf/dummyplayer.h b/src/3rdparty/phonon/mmf/dummyplayer.h index 9d45696..5b00411 100644 --- a/src/3rdparty/phonon/mmf/dummyplayer.h +++ b/src/3rdparty/phonon/mmf/dummyplayer.h @@ -57,7 +57,7 @@ public: virtual qint64 totalTime() const; // AbstractPlayer - virtual void open(const Phonon::MediaSource&, RFile&); + virtual void open(); virtual void close(); virtual void doSetTickInterval(qint32 interval); }; diff --git a/src/3rdparty/phonon/mmf/mediaobject.cpp b/src/3rdparty/phonon/mmf/mediaobject.cpp index d264377..e16bdf3 100644 --- a/src/3rdparty/phonon/mmf/mediaobject.cpp +++ b/src/3rdparty/phonon/mmf/mediaobject.cpp @@ -34,6 +34,7 @@ along with this library. If not, see . #include "mediaobject.h" #include +#include #include QT_BEGIN_NAMESPACE @@ -52,6 +53,8 @@ using namespace Phonon::MMF; MMF::MediaObject::MediaObject(QObject *parent) : MMF::MediaNode::MediaNode(parent) , m_recognizerOpened(false) , m_nextSourceSet(false) + , m_file(0) + , m_resource(0) { m_player.reset(new DummyPlayer()); @@ -68,7 +71,12 @@ MMF::MediaObject::~MediaObject() TRACE_CONTEXT(MediaObject::~MediaObject, EAudioApi); TRACE_ENTRY_0(); - m_file.Close(); + delete m_resource; + + if (m_file) + m_file->Close(); + delete m_file; + m_fileServer.Close(); m_recognizer.Close(); @@ -122,12 +130,13 @@ MMF::MediaType MMF::MediaObject::fileMediaType const QHBufC fileNameSymbian(QDir::toNativeSeparators(fileName)); - m_file.Close(); - TInt err = m_file.Open(m_fileServer, *fileNameSymbian, EFileRead | EFileShareReadersOnly); + Q_ASSERT(!m_file); + m_file = new RFile; + TInt err = m_file->Open(m_fileServer, *fileNameSymbian, EFileRead | EFileShareReadersOnly); if (KErrNone == err) { TDataRecognitionResult recognizerResult; - err = m_recognizer.RecognizeData(m_file, recognizerResult); + err = m_recognizer.RecognizeData(*m_file, recognizerResult); if (KErrNone == err) { const TPtrC mimeType = recognizerResult.iDataType.Des(); result = Utils::mimeTypeToMediaType(mimeType); @@ -142,6 +151,23 @@ MMF::MediaType MMF::MediaObject::fileMediaType return result; } +MMF::MediaType MMF::MediaObject::bufferMediaType(const uchar *data, qint64 size) +{ + TRACE_CONTEXT(MediaObject::bufferMediaType, EAudioInternal); + MediaType result = MediaTypeUnknown; + if (openRecognizer()) { + TDataRecognitionResult recognizerResult; + const TPtrC8 des(data, size); + const TInt err = m_recognizer.RecognizeData(des, recognizerResult); + if (KErrNone == err) { + const TPtrC mimeType = recognizerResult.iDataType.Des(); + result = Utils::mimeTypeToMediaType(mimeType); + } else { + TRACE("RApaLsSession::RecognizeData error %d", err); + } + } + return result; +} //----------------------------------------------------------------------------- // MediaObjectInterface @@ -228,9 +254,17 @@ void MMF::MediaObject::setSource(const MediaSource &source) void MMF::MediaObject::switchToSource(const MediaSource &source) { + if (m_file) + m_file->Close(); + delete m_file; + m_file = 0; + + delete m_resource; + m_resource = 0; + createPlayer(source); m_source = source; - m_player->open(m_source, m_file); + m_player->open(); emit currentSourceChanged(m_source); } @@ -272,10 +306,25 @@ void MMF::MediaObject::createPlayer(const MediaSource &source) case MediaSource::Invalid: case MediaSource::Disc: - case MediaSource::Stream: errorMessage = tr("Error opening source: type not supported"); break; + case MediaSource::Stream: + { + const QString fileName = source.url().toLocalFile(); + if (fileName.startsWith(QLatin1String(":/")) || fileName.startsWith(QLatin1String("qrc://"))) { + Q_ASSERT(!m_resource); + m_resource = new QResource(fileName); + if (m_resource->isValid()) + mediaType = bufferMediaType(m_resource->data(), m_resource->size()); + else + errorMessage = tr("Error opening source: resource not valid"); + } else { + errorMessage = tr("Error opening source: type not supported"); + } + } + break; + case MediaSource::Empty: TRACE_0("Empty media source"); break; @@ -374,6 +423,16 @@ void MMF::MediaObject::volumeChanged(qreal volume) m_player->volumeChanged(volume); } +RFile* MMF::MediaObject::file() const +{ + return m_file; +} + +QResource* MMF::MediaObject::resource() const +{ + return m_resource; +} + //----------------------------------------------------------------------------- // MediaNode //----------------------------------------------------------------------------- diff --git a/src/3rdparty/phonon/mmf/mediaobject.h b/src/3rdparty/phonon/mmf/mediaobject.h index f15eb21..5399e27 100644 --- a/src/3rdparty/phonon/mmf/mediaobject.h +++ b/src/3rdparty/phonon/mmf/mediaobject.h @@ -33,6 +33,8 @@ along with this library. If not, see . QT_BEGIN_NAMESPACE +class QResource; + namespace Phonon { namespace MMF @@ -87,6 +89,9 @@ public: void setVideoOutput(AbstractVideoOutput* videoOutput); + RFile* file() const; + QResource* resource() const; + public Q_SLOTS: void volumeChanged(qreal volume); void switchToNextSource(); @@ -117,6 +122,7 @@ private: // Audio / video media type recognition MediaType fileMediaType(const QString& fileName); + MediaType bufferMediaType(const uchar *data, qint64 size); // TODO: urlMediaType function static qint64 toMilliSeconds(const TTimeIntervalMicroSeconds &); @@ -132,9 +138,8 @@ private: MediaSource m_nextSource; bool m_nextSourceSet; - // Storing the file handle here to work around KErrInUse error - // from MMF player utility OpenFileL functions - RFile m_file; + RFile* m_file; + QResource* m_resource; QScopedPointer m_player; diff --git a/src/3rdparty/phonon/phonon/mediasource.cpp b/src/3rdparty/phonon/phonon/mediasource.cpp index be22dc3..925ff32 100644 --- a/src/3rdparty/phonon/phonon/mediasource.cpp +++ b/src/3rdparty/phonon/phonon/mediasource.cpp @@ -58,6 +58,11 @@ MediaSource::MediaSource(const QString &filename) d->type = Stream; d->ioDevice = new QFile(filename); d->setStream(new IODeviceStream(d->ioDevice, d->ioDevice)); +#ifdef Q_OS_SYMBIAN + // On Symbian, we need to access the resource buffer directly, rather than + // via QFile indirection + d->url = QUrl::fromLocalFile(fileInfo.absoluteFilePath()); +#endif #else d->type = Invalid; #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM -- cgit v0.12 From 2e0a41f304e7505602699c9623a96b6174165150 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 28 Jul 2010 17:12:10 +0100 Subject: Updated tst_mediaobject resource playback test cases * Removed Q_SKIP on Symbian * Divided test into two, to exercise the two possible ways of providing the resource path to Phonon::MediaSource Task-number: QTBUG-6562 --- tests/auto/mediaobject/tst_mediaobject.cpp | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/tests/auto/mediaobject/tst_mediaobject.cpp b/tests/auto/mediaobject/tst_mediaobject.cpp index 994057b..99a16db 100644 --- a/tests/auto/mediaobject/tst_mediaobject.cpp +++ b/tests/auto/mediaobject/tst_mediaobject.cpp @@ -124,7 +124,8 @@ class tst_MediaObject : public QObject void init(); void cleanup(); - void testPlayFromResource(); + void testPlayFromResourceDirect(); + void testPlayFromResourceFile(); void testPlayIllegalFile(); void initTestCase(); void checkForDefaults(); @@ -199,11 +200,22 @@ void tst_MediaObject::stateChanged(Phonon::State newstate, Phonon::State oldstat QWARN(QByteArray(QByteArray(QTest::toString(oldstate)) + " to " + QByteArray(QTest::toString(newstate)))); } -void tst_MediaObject::testPlayFromResource() +void tst_MediaObject::testPlayFromResourceDirect() +{ + MediaObject media; + media.setCurrentSource(Phonon::MediaSource(MEDIA_FILEPATH)); + QVERIFY(media.state() != Phonon::ErrorState); + if (media.state() != Phonon::StoppedState) + QTest::waitForSignal(&media, SIGNAL(stateChanged(Phonon::State, Phonon::State)), 10000); + QCOMPARE(media.state(), Phonon::StoppedState); + media.play(); + if (media.state() != Phonon::PlayingState) + QTest::waitForSignal(&media, SIGNAL(stateChanged(Phonon::State, Phonon::State)), 10000); + QCOMPARE(media.state(), Phonon::PlayingState); +} + +void tst_MediaObject::testPlayFromResourceFile() { -#ifdef Q_OS_SYMBIAN - QSKIP("Not implemented yet.", SkipAll); -#else QFile file(MEDIA_FILEPATH); MediaObject media; media.setCurrentSource(&file); @@ -215,7 +227,6 @@ void tst_MediaObject::testPlayFromResource() if (media.state() != Phonon::PlayingState) QTest::waitForSignal(&media, SIGNAL(stateChanged(Phonon::State, Phonon::State)), 10000); QCOMPARE(media.state(), Phonon::PlayingState); -#endif } void tst_MediaObject::testPlayIllegalFile() -- cgit v0.12 From 7b70dd1d7f5f6819b1aa28647826e2137504de54 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 28 Jul 2010 14:05:52 +0100 Subject: Added support to Phonon MMF backend for playback of Qt resource files The backend accesses the resource file path via MediaSource::url(). A small patch to Phonon was required to enable this, because by default, Phonon passes a QIODevice, rather than the resource file path, to the backend. The backend uses this path to create a QResource object, through which the memory buffer into which the resource file has been read can be accessed. This buffer is wrapped in a Symbian 8-bit descriptor and passed to the OpenDesL() function of the appropriate MMF client utility API. Playback only works for certain file formats, as the Symbian MIME type recognizer does not always work. For example, playback of an audio WAV resource file works, while playback of an MP3 resource file does not. Task-number: QTBUG-6562 Reviewed-by: Justin McPherson --- src/3rdparty/phonon/mmf/abstractmediaplayer.cpp | 4 ++-- src/3rdparty/phonon/mmf/mediaobject.cpp | 10 +++++++--- src/3rdparty/phonon/phonon/mediasource.cpp | 4 ---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp index bca0891..3702560 100644 --- a/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp +++ b/src/3rdparty/phonon/mmf/abstractmediaplayer.cpp @@ -258,13 +258,13 @@ void MMF::AbstractMediaPlayer::open() case MediaSource::Stream: { QResource *const resource = m_parent->resource(); - if (resource && resource->isValid()) { + if (resource) { m_buffer.Set(resource->data(), resource->size()); symbianErr = openDescriptor(m_buffer); if (KErrNone != symbianErr) errorMessage = tr("Error opening resource"); } else { - errorMessage = tr("Error opening source: resource not valid"); + errorMessage = tr("Error opening source: resource not opened"); } break; } diff --git a/src/3rdparty/phonon/mmf/mediaobject.cpp b/src/3rdparty/phonon/mmf/mediaobject.cpp index e16bdf3..b476535 100644 --- a/src/3rdparty/phonon/mmf/mediaobject.cpp +++ b/src/3rdparty/phonon/mmf/mediaobject.cpp @@ -315,10 +315,14 @@ void MMF::MediaObject::createPlayer(const MediaSource &source) if (fileName.startsWith(QLatin1String(":/")) || fileName.startsWith(QLatin1String("qrc://"))) { Q_ASSERT(!m_resource); m_resource = new QResource(fileName); - if (m_resource->isValid()) - mediaType = bufferMediaType(m_resource->data(), m_resource->size()); - else + if (m_resource->isValid()) { + if (m_resource->isCompressed()) + errorMessage = tr("Error opening source: resource is compressed"); + else + mediaType = bufferMediaType(m_resource->data(), m_resource->size()); + } else { errorMessage = tr("Error opening source: resource not valid"); + } } else { errorMessage = tr("Error opening source: type not supported"); } diff --git a/src/3rdparty/phonon/phonon/mediasource.cpp b/src/3rdparty/phonon/phonon/mediasource.cpp index 925ff32..8bde565 100644 --- a/src/3rdparty/phonon/phonon/mediasource.cpp +++ b/src/3rdparty/phonon/phonon/mediasource.cpp @@ -58,11 +58,7 @@ MediaSource::MediaSource(const QString &filename) d->type = Stream; d->ioDevice = new QFile(filename); d->setStream(new IODeviceStream(d->ioDevice, d->ioDevice)); -#ifdef Q_OS_SYMBIAN - // On Symbian, we need to access the resource buffer directly, rather than - // via QFile indirection d->url = QUrl::fromLocalFile(fileInfo.absoluteFilePath()); -#endif #else d->type = Invalid; #endif //QT_NO_PHONON_ABSTRACTMEDIASTREAM -- cgit v0.12 From 7f4e72f438362da7b862ea682f36ec959070e1cb Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Mon, 2 Aug 2010 10:09:49 +0100 Subject: Enabled tst_mediaobject::testPlayFromResource on Symbian Task-number: QTBUG-6562 Reviewed-by: Justin McPherson --- tests/auto/mediaobject/tst_mediaobject.cpp | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/tests/auto/mediaobject/tst_mediaobject.cpp b/tests/auto/mediaobject/tst_mediaobject.cpp index 99a16db..613a086 100644 --- a/tests/auto/mediaobject/tst_mediaobject.cpp +++ b/tests/auto/mediaobject/tst_mediaobject.cpp @@ -124,8 +124,7 @@ class tst_MediaObject : public QObject void init(); void cleanup(); - void testPlayFromResourceDirect(); - void testPlayFromResourceFile(); + void testPlayFromResource(); void testPlayIllegalFile(); void initTestCase(); void checkForDefaults(); @@ -200,7 +199,7 @@ void tst_MediaObject::stateChanged(Phonon::State newstate, Phonon::State oldstat QWARN(QByteArray(QByteArray(QTest::toString(oldstate)) + " to " + QByteArray(QTest::toString(newstate)))); } -void tst_MediaObject::testPlayFromResourceDirect() +void tst_MediaObject::testPlayFromResource() { MediaObject media; media.setCurrentSource(Phonon::MediaSource(MEDIA_FILEPATH)); @@ -214,21 +213,6 @@ void tst_MediaObject::testPlayFromResourceDirect() QCOMPARE(media.state(), Phonon::PlayingState); } -void tst_MediaObject::testPlayFromResourceFile() -{ - QFile file(MEDIA_FILEPATH); - MediaObject media; - media.setCurrentSource(&file); - QVERIFY(media.state() != Phonon::ErrorState); - if (media.state() != Phonon::StoppedState) - QTest::waitForSignal(&media, SIGNAL(stateChanged(Phonon::State, Phonon::State)), 10000); - QCOMPARE(media.state(), Phonon::StoppedState); - media.play(); - if (media.state() != Phonon::PlayingState) - QTest::waitForSignal(&media, SIGNAL(stateChanged(Phonon::State, Phonon::State)), 10000); - QCOMPARE(media.state(), Phonon::PlayingState); -} - void tst_MediaObject::testPlayIllegalFile() { QString filename = QDir::tempPath() + QString("/test.wav"); -- cgit v0.12 From 1c7c6e2326b2f89bdf564cebe89ff6f95c3f17d7 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Mon, 2 Aug 2010 12:10:14 +0100 Subject: Fixed build break on Symbian versions earlier than S^3 The following overload was added in S^3: TInt RApaLsSession::RecognizeData(const TDesC8& aBuffer, TDataRecognitionResult& aDataType) const In order to allow the backend to compile against earlier versions of the platform, this patch calls the RecognizeData overload which taking the same arguments as above, plus a filename (for which KNullDesC is passed). Task-number: QTBUG-6562 Reviewed-by: trustme --- src/3rdparty/phonon/mmf/mediaobject.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/3rdparty/phonon/mmf/mediaobject.cpp b/src/3rdparty/phonon/mmf/mediaobject.cpp index b476535..98326b8 100644 --- a/src/3rdparty/phonon/mmf/mediaobject.cpp +++ b/src/3rdparty/phonon/mmf/mediaobject.cpp @@ -158,7 +158,7 @@ MMF::MediaType MMF::MediaObject::bufferMediaType(const uchar *data, qint64 size) if (openRecognizer()) { TDataRecognitionResult recognizerResult; const TPtrC8 des(data, size); - const TInt err = m_recognizer.RecognizeData(des, recognizerResult); + const TInt err = m_recognizer.RecognizeData(KNullDesC, des, recognizerResult); if (KErrNone == err) { const TPtrC mimeType = recognizerResult.iDataType.Des(); result = Utils::mimeTypeToMediaType(mimeType); -- cgit v0.12 From 88917087b64a014a69d12946a162ab6588e733e6 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Tue, 3 Aug 2010 10:52:26 +1000 Subject: setUniformValue(QSize) was setting (w,w) not (w,h) Task-number: QTBUG-12591 Reviewed-by: Daniel Pope --- src/opengl/qglshaderprogram.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opengl/qglshaderprogram.cpp b/src/opengl/qglshaderprogram.cpp index bbfc2d5..edbb635 100644 --- a/src/opengl/qglshaderprogram.cpp +++ b/src/opengl/qglshaderprogram.cpp @@ -1971,7 +1971,7 @@ void QGLShaderProgram::setUniformValue(int location, const QSize& size) Q_D(QGLShaderProgram); Q_UNUSED(d); if (location != -1) { - GLfloat values[4] = {size.width(), size.width()}; + GLfloat values[4] = {size.width(), size.height()}; glUniform2fv(location, 1, values); } } -- cgit v0.12 From bf5c25c4e7571475255e1d9de307913bee228d10 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Tue, 3 Aug 2010 11:23:37 +1000 Subject: Don't resolve GLSL extensions if no shaders If the GL server is 1.x, but the client is 2.x, then the qt_resolve_glsl_extensions() function was returning true because the functions existed client-side, when it should have returned false because the functionality didn't exist server-side. Task-number: QTBUG-12478 Reviewed-by: Sarah Smith --- src/opengl/qglextensions.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/opengl/qglextensions.cpp b/src/opengl/qglextensions.cpp index c091191..433ccae 100644 --- a/src/opengl/qglextensions.cpp +++ b/src/opengl/qglextensions.cpp @@ -233,6 +233,10 @@ bool qt_resolve_glsl_extensions(QGLContext *ctx) if (glCreateShader) return true; + // Must at least have the FragmentShader extension to continue. + if (!(QGLExtensions::glExtensions() & QGLExtensions::FragmentShader)) + return false; + glCreateShader = (_glCreateShader) ctx->getProcAddress(QLatin1String("glCreateShader")); if (glCreateShader) { glShaderSource = (_glShaderSource) ctx->getProcAddress(QLatin1String("glShaderSource")); -- cgit v0.12 From 3246586d5a98465c38c21f191e9714e821788958 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Tue, 3 Aug 2010 10:17:33 +0100 Subject: Fixed test regression on Mac Mac Phonon backend does not support opening a resource file via the MediaSource(const QString &) overload. The MediaSource(QIODevice *) overload must be used. The Symbian backend, on the other hand, requires the former overload to be used. Task-number: QTBUG-6562 Reviewed-by: trustme --- tests/auto/mediaobject/tst_mediaobject.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/auto/mediaobject/tst_mediaobject.cpp b/tests/auto/mediaobject/tst_mediaobject.cpp index 613a086..6367392 100644 --- a/tests/auto/mediaobject/tst_mediaobject.cpp +++ b/tests/auto/mediaobject/tst_mediaobject.cpp @@ -202,7 +202,12 @@ void tst_MediaObject::stateChanged(Phonon::State newstate, Phonon::State oldstat void tst_MediaObject::testPlayFromResource() { MediaObject media; +#ifdef Q_OS_SYMBIAN media.setCurrentSource(Phonon::MediaSource(MEDIA_FILEPATH)); +#else + QFile file(MEDIA_FILEPATH); + media.setCurrentSource(&file); +#endif QVERIFY(media.state() != Phonon::ErrorState); if (media.state() != Phonon::StoppedState) QTest::waitForSignal(&media, SIGNAL(stateChanged(Phonon::State, Phonon::State)), 10000); -- cgit v0.12 From c7b9ee03339774bd1cae7793d91dad7809be987a Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Tue, 3 Aug 2010 19:41:55 +0200 Subject: Add QDir::homePath() for the log file in QTestFileLogger in testlib on Symbian, both hardware and emulator. Task-number: QTBUG-12622 Reviewed-by: Shane Kearns --- src/testlib/qtestfilelogger.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/testlib/qtestfilelogger.cpp b/src/testlib/qtestfilelogger.cpp index a5cdc80..9d1ee6a 100644 --- a/src/testlib/qtestfilelogger.cpp +++ b/src/testlib/qtestfilelogger.cpp @@ -44,6 +44,8 @@ #include "QtTest/private/qtestlog_p.h" #include "QtTest/private/qtestresult_p.h" +#include + #include #include @@ -69,11 +71,19 @@ QTestFileLogger::~QTestFileLogger() void QTestFileLogger::init() { char filename[100]; + int index = 0; +#if defined(Q_OS_SYMBIAN) + QByteArray ba(QDir::toNativeSeparators(QString(QDir::homePath()+QDir::separator())).toUtf8()); + index = ba.length(); + QTest::qt_snprintf(filename, sizeof(filename), "%s%s.log", + ba.constData(), QTestResult::currentTestObjectName()); +#else QTest::qt_snprintf(filename, sizeof(filename), "%s.log", QTestResult::currentTestObjectName()); - - // Keep filenames simple - for (uint i = 0; i < sizeof(filename) && filename[i]; ++i) { +#endif + + // Keep filenames simple + for (uint i = index; i < sizeof(filename) && filename[i]; ++i) { char& c = filename[i]; if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '-' || c == '.')) { -- cgit v0.12 From 22e95ba2502f893d741b774c37fc8c7bdc4b05c5 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Wed, 4 Aug 2010 17:16:33 +0200 Subject: Improving text coordinate rounding in the OpenVG paint engine Commit b0bbabe728fedb8531fc2837403856bd5ed44e1b fixed text blurriness in the OpenVG paint engine by forcing the coordinates of the text items to integer coordinates (for unrotated, unscaled text). That was not yet enough. In addition to the coordinates, also the d->pathTransform in QVGPaintEngine can have a non-integer translation. This patch makes sure that the text item coordinate combined with the translation result in final integer coordinates. Since it is not possible to set an absolute translation of a QTransform (only relative is possible), first dx() is added to p.x(), then after rounding, it is again substracted. Sam for y, but with opposite prefix, since the y-axis in Qt and in transformation matrices are in opposite directions. The ceil stunt (which I cerated by trial and error) was replaced by floor(x + aliasedCoordinateDelta), which *exactly* what other paint engines do. Task-number: QTBUG-12330 Reviewed-by: Jason Barron --- src/openvg/qpaintengine_vg.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp index e368c32..318e2b1 100644 --- a/src/openvg/qpaintengine_vg.cpp +++ b/src/openvg/qpaintengine_vg.cpp @@ -76,6 +76,9 @@ QT_BEGIN_NAMESPACE #if !defined(QVG_NO_DRAW_GLYPHS) +// use the same rounding as in qrasterizer.cpp (6 bit fixed point) +static const qreal aliasedCoordinateDelta = 0.5 - 0.015625; + Q_DECL_IMPORT extern int qt_defaultDpiX(); Q_DECL_IMPORT extern int qt_defaultDpiY(); @@ -3439,9 +3442,10 @@ void QVGPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textItem) // Set the transformation to use for drawing the current glyphs. QTransform glyphTransform(d->pathTransform); if (d->transform.type() <= QTransform::TxTranslate) { - // Prevent blurriness of unscaled, unrotated text by using integer coordinates. - // Using ceil(x-0.5) instead of qRound() or int-cast, behave like other paint engines. - glyphTransform.translate(ceil(p.x() - 0.5), ceil(p.y() - 0.5)); + // Prevent blurriness of unscaled, unrotated text by forcing integer coordinates. + glyphTransform.translate( + floor(p.x() + glyphTransform.dx() + aliasedCoordinateDelta) - glyphTransform.dx(), + floor(p.y() - glyphTransform.dy() + aliasedCoordinateDelta) + glyphTransform.dy()); } else { glyphTransform.translate(p.x(), p.y()); } -- cgit v0.12 From 9423ef31eb40e2bd0209621de1d1caf796ec7501 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Thu, 5 Aug 2010 11:24:10 +0200 Subject: Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( bbff6182e525fcf58dbc7426a1fbbf8f31588214 ) Changes in WebKit/qt since the last update: ++ b/WebKit/qt/ChangeLog 2010-08-05 David Leong Reviewed by Simon Hausmann. [Qt] Input mode states are not reset after entering a password field https://bugs.webkit.org/show_bug.cgi?id=43530 Input mode hints are not reset if clicking on password elements then clicking on
+ diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp index facee59..14f2362 100644 --- a/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp +++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebview/tst_qwebview.cpp @@ -251,30 +251,37 @@ void tst_QWebView::focusInputTypes() #else QVERIFY(webView->inputMethodHints() == Qt::ImhNone); #endif + QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled)); // 'password' field webView->fireMouseClick(QPoint(20, 60)); QVERIFY(webView->inputMethodHints() == Qt::ImhHiddenText); + QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled)); // 'tel' field webView->fireMouseClick(QPoint(20, 110)); QVERIFY(webView->inputMethodHints() == Qt::ImhDialableCharactersOnly); + QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled)); // 'number' field webView->fireMouseClick(QPoint(20, 160)); QVERIFY(webView->inputMethodHints() == Qt::ImhDigitsOnly); + QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled)); // 'email' field webView->fireMouseClick(QPoint(20, 210)); QVERIFY(webView->inputMethodHints() == Qt::ImhEmailCharactersOnly); + QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled)); // 'url' field webView->fireMouseClick(QPoint(20, 260)); QVERIFY(webView->inputMethodHints() == Qt::ImhUrlCharactersOnly); + QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled)); // 'password' field webView->fireMouseClick(QPoint(20, 60)); QVERIFY(webView->inputMethodHints() == Qt::ImhHiddenText); + QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled)); // 'text' type webView->fireMouseClick(QPoint(20, 10)); @@ -284,6 +291,18 @@ void tst_QWebView::focusInputTypes() #else QVERIFY(webView->inputMethodHints() == Qt::ImhNone); #endif + QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled)); + + // 'password' field + webView->fireMouseClick(QPoint(20, 60)); + QVERIFY(webView->inputMethodHints() == Qt::ImhHiddenText); + QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled)); + + qWarning("clicking on text area"); + // 'text area' field + webView->fireMouseClick(QPoint(20, 320)); + QVERIFY(webView->inputMethodHints() == Qt::ImhNone); + QVERIFY(webView->testAttribute(Qt::WA_InputMethodEnabled)); delete webView; -- cgit v0.12 From 637d207e397c13c09a8dcbd718ee85bce2548e90 Mon Sep 17 00:00:00 2001 From: Frank Osterfeld Date: Thu, 5 Aug 2010 13:42:58 +0200 Subject: QDom: Do not crash on "text" "a:" is not a valid tagname. The function creating the element node notices that and returns 0, but the parser ignores it and continues, and then crashes later when processing the "text". This patch aborts the parsing immediately when creating the element node failed and fixes the crash. Merge-request: 2431 Reviewed-by: Olivier Goffart --- src/xml/dom/qdom.cpp | 6 ++++-- tests/auto/qdom/tst_qdom.cpp | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/xml/dom/qdom.cpp b/src/xml/dom/qdom.cpp index 1267e7e..662c796 100644 --- a/src/xml/dom/qdom.cpp +++ b/src/xml/dom/qdom.cpp @@ -7418,8 +7418,10 @@ bool QDomHandler::startElement(const QString& nsURI, const QString&, const QStri n = doc->createElement(qName); } - if (n) - n->setLocation(locator->lineNumber(), locator->columnNumber()); + if (!n) + return false; + + n->setLocation(locator->lineNumber(), locator->columnNumber()); node->appendChild(n); node = n; diff --git a/tests/auto/qdom/tst_qdom.cpp b/tests/auto/qdom/tst_qdom.cpp index 0f6cdaa..8bf7620 100644 --- a/tests/auto/qdom/tst_qdom.cpp +++ b/tests/auto/qdom/tst_qdom.cpp @@ -1776,6 +1776,7 @@ void tst_QDom::crashInSetContent() const QDomImplementation::setInvalidDataPolicy(QDomImplementation::ReturnNullNode); QDomDocument docImport; + QCOMPARE(docImport.setContent(QLatin1String("text"), true), false); QVERIFY(docImport.setContent(QLatin1String(""))); } -- cgit v0.12 From 15505360dc8e8b8f1343bba6fd3e5a9c95718d30 Mon Sep 17 00:00:00 2001 From: Benjamin Poulain Date: Thu, 5 Aug 2010 13:43:19 +0200 Subject: Replace the SSE prologues by a macro Replace the code of the SSE prologue by a macro to avoid copying the prologue everywhere. Reviewed-by: Andreas Kling --- src/corelib/tools/qsimd_p.h | 4 +++- src/gui/painting/qdrawhelper_sse2.cpp | 14 ++++---------- src/gui/painting/qdrawingprimitive_sse2_p.h | 8 ++------ 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h index 5ff0f97..a3148fb 100644 --- a/src/corelib/tools/qsimd_p.h +++ b/src/corelib/tools/qsimd_p.h @@ -150,7 +150,9 @@ enum CPUFeatures { Q_CORE_EXPORT uint qDetectCPUFeatures(); -Q_CORE_EXPORT uint qDetectCPUFeatures(); + +#define ALIGNMENT_PROLOGUE_16BYTES(ptr, i, length) \ + for (; i < static_cast(qMin(static_cast(length), ((4 - ((reinterpret_cast(ptr) >> 2) & 0x3)) & 0x3))); ++i) QT_END_NAMESPACE diff --git a/src/gui/painting/qdrawhelper_sse2.cpp b/src/gui/painting/qdrawhelper_sse2.cpp index 7ab9eda..22c0384 100644 --- a/src/gui/painting/qdrawhelper_sse2.cpp +++ b/src/gui/painting/qdrawhelper_sse2.cpp @@ -112,9 +112,7 @@ void qt_blend_rgb32_on_rgb32_sse2(uchar *destPixels, int dbpl, int x = 0; // First, align dest to 16 bytes: - const int offsetToAlignOn16Bytes = (4 - ((reinterpret_cast(dst) >> 2) & 0x3)) & 0x3; - const int prologLength = qMin(w, offsetToAlignOn16Bytes); - for (; x < prologLength; ++x) { + ALIGNMENT_PROLOGUE_16BYTES(dst, x, w) { quint32 s = src[x]; s = BYTE_MUL(s, const_alpha); dst[x] = INTERPOLATE_PIXEL_255(src[x], const_alpha, dst[x], one_minus_const_alpha); @@ -182,12 +180,10 @@ inline int comp_func_Plus_one_pixel(uint d, const uint s) void QT_FASTCALL comp_func_Plus_sse2(uint *dst, const uint *src, int length, uint const_alpha) { int x = 0; - const int offsetToAlignOn16Bytes = (4 - ((reinterpret_cast(dst) >> 2) & 0x3)) & 0x3; - const int prologLength = qMin(length, offsetToAlignOn16Bytes); if (const_alpha == 255) { // 1) Prologue: align destination on 16 bytes - for (; x < prologLength; ++x) + ALIGNMENT_PROLOGUE_16BYTES(dst, x, length) dst[x] = comp_func_Plus_one_pixel(dst[x], src[x]); // 2) composition with SSE2 @@ -208,7 +204,7 @@ void QT_FASTCALL comp_func_Plus_sse2(uint *dst, const uint *src, int length, uin const __m128i oneMinusConstAlpha = _mm_set1_epi16(one_minus_const_alpha); // 1) Prologue: align destination on 16 bytes - for (; x < prologLength; ++x) + ALIGNMENT_PROLOGUE_16BYTES(dst, x, length) dst[x] = comp_func_Plus_one_pixel_const_alpha(dst[x], src[x], const_alpha, one_minus_const_alpha); const __m128i half = _mm_set1_epi16(0x80); @@ -239,9 +235,7 @@ void QT_FASTCALL comp_func_Source_sse2(uint *dst, const uint *src, int length, u int x = 0; // 1) prologue, align on 16 bytes - const int offsetToAlignOn16Bytes = (4 - ((reinterpret_cast(dst) >> 2) & 0x3)) & 0x3; - const int prologLength = qMin(length, offsetToAlignOn16Bytes); - for (; x < prologLength; ++x) + ALIGNMENT_PROLOGUE_16BYTES(dst, x, length) dst[x] = INTERPOLATE_PIXEL_255(src[x], const_alpha, dst[x], ialpha); // 2) interpolate pixels with SSE2 diff --git a/src/gui/painting/qdrawingprimitive_sse2_p.h b/src/gui/painting/qdrawingprimitive_sse2_p.h index 18355c2..d8f6bf5 100644 --- a/src/gui/painting/qdrawingprimitive_sse2_p.h +++ b/src/gui/painting/qdrawingprimitive_sse2_p.h @@ -143,9 +143,7 @@ QT_BEGIN_NAMESPACE int x = 0; \ \ /* First, get dst aligned. */ \ - const int offsetToAlignOn16Bytes = (4 - ((reinterpret_cast(dst) >> 2) & 0x3)) & 0x3;\ - const int prologLength = qMin(length, offsetToAlignOn16Bytes);\ - for (; x < prologLength; ++x) { \ + ALIGNMENT_PROLOGUE_16BYTES(dst, x, length) { \ uint s = src[x]; \ if (s >= 0xff000000) \ dst[x] = s; \ @@ -202,9 +200,7 @@ QT_BEGIN_NAMESPACE { \ int x = 0; \ \ - const int offsetToAlignOn16Bytes = (4 - ((reinterpret_cast(dst) >> 2) & 0x3)) & 0x3;\ - const int prologLength = qMin(length, offsetToAlignOn16Bytes);\ - for (; x < prologLength; ++x) { \ + ALIGNMENT_PROLOGUE_16BYTES(dst, x, length) { \ quint32 s = src[x]; \ if (s != 0) { \ s = BYTE_MUL(s, const_alpha); \ -- cgit v0.12 From 05bb249c2ad3ee15eb205a806f8546c105683096 Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Thu, 5 Aug 2010 11:21:03 +0200 Subject: Fix QTextEngine overflow caused by extremely long text Internally, QTextEngine use int to calculate most of the layout data required. If a string longer than 2^24 is passed into either QTextEngine or classes using it (QStackTextEngine, QPainter, QFontMetrics, etc.), overflow will happen because the memory size required to allocate for layout will become too large for int to handle. This patch will prevent these cases and add error handling mechanism for relevant code. Task-number: QT-3658 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/gui/text/qtextengine.cpp | 87 ++++++++++++++++++++++++++++++++------------ src/gui/text/qtextengine_p.h | 14 +++++-- src/gui/text/qtextlayout.cpp | 19 +++++++--- 3 files changed, 87 insertions(+), 33 deletions(-) diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index 439f2a4..5670e29 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -923,6 +923,13 @@ void QTextEngine::shapeText(int item) const si.width += glyphs.advances_x[i]; } +static inline bool hasCaseChange(const QScriptItem &si) +{ + return si.analysis.flags == QScriptAnalysis::SmallCaps || + si.analysis.flags == QScriptAnalysis::Uppercase || + si.analysis.flags == QScriptAnalysis::Lowercase; +} + #if defined(Q_WS_WINCE) //TODO // set the glyph attributes heuristically. Assumes a 1 to 1 relationship between chars and glyphs // and no reordering. @@ -1050,14 +1057,15 @@ void QTextEngine::shapeTextWithCE(int item) const if (option.useDesignMetrics()) flags |= DesignMetrics; - attributes(); // pre-initialize char attributes + // pre-initialize char attributes + if (! attributes()) + return; const int len = length(item); int num_glyphs = length(item); const QChar *str = layoutData->string.unicode() + si.position; ushort upperCased[256]; - if (si.analysis.flags == QScriptAnalysis::SmallCaps || si.analysis.flags == QScriptAnalysis::Uppercase - || si.analysis.flags == QScriptAnalysis::Lowercase) { + if (hasCaseChange(si)) { ushort *uc = upperCased; if (len > 256) uc = new ushort[len]; @@ -1071,7 +1079,14 @@ void QTextEngine::shapeTextWithCE(int item) const } while (true) { - ensureSpace(num_glyphs); + if (! ensureSpace(num_glyphs)) { + // If str is converted to uppercase/lowercase form with a new buffer, + // we need to delete that buffer before return for error + const ushort *uc = reinterpret_cast(str); + if (hasCaseChange(si) && uc != upperCased) + delete [] uc; + return; + } num_glyphs = layoutData->glyphLayout.numGlyphs - layoutData->used; QGlyphLayout g = availableGlyphs(&si); @@ -1092,9 +1107,7 @@ void QTextEngine::shapeTextWithCE(int item) const layoutData->used += si.num_glyphs; const ushort *uc = reinterpret_cast(str); - if ((si.analysis.flags == QScriptAnalysis::SmallCaps || si.analysis.flags == QScriptAnalysis::Uppercase - || si.analysis.flags == QScriptAnalysis::Lowercase) - && uc != upperCased) + if (hasCaseChange(si) && uc != upperCased) delete [] uc; } #endif @@ -1133,8 +1146,7 @@ void QTextEngine::shapeTextWithHarfbuzz(int item) const entire_shaper_item.item.bidiLevel = si.analysis.bidiLevel; HB_UChar16 upperCased[256]; // XXX what about making this 4096, so we don't have to extend it ever. - if (si.analysis.flags == QScriptAnalysis::SmallCaps || si.analysis.flags == QScriptAnalysis::Uppercase - || si.analysis.flags == QScriptAnalysis::Lowercase) { + if (hasCaseChange(si)) { HB_UChar16 *uc = upperCased; if (entire_shaper_item.item.length > 256) uc = new HB_UChar16[entire_shaper_item.item.length]; @@ -1156,17 +1168,24 @@ void QTextEngine::shapeTextWithHarfbuzz(int item) const entire_shaper_item.shaperFlags |= HB_ShaperFlag_UseDesignMetrics; entire_shaper_item.num_glyphs = qMax(layoutData->glyphLayout.numGlyphs - layoutData->used, int(entire_shaper_item.item.length)); - ensureSpace(entire_shaper_item.num_glyphs); + if (! ensureSpace(entire_shaper_item.num_glyphs)) { + if (hasCaseChange(si)) + delete [] const_cast(entire_shaper_item.string); + return; + } QGlyphLayout initialGlyphs = availableGlyphs(&si).mid(0, entire_shaper_item.num_glyphs); if (!stringToGlyphs(&entire_shaper_item, &initialGlyphs, font)) { - ensureSpace(entire_shaper_item.num_glyphs); + if (! ensureSpace(entire_shaper_item.num_glyphs)) { + if (hasCaseChange(si)) + delete [] const_cast(entire_shaper_item.string); + return; + } initialGlyphs = availableGlyphs(&si).mid(0, entire_shaper_item.num_glyphs); if (!stringToGlyphs(&entire_shaper_item, &initialGlyphs, font)) { // ############ if this happens there's a bug in the fontengine - if ((si.analysis.flags == QScriptAnalysis::SmallCaps || si.analysis.flags == QScriptAnalysis::Uppercase - || si.analysis.flags == QScriptAnalysis::Lowercase) && entire_shaper_item.string != upperCased) + if (hasCaseChange(si) && entire_shaper_item.string != upperCased) delete [] const_cast(entire_shaper_item.string); return; } @@ -1231,7 +1250,11 @@ void QTextEngine::shapeTextWithHarfbuzz(int item) const remaining_glyphs -= shaper_item.initialGlyphCount; do { - ensureSpace(glyph_pos + shaper_item.num_glyphs + remaining_glyphs); + if (! ensureSpace(glyph_pos + shaper_item.num_glyphs + remaining_glyphs)) { + if (hasCaseChange(si)) + delete [] const_cast(entire_shaper_item.string); + return; + } const QGlyphLayout g = availableGlyphs(&si).mid(glyph_pos); moveGlyphData(g.mid(shaper_item.num_glyphs), g.mid(shaper_item.initialGlyphCount), remaining_glyphs); @@ -1271,8 +1294,7 @@ void QTextEngine::shapeTextWithHarfbuzz(int item) const layoutData->used += si.num_glyphs; - if ((si.analysis.flags == QScriptAnalysis::SmallCaps || si.analysis.flags == QScriptAnalysis::Uppercase) - && entire_shaper_item.string != upperCased) + if (hasCaseChange(si) && entire_shaper_item.string != upperCased) delete [] const_cast(entire_shaper_item.string); } @@ -1317,7 +1339,8 @@ const HB_CharAttributes *QTextEngine::attributes() const return (HB_CharAttributes *) layoutData->memory; itemize(); - ensureSpace(layoutData->string.length()); + if (! ensureSpace(layoutData->string.length())) + return NULL; QVarLengthArray hbScriptItems(layoutData->items.size()); @@ -1864,7 +1887,10 @@ void QTextEngine::justify(const QScriptLine &line) // don't include trailing white spaces when doing justification int line_length = line.length; - const HB_CharAttributes *a = attributes()+line.from; + const HB_CharAttributes *a = attributes(); + if (! a) + return; + a += line.from; while (line_length && a[line_length-1].whiteSpace) --line_length; // subtract one char more, as we can't justfy after the last character @@ -2045,7 +2071,7 @@ QTextEngine::LayoutData::LayoutData() memory_on_stack = false; used = 0; hasBidi = false; - inLayout = false; + layoutState = LayoutEmpty; haveCharAttributes = false; logClustersPtr = 0; available_glyphs = 0; @@ -2079,7 +2105,7 @@ QTextEngine::LayoutData::LayoutData(const QString &str, void **stack_memory, int } used = 0; hasBidi = false; - inLayout = false; + layoutState = LayoutEmpty; haveCharAttributes = false; } @@ -2090,12 +2116,12 @@ QTextEngine::LayoutData::~LayoutData() memory = 0; } -void QTextEngine::LayoutData::reallocate(int totalGlyphs) +bool QTextEngine::LayoutData::reallocate(int totalGlyphs) { Q_ASSERT(totalGlyphs >= glyphLayout.numGlyphs); if (memory_on_stack && available_glyphs >= totalGlyphs) { glyphLayout.grow(glyphLayout.data(), totalGlyphs); - return; + return true; } int space_charAttributes = sizeof(HB_CharAttributes)*string.length()/sizeof(void*) + 1; @@ -2103,7 +2129,14 @@ void QTextEngine::LayoutData::reallocate(int totalGlyphs) int space_glyphs = QGlyphLayout::spaceNeededForGlyphLayout(totalGlyphs)/sizeof(void*) + 2; int newAllocated = space_charAttributes + space_glyphs + space_logClusters; - Q_ASSERT(newAllocated >= allocated); + // These values can be negative if the length of string/glyphs causes overflow, + // we can't layout such a long string all at once, so return false here to + // indicate there is a failure + if (space_charAttributes < 0 || space_logClusters < 0 || space_glyphs < 0 || newAllocated < allocated) { + layoutState = LayoutFailed; + return false; + } + void **newMem = memory; newMem = (void **)::realloc(memory_on_stack ? 0 : memory, newAllocated*sizeof(void *)); Q_CHECK_PTR(newMem); @@ -2124,6 +2157,7 @@ void QTextEngine::LayoutData::reallocate(int totalGlyphs) glyphLayout.grow(reinterpret_cast(m), totalGlyphs); allocated = newAllocated; + return true; } // grow to the new size, copying the existing data to the new layout @@ -2155,7 +2189,7 @@ void QTextEngine::freeMemory() } else { layoutData->used = 0; layoutData->hasBidi = false; - layoutData->inLayout = false; + layoutData->layoutState = LayoutEmpty; layoutData->haveCharAttributes = false; } for (int i = 0; i < lines.size(); ++i) { @@ -2314,6 +2348,9 @@ QString QTextEngine::elidedText(Qt::TextElideMode mode, const QFixed &width, int shape(i); HB_CharAttributes *attributes = const_cast(this->attributes()); + if (!attributes) + return QString(); + unsigned short *logClusters = this->logClusters(&si); QGlyphLayout glyphs = shapedGlyphs(&si); @@ -2385,6 +2422,8 @@ QString QTextEngine::elidedText(Qt::TextElideMode mode, const QFixed &width, int return QString(); const HB_CharAttributes *attributes = this->attributes(); + if (!attributes) + return QString(); if (mode == Qt::ElideRight) { QFixed currentWidth; diff --git a/src/gui/text/qtextengine_p.h b/src/gui/text/qtextengine_p.h index e623fa5..4cbe81f 100644 --- a/src/gui/text/qtextengine_p.h +++ b/src/gui/text/qtextengine_p.h @@ -416,6 +416,11 @@ class QTextFormatCollection; class Q_GUI_EXPORT QTextEngine { public: + enum LayoutState { + LayoutEmpty, + InLayout, + LayoutFailed, + }; struct LayoutData { LayoutData(const QString &str, void **stack_memory, int mem_size); LayoutData(); @@ -428,11 +433,11 @@ public: QGlyphLayout glyphLayout; mutable int used; uint hasBidi : 1; - uint inLayout : 1; + uint layoutState : 2; uint memory_on_stack : 1; bool haveCharAttributes; QString string; - void reallocate(int totalGlyphs); + bool reallocate(int totalGlyphs); }; QTextEngine(LayoutData *data); @@ -520,9 +525,10 @@ public: return layoutData->glyphLayout.mid(si->glyph_data_offset, si->num_glyphs); } - inline void ensureSpace(int nGlyphs) const { + inline bool ensureSpace(int nGlyphs) const { if (layoutData->glyphLayout.numGlyphs - layoutData->used < nGlyphs) - layoutData->reallocate((((layoutData->used + nGlyphs)*3/2 + 15) >> 4) << 4); + return layoutData->reallocate((((layoutData->used + nGlyphs)*3/2 + 15) >> 4) << 4); + return true; } void freeMemory(); diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index 674064e..5a11c87 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -74,6 +74,8 @@ static inline QFixed leadingSpaceWidth(QTextEngine *eng, const QScriptLine &line int pos = line.length; const HB_CharAttributes *attributes = eng->attributes(); + if (!attributes) + return QFixed(); while (pos > 0 && attributes[line.from + pos - 1].whiteSpace) --pos; return eng->width(line.from + pos, line.length - pos); @@ -601,7 +603,7 @@ bool QTextLayout::cacheEnabled() const void QTextLayout::beginLayout() { #ifndef QT_NO_DEBUG - if (d->layoutData && d->layoutData->inLayout) { + if (d->layoutData && d->layoutData->layoutState == QTextEngine::InLayout) { qWarning("QTextLayout::beginLayout: Called while already doing layout"); return; } @@ -609,7 +611,7 @@ void QTextLayout::beginLayout() d->invalidate(); d->clearLineData(); d->itemize(); - d->layoutData->inLayout = true; + d->layoutData->layoutState = QTextEngine::InLayout; } /*! @@ -618,7 +620,7 @@ void QTextLayout::beginLayout() void QTextLayout::endLayout() { #ifndef QT_NO_DEBUG - if (!d->layoutData || !d->layoutData->inLayout) { + if (!d->layoutData || d->layoutData->layoutState == QTextEngine::LayoutEmpty) { qWarning("QTextLayout::endLayout: Called without beginLayout()"); return; } @@ -627,7 +629,7 @@ void QTextLayout::endLayout() if (l && d->lines.at(l-1).length < 0) { QTextLine(l-1, d).setNumColumns(INT_MAX); } - d->layoutData->inLayout = false; + d->layoutData->layoutState = QTextEngine::LayoutEmpty; if (!d->cacheGlyphs) d->freeMemory(); } @@ -757,11 +759,14 @@ bool QTextLayout::isValidCursorPosition(int pos) const QTextLine QTextLayout::createLine() { #ifndef QT_NO_DEBUG - if (!d->layoutData || !d->layoutData->inLayout) { + if (!d->layoutData || d->layoutData->layoutState == QTextEngine::LayoutEmpty) { qWarning("QTextLayout::createLine: Called without layouting"); return QTextLine(); } #endif + if (d->layoutData->layoutState == QTextEngine::LayoutFailed) + return QTextLine(); + int l = d->lines.size(); if (l && d->lines.at(l-1).length < 0) { QTextLine(l-1, d).setNumColumns(INT_MAX); @@ -1801,6 +1806,8 @@ void QTextLine::layout_helper(int maxGlyphs) Qt::Alignment alignment = eng->option.alignment(); const HB_CharAttributes *attributes = eng->attributes(); + if (!attributes) + return; lbh.currentPosition = line.from; int end = 0; lbh.logClusters = eng->layoutData->logClustersPtr; @@ -1814,6 +1821,8 @@ void QTextLine::layout_helper(int maxGlyphs) if (!current.num_glyphs) { eng->shape(item); attributes = eng->attributes(); + if (!attributes) + return; lbh.logClusters = eng->layoutData->logClustersPtr; } lbh.currentPosition = qMax(line.from, current.position); -- cgit v0.12 From cb086eb5340c4c41efaf45373aa05c37e8aa974a Mon Sep 17 00:00:00 2001 From: David Boddie Date: Thu, 5 Aug 2010 17:19:48 +0200 Subject: Doc: Fixed qdoc warnings. Reviewed-by: Trust Me --- doc/src/declarative/declarativeui.qdoc | 2 +- doc/src/declarative/qtdeclarative.qdoc | 2 +- doc/src/examples/qml-examples.qdoc | 2 +- doc/src/examples/simpletreemodel.qdoc | 4 +- doc/src/examples/spinboxdelegate.qdoc | 4 +- doc/src/external-resources.qdoc | 2 +- doc/src/index.qdoc | 10 ++--- doc/src/modules.qdoc | 1 - doc/src/overviews.qdoc | 3 +- doc/src/qt-webpages.qdoc | 5 +++ src/dbus/qdbusconnection.cpp | 4 ++ src/declarative/qml/qdeclarativeimageprovider.cpp | 8 ++-- src/declarative/util/qdeclarativeanimation.cpp | 2 +- src/declarative/util/qdeclarativetransition.cpp | 4 +- src/gui/graphicsview/qgraphicsitem.cpp | 18 +++++++++ src/gui/graphicsview/qgraphicstransform.cpp | 21 +++++++++++ src/gui/s60framework/qs60mainapplication.cpp | 6 +++ src/gui/s60framework/qs60mainappui.cpp | 45 +++++++++++++++++++++++ src/network/access/qnetworkrequest.cpp | 20 +++++----- tools/qdoc3/test/qt-html-templates.qdocconf | 7 +--- 20 files changed, 130 insertions(+), 40 deletions(-) diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc index 217e372..42189c0 100644 --- a/doc/src/declarative/declarativeui.qdoc +++ b/doc/src/declarative/declarativeui.qdoc @@ -27,7 +27,7 @@ /*! \title Qt Quick -\page declarativeui.html +\page qtquick.html \brief Qt Quick provides a declarative framework for building highly dynamic, custom user interfaces. diff --git a/doc/src/declarative/qtdeclarative.qdoc b/doc/src/declarative/qtdeclarative.qdoc index 413eb59..b4f4c83 100644 --- a/doc/src/declarative/qtdeclarative.qdoc +++ b/doc/src/declarative/qtdeclarative.qdoc @@ -48,7 +48,7 @@ \endcode For more information on the Qt Declarative module, see the - \l{declarativeui.html}{Qt Quick} documentation. + \l{Qt Quick} documentation. */ diff --git a/doc/src/examples/qml-examples.qdoc b/doc/src/examples/qml-examples.qdoc index 8d3aa25..0d191c9 100644 --- a/doc/src/examples/qml-examples.qdoc +++ b/doc/src/examples/qml-examples.qdoc @@ -562,7 +562,7 @@ \example declarative/ui-components/dialcontrol This example shows how to create a dial-type control. It combines - \l Image elements with \l Rotation transforms and \l SpringAnimatino behaviors + \l Image elements with \l Rotation transforms and \l SpringAnimation behaviors to produce an interactive speedometer-type dial. \image qml-dialcontrol-example.png diff --git a/doc/src/examples/simpletreemodel.qdoc b/doc/src/examples/simpletreemodel.qdoc index c34f4af..790d5fa 100644 --- a/doc/src/examples/simpletreemodel.qdoc +++ b/doc/src/examples/simpletreemodel.qdoc @@ -32,7 +32,7 @@ The Simple Tree Model example shows how to create a basic, read-only hierarchical model to use with Qt's standard view classes. For a description of simple non-hierarchical list and table models, see the - \l{model-view-programming.html}{Model/View Programming} overview. + \l{Model/View Programming} overview. \image simpletreemodel-example.png @@ -40,7 +40,7 @@ information in a data source, using an abstract model of the data to simplify and standardize the way it is accessed. Simple models represent data as a table of items, and allow views to access this data via an - \l{model-view-model.html}{index-based} system. More generally, models can + \l{Model/View Programming#Models}{index-based} system. More generally, models can be used to represent data in the form of a tree structure by allowing each item to act as a parent to a table of child items. diff --git a/doc/src/examples/spinboxdelegate.qdoc b/doc/src/examples/spinboxdelegate.qdoc index 49e3295..48e4bfa 100644 --- a/doc/src/examples/spinboxdelegate.qdoc +++ b/doc/src/examples/spinboxdelegate.qdoc @@ -42,8 +42,8 @@ \image spinboxdelegate-example.png This concepts behind this example are covered in the - \l{model-view-delegate.html}{Delegate Classes} chapter of the - \l{model-view-programming.html}{Model/View Programming} overview. + \l{Model/View Programming#Delegate Classes}{Delegate Classes} chapter of the + \l{Model/View Programming} overview. \section1 SpinBoxDelegate Class Definition diff --git a/doc/src/external-resources.qdoc b/doc/src/external-resources.qdoc index 5c6108a..e901124c 100644 --- a/doc/src/external-resources.qdoc +++ b/doc/src/external-resources.qdoc @@ -416,7 +416,7 @@ /*! \externalpage http://opensource.org/licenses/bsd-license.php - \title BSD License + \title New and Modified BSD Licenses */ /*! diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc index 7efd1e6..499667c 100644 --- a/doc/src/index.qdoc +++ b/doc/src/index.qdoc @@ -65,7 +65,6 @@
@@ -94,12 +92,12 @@
diff --git a/doc/src/modules.qdoc b/doc/src/modules.qdoc index a81bfb2..c51fcad 100644 --- a/doc/src/modules.qdoc +++ b/doc/src/modules.qdoc @@ -116,7 +116,6 @@ /*! \module QtMultimedia - \page qtmultimedia-module.html \title QtMultimedia Module \contentspage All Modules \previouspage QtCore diff --git a/doc/src/overviews.qdoc b/doc/src/overviews.qdoc index a1773a3..c7b88cf 100644 --- a/doc/src/overviews.qdoc +++ b/doc/src/overviews.qdoc @@ -55,8 +55,7 @@ These pages are about Qt's traditional set of GUI components for building both native look ^ feel and custom UI's for the desktop - environment. Use \l {declarativeui.html} {Qt Quick} for building - UI's for mobile devices. + environment. Use \l{Qt Quick} for building UI's for mobile devices. \generatelist {related} */ diff --git a/doc/src/qt-webpages.qdoc b/doc/src/qt-webpages.qdoc index 0c61285..5d9b41b 100644 --- a/doc/src/qt-webpages.qdoc +++ b/doc/src/qt-webpages.qdoc @@ -234,3 +234,8 @@ \externalpage http://qt.gitorious.org \title Public Qt Repository */ + +/*! + \externalpage http://get.qt.nokia.com/nokiasmartinstaller/ + \title Smart Installer +*/ diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp index 5cbb8ca..87ee3d1 100644 --- a/src/dbus/qdbusconnection.cpp +++ b/src/dbus/qdbusconnection.cpp @@ -227,6 +227,10 @@ void QDBusConnectionManager::setConnection(const QString &name, QDBusConnectionP \value ExportChildObjects export this object's child objects + \value ExportScriptableInvokables export this object's scriptable methods + \value ExportNonScriptableInvokables export this object's non-scriptable methods + \value ExportAllInvokables export all of this object's methods + \sa registerObject(), QDBusAbstractAdaptor, {usingadaptors.html}{Using adaptors} */ diff --git a/src/declarative/qml/qdeclarativeimageprovider.cpp b/src/declarative/qml/qdeclarativeimageprovider.cpp index 241df87..4743a1b 100644 --- a/src/declarative/qml/qdeclarativeimageprovider.cpp +++ b/src/declarative/qml/qdeclarativeimageprovider.cpp @@ -59,13 +59,13 @@ public: \list \o Loaded using QPixmaps rather than actual image files - \o Loaded asynchronously in a separate thread, if imageType() is \l ImageType::Image + \o Loaded asynchronously in a separate thread, if imageType() is \l{QDeclarativeImageProvider::ImageType}{ImageType::Image} \endlist To specify that an image should be loaded by an image provider, use the \bold {"image:"} scheme for the URL source of the image, followed by the identifiers of the image provider and the requested image. For example: - + \qml Image { source: "image://myimageprovider/image.png" } \endqml @@ -83,7 +83,7 @@ public: and "red", respectively: \snippet examples/declarative/cppextensions/imageprovider/imageprovider-example.qml 0 - + When these images are loaded by QML, it looks for a matching image provider and calls its requestImage() or requestPixmap() method (depending on its imageType()) to load the image. The method is called with the \c id @@ -136,7 +136,7 @@ public: main thread. In this case, if \l {Image::}{asynchronous} is set to \c true, the value is ignored and the image is loaded synchronously. - + \sa QDeclarativeEngine::addImageProvider() */ diff --git a/src/declarative/util/qdeclarativeanimation.cpp b/src/declarative/util/qdeclarativeanimation.cpp index 6a9cf95..cda7623 100644 --- a/src/declarative/util/qdeclarativeanimation.cpp +++ b/src/declarative/util/qdeclarativeanimation.cpp @@ -1323,7 +1323,7 @@ void QDeclarativeVector3dAnimation::setTo(QVector3D t) \snippet doc/src/snippets/declarative/rotationanimation.qml 0 - Notice the RotationAnimation did not need to set a \l {RotationAnimation::}{target} + Notice the RotationAnimation did not need to set a \l target value. As a convenience, when used in a transition, RotationAnimation will rotate all properties named "rotation" or "angle". You can override this by providing your own properties via \l {PropertyAnimation::properties}{properties} or diff --git a/src/declarative/util/qdeclarativetransition.cpp b/src/declarative/util/qdeclarativetransition.cpp index 582191b..8de6b23 100644 --- a/src/declarative/util/qdeclarativetransition.cpp +++ b/src/declarative/util/qdeclarativetransition.cpp @@ -60,10 +60,10 @@ QT_BEGIN_NAMESPACE For example, the following \l Rectangle has two states: the default state, and an added "moved" state. In the "moved state, the rectangle's position changes - to (50, 50). The added \l Transition specifies that when the rectangle + to (50, 50). The added Transition specifies that when the rectangle changes between the default and the "moved" state, any changes to the \c x and \c y properties should be animated, using an \c Easing.InOutQuad. - + \snippet doc/src/snippets/declarative/transition.qml 0 To define multiple transitions, specify \l Item::transitions as a list: diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 1626d83..2856699 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -7965,6 +7965,24 @@ void QGraphicsItemPrivate::resetHeight() */ /*! + \property QGraphicsObject::children + \since 4.7 + \internal +*/ + +/*! + \property QGraphicsObject::width + \since 4.7 + \internal +*/ + +/*! + \property QGraphicsObject::height + \since 4.7 + \internal +*/ + +/*! \class QAbstractGraphicsShapeItem \brief The QAbstractGraphicsShapeItem class provides a common base for all path items. diff --git a/src/gui/graphicsview/qgraphicstransform.cpp b/src/gui/graphicsview/qgraphicstransform.cpp index 986bee6..27dceb8 100644 --- a/src/gui/graphicsview/qgraphicstransform.cpp +++ b/src/gui/graphicsview/qgraphicstransform.cpp @@ -565,6 +565,27 @@ void QGraphicsRotation::applyTo(QMatrix4x4 *matrix) const \sa QGraphicsRotation::axis */ +/*! + \fn QGraphicsScale::xScaleChanged() + \since 4.7 + + This signal is emitted whenever the \l xScale property changes. +*/ + +/*! + \fn QGraphicsScale::yScaleChanged() + \since 4.7 + + This signal is emitted whenever the \l yScale property changes. +*/ + +/*! + \fn QGraphicsScale::zScaleChanged() + \since 4.7 + + This signal is emitted whenever the \l zScale property changes. +*/ + #include "moc_qgraphicstransform.cpp" QT_END_NAMESPACE diff --git a/src/gui/s60framework/qs60mainapplication.cpp b/src/gui/s60framework/qs60mainapplication.cpp index 0f9367e..185c06f 100644 --- a/src/gui/s60framework/qs60mainapplication.cpp +++ b/src/gui/s60framework/qs60mainapplication.cpp @@ -141,11 +141,17 @@ void QS60MainApplication::PreDocConstructL() QS60MainApplicationBase::PreDocConstructL(); } +/*! + \internal +*/ CDictionaryStore *QS60MainApplication::OpenIniFileLC(RFs &aFs) const { return QS60MainApplicationBase::OpenIniFileLC(aFs); } +/*! + \internal +*/ void QS60MainApplication::NewAppServerL(CApaAppServer *&aAppServer) { QS60MainApplicationBase::NewAppServerL(aAppServer); diff --git a/src/gui/s60framework/qs60mainappui.cpp b/src/gui/s60framework/qs60mainappui.cpp index 40c2d03..72cf577 100644 --- a/src/gui/s60framework/qs60mainappui.cpp +++ b/src/gui/s60framework/qs60mainappui.cpp @@ -281,76 +281,121 @@ void QS60MainAppUi::RestoreMenuL(CCoeControl *menuWindow, TInt resourceId, TMenu } } +/*! + \internal +*/ void QS60MainAppUi::Exit() { QS60MainAppUiBase::Exit(); } +/*! + \internal +*/ void QS60MainAppUi::SetFadedL(TBool aFaded) { QS60MainAppUiBase::SetFadedL(aFaded); } +/*! + \internal +*/ TRect QS60MainAppUi::ApplicationRect() const { return QS60MainAppUiBase::ApplicationRect(); } +/*! + \internal +*/ void QS60MainAppUi::HandleScreenDeviceChangedL() { QS60MainAppUiBase::HandleScreenDeviceChangedL(); } +/*! + \internal +*/ void QS60MainAppUi::HandleApplicationSpecificEventL(TInt aType, const TWsEvent &aEvent) { QS60MainAppUiBase::HandleApplicationSpecificEventL(aType, aEvent); } +/*! + \internal +*/ TTypeUid::Ptr QS60MainAppUi::MopSupplyObject(TTypeUid aId) { return QS60MainAppUiBase::MopSupplyObject(aId); } +/*! + \internal +*/ void QS60MainAppUi::ProcessCommandL(TInt aCommand) { QS60MainAppUiBase::ProcessCommandL(aCommand); } +/*! + \internal +*/ TErrorHandlerResponse QS60MainAppUi::HandleError (TInt aError, const SExtendedError &aExtErr, TDes &aErrorText, TDes &aContextText) { return QS60MainAppUiBase::HandleError(aError, aExtErr, aErrorText, aContextText); } +/*! + \internal +*/ void QS60MainAppUi::HandleViewDeactivation(const TVwsViewId &aViewIdToBeDeactivated, const TVwsViewId &aNewlyActivatedViewId) { QS60MainAppUiBase::HandleViewDeactivation(aViewIdToBeDeactivated, aNewlyActivatedViewId); } +/*! + \internal +*/ void QS60MainAppUi::PrepareToExit() { QS60MainAppUiBase::PrepareToExit(); } +/*! + \internal +*/ void QS60MainAppUi::HandleTouchPaneSizeChange() { QS60MainAppUiBase::HandleTouchPaneSizeChange(); } +/*! + \internal +*/ void QS60MainAppUi::HandleSystemEventL(const TWsEvent &aEvent) { QS60MainAppUiBase::HandleSystemEventL(aEvent); } +/*! + \internal +*/ void QS60MainAppUi::Reserved_MtsmPosition() { QS60MainAppUiBase::Reserved_MtsmPosition(); } +/*! + \internal +*/ void QS60MainAppUi::Reserved_MtsmObject() { QS60MainAppUiBase::Reserved_MtsmObject(); } +/*! + \internal +*/ void QS60MainAppUi::HandleForegroundEventL(TBool aForeground) { QS60MainAppUiBase::HandleForegroundEventL(aForeground); diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp index fa592c2..8710cb6 100644 --- a/src/network/access/qnetworkrequest.cpp +++ b/src/network/access/qnetworkrequest.cpp @@ -174,12 +174,12 @@ QT_BEGIN_NAMESPACE When using this flag with sequential upload data, the ContentLengthHeader header must be set. - \value HttpPipeliningAllowedAttribute + \value HttpPipeliningAllowedAttribute Requests only, type: QVariant::Bool (default: false) Indicates whether the QNetworkAccessManager code is allowed to use HTTP pipelining with this request. - \value HttpPipeliningWasUsedAttribute + \value HttpPipeliningWasUsedAttribute Replies only, type: QVariant::Bool Indicates whether the HTTP pipelining was used for receiving this reply. @@ -200,9 +200,9 @@ QT_BEGIN_NAMESPACE See http://www.w3.org/TR/XMLHttpRequest2/#credentials-flag for more information. - \since 4.7 + (This value was introduced in 4.7.) - \value CookieSaveControlAttribute + \value CookieSaveControlAttribute Requests only, type: QVariant::Int (default: QNetworkRequest::Automatic) Indicates whether to save 'Cookie' headers received from the server in reply to the request. @@ -213,9 +213,9 @@ QT_BEGIN_NAMESPACE See http://www.w3.org/TR/XMLHttpRequest2/#credentials-flag for more information. - \since 4.7 + (This value was introduced in 4.7.) - \value AuthenticationReuseAttribute + \value AuthenticationReuseAttribute Requests only, type: QVariant::Int (default: QNetworkRequest::Automatic) Indicates whether to use cached authorization credentials in the request, if available. If this is set to QNetworkRequest::Manual and the authentication @@ -228,15 +228,13 @@ QT_BEGIN_NAMESPACE See http://www.w3.org/TR/XMLHttpRequest2/#credentials-flag for more information. - \since 4.7 + (This value was introduced in 4.7.) \omitvalue MaximumDownloadBufferSizeAttribute - \since 4.7 - \internal + (This value was introduced in 4.7.) \omitvalue DownloadBufferAttribute - \since 4.7 - \internal + (This value was introduced in 4.7.) \value User Special type. Additional information can be passed in diff --git a/tools/qdoc3/test/qt-html-templates.qdocconf b/tools/qdoc3/test/qt-html-templates.qdocconf index cf15628..089b11f 100644 --- a/tools/qdoc3/test/qt-html-templates.qdocconf +++ b/tools/qdoc3/test/qt-html-templates.qdocconf @@ -4,9 +4,6 @@ HTML.stylesheets = style/style.css \ style/style_ie8.css \ style/style_ie6.css -HTML.creatorpostheader = "**\n" -HTML.creatorpostpostheader = "***\n" - HTML.postheader = "
\n" \ "
\n" \ "
\n" \ @@ -48,7 +45,7 @@ HTML.postheader = "
\n" \ "
  • Qt Topics \n" \ "
      \n" \ "
    • Basic Qt architecture
    • \n" \ - "
    • Device UI's & Qt Quick
    • \n" \ + "
    • Device UI's & Qt Quick
    • \n" \ "
    • Desktop UI components
    • \n" \ "
    • Platform-specific info
    • \n" \ "
    • How-To's and Best Practices
    • \n" \ @@ -100,7 +97,7 @@ HTML.postheader = "
      \n" \ "
      \n" \ " \n" \ -- cgit v0.12 From a49f2700c6b5c0f5851f9cfab38b5554e9530577 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 5 Aug 2010 17:22:38 +0200 Subject: QStyleSheet documentation: QMenu's tear-off is styled with ::tearoff Task-number: QTBUG-12553 Reviewed-by: Carlos Duclos --- doc/src/widgets-and-layouts/stylesheet.qdoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/widgets-and-layouts/stylesheet.qdoc b/doc/src/widgets-and-layouts/stylesheet.qdoc index 1390376..977f641 100644 --- a/doc/src/widgets-and-layouts/stylesheet.qdoc +++ b/doc/src/widgets-and-layouts/stylesheet.qdoc @@ -925,7 +925,7 @@ The scroller is styled using the \l{#scroller-sub}{::scroller}. - The tear-off is styled using the \l{#tear-off-sub}{::tear-off}. + The tear-off is styled using the \l{#tearoff-sub}{::tearoff}. See \l{Qt Style Sheets Examples#Customizing QMenu}{Customizing QMenu} for an example. @@ -3337,7 +3337,7 @@ \o The tear indicator of a QTabBar. \row - \o \c ::tear-off \target tear-off-sub + \o \c ::tearoff \target tearoff-sub \o The tear-off indicator of a QMenu. \row -- cgit v0.12 From eb6d70eeeaaafb748a5fca38f6f033136aadf148 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 6 Aug 2010 10:26:48 +0200 Subject: Test we do not have compiler warnings in our headers with more options I removed some statics because else the test could not be run several times Reviewed-by: Andreas Kling --- tests/auto/compilerwarnings/tst_compilerwarnings.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/auto/compilerwarnings/tst_compilerwarnings.cpp b/tests/auto/compilerwarnings/tst_compilerwarnings.cpp index 82c327a..8d344d8 100644 --- a/tests/auto/compilerwarnings/tst_compilerwarnings.cpp +++ b/tests/auto/compilerwarnings/tst_compilerwarnings.cpp @@ -114,6 +114,9 @@ void tst_CompilerWarnings::warnings_data() QTest::addColumn("cflags"); QTest::newRow("standard") << QStringList(); + QTest::newRow("warn deprecated, fast plus, no debug") << (QStringList() << "-DQT_DEPRECATED_WARNINGS" + << "-DQT_USE_FAST_OPERATOR_PLUS" << "-DQT_NU_DEBUG" << "-DQT_NO_DEBUG_STREAM" << "-DQT_NO_WARNING_OUTPUT"); + QTest::newRow("no deprecated, no keywords") << (QStringList() << "-DQT_NO_DEPRECATED" << "-DQT_NO_KEYWORDS"); #if 0 #ifdef Q_WS_QWS @@ -136,14 +139,14 @@ void tst_CompilerWarnings::warnings() QSKIP("gcc 3.x outputs too many bogus warnings", SkipAll); #endif - static QString tmpFile; + /*static*/ QString tmpFile; if (tmpFile.isEmpty()) { QTemporaryFile tmpQFile; tmpQFile.open(); tmpFile = tmpQFile.fileName(); tmpQFile.close(); } - static QString tmpSourceFile; + /*static*/ QString tmpSourceFile; bool openResult = true; const QString tmpBaseName("XXXXXX-test.cpp"); QString templatePath = QDir::temp().absoluteFilePath(tmpBaseName); -- cgit v0.12 From 033b53a02fb02c5aec412e3d87ad9661110c6e6e Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 6 Aug 2010 10:31:20 +0200 Subject: compilation with QT_NO_DEPRECATED Reviewed-by: Andreas Kling --- src/network/bearer/qnetworkconfiguration.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/network/bearer/qnetworkconfiguration.h b/src/network/bearer/qnetworkconfiguration.h index d9d36fd..02f9cb6 100644 --- a/src/network/bearer/qnetworkconfiguration.h +++ b/src/network/bearer/qnetworkconfiguration.h @@ -120,7 +120,9 @@ public: Purpose purpose() const; // Required to maintain source compatibility with Qt Mobility. +#ifdef QT_DEPRECATED QT_DEPRECATED inline QString bearerName() const { return bearerTypeName(); } +#endif BearerType bearerType() const; QString bearerTypeName() const; -- cgit v0.12 From 6b61a2787759673f246493453c0809d24c9d6ae5 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Fri, 6 Aug 2010 10:56:44 +0100 Subject: Make input methods work correctly with Symbian^3 FEP in numeric mode Enable alphanumeric modes to use EAknEditorFlagUseSCTNumericCharmap flag so that all symbols are shown when you press the * key when the FEP is in portrait mode (traditional 4x3 mobile phone keypad emulation) Enable text input mode as well as numeric input mode for ImhFormattedNumbersOnly or ImhDialableCharactersOnly, as the '*' key on the virtual keypad does not work to launch the symbols menu otherwise. Task-number: QT-3681 Reviewed-by: Jason Barron --- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index 999edda..cd05e38 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -359,10 +359,10 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints) commitTemporaryPreeditString(); - bool numbersOnly = hints & ImhDigitsOnly || hints & ImhFormattedNumbersOnly - || hints & ImhDialableCharactersOnly; - bool noOnlys = !(numbersOnly || hints & ImhUppercaseOnly - || hints & ImhLowercaseOnly); + bool numbersOnly = (hints & ImhDigitsOnly) || (hints & ImhFormattedNumbersOnly) + || (hints & ImhDialableCharactersOnly); + bool noOnlys = !(numbersOnly || (hints & ImhUppercaseOnly) + || (hints & ImhLowercaseOnly)); TInt flags; Qt::InputMethodHints oldHints = hints; @@ -388,8 +388,7 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints) hints |= ImhPreferLowercase; } else if (hints & ImhUppercaseOnly) { hints |= ImhPreferUppercase; - } else if (hints & ImhDigitsOnly || hints & ImhFormattedNumbersOnly - || hints & ImhDialableCharactersOnly) { + } else if (numbersOnly) { hints |= ImhPreferNumbers; } } @@ -406,6 +405,11 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints) if (numbersOnly) { flags |= EAknEditorNumericInputMode; } + if (QSysInfo::s60Version() > QSysInfo::SV_S60_5_0 + && ((hints & ImhFormattedNumbersOnly) || (hints & ImhDialableCharactersOnly)) { + //workaround - the * key does not launch the symbols menu, making it impossible to use these modes unless text mode is enabled. + flags |= EAknEditorTextInputMode; + } if (hints & ImhUppercaseOnly || hints & ImhLowercaseOnly) { flags |= EAknEditorTextInputMode; } @@ -456,6 +460,9 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints) if (hints & ImhNoPredictiveText || hints & ImhHiddenText) { flags |= EAknEditorFlagNoT9; } + // if alphanumeric input, then make all symbols available in numeric mode too. + if (!numbersOnly) + flags |= EAknEditorFlagUseSCTNumericCharmap; m_fepState->SetFlags(flags); ReportAknEdStateEvent(MAknEdStateObserver::EAknEdwinStateFlagsUpdate); -- cgit v0.12 From d2a52ba7d5fa48632d6f0092da8db97188993252 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Fri, 6 Aug 2010 11:38:18 +0100 Subject: Test code for input method hints A simple test application to set any combination of input method hints on a QLineEdit widget. This makes it easier to debug when the original report relies on webkit. Task-number: QT-3681 Reviewed-by: Miikka Heikkinen --- tests/manual/inputmethodhints/inputmethodhints.cpp | 99 +++++++++++++++ tests/manual/inputmethodhints/inputmethodhints.h | 63 ++++++++++ tests/manual/inputmethodhints/inputmethodhints.pro | 13 ++ tests/manual/inputmethodhints/inputmethodhints.ui | 138 +++++++++++++++++++++ tests/manual/inputmethodhints/main.cpp | 53 ++++++++ 5 files changed, 366 insertions(+) create mode 100644 tests/manual/inputmethodhints/inputmethodhints.cpp create mode 100644 tests/manual/inputmethodhints/inputmethodhints.h create mode 100644 tests/manual/inputmethodhints/inputmethodhints.pro create mode 100644 tests/manual/inputmethodhints/inputmethodhints.ui create mode 100644 tests/manual/inputmethodhints/main.cpp diff --git a/tests/manual/inputmethodhints/inputmethodhints.cpp b/tests/manual/inputmethodhints/inputmethodhints.cpp new file mode 100644 index 0000000..0c00b8d --- /dev/null +++ b/tests/manual/inputmethodhints/inputmethodhints.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 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 "inputmethodhints.h" + +inputmethodhints::inputmethodhints(QWidget *parent) + : QMainWindow(parent) +{ + ui.setupUi(this); + connect(ui.cbDialableOnly, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int))); + connect(ui.cbDigitsOnly, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int))); + connect(ui.cbEmailOnly, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int))); + connect(ui.cbFormattedNumbersOnly, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int))); + connect(ui.cbHiddenText, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int))); + connect(ui.cbLowercaseOnly, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int))); + connect(ui.cbNoAutoUppercase, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int))); + connect(ui.cbNoPredictiveText, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int))); + connect(ui.cbPreferLowercase, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int))); + connect(ui.cbPreferNumbers, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int))); + connect(ui.cbPreferUpperCase, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int))); + connect(ui.cbUppercaseOnly, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int))); + connect(ui.cbUrlOnly, SIGNAL(stateChanged(int)), this, SLOT(checkboxChanged(int))); +} + +inputmethodhints::~inputmethodhints() +{ + +} + +void inputmethodhints::checkboxChanged(int) +{ + int flags = 0; + if (ui.cbDialableOnly->isChecked()) + flags |= Qt::ImhDialableCharactersOnly; + if (ui.cbDigitsOnly->isChecked()) + flags |= Qt::ImhDigitsOnly; + if (ui.cbEmailOnly->isChecked()) + flags |= Qt::ImhEmailCharactersOnly; + if (ui.cbFormattedNumbersOnly->isChecked()) + flags |= Qt::ImhFormattedNumbersOnly; + if (ui.cbHiddenText->isChecked()) + flags |= Qt::ImhHiddenText; + if (ui.cbLowercaseOnly->isChecked()) + flags |= Qt::ImhLowercaseOnly; + if (ui.cbNoAutoUppercase->isChecked()) + flags |= Qt::ImhNoAutoUppercase; + if (ui.cbNoPredictiveText->isChecked()) + flags |= Qt::ImhNoPredictiveText; + if (ui.cbPreferLowercase->isChecked()) + flags |= Qt::ImhPreferLowercase; + if (ui.cbPreferNumbers->isChecked()) + flags |= Qt::ImhPreferNumbers; + if (ui.cbPreferUpperCase->isChecked()) + flags |= Qt::ImhPreferUppercase; + if (ui.cbUppercaseOnly->isChecked()) + flags |= Qt::ImhUppercaseOnly; + if (ui.cbUrlOnly->isChecked()) + flags |= Qt::ImhUrlCharactersOnly; + ui.lineEdit->clear(); + ui.lineEdit->setInputMethodHints(Qt::InputMethodHints(flags)); +} diff --git a/tests/manual/inputmethodhints/inputmethodhints.h b/tests/manual/inputmethodhints/inputmethodhints.h new file mode 100644 index 0000000..988a4be --- /dev/null +++ b/tests/manual/inputmethodhints/inputmethodhints.h @@ -0,0 +1,63 @@ +/**************************************************************************** +** +** 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$ +** +****************************************************************************/ + +#ifndef INPUTMETHODHINTS_H +#define INPUTMETHODHINTS_H + +#include +#include "ui_tst_inputmethodhints.h" + +class inputmethodhints : public QMainWindow +{ + Q_OBJECT + +public: + inputmethodhints(QWidget *parent = 0); + ~inputmethodhints(); + +public slots: + void checkboxChanged(int); + +private: + Ui::MainWindow ui; +}; + +#endif // INPUTMETHODHINTS_H diff --git a/tests/manual/inputmethodhints/inputmethodhints.pro b/tests/manual/inputmethodhints/inputmethodhints.pro new file mode 100644 index 0000000..7298ec6 --- /dev/null +++ b/tests/manual/inputmethodhints/inputmethodhints.pro @@ -0,0 +1,13 @@ +TEMPLATE = app +TARGET = tst_inputmethodhints + +QT += core \ + gui + +HEADERS += inputmethodhints.h +SOURCES += main.cpp \ + inputmethodhints.cpp +FORMS += inputmethodhints.ui +RESOURCES += + +symbian:TARGET.UID3 = 0xE4938ABC diff --git a/tests/manual/inputmethodhints/inputmethodhints.ui b/tests/manual/inputmethodhints/inputmethodhints.ui new file mode 100644 index 0000000..d0dc01d --- /dev/null +++ b/tests/manual/inputmethodhints/inputmethodhints.ui @@ -0,0 +1,138 @@ + + + MainWindow + + + + 0 + 0 + 360 + 640 + + + + MainWindow + + + + + + + 1 + + + + behaviour + + + + + + ImhHiddenText + + + + + + + ImhNoAutoUppercase + + + + + + + ImhPreferNumbers + + + + + + + ImhPreferUppercase + + + + + + + ImhPreferLowercase + + + + + + + ImhNoPredictiveText + + + + + + + + restrictions + + + + + + ImhDigitsOnly + + + + + + + ImhFormattedNumbersOnly + + + + + + + ImhUppercaseOnly + + + + + + + ImhLowercaseOnly + + + + + + + ImhDialableCharactersOnly + + + + + + + ImhEmailCharactersOnly + + + + + + + ImhUrlCharactersOnly + + + + + + + + + + + + + + + + diff --git a/tests/manual/inputmethodhints/main.cpp b/tests/manual/inputmethodhints/main.cpp new file mode 100644 index 0000000..022bf3f --- /dev/null +++ b/tests/manual/inputmethodhints/main.cpp @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** 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 "inputmethodhints.h" + +#include +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + inputmethodhints w; + w.showMaximized(); + return a.exec(); +} -- cgit v0.12 From e4c144db1cde192745a198160a01fca1416fe855 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Fri, 6 Aug 2010 12:00:54 +0100 Subject: fix compile error Task-number: QT-3681 Reviewed-by: Trust Me --- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index cd05e38..ae51b1c 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -406,7 +406,7 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints) flags |= EAknEditorNumericInputMode; } if (QSysInfo::s60Version() > QSysInfo::SV_S60_5_0 - && ((hints & ImhFormattedNumbersOnly) || (hints & ImhDialableCharactersOnly)) { + && ((hints & ImhFormattedNumbersOnly) || (hints & ImhDialableCharactersOnly))) { //workaround - the * key does not launch the symbols menu, making it impossible to use these modes unless text mode is enabled. flags |= EAknEditorTextInputMode; } -- cgit v0.12 From 6eb7a210eed1b392431fc913d13d205b8ccc1933 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Fri, 6 Aug 2010 16:25:15 +0100 Subject: Fixes for combining multiple Qt::ImhXXXOnly with S60 FEP When one restriction is a superset of another (e.g. ImhDigitsOnly | ImhDialableCharactersOnly), the less restrictive one is used When two restrictions are incompatible (e.g. ImhDialableCharactersOnly | ImhFormattedNumbersOnly), fall back to allowing all symbols Note for some combinations additional characters not in the union can be entered, this is a limitation of the API to AVKON FEP. Before this change, some characters in the union could not be entered at all, which is worse. Tested on I8510 (3.2), 5800XM (5.0), N8(symbian^3) Task Number: QTBUG-12726 Reviewed-by: Alessandro Portale --- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 52 ++++++++++++++----------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index ae51b1c..44fe7da 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -359,10 +359,10 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints) commitTemporaryPreeditString(); - bool numbersOnly = (hints & ImhDigitsOnly) || (hints & ImhFormattedNumbersOnly) - || (hints & ImhDialableCharactersOnly); - bool noOnlys = !(numbersOnly || (hints & ImhUppercaseOnly) - || (hints & ImhLowercaseOnly)); + const bool anynumbermodes = hints & (ImhDigitsOnly | ImhFormattedNumbersOnly | ImhDialableCharactersOnly); + const bool anytextmodes = hints & (ImhUppercaseOnly | ImhLowercaseOnly | ImhEmailCharactersOnly | ImhUrlCharactersOnly); + const bool numbersOnly = anynumbermodes && !anytextmodes; + const bool noOnlys = !(hints & ImhExclusiveInputMask); TInt flags; Qt::InputMethodHints oldHints = hints; @@ -374,8 +374,7 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints) } if (!noOnlys) { // Make sure that the preference is within the permitted set. - if (hints & ImhPreferNumbers && !(hints & ImhDigitsOnly || hints & ImhFormattedNumbersOnly - || hints & ImhDialableCharactersOnly)) { + if (hints & ImhPreferNumbers && !anynumbermodes) { hints &= ~ImhPreferNumbers; } else if (hints & ImhPreferUppercase && !(hints & ImhUppercaseOnly)) { hints &= ~ImhPreferUppercase; @@ -402,18 +401,21 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints) m_fepState->SetCurrentInputMode(EAknEditorTextInputMode); } flags = 0; - if (numbersOnly) { - flags |= EAknEditorNumericInputMode; + if (noOnlys || (anynumbermodes && anytextmodes)) { + flags = EAknEditorAllInputModes; } - if (QSysInfo::s60Version() > QSysInfo::SV_S60_5_0 - && ((hints & ImhFormattedNumbersOnly) || (hints & ImhDialableCharactersOnly))) { - //workaround - the * key does not launch the symbols menu, making it impossible to use these modes unless text mode is enabled. - flags |= EAknEditorTextInputMode; + else if (anynumbermodes) { + flags |= EAknEditorNumericInputMode; + if (QSysInfo::s60Version() > QSysInfo::SV_S60_5_0 + && ((hints & ImhFormattedNumbersOnly) || (hints & ImhDialableCharactersOnly))) { + //workaround - the * key does not launch the symbols menu, making it impossible to use these modes unless text mode is enabled. + flags |= EAknEditorTextInputMode; + } } - if (hints & ImhUppercaseOnly || hints & ImhLowercaseOnly) { + else if (anytextmodes) { flags |= EAknEditorTextInputMode; } - if (flags == 0) { + else { flags = EAknEditorAllInputModes; } m_fepState->SetPermittedInputModes(flags); @@ -460,27 +462,33 @@ void QCoeFepInputContext::applyHints(Qt::InputMethodHints hints) if (hints & ImhNoPredictiveText || hints & ImhHiddenText) { flags |= EAknEditorFlagNoT9; } - // if alphanumeric input, then make all symbols available in numeric mode too. - if (!numbersOnly) + // if alphanumeric input, or if multiple incompatible number modes are selected; + // then make all symbols available in numeric mode too. + if (!numbersOnly || ((hints & ImhFormattedNumbersOnly) && (hints & ImhDialableCharactersOnly))) flags |= EAknEditorFlagUseSCTNumericCharmap; m_fepState->SetFlags(flags); ReportAknEdStateEvent(MAknEdStateObserver::EAknEdwinStateFlagsUpdate); - if (hints & ImhFormattedNumbersOnly) { + if (hints & ImhDialableCharactersOnly) { + // This is first, because if (ImhDialableCharactersOnly | ImhFormattedNumbersOnly) + // is specified, this one is more natural (# key enters a #) + flags = EAknEditorStandardNumberModeKeymap; + } else if (hints & ImhFormattedNumbersOnly) { + // # key enters decimal point flags = EAknEditorCalculatorNumberModeKeymap; } else if (hints & ImhDigitsOnly) { + // This is last, because it is most restrictive (# key is inactive) flags = EAknEditorPlainNumberModeKeymap; } else { - // ImhDialableCharactersOnly is the fallback as well, so we don't need to check for - // that flag. flags = EAknEditorStandardNumberModeKeymap; } m_fepState->SetNumericKeymap(static_cast(flags)); - if (hints & ImhEmailCharactersOnly) { - m_fepState->SetSpecialCharacterTableResourceId(R_AVKON_EMAIL_ADDR_SPECIAL_CHARACTER_TABLE_DIALOG); - } else if (hints & ImhUrlCharactersOnly) { + if (hints & ImhUrlCharactersOnly) { + // URL characters is everything except space, so a superset of the other restrictions m_fepState->SetSpecialCharacterTableResourceId(R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG); + } else if (hints & ImhEmailCharactersOnly) { + m_fepState->SetSpecialCharacterTableResourceId(R_AVKON_EMAIL_ADDR_SPECIAL_CHARACTER_TABLE_DIALOG); } else { m_fepState->SetSpecialCharacterTableResourceId(R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG); } -- cgit v0.12 From 1b0f790d27cda48137c7114fadc694432a104c90 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 6 Aug 2010 17:48:28 +0200 Subject: QSharedPointer documentation: specify that it is not safe to operate on the same object in different threads Task-number: QTBUG-12700 Reviewed-by: thiago --- src/corelib/tools/qsharedpointer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/tools/qsharedpointer.cpp b/src/corelib/tools/qsharedpointer.cpp index f102598..5fac960 100644 --- a/src/corelib/tools/qsharedpointer.cpp +++ b/src/corelib/tools/qsharedpointer.cpp @@ -67,8 +67,8 @@ QSharedPointer and QWeakPointer are thread-safe and operate atomically on the pointer value. Different threads can also access - the same QSharedPointer or QWeakPointer object at the same time - without need for locking mechanisms. + the QSharedPointer or QWeakPointer pointing to the same object at + the same time without need for locking mechanisms. It should be noted that, while the pointer value can be accessed in this manner, QSharedPointer and QWeakPointer provide no -- cgit v0.12 From d81ab877bc4424d918c400af3f65509f80f22f67 Mon Sep 17 00:00:00 2001 From: Benjamin Poulain Date: Thu, 5 Aug 2010 14:45:49 +0200 Subject: Move the build of Neon file from painting.pri to gui.pro Move the build operation of files using Neon from painting.pri to gui.pro. This will make easier to add Neon files in the future. Reviewed-by: Andreas Kling --- src/gui/gui.pro | 18 ++++++++++++++++++ src/gui/painting/painting.pri | 21 +++------------------ 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/gui/gui.pro b/src/gui/gui.pro index 28440cc..89ae06f 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -77,6 +77,24 @@ symbian { DEPLOYMENT = partial_upgrade $$DEPLOYMENT } +neon: QMAKE_CXXFLAGS *= -mfpu=neon +neon:*-g++* { + HEADERS += $$NEON_HEADERS + SOURCES += $$NEON_SOURCES + + DRAWHELPER_NEON_ASM_FILES = $$NEON_ASM + + neon_compiler.commands = $$QMAKE_CXX -c + neon_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} + neon_compiler.dependency_type = TYPE_C + neon_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + neon_compiler.input = DRAWHELPER_NEON_ASM_FILES + neon_compiler.variable_out = OBJECTS + neon_compiler.name = compiling[neon] ${QMAKE_FILE_IN} + silent:neon_compiler.commands = @echo compiling[neon] ${QMAKE_FILE_IN} && $$neon_compiler.commands + QMAKE_EXTRA_COMPILERS += neon_compiler +} + contains(QMAKE_MAC_XARCH, no) { DEFINES += QT_NO_MAC_XARCH } else { diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri index 4023f65..dfa4a48 100644 --- a/src/gui/painting/painting.pri +++ b/src/gui/painting/painting.pri @@ -246,23 +246,8 @@ symbian { QMAKE_CXXFLAGS.ARMCC *= -O3 } -neon:*-g++* { - DEFINES += QT_HAVE_NEON - HEADERS += painting/qdrawhelper_neon_p.h - SOURCES += painting/qdrawhelper_neon.cpp - QMAKE_CXXFLAGS *= -mfpu=neon - - DRAWHELPER_NEON_ASM_FILES = ../3rdparty/pixman/pixman-arm-neon-asm.S painting/qdrawhelper_neon_asm.S - - neon_compiler.commands = $$QMAKE_CXX -c - neon_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} - neon_compiler.dependency_type = TYPE_C - neon_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} - neon_compiler.input = DRAWHELPER_NEON_ASM_FILES - neon_compiler.variable_out = OBJECTS - neon_compiler.name = compiling[neon] ${QMAKE_FILE_IN} - silent:neon_compiler.commands = @echo compiling[neon] ${QMAKE_FILE_IN} && $$neon_compiler.commands - QMAKE_EXTRA_COMPILERS += neon_compiler -} +NEON_SOURCES += painting/qdrawhelper_neon.cpp +NEON_HEADERS += painting/qdrawhelper_neon_p.h +NEON_ASM += ../3rdparty/pixman/pixman-arm-neon-asm.S painting/qdrawhelper_neon_asm.S include($$PWD/../../3rdparty/zlib_dependency.pri) -- cgit v0.12 From a0f155cdaf641d92acc8b61be89b96319d16ccba Mon Sep 17 00:00:00 2001 From: Benjamin Poulain Date: Thu, 5 Aug 2010 14:47:54 +0200 Subject: Do the conversion from RGB888 to RGB32 using Neon Doing the conversion with Neon is 700% faster. Help by Thiago Macieira on vacation. Reviewed-by: Thiago Macieira --- src/gui/image/image.pri | 1 + src/gui/image/qimage.cpp | 8 +++ src/gui/image/qimage_neon.cpp | 114 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 123 insertions(+) create mode 100644 src/gui/image/qimage_neon.cpp diff --git a/src/gui/image/image.pri b/src/gui/image/image.pri index b20a04f..f89706c 100644 --- a/src/gui/image/image.pri +++ b/src/gui/image/image.pri @@ -94,5 +94,6 @@ contains(QT_CONFIG, tiff):include($$PWD/qtiffhandler.pri) contains(QT_CONFIG, gif):include($$PWD/qgifhandler.pri) # SIMD +NEON_SOURCES += image/qimage_neon.cpp SSE2_SOURCES += image/qimage_sse2.cpp SSSE3_SOURCES += image/qimage_ssse3.cpp diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index cb834c0..ac148ee 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -3769,6 +3769,14 @@ void qInitImageConversions() converter_map[QImage::Format_RGB888][QImage::Format_ARGB32_Premultiplied] = convert_RGB888_to_RGB32_ssse3; } #endif +#ifdef QT_HAVE_NEON + if (features & NEON) { + extern void convert_RGB888_to_RGB32_neon(QImageData *dest, const QImageData *src, Qt::ImageConversionFlags); + converter_map[QImage::Format_RGB888][QImage::Format_RGB32] = convert_RGB888_to_RGB32_neon; + converter_map[QImage::Format_RGB888][QImage::Format_ARGB32] = convert_RGB888_to_RGB32_neon; + converter_map[QImage::Format_RGB888][QImage::Format_ARGB32_Premultiplied] = convert_RGB888_to_RGB32_neon; + } +#endif } /*! diff --git a/src/gui/image/qimage_neon.cpp b/src/gui/image/qimage_neon.cpp new file mode 100644 index 0000000..15bf472 --- /dev/null +++ b/src/gui/image/qimage_neon.cpp @@ -0,0 +1,114 @@ +/**************************************************************************** +** +** 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 QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include + +#ifdef QT_HAVE_NEON + +QT_BEGIN_NAMESPACE + +Q_GUI_EXPORT void QT_FASTCALL qt_convert_rgb888_to_rgb32_neon(quint32 *dst, const uchar *src, int len) +{ + if (!len) + return; + + const quint32 *const end = dst + len; + + // align dst on 64 bits + const int offsetToAlignOn8Bytes = (reinterpret_cast(dst) >> 2) & 0x1; + for (int i = 0; i < offsetToAlignOn8Bytes; ++i) { + *dst++ = qRgb(src[0], src[1], src[2]); + src += 3; + } + + if ((len - offsetToAlignOn8Bytes) >= 8) { + const quint32 *const simdEnd = end - 7; + register uint8x8_t fullVector asm ("d3") = vdup_n_u8(0xff); + do { +#if Q_BYTE_ORDER == Q_BIG_ENDIAN + asm volatile ( + "vld3.8 { d4, d5, d6 }, [%[SRC]] !\n\t" + "vst4.8 { d3, d4, d5, d6 }, [%[DST],:64] !\n\t" + : [DST]"+r" (dst), [SRC]"+r" (src) + : "w"(fullVector) + : "memory", "d4", "d5", "d6" + ); +#else + asm volatile ( + "vld3.8 { d0, d1, d2 }, [%[SRC]] !\n\t" + "vswp d0, d2\n\t" + "vst4.8 { d0, d1, d2, d3 }, [%[DST],:64] !\n\t" + : [DST]"+r" (dst), [SRC]"+r" (src) + : "w"(fullVector) + : "memory", "d0", "d1", "d2" + ); +#endif + } while (dst < simdEnd); + } + + while (dst != end) { + *dst++ = qRgb(src[0], src[1], src[2]); + src += 3; + } +} + +void convert_RGB888_to_RGB32_neon(QImageData *dest, const QImageData *src, Qt::ImageConversionFlags) +{ + Q_ASSERT(src->format == QImage::Format_RGB888); + Q_ASSERT(dest->format == QImage::Format_RGB32 || dest->format == QImage::Format_ARGB32 || dest->format == QImage::Format_ARGB32_Premultiplied); + Q_ASSERT(src->width == dest->width); + Q_ASSERT(src->height == dest->height); + + const uchar *src_data = (uchar *) src->data; + quint32 *dest_data = (quint32 *) dest->data; + + for (int i = 0; i < src->height; ++i) { + qt_convert_rgb888_to_rgb32_neon(dest_data, src_data, src->width); + src_data += src->bytes_per_line; + dest_data = (quint32 *)((uchar*)dest_data + dest->bytes_per_line); + } +} + +QT_END_NAMESPACE + +#endif // QT_HAVE_NEON -- cgit v0.12 From 296cf92e1047409a203294e81fb388cc6a0e5c85 Mon Sep 17 00:00:00 2001 From: Benjamin Poulain Date: Fri, 6 Aug 2010 15:50:38 +0200 Subject: Use the fast Neon conversion for converting colors of jpeg images. Reviewed-by: Andreas Kling --- src/gui/image/qjpeghandler.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gui/image/qjpeghandler.cpp b/src/gui/image/qjpeghandler.cpp index d358a5e..eda5efb 100644 --- a/src/gui/image/qjpeghandler.cpp +++ b/src/gui/image/qjpeghandler.cpp @@ -803,9 +803,16 @@ bool QJpegHandlerPrivate::read(QImage *image) QJpegHandler::QJpegHandler() : d(new QJpegHandlerPrivate(this)) { -#if defined(QT_HAVE_SSSE3) const uint features = qDetectCPUFeatures(); - + Q_UNUSED(features); +#if defined(QT_HAVE_NEON) + // from qimage_neon.cpp + Q_GUI_EXPORT void QT_FASTCALL qt_convert_rgb888_to_rgb32_neon(quint32 *dst, const uchar *src, int len); + + if (features & NEON) + rgb888ToRgb32ConverterPtr = qt_convert_rgb888_to_rgb32_neon; +#endif // QT_HAVE_NEON +#if defined(QT_HAVE_SSSE3) // from qimage_ssse3.cpp Q_GUI_EXPORT void QT_FASTCALL qt_convert_rgb888_to_rgb32_ssse3(quint32 *dst, const uchar *src, int len); -- cgit v0.12 From c45516f1f3781dcb504158f730b98897c7f2f2a1 Mon Sep 17 00:00:00 2001 From: Benjamin Poulain Date: Fri, 6 Aug 2010 15:52:37 +0200 Subject: Remove the definition of QT_HAVE_NEON from qt.prf Since we cannot use NEON and VFP concurrently, it is better not to force neon all over the place :) Reviewed-by: Andreas Kling Reviewed-by: Thiago Macieira --- mkspecs/features/qt.prf | 1 - src/corelib/corelib.pro | 5 ++++- src/gui/gui.pro | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index aa0f06e..84010a0 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -211,7 +211,6 @@ mac { } #SIMD defines: -neon: DEFINES += QT_HAVE_NEON mmx:DEFINES += QT_HAVE_MMX 3dnow:DEFINES += QT_HAVE_3DNOW sse:DEFINES += QT_HAVE_SSE QT_HAVE_MMXEXT diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro index bc8ef9f..728bdf9 100644 --- a/src/corelib/corelib.pro +++ b/src/corelib/corelib.pro @@ -53,6 +53,9 @@ symbian: { DEPLOYMENT = partial_upgrade $$DEPLOYMENT } -neon: QMAKE_CXXFLAGS *= -mfpu=neon +neon { + DEFINES += QT_HAVE_NEON + QMAKE_CXXFLAGS *= -mfpu=neon +} diff --git a/src/gui/gui.pro b/src/gui/gui.pro index 89ae06f..3943e26 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -77,8 +77,9 @@ symbian { DEPLOYMENT = partial_upgrade $$DEPLOYMENT } -neon: QMAKE_CXXFLAGS *= -mfpu=neon neon:*-g++* { + DEFINES += QT_HAVE_NEON + QMAKE_CXXFLAGS *= -mfpu=neon HEADERS += $$NEON_HEADERS SOURCES += $$NEON_SOURCES -- cgit v0.12 From c5fa9eb1cb02d979502e2c9918d752c6708fb406 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Mon, 9 Aug 2010 10:31:16 +0200 Subject: Fix scrollbar randomly popping up in QPlainTextEdit When a line break was detected, we would retain the value of the right bearing for the character after the break instead of resetting it to the right bearing of the previous value. This could in some cases cause the bounding rect of the text to be wrong, and could cause unnecessary horizontal scrollbars to pop up. It was especially visible when using WrapAnywhere. Visible e.g. in the compile output in Creator. Done-by: mae Reviewed-by: Eskil Reviewed-by: Lars --- src/gui/text/qtextlayout.cpp | 21 +++++++++++++++++---- tests/auto/qtextlayout/tst_qtextlayout.cpp | 30 ++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 4 deletions(-) diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index 5a11c87..da43913 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -1709,14 +1709,18 @@ namespace { return glyphs.glyphs[logClusters[currentPosition - 1]]; } + inline void adjustRightBearing(glyph_t glyph) + { + qreal rb; + fontEngine->getGlyphBearings(glyph, 0, &rb); + rightBearing = qMin(QFixed(), QFixed::fromReal(rb)); + } + inline void adjustRightBearing() { if (currentPosition <= 0) return; - - qreal rb; - fontEngine->getGlyphBearings(currentGlyph(), 0, &rb); - rightBearing = qMin(QFixed(), QFixed::fromReal(rb)); + adjustRightBearing(currentGlyph()); } inline void resetRightBearing() @@ -1901,6 +1905,9 @@ void QTextLine::layout_helper(int maxGlyphs) } else { lbh.whiteSpaceOrObject = false; bool sb_or_ws = false; + glyph_t previousGlyph = 0; + if (lbh.currentPosition > 0 && lbh.logClusters[lbh.currentPosition - 1] line.width) lbh.adjustRightBearing(); if (lbh.checkFullOtherwiseExtend(line)) { + // we are too wide, fix right bearing + if (rightBearing <= 0) + lbh.rightBearing = rightBearing; // take from cache + else if (previousGlyph > 0) + lbh.adjustRightBearing(previousGlyph); if (!breakany) { line.textWidth += lbh.softHyphenWidth; } diff --git a/tests/auto/qtextlayout/tst_qtextlayout.cpp b/tests/auto/qtextlayout/tst_qtextlayout.cpp index f798faf..659ba1a 100644 --- a/tests/auto/qtextlayout/tst_qtextlayout.cpp +++ b/tests/auto/qtextlayout/tst_qtextlayout.cpp @@ -122,6 +122,7 @@ private slots: void smallTextLengthWrapAtWordBoundaryOrAnywhere(); void testLineBreakingAllSpaces(); void lineWidthFromBOM(); + void textWidthVsWIdth(); private: @@ -1359,5 +1360,34 @@ void tst_QTextLayout::glyphLessItems() } } +void tst_QTextLayout::textWidthVsWIdth() +{ + QTextLayout layout; + QTextOption opt; + opt.setWrapMode(QTextOption::WrapAnywhere); + layout.setTextOption(opt); + layout.setText(QString::fromLatin1( + "g++ -c -m64 -pipe -g -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DCORE_LIBRARY -DIDE_LIBRARY_BASENAME=\"lib\" -DWITH_TESTS " + "-DQT_NO_CAST_TO_ASCII -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -DQT_PLUGIN -DQT_TESTLIB_LIB -DQT_SCRIPT_LIB -DQT_SVG_LIB -DQT_SQL_LIB -DQT_XM" + "L_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../../qt-qml/mkspecs/linux-g++-64 -I. -I../../../../qt-qml/include/QtCore -I../../../." + "./qt-qml/include/QtNetwork -I../../../../qt-qml/include/QtGui -I../../../../qt-qml/include/QtXml -I../../../../qt-qml/include/QtSql -I../../../../qt-qml/inc" + "lude/QtSvg -I../../../../qt-qml/include/QtScript -I../../../../qt-qml/include/QtTest -I../../../../qt-qml/include -I../../../../qt-qml/include/QtHelp -I../." + "./libs -I/home/ettrich/dev/creator/tools -I../../plugins -I../../shared/scriptwrapper -I../../libs/3rdparty/botan/build -Idialogs -Iactionmanager -Ieditorma" + "nager -Iprogressmanager -Iscriptmanager -I.moc/debug-shared -I.uic -o .obj/debug-shared/sidebar.o sidebar.cpp")); + + // textWidth includes right bearing, but it should never be LARGER than width if there is space for at least one character + for (int width = 100; width < 1000; ++width) { + layout.beginLayout(); + QTextLine line = layout.createLine(); + line.setLineWidth(width); + layout.endLayout(); + + qreal textWidthIsLargerBy = qMax(qreal(0), line.naturalTextWidth() - line.width()); + qreal thisMustBeZero = 0; + QCOMPARE(textWidthIsLargerBy, thisMustBeZero); + } +} + + QTEST_MAIN(tst_QTextLayout) #include "tst_qtextlayout.moc" -- cgit v0.12 From 362641ec2bdf5e05b4adfc54275c1c4869759d56 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Mon, 9 Aug 2010 11:01:45 +0200 Subject: Doc: typo fixed in qlibraryinfo.cpp Reviewed-by: TrustMe --- src/corelib/global/qlibraryinfo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp index a9ea44a..4b56efc 100644 --- a/src/corelib/global/qlibraryinfo.cpp +++ b/src/corelib/global/qlibraryinfo.cpp @@ -467,7 +467,7 @@ QLibraryInfo::location(LibraryLocation loc) \value PrefixPath The default prefix for all paths. \value DocumentationPath The location for documentation upon install. \value HeadersPath The location for all headers. - \value LibrariesPath The location of installed librarires. + \value LibrariesPath The location of installed libraries. \value BinariesPath The location of installed Qt binaries (tools and applications). \value PluginsPath The location of installed Qt plugins. \value DataPath The location of general Qt data. -- cgit v0.12 From 4f2f48caae2ae18336bff10bb1e1ab07f2dd4650 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Mon, 9 Aug 2010 11:49:43 +0200 Subject: doc: Clarify documentation of QStaticText There has been some confusion concerning what HTML tags can be used when using the rich text format with QStaticText. This patch attempts to make it clearer in the documentation that the tags have to be text related. Reviewed-by: Samuel --- src/gui/text/qstatictext.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/gui/text/qstatictext.cpp b/src/gui/text/qstatictext.cpp index 7396bcd..21c2e02 100644 --- a/src/gui/text/qstatictext.cpp +++ b/src/gui/text/qstatictext.cpp @@ -109,10 +109,18 @@ QT_BEGIN_NAMESPACE QPainter::drawStaticText() and can change from call to call with a minimal impact on performance. - QStaticText will attempt to guess the format of the input text using Qt::mightBeRichText(). - To force QStaticText to display its contents as either plain text or rich text, use the - function QStaticText::setTextFormat() and pass in, respectively, Qt::PlainText and - Qt::RichText. + For extra convenience, it is possible to apply formatting to the text using the HTML subset + supported by QTextDocument. QStaticText will attempt to guess the format of the input text using + Qt::mightBeRichText(), and interpret it as rich text if this function returns true. To force + QStaticText to display its contents as either plain text or rich text, use the function + QStaticText::setTextFormat() and pass in, respectively, Qt::PlainText and Qt::RichText. + + QStaticText can only represent text, so only HTML tags which alter the layout or appearance of + the text will be respected. Adding an image to the input HTML, for instance, will cause the + image to be included as part of the layout, affecting the positions of the text glyphs, but it + will not be displayed. The result will be an empty area the size of the image in the output. + Similarly, using tables will cause the text to be laid out in table format, but the borders + will not be drawn. If it's the first time the static text is drawn, or if the static text, or the painter's font has been altered since the last time it was drawn, the text's layout has to be -- cgit v0.12 From ddd2a54224e651ff45af834201eec1be2c56d583 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 9 Aug 2010 11:58:40 +0200 Subject: QtDeclarative: get rid of warnings in public header warning: use of old-style cast Reviewed-by: brad --- src/declarative/qml/qdeclarativelist.h | 8 ++++---- src/declarative/qml/qdeclarativeprivate.h | 4 ++-- tests/auto/compilerwarnings/test_cpp.txt | 3 +++ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/declarative/qml/qdeclarativelist.h b/src/declarative/qml/qdeclarativelist.h index 399b2a1..c10bc11 100644 --- a/src/declarative/qml/qdeclarativelist.h +++ b/src/declarative/qml/qdeclarativelist.h @@ -98,16 +98,16 @@ public: private: static void qlist_append(QDeclarativeListProperty *p, T *v) { - ((QList *)p->data)->append(v); + reinterpret_cast *>(p->data)->append(v); } static int qlist_count(QDeclarativeListProperty *p) { - return ((QList *)p->data)->count(); + return reinterpret_cast *>(p->data)->count(); } static T *qlist_at(QDeclarativeListProperty *p, int idx) { - return ((QList *)p->data)->at(idx); + return reinterpret_cast *>(p->data)->at(idx); } static void qlist_clear(QDeclarativeListProperty *p) { - return ((QList *)p->data)->clear(); + return reinterpret_cast *>(p->data)->clear(); } }; #endif diff --git a/src/declarative/qml/qdeclarativeprivate.h b/src/declarative/qml/qdeclarativeprivate.h index cb916bf..d45ddbc 100644 --- a/src/declarative/qml/qdeclarativeprivate.h +++ b/src/declarative/qml/qdeclarativeprivate.h @@ -105,7 +105,7 @@ namespace QDeclarativePrivate template struct StaticCastSelectorClass { - static inline int cast() { return (int)((intptr_t)static_cast((From *)0x10000000)) - 0x10000000; } + static inline int cast() { return int(reinterpret_cast(static_cast(reinterpret_cast(0x10000000)))) - 0x10000000; } }; template @@ -119,7 +119,7 @@ namespace QDeclarativePrivate static inline int cast() { - return StaticCastSelectorClass::cast(); + return StaticCastSelectorClass(0)))>::cast(); } }; diff --git a/tests/auto/compilerwarnings/test_cpp.txt b/tests/auto/compilerwarnings/test_cpp.txt index 62b35eb..1d317b8 100644 --- a/tests/auto/compilerwarnings/test_cpp.txt +++ b/tests/auto/compilerwarnings/test_cpp.txt @@ -58,6 +58,9 @@ #include #endif +#include + + #ifndef Q_OS_MAC int main(int, char **) { -- cgit v0.12 From 720f4ca0ec3b42a101ac24b2cf74cdc87d29eac9 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 9 Aug 2010 14:11:46 +0200 Subject: Fix QString::arg: When specifying %L1, the group separator would be added even if the local specify QLocale::OmitGroupSeparator Task-number: QTBUG-9281 Reviewed-by: Denis --- src/corelib/tools/qstring.cpp | 13 ++++++++----- tests/auto/qstring/tst_qstring.cpp | 12 ++++++++++++ 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index d6ab5da..2fd9a0b 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -6645,8 +6645,9 @@ QString QString::arg(qlonglong a, int fieldWidth, int base, const QChar &fillCha QString locale_arg; if (d.locale_occurrences > 0) { QLocale locale; - locale_arg = locale.d()->longLongToString(a, -1, base, fieldWidth, - flags | QLocalePrivate::ThousandsGroup); + if (!locale.numberOptions() & QLocale::OmitGroupSeparator) + flags |= QLocalePrivate::ThousandsGroup; + locale_arg = locale.d()->longLongToString(a, -1, base, fieldWidth, flags); } return replaceArgEscapes(*this, d, fieldWidth, arg, locale_arg, fillChar); @@ -6688,8 +6689,9 @@ QString QString::arg(qulonglong a, int fieldWidth, int base, const QChar &fillCh QString locale_arg; if (d.locale_occurrences > 0) { QLocale locale; - locale_arg = locale.d()->unsLongLongToString(a, -1, base, fieldWidth, - flags | QLocalePrivate::ThousandsGroup); + if (!locale.numberOptions() & QLocale::OmitGroupSeparator) + flags |= QLocalePrivate::ThousandsGroup; + locale_arg = locale.d()->unsLongLongToString(a, -1, base, fieldWidth, flags); } return replaceArgEscapes(*this, d, fieldWidth, arg, locale_arg, fillChar); @@ -6822,7 +6824,8 @@ QString QString::arg(double a, int fieldWidth, char fmt, int prec, const QChar & if (d.locale_occurrences > 0) { QLocale locale; - flags |= QLocalePrivate::ThousandsGroup; + if (!locale.numberOptions() & QLocale::OmitGroupSeparator) + flags |= QLocalePrivate::ThousandsGroup; locale_arg = locale.d()->doubleToString(a, prec, form, fieldWidth, flags); } diff --git a/tests/auto/qstring/tst_qstring.cpp b/tests/auto/qstring/tst_qstring.cpp index c887936..ef82769 100644 --- a/tests/auto/qstring/tst_qstring.cpp +++ b/tests/auto/qstring/tst_qstring.cpp @@ -208,6 +208,7 @@ private slots: void repeated_data() const; void task262677remove(); void QTBUG10404_compareRef(); + void QTBUG9281_arg_locale(); }; typedef QList IntList; @@ -4860,6 +4861,17 @@ void tst_QString::QTBUG10404_compareRef() QVERIFY(QStringRef(&a2, 1, 2).compare(QStringRef(&a, 1, 3), Qt::CaseInsensitive) < 0); } +void tst_QString::QTBUG9281_arg_locale() +{ + QLocale l(QLocale::English, QLocale::UnitedKingdom); + l.setNumberOptions(QLocale::OmitGroupSeparator); + QLocale::setDefault(l); + QString str("*%L1*%L2*"); + str = str.arg(123456).arg(1234.56); + QCOMPARE(str, QString::fromLatin1("*123456*1234.56*")); + QLocale::setDefault(QLocale::C); +} + QTEST_APPLESS_MAIN(tst_QString) -- cgit v0.12 From a1641e27d2e2f5e29362e3737be6b9d75714d138 Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Mon, 9 Aug 2010 15:56:34 +0200 Subject: Add text decoration support to QStaticText The original code path of QStaticText does not include decoration drawing, this patch generalized the drawTextItemDecoration() function to draw decoration for drawText(), then use that to draw decoration for QStaticText. A helper function called drawDecorationForGlyphs() is made to allow easier extension for direct glyphs drawing support. Task-number: QTBUG-12121 Reviewed-by: Eskil --- src/gui/painting/qpainter.cpp | 84 +++++++++++++++++++---- tests/auto/qstatictext/tst_qstatictext.cpp | 106 +++++++++++++++++++++++++++++ 2 files changed, 177 insertions(+), 13 deletions(-) diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index 9dadbd5..b694d9c 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -90,6 +90,15 @@ void qt_format_text(const QFont &font, const QRectF &_r, int tf, const QTextOption *option, const QString& str, QRectF *brect, int tabstops, int* tabarray, int tabarraylen, QPainter *painter); +static void drawTextItemDecoration(QPainter *painter, const QPointF &pos, const QFontEngine *fe, + QTextCharFormat::UnderlineStyle underlineStyle, + const QTextItem::RenderFlags flags, qreal width, + const QTextCharFormat &charFormat); +// Helper function to calculate left most position, width and flags for decoration drawing +static void drawDecorationForGlyphs(QPainter *painter, const glyph_t *glyphArray, + const QFixedPoint *positions, int glyphCount, + QFontEngine *fontEngine, const QFont &font, + const QTextCharFormat &charFormat); static inline QGradient::CoordinateMode coordinateMode(const QBrush &brush) { @@ -5923,6 +5932,10 @@ void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText currentColor = item->color; } d->extended->drawStaticTextItem(item); + + drawDecorationForGlyphs(this, item->glyphs, item->glyphPositions, + item->numGlyphs, item->fontEngine, staticText_d->font, + QTextCharFormat()); } if (currentColor != oldPen.color()) setPen(oldPen); @@ -6290,15 +6303,15 @@ static QPixmap generateWavyPixmap(qreal maxRadius, const QPen &pen) return pixmap; } -static void drawTextItemDecoration(QPainter *painter, const QPointF &pos, const QTextItemInt &ti) +static void drawTextItemDecoration(QPainter *painter, const QPointF &pos, const QFontEngine *fe, + QTextCharFormat::UnderlineStyle underlineStyle, + const QTextItem::RenderFlags flags, qreal width, + const QTextCharFormat &charFormat) { - QTextCharFormat::UnderlineStyle underlineStyle = ti.underlineStyle; if (underlineStyle == QTextCharFormat::NoUnderline - && !(ti.flags & (QTextItem::StrikeOut | QTextItem::Overline))) + && !(flags & (QTextItem::StrikeOut | QTextItem::Overline))) return; - QFontEngine *fe = ti.fontEngine; - const QPen oldPen = painter->pen(); const QBrush oldBrush = painter->brush(); painter->setBrush(Qt::NoBrush); @@ -6307,7 +6320,7 @@ static void drawTextItemDecoration(QPainter *painter, const QPointF &pos, const pen.setWidthF(fe->lineThickness().toReal()); pen.setCapStyle(Qt::FlatCap); - QLineF line(pos.x(), pos.y(), pos.x() + ti.width.toReal(), pos.y()); + QLineF line(pos.x(), pos.y(), pos.x() + width, pos.y()); const qreal underlineOffset = fe->underlinePosition().toReal(); // deliberately ceil the offset to avoid the underline coming too close to @@ -6322,21 +6335,21 @@ static void drawTextItemDecoration(QPainter *painter, const QPointF &pos, const painter->save(); painter->translate(0, pos.y() + 1); - QColor uc = ti.charFormat.underlineColor(); + QColor uc = charFormat.underlineColor(); if (uc.isValid()) pen.setColor(uc); // Adapt wave to underlineOffset or pen width, whatever is larger, to make it work on all platforms const QPixmap wave = generateWavyPixmap(qMax(underlineOffset, pen.widthF()), pen); - const int descent = (int) ti.descent.toReal(); + const int descent = (int) fe->descent().toReal(); painter->setBrushOrigin(painter->brushOrigin().x(), 0); - painter->fillRect(pos.x(), 0, qCeil(ti.width.toReal()), qMin(wave.height(), descent), wave); + painter->fillRect(pos.x(), 0, qCeil(width), qMin(wave.height(), descent), wave); painter->restore(); } else if (underlineStyle != QTextCharFormat::NoUnderline) { QLineF underLine(line.x1(), underlinePos, line.x2(), underlinePos); - QColor uc = ti.charFormat.underlineColor(); + QColor uc = charFormat.underlineColor(); if (uc.isValid()) pen.setColor(uc); @@ -6348,14 +6361,14 @@ static void drawTextItemDecoration(QPainter *painter, const QPointF &pos, const pen.setStyle(Qt::SolidLine); pen.setColor(oldPen.color()); - if (ti.flags & QTextItem::StrikeOut) { + if (flags & QTextItem::StrikeOut) { QLineF strikeOutLine = line; strikeOutLine.translate(0., - fe->ascent().toReal() / 3.); painter->setPen(pen); painter->drawLine(strikeOutLine); } - if (ti.flags & QTextItem::Overline) { + if (flags & QTextItem::Overline) { QLineF overLine = line; overLine.translate(0., - fe->ascent().toReal()); painter->setPen(pen); @@ -6366,6 +6379,50 @@ static void drawTextItemDecoration(QPainter *painter, const QPointF &pos, const painter->setBrush(oldBrush); } +static void drawDecorationForGlyphs(QPainter *painter, const glyph_t *glyphArray, + const QFixedPoint *positions, int glyphCount, + QFontEngine *fontEngine, const QFont &font, + const QTextCharFormat &charFormat) +{ + if (!(font.underline() || font.strikeOut() || font.overline())) + return; + + QFixed leftMost; + QFixed rightMost; + QFixed baseLine; + for (int i=0; iboundingBox(glyphArray[i]); + if (i == 0 || leftMost > positions[i].x) + leftMost = positions[i].x; + + // We don't support glyphs that do not share a common baseline. If this turns out to + // be a relevant use case, then we need to find clusters of glyphs that share a baseline + // and do a drawTextItemDecorations call per cluster. + if (i == 0 || baseLine < positions[i].y) + baseLine = positions[i].y; + + // We use the advance rather than the actual bounds to match the algorithm in drawText() + if (i == 0 || rightMost < positions[i].x + gm.xoff) + rightMost = positions[i].x + gm.xoff; + } + + QFixed width = rightMost - leftMost; + QTextItem::RenderFlags flags = 0; + + if (font.underline()) + flags |= QTextItem::Underline; + if (font.overline()) + flags |= QTextItem::Overline; + if (font.strikeOut()) + flags |= QTextItem::StrikeOut; + + drawTextItemDecoration(painter, QPointF(leftMost.toReal(), baseLine.toReal()), + fontEngine, + font.underline() ? QTextCharFormat::SingleUnderline + : QTextCharFormat::NoUnderline, flags, + width.toReal(), charFormat); +} + void QPainter::drawTextItem(const QPointF &p, const QTextItem &_ti) { #ifdef QT_DEBUG_DRAW @@ -6496,7 +6553,8 @@ void QPainter::drawTextItem(const QPointF &p, const QTextItem &_ti) else d->engine->drawTextItem(p, ti); } - drawTextItemDecoration(this, p, ti); + drawTextItemDecoration(this, p, ti.fontEngine, ti.underlineStyle, ti.flags, ti.width.toReal(), + ti.charFormat); if (d->state->renderHints != oldRenderHints) { d->state->renderHints = oldRenderHints; diff --git a/tests/auto/qstatictext/tst_qstatictext.cpp b/tests/auto/qstatictext/tst_qstatictext.cpp index 1d166f4..0ae5320 100644 --- a/tests/auto/qstatictext/tst_qstatictext.cpp +++ b/tests/auto/qstatictext/tst_qstatictext.cpp @@ -85,6 +85,10 @@ private slots: void setPenPlainText(); void setPenRichText(); void richTextOverridesPen(); + + void drawStruckOutText(); + void drawOverlinedText(); + void drawUnderlinedText(); }; void tst_QStaticText::init() @@ -620,5 +624,107 @@ void tst_QStaticText::richTextOverridesPen() } } +void tst_QStaticText::drawStruckOutText() +{ + QPixmap imageDrawText(1000, 1000); + QPixmap imageDrawStaticText(1000, 1000); + + imageDrawText.fill(Qt::white); + imageDrawStaticText.fill(Qt::white); + + QString s = QString::fromLatin1("Foobar"); + + QFont font; + font.setStrikeOut(true); + + { + QPainter p(&imageDrawText); + p.setFont(font); + p.drawText(QPointF(50, 50), s); + } + + { + QPainter p(&imageDrawStaticText); + QStaticText text = QStaticText(s); + p.setFont(font); + p.drawStaticText(QPointF(50, 50 - QFontMetricsF(p.font()).ascent()), text); + } + +#if defined(DEBUG_SAVE_IMAGE) + imageDrawText.save("drawStruckOutText_imageDrawText.png"); + imageDrawStaticText.save("drawStruckOutText_imageDrawStaticText.png"); +#endif + + QCOMPARE(imageDrawText, imageDrawStaticText); +} + +void tst_QStaticText::drawOverlinedText() +{ + QPixmap imageDrawText(1000, 1000); + QPixmap imageDrawStaticText(1000, 1000); + + imageDrawText.fill(Qt::white); + imageDrawStaticText.fill(Qt::white); + + QString s = QString::fromLatin1("Foobar"); + + QFont font; + font.setOverline(true); + + { + QPainter p(&imageDrawText); + p.setFont(font); + p.drawText(QPointF(50, 50), s); + } + + { + QPainter p(&imageDrawStaticText); + QStaticText text = QStaticText(s); + p.setFont(font); + p.drawStaticText(QPointF(50, 50 - QFontMetricsF(p.font()).ascent()), text); + } + +#if defined(DEBUG_SAVE_IMAGE) + imageDrawText.save("drawOverlinedText_imageDrawText.png"); + imageDrawStaticText.save("drawOverlinedText_imageDrawStaticText.png"); +#endif + + QCOMPARE(imageDrawText, imageDrawStaticText); +} + +void tst_QStaticText::drawUnderlinedText() +{ + QPixmap imageDrawText(1000, 1000); + QPixmap imageDrawStaticText(1000, 1000); + + imageDrawText.fill(Qt::white); + imageDrawStaticText.fill(Qt::white); + + QString s = QString::fromLatin1("Foobar"); + + QFont font; + font.setUnderline(true); + + { + QPainter p(&imageDrawText); + p.setFont(font); + p.drawText(QPointF(50, 50), s); + } + + { + QPainter p(&imageDrawStaticText); + QStaticText text = QStaticText(s); + p.setFont(font); + p.drawStaticText(QPointF(50, 50 - QFontMetricsF(p.font()).ascent()), text); + } + +#if defined(DEBUG_SAVE_IMAGE) + imageDrawText.save("drawUnderlinedText_imageDrawText.png"); + imageDrawStaticText.save("drawUnderlinedText_imageDrawStaticText.png"); +#endif + + QCOMPARE(imageDrawText, imageDrawStaticText); +} + QTEST_MAIN(tst_QStaticText) #include "tst_qstatictext.moc" -- cgit v0.12 From 30b82b9440fcfc4a703d1a2b1150efd6b4147093 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= Date: Wed, 4 Aug 2010 10:37:58 +0200 Subject: Fixed a bug in implementation of sizeHint() when there was a constraint The constraint was not adjusted with the margins before passing it on to the engine (which is unaware of the margins). Task-number: Found during QT-3570 Reviewed-by: Paul --- src/gui/graphicsview/qgraphicsgridlayout.cpp | 3 ++- src/gui/graphicsview/qgraphicslinearlayout.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsgridlayout.cpp b/src/gui/graphicsview/qgraphicsgridlayout.cpp index 062b5ac..3fc7f10 100644 --- a/src/gui/graphicsview/qgraphicsgridlayout.cpp +++ b/src/gui/graphicsview/qgraphicsgridlayout.cpp @@ -641,7 +641,8 @@ QSizeF QGraphicsGridLayout::sizeHint(Qt::SizeHint which, const QSizeF &constrain Q_D(const QGraphicsGridLayout); qreal left, top, right, bottom; getContentsMargins(&left, &top, &right, &bottom); - return d->engine.sizeHint(d->styleInfo(), which , constraint) + QSizeF(left + right, top + bottom); + const QSizeF extraMargins(left + right, top + bottom); + return d->engine.sizeHint(d->styleInfo(), which , constraint - extraMargins) + extraMargins; } diff --git a/src/gui/graphicsview/qgraphicslinearlayout.cpp b/src/gui/graphicsview/qgraphicslinearlayout.cpp index 37408ef..1588364 100644 --- a/src/gui/graphicsview/qgraphicslinearlayout.cpp +++ b/src/gui/graphicsview/qgraphicslinearlayout.cpp @@ -528,7 +528,8 @@ QSizeF QGraphicsLinearLayout::sizeHint(Qt::SizeHint which, const QSizeF &constra Q_D(const QGraphicsLinearLayout); qreal left, top, right, bottom; getContentsMargins(&left, &top, &right, &bottom); - return d->engine.sizeHint(d->styleInfo(), which , constraint) + QSizeF(left + right, top + bottom); + const QSizeF extraMargins(left + right, top + bottom); + return d->engine.sizeHint(d->styleInfo(), which , constraint - extraMargins) + extraMargins; } /*! -- cgit v0.12 From 62b5ef3cc1306e46a4042b14867f2f92d9a110f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= Date: Wed, 4 Aug 2010 10:51:51 +0200 Subject: Fix (implement!) hfw/wfh in QGridLayoutEngine Note that only height-for-width works, since we cannot add QSizePolicy::hasWidthForHeight() in a patch release. Task-number: QT-3570 Reviewed-by: Paul --- src/gui/graphicsview/qgraphicslayoutitem.cpp | 51 ++- src/gui/graphicsview/qgraphicslayoutitem_p.h | 6 + src/gui/graphicsview/qgridlayoutengine.cpp | 251 +++++++++++++- src/gui/graphicsview/qgridlayoutengine_p.h | 23 +- .../tst_qgraphicsgridlayout.cpp | 364 ++++++++++++++++++++- 5 files changed, 678 insertions(+), 17 deletions(-) diff --git a/src/gui/graphicsview/qgraphicslayoutitem.cpp b/src/gui/graphicsview/qgraphicslayoutitem.cpp index 5a7f1af..3707591 100644 --- a/src/gui/graphicsview/qgraphicslayoutitem.cpp +++ b/src/gui/graphicsview/qgraphicslayoutitem.cpp @@ -48,6 +48,7 @@ #include "qgraphicslayoutitem.h" #include "qgraphicslayoutitem_p.h" #include "qwidget.h" +#include "qgraphicswidget.h" #include @@ -139,9 +140,11 @@ QSizeF *QGraphicsLayoutItemPrivate::effectiveSizeHints(const QSizeF &constraint) if (!sizeHintCacheDirty && cachedConstraint == constraint) return cachedSizeHints; + const bool hasConstraint = constraint.width() >= 0 || constraint.height() >= 0; + for (int i = 0; i < Qt::NSizeHints; ++i) { cachedSizeHints[i] = constraint; - if (userSizeHints) + if (userSizeHints && !hasConstraint) combineSize(cachedSizeHints[i], userSizeHints[i]); } @@ -259,6 +262,52 @@ void QGraphicsLayoutItemPrivate::setSizeComponent( q->updateGeometry(); } + +bool QGraphicsLayoutItemPrivate::hasHeightForWidth() const +{ + Q_Q(const QGraphicsLayoutItem); + if (isLayout) { + const QGraphicsLayout *l = static_cast(q); + for (int i = l->count() - 1; i >= 0; --i) { + if (QGraphicsLayoutItemPrivate::get(l->itemAt(i))->hasHeightForWidth()) + return true; + } + } else if (QGraphicsItem *item = q->graphicsItem()) { + if (item->isWidget()) { + QGraphicsWidget *w = static_cast(item); + if (w->layout()) { + return QGraphicsLayoutItemPrivate::get(w->layout())->hasHeightForWidth(); + } + } + } + return q->sizePolicy().hasHeightForWidth(); +} + +bool QGraphicsLayoutItemPrivate::hasWidthForHeight() const +{ + // enable this code when we add QSizePolicy::hasWidthForHeight() (For 4.8) +#if 1 + return false; +#else + Q_Q(const QGraphicsLayoutItem); + if (isLayout) { + const QGraphicsLayout *l = static_cast(q); + for (int i = l->count() - 1; i >= 0; --i) { + if (QGraphicsLayoutItemPrivate::get(l->itemAt(i))->hasWidthForHeight()) + return true; + } + } else if (QGraphicsItem *item = q->graphicsItem()) { + if (item->isWidget()) { + QGraphicsWidget *w = static_cast(item); + if (w->layout()) { + return QGraphicsLayoutItemPrivate::get(w->layout())->hasWidthForHeight(); + } + } + } + return q->sizePolicy().hasWidthForHeight(); +#endif +} + /*! \class QGraphicsLayoutItem \brief The QGraphicsLayoutItem class can be inherited to allow your custom diff --git a/src/gui/graphicsview/qgraphicslayoutitem_p.h b/src/gui/graphicsview/qgraphicslayoutitem_p.h index 15cc7a5..b752e03 100644 --- a/src/gui/graphicsview/qgraphicslayoutitem_p.h +++ b/src/gui/graphicsview/qgraphicslayoutitem_p.h @@ -65,6 +65,9 @@ class Q_AUTOTEST_EXPORT QGraphicsLayoutItemPrivate public: virtual ~QGraphicsLayoutItemPrivate(); QGraphicsLayoutItemPrivate(QGraphicsLayoutItem *parent, bool isLayout); + static QGraphicsLayoutItemPrivate *get(QGraphicsLayoutItem *q) { return q->d_func();} + static const QGraphicsLayoutItemPrivate *get(const QGraphicsLayoutItem *q) { return q->d_func();} + void init(); QSizeF *effectiveSizeHints(const QSizeF &constraint) const; QGraphicsItem *parentItem() const; @@ -73,6 +76,9 @@ public: enum SizeComponent { Width, Height }; void setSizeComponent(Qt::SizeHint which, SizeComponent component, qreal value); + bool hasHeightForWidth() const; + bool hasWidthForHeight() const; + QSizePolicy sizePolicy; QGraphicsLayoutItem *parent; diff --git a/src/gui/graphicsview/qgridlayoutengine.cpp b/src/gui/graphicsview/qgridlayoutengine.cpp index a084647..ea54a90 100644 --- a/src/gui/graphicsview/qgridlayoutengine.cpp +++ b/src/gui/graphicsview/qgridlayoutengine.cpp @@ -545,6 +545,24 @@ QSizePolicy::Policy QGridLayoutItem::sizePolicy(Qt::Orientation orientation) con : sizePolicy.verticalPolicy(); } +/* + returns true if the size policy returns true for either hasHeightForWidth() + or hasWidthForHeight() + */ +bool QGridLayoutItem::hasDynamicConstraint() const +{ + return QGraphicsLayoutItemPrivate::get(q_layoutItem)->hasHeightForWidth() + || QGraphicsLayoutItemPrivate::get(q_layoutItem)->hasWidthForHeight(); +} + +Qt::Orientation QGridLayoutItem::dynamicConstraintOrientation() const +{ + if (QGraphicsLayoutItemPrivate::get(q_layoutItem)->hasHeightForWidth()) + return Qt::Vertical; + else //if (QGraphicsLayoutItemPrivate::get(q_layoutItem)->hasWidthForHeight()) + return Qt::Horizontal; +} + QSizePolicy::ControlTypes QGridLayoutItem::controlTypes(LayoutSide /* side */) const { return q_layoutItem->sizePolicy().controlType(); @@ -613,7 +631,14 @@ QRectF QGridLayoutItem::geometryWithin(qreal x, qreal y, qreal width, qreal heig qreal cellWidth = width; qreal cellHeight = height; - QSizeF size = effectiveMaxSize().boundedTo(QSizeF(cellWidth, cellHeight)); + QSize constraint; + if (hasDynamicConstraint()) { + if (dynamicConstraintOrientation() == Qt::Vertical) + constraint.setWidth(cellWidth); + else + constraint.setHeight(cellHeight); + } + QSizeF size = effectiveMaxSize(constraint).boundedTo(QSizeF(cellWidth, cellHeight)); width = size.width(); height = size.height(); @@ -675,13 +700,13 @@ void QGridLayoutItem::insertOrRemoveRows(int row, int delta, Qt::Orientation ori Note that effectiveSizeHint does not take sizePolicy into consideration, (since it only evaluates the hints, as the name implies) */ -QSizeF QGridLayoutItem::effectiveMaxSize() const +QSizeF QGridLayoutItem::effectiveMaxSize(const QSizeF &constraint) const { - QSizeF size; + QSizeF size = constraint; bool vGrow = (sizePolicy(Qt::Vertical) & QSizePolicy::GrowFlag) == QSizePolicy::GrowFlag; bool hGrow = (sizePolicy(Qt::Horizontal) & QSizePolicy::GrowFlag) == QSizePolicy::GrowFlag; if (!vGrow || !hGrow) { - QSizeF pref = layoutItem()->effectiveSizeHint(Qt::PreferredSize); + QSizeF pref = layoutItem()->effectiveSizeHint(Qt::PreferredSize, constraint); if (!vGrow) size.setHeight(pref.height()); if (!hGrow) @@ -689,7 +714,7 @@ QSizeF QGridLayoutItem::effectiveMaxSize() const } if (!size.isValid()) { - QSizeF maxSize = layoutItem()->effectiveSizeHint(Qt::MaximumSize); + QSizeF maxSize = layoutItem()->effectiveSizeHint(Qt::MaximumSize, constraint); if (size.width() == -1) size.setWidth(maxSize.width()); if (size.height() == -1) @@ -1010,6 +1035,7 @@ void QGridLayoutEngine::invalidate() q_cachedEffectiveLastRows[Ver] = -1; q_cachedDataForStyleInfo.invalidate(); q_cachedSize = QSizeF(); + q_cachedConstraintOrientation = UnknownConstraint; } static void visualRect(QRectF *geom, Qt::LayoutDirection dir, const QRectF &contentsRect) @@ -1074,10 +1100,13 @@ QRectF QGridLayoutEngine::cellRect(const QLayoutStyleInfo &styleInfo, } QSizeF QGridLayoutEngine::sizeHint(const QLayoutStyleInfo &styleInfo, Qt::SizeHint which, - const QSizeF & /* constraint */) const + const QSizeF &constraint) const { ensureColumnAndRowData(styleInfo); + if (hasDynamicConstraint()) + return dynamicallyConstrainedSizeHint(which, constraint); + switch (which) { case Qt::MinimumSize: return QSizeF(q_totalBoxes[Hor].q_minimumSize, q_totalBoxes[Ver].q_minimumSize); @@ -1375,7 +1404,11 @@ void QGridLayoutEngine::fillRowData(QGridLayoutRowData *rowData, const QLayoutSt box = &multiCell.q_box; multiCell.q_stretch = itemStretch; } - box->combine(item->box(orientation)); + // Items with constraints are not included in the orientation that + // they are constrained (since it depends on the hfw/constraint function). + // They must be combined at a later stage. + if (!item->hasDynamicConstraint() || orientation != item->dynamicConstraintOrientation()) + box->combine(item->box(orientation)); if (effectiveRowSpan == 1) { QSizePolicy::ControlTypes controls = item->controlTypes(top); @@ -1532,6 +1565,138 @@ void QGridLayoutEngine::ensureColumnAndRowData(const QLayoutStyleInfo &styleInfo q_cachedDataForStyleInfo = styleInfo; } +QSizeF QGridLayoutEngine::dynamicallyConstrainedSizeHint(Qt::SizeHint which, + const QSizeF &constraint) const +{ + Q_ASSERT(hasDynamicConstraint()); + if (constraint.width() < 0 && constraint.height() < 0) { + // Process the hfw / wfh items that we did not process in fillRowData() + const Qt::Orientation constraintOrient = constraintOrientation(); + + QGridLayoutRowData rowData = constraintOrient == Qt::Vertical ? q_rowData : q_columnData; + for (int i = q_items.count() - 1; i >= 0; --i) { + QGridLayoutItem *item = q_items.at(i); + if (item->hasDynamicConstraint()) { + QGridLayoutBox box = item->box(constraintOrient); + QGridLayoutBox &rowBox = rowData.boxes[item->firstRow(constraintOrient)]; + rowBox.combine(box); + } + } + + QGridLayoutBox totalBoxes[2]; + if (constraintOrient == Qt::Vertical) { + totalBoxes[Hor] = q_columnData.totalBox(0, columnCount()); + totalBoxes[Ver] = rowData.totalBox(0, rowCount()); + } else { + totalBoxes[Hor] = rowData.totalBox(0, columnCount()); + totalBoxes[Ver] = q_rowData.totalBox(0, rowCount()); + } + return QSizeF(totalBoxes[Hor].q_sizes(which), totalBoxes[Ver].q_sizes(which)); + } + + + Q_ASSERT(constraint.width() >= 0 || constraint.height() >= 0); + q_xx.resize(columnCount()); + q_yy.resize(rowCount()); + q_widths.resize(columnCount()); + q_heights.resize(rowCount()); + q_descents.resize(rowCount()); + + + const Qt::Orientation orientation = constraintOrientation(); + QGridLayoutRowData *colData; + QGridLayoutRowData constrainedRowData; + QGridLayoutBox *totalBox; + qreal *sizes; + qreal *pos; + qreal *descents; + qreal targetSize; + qreal cCount; + qreal rCount; + + if (orientation == Qt::Vertical) { + // height for width + colData = &q_columnData; + totalBox = &q_totalBoxes[Hor]; + sizes = q_widths.data(); + pos = q_xx.data(); + descents = 0; + targetSize = constraint.width(); + cCount = columnCount(); + rCount = rowCount(); + constrainedRowData = q_rowData; + } else { + // width for height + colData = &q_rowData; + totalBox = &q_totalBoxes[Ver]; + sizes = q_heights.data(); + pos = q_yy.data(); + descents = q_descents.data(); + targetSize = constraint.height(); + cCount = rowCount(); + rCount = columnCount(); + constrainedRowData = q_columnData; + } + colData->calculateGeometries(0, cCount, targetSize, pos, sizes, descents, *totalBox); + for (int i = q_items.count() - 1; i >= 0; --i) { + QGridLayoutItem *item = q_items.at(i); + + if (item->hasDynamicConstraint()) { + const qreal size = sizes[item->firstColumn(orientation)]; + QGridLayoutBox box = item->box(orientation, size); + QGridLayoutBox &rowBox = constrainedRowData.boxes[item->firstRow(orientation)]; + rowBox.combine(box); + } + } + const qreal newSize = constrainedRowData.totalBox(0, rCount).q_sizes(which); + + return (orientation == Qt::Vertical) ? QSizeF(targetSize, newSize) : QSizeF(newSize, targetSize); +} + + +/** + returns false if the layout has contradicting constraints (i.e. some items with a horizontal + constraint and other items with a vertical constraint) + */ +bool QGridLayoutEngine::ensureDynamicConstraint() const +{ + if (q_cachedConstraintOrientation == UnknownConstraint) { + for (int i = q_items.count() - 1; i >= 0; --i) { + QGridLayoutItem *item = q_items.at(i); + if (item->hasDynamicConstraint()) { + Qt::Orientation itemConstraintOrientation = item->dynamicConstraintOrientation(); + if (q_cachedConstraintOrientation == UnknownConstraint) { + q_cachedConstraintOrientation = itemConstraintOrientation; + } else if (q_cachedConstraintOrientation != itemConstraintOrientation) { + q_cachedConstraintOrientation = UnfeasibleConstraint; + qWarning("QGridLayoutEngine: Unfeasible, cannot mix horizontal and" + " vertical constraint in the same layout"); + return false; + } + } + } + if (q_cachedConstraintOrientation == UnknownConstraint) + q_cachedConstraintOrientation = NoConstraint; + } + return true; +} + +bool QGridLayoutEngine::hasDynamicConstraint() const +{ + if (!ensureDynamicConstraint()) + return false; + return q_cachedConstraintOrientation != NoConstraint; +} + +/* + * return value is only valid if hasConstraint() returns true + */ +Qt::Orientation QGridLayoutEngine::constraintOrientation() const +{ + (void)ensureDynamicConstraint(); + return (Qt::Orientation)q_cachedConstraintOrientation; +} + void QGridLayoutEngine::ensureGeometries(const QLayoutStyleInfo &styleInfo, const QSizeF &size) const { @@ -1544,10 +1709,74 @@ void QGridLayoutEngine::ensureGeometries(const QLayoutStyleInfo &styleInfo, q_widths.resize(columnCount()); q_heights.resize(rowCount()); q_descents.resize(rowCount()); - q_columnData.calculateGeometries(0, columnCount(), size.width(), q_xx.data(), q_widths.data(), - 0, q_totalBoxes[Hor]); - q_rowData.calculateGeometries(0, rowCount(), size.height(), q_yy.data(), q_heights.data(), - q_descents.data(), q_totalBoxes[Ver]); + + + Qt::Orientation orientation = Qt::Vertical; + if (hasDynamicConstraint()) + orientation = constraintOrientation(); + + /* + In order to do hfw we need to first distribute the columns, then the rows. + In order to do wfh we need to first distribute the rows, then the columns. + + If there is no constraint, the order of distributing the rows or columns first is irrelevant. + We choose horizontal just to keep the same behaviour as before (however, there shouldn't + be any behaviour difference). + */ + + QGridLayoutRowData *colData; + QGridLayoutRowData rowData; + qreal *widths; + qreal *heights; + qreal *xx; + qreal *yy; + qreal *xdescents = 0; + qreal *ydescents = 0; + qreal cCount; + qreal rCount; + QSizeF oSize = size; + if (orientation == Qt::Vertical) { + // height for width + colData = &q_columnData; + rowData = q_rowData; + widths = q_widths.data(); + heights = q_heights.data(); + xx = q_xx.data(); + yy = q_yy.data(); + cCount = columnCount(); + rCount = rowCount(); + ydescents = q_descents.data(); + } else { + // width for height + colData = &q_rowData; + rowData = q_columnData; + widths = q_heights.data(); + heights = q_widths.data(); + xx = q_yy.data(); + yy = q_xx.data(); + cCount = rowCount(); + rCount = columnCount(); + xdescents = q_descents.data(); + oSize.transpose(); + } + + colData->calculateGeometries(0, cCount, oSize.width(), xx, widths, + xdescents, q_totalBoxes[orientation == Qt::Horizontal]); + for (int i = q_items.count() - 1; i >= 0; --i) { + QGridLayoutItem *item = q_items.at(i); + const int col = item->firstColumn(orientation); + const int row = item->firstRow(orientation); + if (item->hasDynamicConstraint()) { + const qreal sz = widths[col]; + QGridLayoutBox box = item->box(orientation, sz); + rowData.boxes[row].combine(box); + } + } + + QGridLayoutBox &totalBox = q_totalBoxes[orientation == Qt::Vertical]; + totalBox = rowData.totalBox(0, rCount); + rowData.calculateGeometries(0, rCount, oSize.height(), yy, heights, + ydescents, totalBox); q_cachedSize = size; } diff --git a/src/gui/graphicsview/qgridlayoutengine_p.h b/src/gui/graphicsview/qgridlayoutengine_p.h index 9ac9a8e..580af7e 100644 --- a/src/gui/graphicsview/qgridlayoutengine_p.h +++ b/src/gui/graphicsview/qgridlayoutengine_p.h @@ -91,6 +91,14 @@ enum LayoutSide { Bottom }; +enum { + NoConstraint, + HorizontalConstraint, + VerticalConstraint, + UnknownConstraint, // need to update cache + UnfeasibleConstraint // not feasible, it be has some items with Vertical and others with Horizontal constraints +}; + template class QLayoutParameter { @@ -270,6 +278,10 @@ public: inline void setAlignment(Qt::Alignment alignment) { q_alignment = alignment; } QSizePolicy::Policy sizePolicy(Qt::Orientation orientation) const; + + bool hasDynamicConstraint() const; + Qt::Orientation dynamicConstraintOrientation() const; + QSizePolicy::ControlTypes controlTypes(LayoutSide side) const; QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const; QGridLayoutBox box(Qt::Orientation orientation, qreal constraint = -1.0) const; @@ -280,7 +292,7 @@ public: void setGeometry(const QRectF &rect); void transpose(); void insertOrRemoveRows(int row, int delta, Qt::Orientation orientation = Qt::Vertical); - QSizeF effectiveMaxSize() const; + QSizeF effectiveMaxSize(const QSizeF &constraint) const; #ifdef QT_DEBUG void dump(int indent = 0) const; @@ -372,6 +384,14 @@ public: int column, int rowSpan, int columnSpan) const; QSizeF sizeHint(const QLayoutStyleInfo &styleInfo, Qt::SizeHint which, const QSizeF &constraint) const; + + // heightForWidth / widthForHeight support + QSizeF dynamicallyConstrainedSizeHint(Qt::SizeHint which, const QSizeF &constraint) const; + bool ensureDynamicConstraint() const; + bool hasDynamicConstraint() const; + Qt::Orientation constraintOrientation() const; + + QSizePolicy::ControlTypes controlTypes(LayoutSide side) const; void transpose(); void setVisualDirection(Qt::LayoutDirection direction); @@ -405,6 +425,7 @@ private: // Lazily computed from the above user input mutable int q_cachedEffectiveFirstRows[NOrientations]; mutable int q_cachedEffectiveLastRows[NOrientations]; + mutable quint8 q_cachedConstraintOrientation : 2; // Layout item input mutable QLayoutStyleInfo q_cachedDataForStyleInfo; diff --git a/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp b/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp index d1d6860..28980cb 100644 --- a/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp +++ b/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp @@ -107,12 +107,13 @@ private slots: void avoidRecursionInInsertItem(); void styleInfoLeak(); void task236367_maxSizeHint(); + void heightForWidth(); }; class RectWidget : public QGraphicsWidget { public: - RectWidget(QGraphicsItem *parent = 0) : QGraphicsWidget(parent){} + RectWidget(QGraphicsItem *parent = 0) : QGraphicsWidget(parent), m_fnConstraint(0) {} void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { @@ -125,9 +126,12 @@ public: QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const { - if (m_sizeHints[which].isValid()) { + if (constraint.width() < 0 && constraint.height() < 0 && m_sizeHints[which].isValid()) { return m_sizeHints[which]; } + if (m_fnConstraint) { + return m_fnConstraint(which, constraint); + } return QGraphicsWidget::sizeHint(which, constraint); } @@ -136,7 +140,13 @@ public: updateGeometry(); } + void setConstraintFunction(QSizeF (*fnConstraint)(Qt::SizeHint, const QSizeF &)) { + m_fnConstraint = fnConstraint; + } + QSizeF m_sizeHints[Qt::NSizeHints]; + QSizeF (*m_fnConstraint)(Qt::SizeHint, const QSizeF &); + }; struct ItemDesc @@ -146,7 +156,8 @@ struct ItemDesc m_rowSpan(1), m_colSpan(1), m_sizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred)), - m_align(0) + m_align(0), + m_fnConstraint(0) { } @@ -213,8 +224,20 @@ struct ItemDesc return (*this); } + ItemDesc &heightForWidth(QSizeF (*fnConstraint)(Qt::SizeHint, const QSizeF &)) { + m_fnConstraint = fnConstraint; + m_constraintOrientation = Qt::Vertical; + return (*this); + } + void apply(QGraphicsGridLayout *layout, QGraphicsWidget *item) { - item->setSizePolicy(m_sizePolicy); + QSizePolicy sp = m_sizePolicy; + if (m_fnConstraint) { + sp.setHeightForWidth(m_constraintOrientation == Qt::Vertical); + //sp.setWidthForHeight(m_constraintOrientation == Qt::Horizontal); + } + + item->setSizePolicy(sp); for (int i = 0; i < Qt::NSizeHints; ++i) { if (!m_sizes[i].isValid()) continue; @@ -233,6 +256,7 @@ struct ItemDesc break; } } + layout->addItem(item, m_pos.first, m_pos.second, m_rowSpan, m_colSpan); layout->setAlignment(item, m_align); } @@ -240,6 +264,7 @@ struct ItemDesc void apply(QGraphicsGridLayout *layout, RectWidget *item) { for (int i = 0; i < Qt::NSizeHints; ++i) item->setSizeHint((Qt::SizeHint)i, m_sizeHints[i]); + item->setConstraintFunction(m_fnConstraint); apply(layout, static_cast(item)); } @@ -251,6 +276,9 @@ struct ItemDesc QSizeF m_sizeHints[Qt::NSizeHints]; QSizeF m_sizes[Qt::NSizeHints]; Qt::Alignment m_align; + + Qt::Orientation m_constraintOrientation; + QSizeF (*m_fnConstraint)(Qt::SizeHint, const QSizeF &); }; typedef QList ItemList; @@ -2116,6 +2144,17 @@ void tst_QGraphicsGridLayout::alignment2() delete widget; } +static QSizeF hfw1(Qt::SizeHint, const QSizeF &constraint) +{ + QSizeF result(constraint); + if (constraint.width() < 0 && constraint.height() < 0) { + return QSizeF(50, 400); + } else if (constraint.width() >= 0) { + result.setHeight(20000./constraint.width()); + } + return result; +} + void tst_QGraphicsGridLayout::geometries_data() { @@ -2145,6 +2184,186 @@ void tst_QGraphicsGridLayout::geometries_data() << QRectF(0, 0, 60,10) << QRectF(0, 10, 60,10) ); + // change layout height and verify + QTest::newRow("hfw-h401") << (ItemList() + << ItemDesc(0,0) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(0,1) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(1,0) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(1,1) + .minSize(QSizeF(40,40)) + .preferredSize(QSizeF(50,400)) + .maxSize(QSizeF(500, 500)) + .heightForWidth(hfw1) + ) + << QSizeF(100, 401) + << (RectList() + << QRectF(0, 0, 50, 1) << QRectF(50, 0, 50, 1) + << QRectF(0, 1, 50,100) << QRectF(50, 1, 50,400) + ); + + + QTest::newRow("hfw-h408") << (ItemList() + << ItemDesc(0,0) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(0,1) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(1,0) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(1,1) + .minSize(QSizeF(40,40)) + .preferredSize(QSizeF(50,400)) + .maxSize(QSizeF(500, 500)) + .heightForWidth(hfw1) + ) + << QSizeF(100, 408) + << (RectList() + << QRectF(0, 0, 50, 8) << QRectF(50, 0, 50, 8) + << QRectF(0, 8, 50,100) << QRectF(50, 8, 50,400) + ); + + QTest::newRow("hfw-h410") << (ItemList() + << ItemDesc(0,0) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(0,1) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(1,0) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(1,1) + .minSize(QSizeF(40,40)) + .preferredSize(QSizeF(50,400)) + .maxSize(QSizeF(500, 500)) + .heightForWidth(hfw1) + ) + << QSizeF(100, 410) + << (RectList() + << QRectF(0, 0, 50,10) << QRectF(50, 0, 50,10) + << QRectF(0, 10, 50,100) << QRectF(50, 10, 50,400) + ); + + QTest::newRow("hfw-h470") << (ItemList() + << ItemDesc(0,0) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(0,1) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(1,0) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(1,1) + .minSize(QSizeF(40,40)) + .preferredSize(QSizeF(50,400)) + .maxSize(QSizeF(500, 500)) + .heightForWidth(hfw1) + ) + << QSizeF(100, 470) + << (RectList() + << QRectF(0, 0, 50,70) << QRectF(50, 0, 50,70) + << QRectF(0, 70, 50,100) << QRectF(50, 70, 50,400) + ); + + + // change layout width and verify + QTest::newRow("hfw-w100") << (ItemList() + << ItemDesc(0,0) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(0,1) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(1,0) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(1,1) + .minSize(QSizeF(40,40)) + .preferredSize(QSizeF(50,400)) + .maxSize(QSizeF(5000, 5000)) + .heightForWidth(hfw1) + ) + << QSizeF(100, 401) + << (RectList() + << QRectF( 0, 0, 50, 1) << QRectF( 50, 0, 50, 1) + << QRectF( 0, 1, 50, 100) << QRectF( 50, 1, 50, 400) + ); + + QTest::newRow("hfw-w160") << (ItemList() + << ItemDesc(0,0) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(0,1) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(1,0) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(1,1) + .minSize(QSizeF(40,40)) + .preferredSize(QSizeF(50,400)) + .maxSize(QSizeF(5000, 5000)) + .heightForWidth(hfw1) + ) + << QSizeF(160, 401) + << (RectList() + << QRectF( 0, 0, 80, 100) << QRectF( 80, 0, 80, 100) + << QRectF( 0, 100, 80, 100) << QRectF( 80, 100, 80, 250) + ); + + + QTest::newRow("hfw-w500") << (ItemList() + << ItemDesc(0,0) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(0,1) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(1,0) + .minSize(QSizeF(1,1)) + .preferredSize(QSizeF(50,10)) + .maxSize(QSizeF(100, 100)) + << ItemDesc(1,1) + .minSize(QSizeF(40,40)) + .preferredSize(QSizeF(50,400)) + .maxSize(QSizeF(5000, 5000)) + .heightForWidth(hfw1) + ) + << QSizeF(500, 401) + << (RectList() + << QRectF( 0, 0, 100, 100) << QRectF(100, 0, 100, 100) + << QRectF( 0, 100, 100, 100) << QRectF(100, 100, 400, 50) + ); + } void tst_QGraphicsGridLayout::geometries() @@ -2215,6 +2434,143 @@ void tst_QGraphicsGridLayout::task236367_maxSizeHint() QCOMPARE(widget->size(), QSizeF(w, h)); } +/* +static qreal hfw(qreal w) +{ + if (w == 0) + return 20000; + return 20000/w; +} +*/ +static QSizeF hfw(Qt::SizeHint /*which*/, const QSizeF &constraint) +{ + QSizeF result(constraint); + const qreal cw = constraint.width(); + const qreal ch = constraint.height(); + if (cw < 0 && ch < 0) { + return QSizeF(200, 100); + } else if (cw >= 0) { + result.setHeight(20000./cw); + } else if (cw == 0) { + result.setHeight(20000); + } else if (ch >= 0) { + result.setWidth(20000./ch); + } else if (ch == 0) { + result.setWidth(20000); + } + + return result; +} + +static qreal growthFactorBelowPreferredSize(qreal desired, qreal sumAvailable, qreal sumDesired) +{ + Q_ASSERT(sumDesired != 0.0); + return desired * qPow(sumAvailable / sumDesired, desired / sumDesired); +} + +static void expectedWidth(qreal minSize1, qreal prefSize1, + qreal minSize2, qreal prefSize2, + qreal targetSize, qreal *width1, qreal *width2) +{ + qreal sumAvail,factor1,factor2; + // stretch behaviour is different below and above preferred size... + if (targetSize < prefSize1 + prefSize2) { + sumAvail = targetSize - minSize1 - minSize2; + const qreal desired1 = prefSize1 - minSize1; + const qreal desired2 = prefSize2 - minSize2; + const qreal sumDesired = desired1 + desired2; + factor1 = growthFactorBelowPreferredSize(desired1, sumAvail, sumDesired); + factor2 = growthFactorBelowPreferredSize(desired2, sumAvail, sumDesired); + const qreal sumFactors = factor1 + factor2; + *width1 = sumAvail*factor1/sumFactors + minSize1; + *width2 = sumAvail*factor2/sumFactors + minSize2; + } else { + sumAvail = targetSize - prefSize1 - prefSize2; + factor1 = prefSize1; + factor2 = prefSize2; + const qreal sumFactors = factor1 + factor2; + *width1 = sumAvail*factor1/sumFactors + prefSize1; + *width2 = sumAvail*factor2/sumFactors + prefSize2; + } +} + + +bool qFuzzyCompare(const QSizeF &a, const QSizeF &b) +{ + return qFuzzyCompare(a.width(), b.width()) && qFuzzyCompare(a.height(), b.height()); +} + +void tst_QGraphicsGridLayout::heightForWidth() +{ + QGraphicsWidget *widget = new QGraphicsWidget; + QGraphicsGridLayout *layout = new QGraphicsGridLayout; + widget->setLayout(layout); + layout->setContentsMargins(0, 0, 0, 0); + layout->setSpacing(0); + RectWidget *w00 = new RectWidget; + w00->setSizeHint(Qt::MinimumSize, QSizeF(1,1)); + w00->setSizeHint(Qt::PreferredSize, QSizeF(10,10)); + w00->setSizeHint(Qt::MaximumSize, QSizeF(100,100)); + layout->addItem(w00, 0, 0); + + RectWidget *w01 = new RectWidget; + w01->setSizeHint(Qt::MinimumSize, QSizeF(1,1)); + w01->setSizeHint(Qt::PreferredSize, QSizeF(10,10)); + w01->setSizeHint(Qt::MaximumSize, QSizeF(100,100)); + layout->addItem(w01, 0, 1); + + RectWidget *w10 = new RectWidget; + w10->setSizeHint(Qt::MinimumSize, QSizeF(1,1)); + w10->setSizeHint(Qt::PreferredSize, QSizeF(10,10)); + w10->setSizeHint(Qt::MaximumSize, QSizeF(100,100)); + layout->addItem(w10, 1, 0); + + RectWidget *w11 = new RectWidget; + w11->setSizeHint(Qt::MinimumSize, QSizeF(1,1)); + w11->setSizeHint(Qt::MaximumSize, QSizeF(30000,30000)); + w11->setConstraintFunction(hfw); + QSizePolicy sp(QSizePolicy::Preferred, QSizePolicy::Preferred); + sp.setHeightForWidth(true); + w11->setSizePolicy(sp); + layout->addItem(w11, 1, 1); + + QSizeF prefSize = layout->effectiveSizeHint(Qt::PreferredSize, QSizeF(-1, -1)); + QCOMPARE(prefSize, QSizeF(10+200, 10+100)); + + QCOMPARE(layout->effectiveSizeHint(Qt::MinimumSize, QSizeF(2, -1)), QSizeF(2, 20001)); + QCOMPARE(layout->effectiveSizeHint(Qt::PreferredSize, QSizeF(2, -1)), QSizeF(2, 20010)); + QCOMPARE(layout->effectiveSizeHint(Qt::MaximumSize, QSizeF(2, -1)), QSizeF(2, 20100)); + qreal width1; + qreal width2; + expectedWidth(1, 10, 1, 200, 20, &width1, &width2); + QSizeF expectedSize = hfw(Qt::MinimumSize, QSizeF(width2, -1)) + QSizeF(width1, 1); + QCOMPARE(layout->effectiveSizeHint(Qt::MinimumSize, QSizeF(20, -1)), expectedSize); + expectedSize.rheight()+=9; + QCOMPARE(layout->effectiveSizeHint(Qt::PreferredSize, QSizeF(20, -1)), expectedSize); + expectedSize.rheight()+=90; + QCOMPARE(layout->effectiveSizeHint(Qt::MaximumSize, QSizeF(20, -1)), expectedSize); + + expectedWidth(1, 10, 1, 200, 300, &width1, &width2); + expectedSize = hfw(Qt::MinimumSize, QSizeF(width2, -1)) + QSizeF(width1, 1); + QCOMPARE(layout->effectiveSizeHint(Qt::MinimumSize, QSizeF(300, -1)), expectedSize); + expectedSize.rheight()+=9; + QCOMPARE(layout->effectiveSizeHint(Qt::PreferredSize, QSizeF(300, -1)), expectedSize); + // the height of the hfw widget is shorter than the one to the left, which is 100, so + // the total height of the last row is 100 (which leaves the layout height to be 200) + QCOMPARE(layout->effectiveSizeHint(Qt::MaximumSize, QSizeF(300, -1)), QSizeF(300, 200)); + + // the hfw item is shorter than the item to the left + expectedWidth(1, 10, 1, 200, 500, &width1, &width2); + expectedSize = hfw(Qt::MinimumSize, QSizeF(width2, -1)) + QSizeF(width1, 1); + QCOMPARE(layout->effectiveSizeHint(Qt::MinimumSize, QSizeF(500, -1)), expectedSize); + expectedSize.rheight()+=9; + QCOMPARE(layout->effectiveSizeHint(Qt::PreferredSize, QSizeF(500, -1)), expectedSize); + // the height of the hfw widget is shorter than the one to the left, which is 100, so + // the total height of the last row is 100 (which leaves the layout height to be 200) + QCOMPARE(layout->effectiveSizeHint(Qt::MaximumSize, QSizeF(500, -1)), QSizeF(500, 200)); + +} + QTEST_MAIN(tst_QGraphicsGridLayout) #include "tst_qgraphicsgridlayout.moc" -- cgit v0.12 From 2281a3a7a62a5a81de7fefaf0b84f130b16bd44f Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 10 Aug 2010 10:54:26 +0200 Subject: QMetaObject::normalizeSignature avoid reading past the string in case of invalid signature given. If passed "a(b", qNormalizeType would return a pointer to the \0 at the end of the string. We would add \0 to the result (thinking it is ',' or ')' ) And continue to process the memory after the string. Reviewed-by: Kent Hansen Task-number: QT-1591 --- src/corelib/kernel/qmetaobject.cpp | 5 ++++- tests/auto/qmetaobject/tst_qmetaobject.cpp | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 79a38cd..9854e68 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -1009,8 +1009,11 @@ QByteArray QMetaObject::normalizedSignature(const char *method) int argdepth = 0; int templdepth = 0; while (*d) { - if (argdepth == 1) + if (argdepth == 1) { d = qNormalizeType(d, templdepth, result); + if (!*d) //most likely an invalid signature. + break; + } if (*d == '(') ++argdepth; if (*d == ')') diff --git a/tests/auto/qmetaobject/tst_qmetaobject.cpp b/tests/auto/qmetaobject/tst_qmetaobject.cpp index 62416b1..bb96da1 100644 --- a/tests/auto/qmetaobject/tst_qmetaobject.cpp +++ b/tests/auto/qmetaobject/tst_qmetaobject.cpp @@ -714,6 +714,8 @@ void tst_QMetaObject::normalizedSignature_data() QTest::newRow("const12") << "void foo(Fooconst*const *const)" << "void foo(Foo*const*const)"; QTest::newRow("const13") << "void foo(const Foo&)" << "void foo(Foo)"; QTest::newRow("const14") << "void foo(Fooconst&)" << "void foo(Foo)"; + + QTest::newRow("invalid1") << "a( b" << "a(b"; } void tst_QMetaObject::normalizedSignature() @@ -721,7 +723,7 @@ void tst_QMetaObject::normalizedSignature() QFETCH(QString, signature); QFETCH(QString, result); - QCOMPARE(QString::fromLatin1(QMetaObject::normalizedSignature(signature.toLatin1())), result); + QCOMPARE(QMetaObject::normalizedSignature(signature.toLatin1()), result.toLatin1()); } void tst_QMetaObject::normalizedType_data() @@ -759,7 +761,7 @@ void tst_QMetaObject::normalizedType() QFETCH(QString, type); QFETCH(QString, result); - QCOMPARE(QString::fromLatin1(QMetaObject::normalizedType(type.toLatin1())), result); + QCOMPARE(QMetaObject::normalizedType(type.toLatin1()), result.toLatin1()); } void tst_QMetaObject::customPropertyType() -- cgit v0.12 From c21f95aab2228168452d1d7bb4e332a8c6164a02 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 10 Aug 2010 11:35:51 +0200 Subject: Added one test for QRegExp Task-number: QT-1289 --- tests/auto/qregexp/tst_qregexp.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/auto/qregexp/tst_qregexp.cpp b/tests/auto/qregexp/tst_qregexp.cpp index ea07323..d0d26ee 100644 --- a/tests/auto/qregexp/tst_qregexp.cpp +++ b/tests/auto/qregexp/tst_qregexp.cpp @@ -105,6 +105,7 @@ private slots: void QTBUG_7049_data(); void QTBUG_7049(); + void interval(); }; // Testing get/set functions @@ -1426,5 +1427,22 @@ void tst_QRegExp::QTBUG_7049() QCOMPARE( re.cap(2), cap2 ); } +void tst_QRegExp::interval() +{ + { + QRegExp exp("a{0,1}"); + QVERIFY(exp.isValid()); + } + { + QRegExp exp("a{1,1}"); + QVERIFY(exp.isValid()); + } + { + QRegExp exp("a{1,0}"); + QVERIFY(!exp.isValid()); + } +} + + QTEST_APPLESS_MAIN(tst_QRegExp) #include "tst_qregexp.moc" -- cgit v0.12 From ca9270722b4412d9f70efe1ef4ad51635deca75a Mon Sep 17 00:00:00 2001 From: "Richard J. Moore" Date: Sun, 6 Jun 2010 22:10:08 +0100 Subject: Fix handling of SSL certificates with wildcard domain names Merge-request: 731 Task-number: QTBUG-4455 Reviewed-by: Peter Hartmann --- src/network/ssl/qsslsocket_openssl.cpp | 42 +++++++++++++++++++++++++++++--- src/network/ssl/qsslsocket_openssl_p.h | 1 + tests/auto/qsslsocket/tst_qsslsocket.cpp | 24 ++++++++++++++++++ 3 files changed, 63 insertions(+), 4 deletions(-) diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 6f77600..6f0ccff 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -827,17 +827,16 @@ bool QSslSocketBackendPrivate::startHandshake() QString peerName = (verificationPeerName.isEmpty () ? q->peerName() : verificationPeerName); QString commonName = configuration.peerCertificate.subjectInfo(QSslCertificate::CommonName); - QRegExp regexp(commonName, Qt::CaseInsensitive, QRegExp::Wildcard); - if (!regexp.exactMatch(peerName)) { + if (!isMatchingHostname(commonName.lower(), peerName.lower())) { bool matched = false; foreach (const QString &altName, configuration.peerCertificate .alternateSubjectNames().values(QSsl::DnsEntry)) { - regexp.setPattern(altName); - if (regexp.exactMatch(peerName)) { + if (isMatchingHostname(altName.lower(), peerName.lower())) { matched = true; break; } } + if (!matched) { // No matches in common names or alternate names. QSslError error(QSslError::HostNameMismatch, configuration.peerCertificate); @@ -962,4 +961,39 @@ QList QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates return certificates; } +bool QSslSocketBackendPrivate::isMatchingHostname(const QString &cn, const QString &hostname) +{ + int wildcard = cn.indexOf(QLatin1Char('*')); + + // Check this is a wildcard cert, if not then just compare the strings + if (wildcard < 0) + return cn == hostname; + + int firstCnDot = cn.indexOf(QLatin1Char('.')); + int secondCnDot = cn.indexOf(QLatin1Char('.'), firstCnDot+1); + + // Check at least 3 components + if ((-1 == secondCnDot) || (secondCnDot+1 >= cn.length())) + return false; + + // Check * is last character of 1st component (ie. there's a following .) + if (wildcard+1 != firstCnDot) + return false; + + // Check only one star + if (cn.lastIndexOf(QLatin1Char('*')) != wildcard) + return false; + + // Check characters preceding * (if any) match + if (wildcard && (hostname.leftRef(wildcard) != cn.leftRef(wildcard))) + return false; + + // Check characters following first . match + if (hostname.midRef(hostname.indexOf(QLatin1Char('.'))) != cn.midRef(firstCnDot)) + return false; + + // Ok, I guess this was a wildcard CN and the hostname matches. + return true; +} + QT_END_NAMESPACE diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h index 836f064..05eb4fa 100644 --- a/src/network/ssl/qsslsocket_openssl_p.h +++ b/src/network/ssl/qsslsocket_openssl_p.h @@ -115,6 +115,7 @@ public: static QSslCipher QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher); static QList STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509); + Q_AUTOTEST_EXPORT static bool isMatchingHostname(const QString &cn, const QString &hostname); }; QT_END_NAMESPACE diff --git a/tests/auto/qsslsocket/tst_qsslsocket.cpp b/tests/auto/qsslsocket/tst_qsslsocket.cpp index 5dd7c19..225e2e8 100644 --- a/tests/auto/qsslsocket/tst_qsslsocket.cpp +++ b/tests/auto/qsslsocket/tst_qsslsocket.cpp @@ -55,6 +55,7 @@ #include #include "private/qhostinfo_p.h" +#include "private/qsslsocket_openssl_p.h" #include "../network-settings.h" @@ -163,6 +164,7 @@ private slots: void setDefaultCiphers(); void supportedCiphers(); void systemCaCertificates(); + void wildcardCertificateNames(); void wildcard(); void setEmptyKey(); void spontaneousWrite(); @@ -1048,6 +1050,28 @@ void tst_QSslSocket::systemCaCertificates() QCOMPARE(certs, QSslSocket::defaultCaCertificates()); } +void tst_QSslSocket::wildcardCertificateNames() +{ + // Passing CN matches + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("www.example.com"), QString("www.example.com")), true ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("*.example.com"), QString("www.example.com")), true ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("xxx*.example.com"), QString("xxxwww.example.com")), true ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("f*.example.com"), QString("foo.example.com")), true ); + + // Failing CN matches + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("xxx.example.com"), QString("www.example.com")), false ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("*"), QString("www.example.com")), false ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("*.*.com"), QString("www.example.com")), false ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("*.example.com"), QString("baa.foo.example.com")), false ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("f*.example.com"), QString("baa.example.com")), false ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("*.com"), QString("example.com")), false ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("*fail.com"), QString("example.com")), false ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("*.example."), QString("www.example.")), false ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("*.example."), QString("www.example")), false ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString(""), QString("www")), false ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("*"), QString("www")), false ); +} + void tst_QSslSocket::wildcard() { QSKIP("TODO: solve wildcard problem", SkipAll); -- cgit v0.12 From b5f95fbf615b113e3e6d2b42f6b84309d6588b1f Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Mon, 12 Jul 2010 10:47:00 +0200 Subject: fix build for -no-qt3support QString::lower() is QT3_SUPPORT, the correct method is QString::toLower(). --- src/network/ssl/qsslsocket_openssl.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 6f0ccff..103a7ef 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -827,11 +827,11 @@ bool QSslSocketBackendPrivate::startHandshake() QString peerName = (verificationPeerName.isEmpty () ? q->peerName() : verificationPeerName); QString commonName = configuration.peerCertificate.subjectInfo(QSslCertificate::CommonName); - if (!isMatchingHostname(commonName.lower(), peerName.lower())) { + if (!isMatchingHostname(commonName.toLower(), peerName.toLower())) { bool matched = false; foreach (const QString &altName, configuration.peerCertificate .alternateSubjectNames().values(QSsl::DnsEntry)) { - if (isMatchingHostname(altName.lower(), peerName.lower())) { + if (isMatchingHostname(altName.toLower(), peerName.toLower())) { matched = true; break; } -- cgit v0.12 From 87c62128266a4e2289c1854e35aba3fc17d44045 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Tue, 10 Aug 2010 13:59:57 +0200 Subject: QSslSocket: fix security vulnerability with wildcard IP addresses This fixes Westpoint Security issue with Advisory ID#: wp-10-0001. Before, we would allow wildcards in IP addresses like *.2.3.4 ; now, IP addresses must match excatly. Patch-by: Richard J. Moore Task-number: QT-3704 --- src/network/ssl/qsslsocket_openssl.cpp | 5 +++++ tests/auto/qsslsocket/tst_qsslsocket.cpp | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 103a7ef..625d739 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -992,6 +992,11 @@ bool QSslSocketBackendPrivate::isMatchingHostname(const QString &cn, const QStri if (hostname.midRef(hostname.indexOf(QLatin1Char('.'))) != cn.midRef(firstCnDot)) return false; + // Check if the hostname is an IP address, if so then wildcards are not allowed + QHostAddress addr(hostname); + if (!addr.isNull()) + return false; + // Ok, I guess this was a wildcard CN and the hostname matches. return true; } diff --git a/tests/auto/qsslsocket/tst_qsslsocket.cpp b/tests/auto/qsslsocket/tst_qsslsocket.cpp index 225e2e8..8f7e0d9 100644 --- a/tests/auto/qsslsocket/tst_qsslsocket.cpp +++ b/tests/auto/qsslsocket/tst_qsslsocket.cpp @@ -1057,6 +1057,7 @@ void tst_QSslSocket::wildcardCertificateNames() QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("*.example.com"), QString("www.example.com")), true ); QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("xxx*.example.com"), QString("xxxwww.example.com")), true ); QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("f*.example.com"), QString("foo.example.com")), true ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("192.168.0.0"), QString("192.168.0.0")), true ); // Failing CN matches QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("xxx.example.com"), QString("www.example.com")), false ); @@ -1070,6 +1071,7 @@ void tst_QSslSocket::wildcardCertificateNames() QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("*.example."), QString("www.example")), false ); QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString(""), QString("www")), false ); QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("*"), QString("www")), false ); + QCOMPARE( QSslSocketBackendPrivate::isMatchingHostname(QString("*.168.0.0"), QString("192.168.0.0")), false ); } void tst_QSslSocket::wildcard() -- cgit v0.12 From 87b7587f25928272900900a106f360a4fbb4d6cd Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Tue, 10 Aug 2010 16:18:22 +0200 Subject: Updated WebKit to 72b1c38579ca1fdb3f242e29cd16e5bfb4925813 Integrated changes: || || [Qt] NPAPI plugins not drawn until page scrolled || --- src/3rdparty/webkit/.tag | 2 +- src/3rdparty/webkit/VERSION | 2 +- src/3rdparty/webkit/WebCore/ChangeLog | 10 ++++++++++ src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm | 5 ++++- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag index fb2703e..d31a2b4 100644 --- a/src/3rdparty/webkit/.tag +++ b/src/3rdparty/webkit/.tag @@ -1 +1 @@ -413404da27312051bb3ff2cfd0f3fca42aa4b245 +72b1c38579ca1fdb3f242e29cd16e5bfb4925813 diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index c256434..62aa8ce 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 - 413404da27312051bb3ff2cfd0f3fca42aa4b245 + 72b1c38579ca1fdb3f242e29cd16e5bfb4925813 diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index 5b78226..98d4d51 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,13 @@ +2010-08-10 Tor Arne Vestbø + + Reviewed by Simon Hausmann. + + Make sure NPAPI plugins get an initial setNPWindow on Mac + + https://bugs.webkit.org/show_bug.cgi?id=43782 + + * plugins/mac/PluginViewMac.mm: + 2010-06-14 Andreas Kling Reviewed by Tor Arne Vestbø. diff --git a/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm b/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm index 57d74ab..c8781a8 100644 --- a/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm +++ b/src/3rdparty/webkit/WebCore/plugins/mac/PluginViewMac.mm @@ -227,7 +227,10 @@ bool PluginView::platformStart() #endif } - show(); + updatePluginWidget(); + + if (!m_plugin->quirks().contains(PluginQuirkDeferFirstSetWindowCall)) + setNPWindowIfNeeded(); // TODO: Implement null timer throttling depending on plugin activation m_nullEventTimer.set(new Timer(this, &PluginView::nullEventTimerFired)); -- cgit v0.12 From ebdc597eea6e44b66d6c98d252531af5d0da04f8 Mon Sep 17 00:00:00 2001 From: Henrik Hartz Date: Wed, 11 Aug 2010 10:01:59 +0200 Subject: Remember to reset clipping when overriding paint in QDeclarativeItem --- src/declarative/graphicsitems/qdeclarativeitem.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index 9d782b9..17c094c 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -2500,7 +2500,9 @@ QDeclarativeListProperty QDeclarativeItemPrivate::transi This property holds whether clipping is enabled. if clipping is enabled, an item will clip its own painting, as well - as the painting of its children, to its bounding rectangle. + as the painting of its children, to its bounding rectangle. If you set + clipping during an item's paint operation, remember to re-set it to + prevent clipping the rest of your scene. Non-rectangular clipping regions are not supported for performance reasons. */ -- cgit v0.12 From bb696453f6f87cad58982af3455335478fedb8cc Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Wed, 11 Aug 2010 11:49:35 +0200 Subject: Disable minRightBearing optimization in QTextLayout on Mac Neither of the Mac font engines have implemented minimum right bearing, which will cause them to return 0 for the minimum value. This will cause the right bearing to never be calculated prior to breaking and thus never be a part of the breaking width. Since actually implementing the functions is too time consuming for right now, we will disable the optimization for the time being. Reviewed-by: Olivier --- src/gui/text/qtextlayout.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index da43913..7d5fa43 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -1952,7 +1952,9 @@ void QTextLine::layout_helper(int maxGlyphs) // expand the text beyond the edge. if (sb_or_ws|breakany) { QFixed rightBearing = lbh.rightBearing; // store previous right bearing +#if !defined(Q_WS_MAC) if (lbh.calculateNewWidth(line) - lbh.minimumRightBearing > line.width) +#endif lbh.adjustRightBearing(); if (lbh.checkFullOtherwiseExtend(line)) { // we are too wide, fix right bearing -- cgit v0.12 From 98b7e8ac793d95a6a8350c7fc25faebd6f44cd21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Arve=20S=C3=A6ther?= Date: Wed, 11 Aug 2010 09:28:32 +0200 Subject: Layout items had the wrong size if the layout was resized to maximum. The problem was that if targetSize was the layouts maximum size, then sumAvailable could be reduced to exactly 0 in the "while (keepGoing)" loop. That would mean that we would not enter the block that actually copied the new sizes from the temporary "newSizes" array to the output "sizes" array due to the "if (sumAvailable > 0)" condition. Task-number: none, discovered while fixing QT-3570 Reviewed-by: Frederik Gladhorn --- src/gui/graphicsview/qgridlayoutengine.cpp | 15 +++++++------- .../tst_qgraphicsgridlayout.cpp | 24 +++++++++++----------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/gui/graphicsview/qgridlayoutengine.cpp b/src/gui/graphicsview/qgridlayoutengine.cpp index a084647..4fba5ff 100644 --- a/src/gui/graphicsview/qgridlayoutengine.cpp +++ b/src/gui/graphicsview/qgridlayoutengine.cpp @@ -250,6 +250,7 @@ void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSiz sumAvailable = targetSize - totalBox.q_preferredSize; if (sumAvailable > 0.0) { + qreal sumCurrentAvailable = sumAvailable; bool somethingHasAMaximumSize = false; qreal sumPreferredSizes = 0.0; @@ -308,12 +309,12 @@ void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSiz qreal ultimateFactor = (stretch * ultimateSumPreferredSizes / sumStretches) - (box.q_preferredSize); - qreal transitionalFactor = sumAvailable + qreal transitionalFactor = sumCurrentAvailable * (ultimatePreferredSize - box.q_preferredSize) / (ultimateSumPreferredSizes - sumPreferredSizes); - qreal alpha = qMin(sumAvailable, + qreal alpha = qMin(sumCurrentAvailable, ultimateSumPreferredSizes - sumPreferredSizes); qreal beta = ultimateSumPreferredSizes - sumPreferredSizes; @@ -321,7 +322,7 @@ void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSiz + ((beta - alpha) * transitionalFactor)) / beta; } sumFactors += factors[i]; - if (desired < sumAvailable) + if (desired < sumCurrentAvailable) somethingHasAMaximumSize = true; newSizes[i] = -1.0; @@ -337,12 +338,12 @@ void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSiz continue; const QGridLayoutBox &box = boxes.at(start + i); - qreal avail = sumAvailable * factors[i] / sumFactors; + qreal avail = sumCurrentAvailable * factors[i] / sumFactors; if (sizes[i] + avail >= box.q_maximumSize) { newSizes[i] = box.q_maximumSize; - sumAvailable -= box.q_maximumSize - sizes[i]; + sumCurrentAvailable -= box.q_maximumSize - sizes[i]; sumFactors -= factors[i]; - keepGoing = (sumAvailable > 0.0); + keepGoing = (sumCurrentAvailable > 0.0); if (!keepGoing) break; } @@ -352,7 +353,7 @@ void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSiz for (int i = 0; i < n; ++i) { if (newSizes[i] < 0.0) { qreal delta = (sumFactors == 0.0) ? 0.0 - : sumAvailable * factors[i] / sumFactors; + : sumCurrentAvailable * factors[i] / sumFactors; newSizes[i] = sizes[i] + delta; } } diff --git a/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp b/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp index d1d6860..5b03767 100644 --- a/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp +++ b/tests/auto/qgraphicsgridlayout/tst_qgraphicsgridlayout.cpp @@ -485,12 +485,12 @@ void tst_QGraphicsGridLayout::alignment() widget->resize(widget->effectiveSizeHint(Qt::MaximumSize)); QApplication::processEvents(); - QCOMPARE(layout->itemAt(0,0)->geometry(), QRectF(0, 0, 50, 25)); - QCOMPARE(layout->itemAt(1,0)->geometry(), QRectF(0, 25, 50, 25)); - QCOMPARE(layout->itemAt(0,1)->geometry(), QRectF(125, 0, 50, 25)); - QCOMPARE(layout->itemAt(1,1)->geometry(), QRectF(125, 25, 50, 25)); - QCOMPARE(layout->itemAt(0,2)->geometry(), QRectF(250, 0, 50, 25)); - QCOMPARE(layout->itemAt(1,2)->geometry(), QRectF(250, 25, 50, 25)); + QCOMPARE(layout->itemAt(0,0)->geometry(), QRectF(0, 0, 50, 50)); + QCOMPARE(layout->itemAt(1,0)->geometry(), QRectF(0, 50, 50, 50)); + QCOMPARE(layout->itemAt(0,1)->geometry(), QRectF(125, 0, 50, 50)); + QCOMPARE(layout->itemAt(1,1)->geometry(), QRectF(125, 50, 50, 50)); + QCOMPARE(layout->itemAt(0,2)->geometry(), QRectF(250, 0, 50, 50)); + QCOMPARE(layout->itemAt(1,2)->geometry(), QRectF(250, 50, 50, 50)); delete widget; } @@ -544,12 +544,12 @@ void tst_QGraphicsGridLayout::columnAlignment() | HCenter | Right | Left | +---------------------------------+ */ - QCOMPARE(layout->itemAt(0,0)->geometry(), QRectF(0, 0, 50, 25)); - QCOMPARE(layout->itemAt(1,0)->geometry(), QRectF(25, 26, 50, 25)); // item is king - QCOMPARE(layout->itemAt(0,1)->geometry(), QRectF(126, 0, 50, 25)); - QCOMPARE(layout->itemAt(1,1)->geometry(), QRectF(151, 26, 50, 25)); // item is king - QCOMPARE(layout->itemAt(0,2)->geometry(), QRectF(252, 0, 50, 25)); - QCOMPARE(layout->itemAt(1,2)->geometry(), QRectF(202, 26, 50, 25)); // item is king + QCOMPARE(layout->itemAt(0,0)->geometry(), QRectF(0, 0, 50, 50)); + QCOMPARE(layout->itemAt(1,0)->geometry(), QRectF(25, 51, 50, 50)); // item is king + QCOMPARE(layout->itemAt(0,1)->geometry(), QRectF(126, 0, 50, 50)); + QCOMPARE(layout->itemAt(1,1)->geometry(), QRectF(151, 51, 50, 50)); // item is king + QCOMPARE(layout->itemAt(0,2)->geometry(), QRectF(252, 0, 50, 50)); + QCOMPARE(layout->itemAt(1,2)->geometry(), QRectF(202, 51, 50, 50)); // item is king delete widget; } -- cgit v0.12 From 0cafff970c52f982d5acec368b5b5fdab319688d Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Wed, 11 Aug 2010 13:46:38 +0200 Subject: Fix typos in docs Reviewed-by: David Boddie --- src/declarative/graphicsitems/qdeclarativerepeater.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativerepeater.cpp b/src/declarative/graphicsitems/qdeclarativerepeater.cpp index 2b268fb..68e7e9a 100644 --- a/src/declarative/graphicsitems/qdeclarativerepeater.cpp +++ b/src/declarative/graphicsitems/qdeclarativerepeater.cpp @@ -133,13 +133,13 @@ QDeclarativeRepeaterPrivate::~QDeclarativeRepeaterPrivate() create items as they are required. Also, note that Repeater is \l {Item}-based, and can only repeat \l {Item}-derived objects. - For example, it cannot be used to repeat QtObjects: + For example, it cannot be used to repeat QObjects: \badcode Item { - //XXX does not work! Can't repeat QtObject as it doesn't derive from Item. + //XXX does not work! Can't repeat QObject as it doesn't derive from Item. Repeater { model: 10 - QtObject {} + QObject {} } } \endcode -- cgit v0.12 From 731507feef0024d3ac5c3d2c67ca6ae2b239e706 Mon Sep 17 00:00:00 2001 From: Jure Repinc Date: Wed, 11 Aug 2010 18:33:18 +0200 Subject: Updated Slovenian translations for Qt 4.7 Merge-request: 771 Reviewed-by: Oswald Buddenhagen --- translations/designer_sl.ts | 1557 ++------------ translations/qt_sl.ts | 4931 +++++++++++++++++++++---------------------- 2 files changed, 2652 insertions(+), 3836 deletions(-) diff --git a/translations/designer_sl.ts b/translations/designer_sl.ts index 9399022..8d2a161 100644 --- a/translations/designer_sl.ts +++ b/translations/designer_sl.ts @@ -1,30 +1,32 @@ + 2010-08-05 02:42+0200 + MIME-Version,Content-Type,Content-Transfer-Encoding,Plural-Forms,X-Language,X-Qt-Contexts,Last-Translator,PO-Revision-Date,Project-Id-Version,Language-Team,X-Generator + Lokalize 1.1 + Slovenian <lugos-slo@lugos.si> + + # Jure Repinc <jlp@holodeck1.com>, 2010. + Jure Repinc <jlp@holodeck1.com> AbstractFindWidget - &Previous &Predhodni - &Next &Naslednji - &Case sensitive O&bčutljiv na velikost črk - Whole &words &Cele besede - <img src=":/trolltech/shared/images/wrap.png">&nbsp;Search wrapped <img src=":/trolltech/shared/images/wrap.png">&nbsp;Iskanje se nadaljuje na drugem koncu @@ -32,17 +34,14 @@ AddLinkDialog - Insert Link Vstavi povezavo - Title: Besedilo: - URL: URL: @@ -50,7 +49,6 @@ AppFontDialog - Additional Fonts Dodatne pisave @@ -58,37 +56,30 @@ AppFontManager - '%1' is not a file. »%1« ni datoteka. - The font file '%1' does not have read permissions. Datoteka s pisavo »%1« nima dovoljenj za branje. - The font file '%1' is already loaded. Datoteka s pisavo »%1« je že naložena. - The font file '%1' could not be loaded. Datoteke s pisavo »%1« ni bilo moč naložiti. - '%1' is not a valid font id. »%1« ni veljaven ID za pisavo. - There is no loaded font matching the id '%1'. Ni naložene pisave, ki bi se ujemala z ID-jem »%1«. - The font '%1' (%2) could not be unloaded. Pisave »%1« (%2) ni bilo moč odstraniti. @@ -96,52 +87,42 @@ AppFontWidget - Fonts Pisave - Add font files Dodaj datoteke s pisavami - Remove current font file Odstrani trenutno datoteko s pisavo - Remove all font files Odstrani vse datoteke s pisavami - Add Font Files Dodaj datoteke s pisavami - Font files (*.ttf) Datoteke s pisavami (*.ttf) - Error Adding Fonts Napaka pri dodajanju pisav - Error Removing Fonts Napaka pri odstranjevanju pisav - Remove Fonts Odstrani pisave - Would you like to remove all fonts? Ali želite odstraniti vse pisave? @@ -149,12 +130,10 @@ AppearanceOptionsWidget - Form Obrazec - User Interface Mode Način uporabniškega vmesnika @@ -162,17 +141,14 @@ AssistantClient - Unable to send request: Assistant is not responding. Ni moč poslati zahtevka: pomočnik se ne odziva. - The binary '%1' does not exist. Program »%1« ne obstaja. - Unable to launch assistant (%1). Ni moč zaganti pomočnika (%1). @@ -180,92 +156,74 @@ BrushPropertyManager - No brush Brez čopiča - Solid Enobarven - Dense 1 Gost 1 - Dense 2 Gost 2 - Dense 3 Gost 3 - Dense 4 Gost 4 - Dense 5 Gost 5 - Dense 6 Gost 6 - Dense 7 Gost 7 - Horizontal Vodoraven - Vertical Navpičen - Cross Križ - Backward diagonal Poševen nazaj - Forward diagonal Poševen naprej - Crossing diagonal Poševen prekrižan - Style Slog - Color Barva - [%1, %2] [%1, %2] @@ -273,360 +231,280 @@ Command - - Change signal Spremeni signal - - Change slot Spremeni režo - Change signal-slot connection Spremeni povezavo signal-reža - Change sender Spremeni pošiljatelja - Change receiver Spremeni prejemnika - Add connection Dodaj povezavo - Adjust connection Prilagodi povezavo - Delete connections Zbriši povezave - Change source Spremeni izvor - Change target Spremeni cilj - Insert '%1' Vstavi »%1« - Raise '%1' Dvigni »%1« - Lower '%1' Spusti »%1« - Delete '%1' Zbriši »%1« - Reparent '%1' Spremeni starša od »%1« - Promote to custom widget Povišaj v gradnik po meri - Demote from custom widget Ponižaj iz gradnika po meri - Lay out using grid Razporedi z uporabo mreže - Lay out vertically Razporedi navpično - Lay out horizontally Razporedi vodoravno - Break layout Razbij razporeditev - - - Move Page Premakni stran - - - - Delete Page Zbriši stran - - Page Stran - page stran - - - - Insert Page Vstavi stran - Change Tab order Spremeni vrstni red tabulatorke - Create Menu Bar Ustvari menijsko vrstico - Delete Menu Bar Zbriši menijsko vrstico - Create Status Bar Ustvari vrstico stanja - Delete Status Bar Zbriši vrstico stanja - Add Tool Bar Dodaj orodjarno - Add Dock Window Dodaj podokno - Adjust Size of '%1' Prilagodi velikost za »%1« - Change Form Layout Item Geometry Spremeni geometrijo razporeditve na obrazcu - Change Layout Item Geometry Spremeni geometrijo razporeda - Change Table Contents Spremeni vsebino tabele - Change Tree Contents Spremeni vsebino drevesa - - Add action Dodaj dejanje - - Remove action Odstrani dejanje - Add menu Dodaj meni - Remove menu Odstrani meni - Create submenu Ustvari podmeni - Delete Tool Bar Zbriši orodjarno - Set action text Nastavi besedilo dejanja - Insert action Vstavi dejanje - - Move action Premakni dejanje - Change Title Spremeni naslov - Insert Menu Vstavi meni - Change signals/slots Spremeni signale/reže - Delete Subwindow Zbriši podokno - Insert Subwindow Vstavi podokno - subwindow podokno - Subwindow Podokno - Change Z-order of '%1' Spremeni vrstni red v smeri Z od »%1« - Simplify Grid Layout Poenostavi razporeditev v mrežo - Create button group Ustvari skupino gumbov - Break button group Razbij skupino gumbov - Break button group '%1' Razbij skupino gumbov »%1« - Add buttons to group Dodaj gumbe v skupino - - Add '%1' to '%2' - Command description for adding buttons to a QButtonGroup + Command description for adding buttons to a QButtonGroup + Dodaj »%1« v »%2« - Remove buttons from group Odstrani gumbe iz te skupine - Remove '%1' from '%2' - Command description for removing buttons from a QButtonGroup + Command description for removing buttons from a QButtonGroup + Odstrani »%1« iz »%2« - Morph %1/'%2' into %3 - MorphWidgetCommand description + MorphWidgetCommand description + Pretvori %1/»%2« v %3 - Change layout of '%1' from %2 to %3 Spremeni razpored od »%1« iz %2 v %3 - Change script Spremeni skript - Changed '%1' of '%2' Spremenil »%1« od »%2« - Changed '%1' of %n objects Spremenil »%1« od %n objekta @@ -636,12 +514,10 @@ - Reset '%1' of '%2' Ponastavi »%1« od »%2« - Reset '%1' of %n objects Ponastavi »%1« od %n objekta @@ -651,12 +527,10 @@ - Add dynamic property '%1' to '%2' Dodaj dinamično lastnost »%1« k »%2« - Add dynamic property '%1' to %n objects Dodaj dinamično lastnost »%1« k %n objektu @@ -666,12 +540,10 @@ - Remove dynamic property '%1' from '%2' Odstrani dinamično lastnost »%1« od »%2« - Remove dynamic property '%1' from %n objects Odstrani dinamično lastnost »%1« od %n objekta @@ -684,22 +556,18 @@ ConnectDialog - Configure Connection Nastavi povezavo - GroupBox Skupina - Edit... Urejanje ... - Show signals and slots inherited from QWidget Prikaži signale in reže podedovane od QWidget @@ -707,17 +575,14 @@ ConnectionDelegate - <object> <objekt> - <signal> <signal> - <slot> <reža> @@ -725,110 +590,93 @@ DPI_Chooser - Standard (96 x 96) - Embedded device standard screen resolution + Embedded device standard screen resolution + Običajna (96 × 96) - Greenphone (179 x 185) - Embedded device screen resolution + Embedded device screen resolution + Greenphone (179 × 185) - High (192 x 192) - Embedded device high definition screen resolution + Embedded device high definition screen resolution + Visoka (192 × 192) Designer - Qt Designer Qt Designer - This file contains top level spacers.<br>They have <b>NOT</b> been saved into the form. Ta datoteka vsebuje praznine, ki so na vrhu.<br><b>Niso</b> bile shranjene v ta obrazec. - Perhaps you forgot to create a layout? Morda ste pozabili ustvariti razpored? - Invalid UI file: The root element <ui> is missing. Neveljavna datoteka UI: manjka vrhnji element <ui>. - An error has occurred while reading the UI file at line %1, column %2: %3 Prišlo je do napake med branjem datoteke UI v vrstici %1, stolpcu %2: %3 - This file cannot be read because it was created using %1. Te datoteke ni moč prebrati, ker je bila ustvarjena z %1. - This file was created using Designer from Qt-%1 and cannot be read. Ta datoteka je bila ustvarjena s Qt Designerjem iz Qt %1 in je ni moč prebrati. - This file cannot be read because the extra info extension failed to load. Te datoteke ni moč prebrati, ker je spodletelo nalaganje razširitve za dodatne podatke. - The converted file could not be read. Pretvorjene datoteke ni bilo moč prebrati. - This file was created using Designer from Qt-%1 and will be converted to a new form by Qt Designer. Ta datoteka je bila ustvarjena s Qt Designerjem iz Qt %1 in bo pretvorjena v novo obliko. - The old form has not been touched, but you will have to save the form under a new name. Stara oblika ni bila spremenjena, vendar boste novo obliko morali shraniti pod novim imenom. - This file was created using Designer from Qt-%1 and could not be read: %2 Ta datoteka je bila ustvarjena s Qt Designerjem iz Qt %1 in je ni bilo moč prebrati: %2 - Please run it through <b>uic3&nbsp;-convert</b> to convert it to Qt-4's ui format. Poženite jo skozi <b>uic3&nbsp;-convert</b> in jo tako pretvorite v zapis UI za Qt 4. - Custom Widgets Gradniki po meri - Promoted Widgets Povišani gradniki - Unable to launch %1. Ni moč zagnati %1. - %1 timed out. Čas za %1 je potekel. @@ -836,12 +684,10 @@ DesignerMetaEnum - %1 is not a valid enumeration value of '%2'. %1 ni veljavna vrednost številčenja od »%2«. - '%1' could not be converted to an enumeration value of type '%2'. »%1« ne more biti pretvorjeno v vrednost številčenja vrste »%2«. @@ -849,7 +695,6 @@ DesignerMetaFlags - '%1' could not be converted to a flag value of type '%2'. »%1« ne more biti pretvorjeno v vrednost zastavice vrste »%2«. @@ -857,13 +702,12 @@ DeviceProfile - '%1' is not a number. - Reading a number for an embedded device profile + Reading a number for an embedded device profile + »%1« ni številka. - An invalid tag <%1> was encountered. Dosežena je bila neveljavna oznaka <%1>. @@ -871,27 +715,22 @@ DeviceProfileDialog - &Family &Družina - &Point Size &Velikost točke - Style Slog - Device DPI Ločljivost (točk/palec) - Name Ime @@ -899,57 +738,46 @@ DeviceSkin - The image file '%1' could not be loaded. Slikovne datoteke »%1« ni bilo moč naložiti. - The skin directory '%1' does not contain a configuration file. Mapa s temo »%1« ne vsebuje nastavitvene datoteke. - The skin configuration file '%1' could not be opened. Nastavitvene datoteke za temo »%1« ni bilo moč odpreti. - Syntax error: %1 Skladenjska napaka: %1 - The skin cursor image file '%1' does not exist. Slikovna datoteka s kazalcem za temo »%1« ne obstaja. - Syntax error in area definition: %1 Skladenjska napaka pri določitvi območja: %1 - Mismatch in number of areas, expected %1, got %2. Neujemanje v številu območij, pričakovano %1, dobljeno %2. - The skin configuration file '%1' could not be read: %2 Nastavitvene datoteke za temo »%1« ni bilo moč prebrati: %2 - The skin "up" image file '%1' does not exist. Datoteka slike »up« teme »%1« ne obstaja. - The skin "down" image file '%1' does not exist. Datoteka slike »down« teme »%1« ne obstaja. - The skin "closed" image file '%1' does not exist. Datoteka slike »closed« teme »%1« ne obstaja. @@ -957,51 +785,46 @@ EmbeddedOptionsControl - <html><table><tr><td><b>Font</b></td><td>%1, %2</td></tr><tr><td><b>Style</b></td><td>%3</td></tr><tr><td><b>Resolution</b></td><td>%4 x %5</td></tr></table></html> - Format embedded device profile description + Format embedded device profile description + <html><table><tr><td><b>Pisava</b></td><td>%1, %2</td></tr><tr><td><b>Slog</b></td><td>%3</td></tr><tr><td><b>Ločljivost</b></td><td>%4 × %5</td></tr></table></html> EmbeddedOptionsPage - Embedded Design - Tab in preferences dialog + Tab in preferences dialog + Vgrajena zasnova - Device Profiles - EmbeddedOptionsControl group box" + EmbeddedOptionsControl group box" + Profili naprav FontPanel - Font Pisava - &Writing system S&istem pisanja - &Family &Družina - &Style &Slog - &Point size &Velikost točke @@ -1009,22 +832,18 @@ FontPropertyManager - PreferDefault Prednost ima privzeto - NoAntialias Brez glajenja robov - PreferAntialias Prednost ima glajenje robov - Antialiasing Glajenje robov @@ -1032,43 +851,47 @@ FormBuilder - Invalid stretch value for '%1': '%2' - Parsing layout stretch values + Parsing layout stretch values +---------- +Parsing layout stretch values +---------- +Parsing layout stretch values + Neveljavna vrednost razširjanja za »%1«: »%2« - Invalid minimum size for '%1': '%2' - Parsing grid layout minimum size values + Parsing grid layout minimum size values +---------- +Parsing grid layout minimum size values +---------- +Parsing grid layout minimum size values + Neveljavna najmanjša velikost za »%1«: »%2« FormEditorOptionsPage - %1 % %1 % - Preview Zoom Povečava ogleda - Default Zoom Privzeta povečava - Forms - Tab in preferences dialog + Tab in preferences dialog + Obrazci - Default Grid Privzeta mreža @@ -1076,37 +899,30 @@ FormLayoutRowDialog - Add Form Layout Row Dodaj vrstico razporeditve na obrazcu - &Label text: &Besedilo oznake: - Field &type: &Vrsta polja: - &Field name: &Ime polja: - &Buddy: &Kolega: - &Row: &Vrstica: - Label &name: &Ime oznake: @@ -1114,12 +930,10 @@ FormWindow - Unexpected element <%1> Nepričakovan element <%1> - Error while pasting clipboard contents at line %1, column %2: %3 Napaka pri lepljenju vsebine odložišča v vrstici %1, stolpcu %2: %3 @@ -1127,62 +941,50 @@ FormWindowSettings - Form Settings Nastavitve obrazca - Layout &Default &Privzeto za razpored - &Spacing: &Razmik: - &Margin: &Rob: - &Layout Function &Funkcija za razpored - Ma&rgin: R&ob: - Spa&cing: R&azmik: - Embedded Design Vgrajena zasnova - &Author &Avtor - &Include Hints Namigi za &vključevanje - &Pixmap Function F&unkcija za sličico - Grid Mreža @@ -1190,7 +992,6 @@ IconSelector - All Pixmaps ( Vse sličice ( @@ -1198,42 +999,37 @@ ItemPropertyBrowser - XX Icon Selected off - Sample string to determinate the width for the first column of the list item property browser + Sample string to determinate the width for the first column of the list item property browser + XX Ikona Izbrano izklopljeno MainWindowBase - Main - Not currently used (main tool bar) + Not currently used (main tool bar) + Glavna - File Datoteka - Edit Urejanje - Tools Orodja - Form Obrazec - Qt Designer Qt Designer @@ -1241,52 +1037,42 @@ NewForm - C&reate &Ustvari - Recent Nedavno - &Close &Zapri - &Open... &Odpri ... - &Recent Forms &Nedavni obrazci - Read error Napaka pri branju - New Form Nov obrazec - Show this Dialog on Startup Prikaži to pogovorno okno ob zagonu - A temporary form file could not be created in %1. Začasne datoteke obrazca v %1 ni bilo moč ustvariti. - The temporary form file %1 could not be written. V začasno datoteko obrazca %1 ni bilo moč pisati. @@ -1294,22 +1080,18 @@ ObjectInspectorModel - Object Objekt - Class Razred - separator ločitelj - <noname> <neimenovano> @@ -1317,12 +1099,10 @@ ObjectNameDialog - Change Object Name Spremeni ime objekta - Object Name Ime objekta @@ -1330,12 +1110,10 @@ PluginDialog - Plugin Information Podatki o vstavkih - 1 1 @@ -1343,7 +1121,6 @@ PreferencesDialog - Preferences Nastavitve @@ -1351,32 +1128,26 @@ PreviewConfigurationWidget - Form Obrazec - Print/Preview Configuration Nastavitev tiskanja/ogleda - Style Slog - Style sheet Slogovna predloga - ... ... - Device skin Tema naprave @@ -1384,17 +1155,15 @@ PromotionModel - Not used - Usage of promoted widgets + Usage of promoted widgets + Ni uporabljeno Q3WizardContainer - - Page Stran @@ -1402,59 +1171,48 @@ QAbstractFormBuilder - Unexpected element <%1> Nepričakovan element <%1> - An error has occurred while reading the UI file at line %1, column %2: %3 Prišlo je do napake med branjem datoteke UI v vrstici %1, stolpcu %2: %3 - Invalid UI file: The root element <ui> is missing. Neveljavna datoteka UI: manjka vrhnji element <ui>. - The creation of a widget of the class '%1' failed. Ustvarjanje gradnika razreda »%1« ni uspelo. - Attempt to add child that is not of class QWizardPage to QWizard. Poskus dodajanja podgradnika, ki ni razreda QWizardPage ali QWizard. - Attempt to add a layout to a widget '%1' (%2) which already has a layout of non-box type %3. This indicates an inconsistency in the ui-file. Poskus dodajanja razporeda gradniku »%1« (%2), ki že ima razpored ne-okvirne vrste %3. To nakazuje na neskladnost v datoteki *.ui. - Empty widget item in %1 '%2'. Prazna postavka gradnika v %1 »%2«. - Flags property are not supported yet. Lastnosti z zastavicami še niso podprte. - While applying tab stops: The widget '%1' could not be found. Med uveljavljanjem postankov tabulatorke: gradnika »%1« ni bilo moč najti. - Invalid QButtonGroup reference '%1' referenced by '%2'. Neveljavna referenca »%1« na QButtonGroup od »%2«. - This version of the uitools library is linked without script support. Ta različica knjižnice uitools nima podpore za skripte. @@ -1462,12 +1220,10 @@ To nakazuje na neskladnost v datoteki *.ui. QAxWidgetPlugin - ActiveX control Kontrolnik ActiveX - ActiveX control widget Gradnik kontrolnika ActiveX @@ -1475,22 +1231,18 @@ To nakazuje na neskladnost v datoteki *.ui. QAxWidgetTaskMenu - Set Control Nastavi kontrolnik - Reset Control Ponastavi kontrolnik - Licensed Control Licenciran kontrolnik - The control requires a design-time license Kontrolnik potrebuje licenco za čas snovanja @@ -1498,67 +1250,54 @@ To nakazuje na neskladnost v datoteki *.ui. QCoreApplication - %1 is not a promoted class. %1 ni povišan razred. - The base class %1 is invalid. Osnovni razred %1 ni veljaven. - The class %1 already exists. Razred %1 že obstaja. - Promoted Widgets Povišani gradniki - The class %1 cannot be removed Razreda %1 ni moč odstraniti - The class %1 cannot be removed because it is still referenced. Razreda %1 ni moč odstraniti, ker se nanj še vedno nanašajo reference. - The class %1 cannot be renamed Razreda %1 ni moč preimenovati - The class %1 cannot be renamed to an empty name. Razreda %1 ni moč preimenovati s praznim imenom. - There is already a class named %1. Razred z imenom %1 že obstaja. - Cannot set an empty include file. Ni moč nastaviti prazne vključene datoteke. - Exception at line %1: %2 Izjema v vrstici %1: %2 - Unknown error Neznana napaka - An error occurred while running the script for %1: %2 Script: %3 Prišlo je do napake pri zaganjanju skripta za %1: %2 @@ -1568,17 +1307,14 @@ Skript: %3 QDesigner - %1 - warning %1 - opozorilo - Qt Designer Qt Designer - This application cannot be used for the Console edition of Qt Programa ni moč uporabiti za konzolno izdajo Qt @@ -1586,186 +1322,146 @@ Skript: %3 QDesignerActions - Edit Widgets Urejanje gradnikov - &Quit Konča&j - &Minimize Po&manjšaj - Bring All to Front Prinesi vse v ospredje - Preferences... Nastavitve ... - Clear &Menu Počisti &meni - CTRL+SHIFT+S CTRL+SHIFT+S - CTRL+R CTRL+R - CTRL+M CTRL+M - Qt Designer &Help P&riročnik za Qt Designer - Current Widget Help Pomoč za trenutni gradnik - What's New in Qt Designer? Kaj je novega v Qt Designerju? - About Plugins O vstavkih - - About Qt Designer O Qt Designer - About Qt O Qt - - Open Form Odpri obrazec - - - Designer UI files (*.%1);;All Files (*) Designerjeve datoteke UI (*.%1);;Vse datoteke (*) - %1 already exists. Do you want to replace it? %1 že obstaja. Ali jo želite nadomestiti? - Saved %1. Shranil %1. - Additional Fonts... Dodatne pisave ... - &Recent Forms N&edavni obrazci - Designer Qt Designer - Feature not implemented yet! Zmožnost še ni izdelana. - Read error Napaka pri branju - %1 Do you want to update the file location or generate a new form? %1 Ali želite posodobiti lokacijo datoteke ali ustvariti nov obrazec? - &Update &Posodobi - &New Form &Nov obrazec - - Save Form? Shranim obrazec? - Could not open file Ni bilo moč odpreti datoteke - Select New File Izberite novo datoteko - Could not write file Ni bilo moč zapisati datoteke - &Close Preview &Zapri ogled - Save &Image... S&hrani sliko ... - &Print... &Natisni ... - The file %1 could not be opened. Reason: %2 Would you like to retry or select a different file? @@ -1774,7 +1470,6 @@ Razlog: %2 Ali žalite poskusiti znova ali izbrati drugo datoteko? - It was not possible to write the entire file %1 to disk. Reason:%2 Would you like to retry? @@ -1783,117 +1478,90 @@ Razlog: %2 Ali želite poskusiti znova? - - The backup file %1 could not be written. Varnostne kopije datoteke %1 ni bilo moč zapisati. - The backup directory %1 could not be created. Mape %1 za varnostne kopije ni bilo moč ustvariti. - The temporary backup directory %1 could not be created. Začasne mape %1 za varnostne kopije ni bilo moč ustvariti. - Image files (*.%1) Slikovne datoteke (*.%1) - - Save Image Shrani sliko - The file %1 could not be written. Datoteke %1 ni bilo moč zapisati. - &New... &Nova ... - &Open... &Odpri ... - &Save &Shrani - Save &As... Shrani &kot ... - Save A&ll Shrani &vse - Save As &Template... Shrani kot &predlogo ... - - &Close &Zapri - View &Code... Prikaži &kodo ... - - Save Form As Shrani obrazec kot - Preview failed Ogled ni uspel - Code generation failed Ustvarjanje kode ni uspelo - - Assistant Pomočnik - Saved image %1. Shranil sliko %1. - Please close all forms to enable the loading of additional fonts. Da bi omogočili nalaganje dodatnih pisav zaprite vse obrazce. - Printed %1. Natisnil %1. - ALT+CTRL+S ALT+CTRL+S @@ -1901,26 +1569,23 @@ Ali želite poskusiti znova? QDesignerAppearanceOptionsPage - Appearance - Tab in preferences dialog + Tab in preferences dialog + Videz QDesignerAppearanceOptionsWidget - Docked Window Zasidrana okna - Multiple Top-Level Windows Več ločenih oken - Toolwindow Font Pisava oken z orodji @@ -1928,22 +1593,18 @@ Ali želite poskusiti znova? QDesignerAxWidget - Reset control Ponastavi kontrolnik - Set control Nastavi kontrolnik - Control loaded Kontrolnik je naložen - A COM exception occurred when executing a meta call of type %1, index %2 of "%3". med izvajanjem meta-klica vrste %1 je prišlo do izjeme COM, indeks %2 od »%3«. @@ -1951,17 +1612,14 @@ Ali želite poskusiti znova? QDesignerFormBuilder - Script errors occurred: Prišlo je do napak v skriptu: - The preview failed to build. Grajenje ogleda ni uspelo. - Designer Qt Designer @@ -1969,22 +1627,18 @@ Ali želite poskusiti znova? QDesignerFormWindow - %1 - %2[*] %1 - %2[*] - Save Form? Shranim obrazec? - Do you want to save the changes to this document before closing? Ali želite pred zaprtjem shraniti spremembe v tem dokumentu? - If you don't save, your changes will be lost. Če ne shranite, bodo spremembe izgubljene. @@ -1992,38 +1646,30 @@ Ali želite poskusiti znova? QDesignerMenu - Type Here Pišite sem - Add Separator Dodaj ločnico - Insert separator Vstavi ločnico - Remove separator Odstrani ločnico - Remove action '%1' Odstrani dejanje »%1« - - Add separator Dodaj ločnico - Insert action Vstavi dejanje @@ -2031,22 +1677,18 @@ Ali želite poskusiti znova? QDesignerMenuBar - Type Here Pišite sem - Remove Menu '%1' Odstrani meni »%1« - Remove Menu Bar Odstrani menijsko vrstico - Menu Meni @@ -2054,37 +1696,30 @@ Ali želite poskusiti znova? QDesignerPluginManager - An XML error was encountered when parsing the XML of the custom widget %1: %2 Med razčlenjevanjem datoteke XML gradnika po meri %1 je prišlo do napake XML: %2 - A required attribute ('%1') is missing. Manjka obvezna lastnost (»%1«). - An invalid property specification ('%1') was encountered. Supported types: %2 Dosežena je bila neveljavna specifikacija lastnosti (»%1«). Podprte vrste: %2 - '%1' is not a valid string property specification. »%1« ni veljavna specifikacija lastnosti z nizom. - The XML of the custom widget %1 does not contain any of the elements <widget> or <ui>. XML gradnika po meri »%1« ne vsebuje niti elementa <widget> niti <ui>. - The class attribute for the class %1 is missing. Manjka razredna lastnost za razred %1. - The class attribute for the class %1 does not match the class name %2. Razredna lastnost za razred %1 se ne ujema z razredovim imenom %2. @@ -2092,7 +1727,6 @@ Ali želite poskusiti znova? QDesignerPropertySheet - Dynamic Properties Dinamične lastnosti @@ -2100,45 +1734,41 @@ Ali želite poskusiti znova? QDesignerResource - The layout type '%1' is not supported, defaulting to grid. Vrsta razpored »%1« ni podprta, preklapljam na mrežo. - The container extension of the widget '%1' (%2) returned a widget not managed by Designer '%3' (%4) when queried for page #%5. Container pages should only be added by specifying them in XML returned by the domXml() method of the custom widget. Ko je bila povprašana po strani št. %5, je razširitev vsebnika gradnika »%1« (%2) vrnila gradnik, s katerim ne upravlja Qt Designer »%3« (%4). Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml() gradnika po meri. - Unexpected element <%1> - Parsing clipboard contents + Parsing clipboard contents + Nepričakovan element <%1> - Error while pasting clipboard contents at line %1, column %2: %3 - Parsing clipboard contents + Parsing clipboard contents + Napaka pri lepljenju vsebine odložišča v vrstici %1, stolpcu %2: %3 - Error while pasting clipboard contents: The root element <ui> is missing. - Parsing clipboard contents + Parsing clipboard contents + Napaka pri lepljenju vsebine odložišča: manjka vrhnji element <ui>. QDesignerSharedSettings - The template path %1 could not be created. Poti %1 za predlogo ni bilo moč ustvariti. - An error has been encountered while parsing device profile XML: %1 Med razčlenjevanjem XML-a profila naprave je prišlo do napake: %1 @@ -2146,32 +1776,26 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QDesignerToolWindow - Property Editor Urejevalnik lastnosti - Action Editor Urejevalnik dejanj - Object Inspector Preiskovalnik objektov - Resource Browser Brskalnik po virih - Signal/Slot Editor Urejevalnik signalov/rež - Widget Box Podokno z gradniki @@ -2179,97 +1803,78 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QDesignerWorkbench - &File &Datoteka - F&orm &Obrazec - Preview in Ogled v - &Window O&kno - &Help &Pomoč - Edit Urejanje - Toolbars Orodjarne - Save Forms? Shranim obrazce? - &View &Videz - &Settings &Nastavitve - Widget Box Podokno z gradniki - If you do not review your documents, all your changes will be lost. Če ne pregledate svojih dokumentov, bodo vse spremembe izgubljene. - Discard Changes Zavrzi spremembe - Review Changes Pregled sprememb - Backup Information Podatki o varnostnih kopijah - The last session of Designer was not terminated correctly. Backup files were left behind. Do you want to load them? Zadnja seja Qt Designerja ni bila končana pravilno. Na disku so ostale varnostne kopije datotek. Ali jih želite naložiti? - The file <b>%1</b> could not be opened. Datoteke <b>%1</b> ni bilo moč odpreti. - The file <b>%1</b> is not a valid Designer UI file. Datoteka <b>%1</b> ni veljavna Designerjeva datoteka UI. - There are %n forms with unsaved changes. Do you want to review these changes before quitting? Odprt je %n obrazec z neshranjenimi spremembami. Ali želite pred zaprtjem pregledati te spremembe? @@ -2282,92 +1887,87 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QFormBuilder - An empty class name was passed on to %1 (object name: '%2'). - Empty class name passed to widget factory method + Empty class name passed to widget factory method +---------- +Empty class name passed to widget factory method +---------- +Empty class name passed to widget factory method + Prazno ime razreda je bilo posredovano do %1 (ime objekta: »%2«). - QFormBuilder was unable to create a custom widget of the class '%1'; defaulting to base class '%2'. QFormBuilder ni mogel ustvariti gradnika po meri razreda »%1«; uporabljen je bil osnovni razred »%2«. - QFormBuilder was unable to create a widget of the class '%1'. QFormBuilder ni mogel ustvariti gradnika razreda »%1«. - The layout type `%1' is not supported. Vrsta razporeda »%1« ni podprta. - The set-type property %1 could not be read. Lastnosti %1 z vrsto množice ni bilo moč prebrati. - The enumeration-type property %1 could not be read. Lastnosti %1 z vrsto naštevanja ni bilo moč prebrati. - Reading properties of the type %1 is not supported yet. Branje lastnosti vrste %1 še ni podprto. - The property %1 could not be written. The type %2 is not supported yet. Lastnosti %1 ni bilo moč zapisati. Vrsta %2 še ni podprta. + + The enumeration-value '%1' is invalid. The default value '%2' will be used instead. + Vrednost oštevilčenja »%1« ni veljavna. Namesto nje bo uporabljena privzeta vrednost »%2«. + + + The flag-value '%1' is invalid. Zero will be used instead. + Vrednost zastavice »%1« ni veljavna. Namesto nje bo uporabljena ničla. + QStackedWidgetEventFilter - Previous Page Predhodna stran - Next Page Naslednja stran - Delete Zbriši - Before Current Page Pred trenutno stran - After Current Page Za trenutno stran - Change Page Order... Spremeni vrstni red strani ... - Change Page Order Spremeni vrstni red strani - Page %1 of %2 Stran %1 od %2 - - Insert Page Vstavi stran @@ -2375,12 +1975,10 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QStackedWidgetPreviewEventFilter - Go to previous page of %1 '%2' (%3/%4). Pojdi na predhodno stran od %1 »%2« (%3/%4). - Go to next page of %1 '%2' (%3/%4). Pojdi na naslednjo stran od %1 »%2« (%3/%4). @@ -2388,28 +1986,22 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QTabWidgetEventFilter - Delete Zbriši - Before Current Page Pred trenutno stran - After Current Page Za trenutno stran - Page %1 of %2 Stran %1 od %2 - - Insert Page Vstavi stran @@ -2417,37 +2009,30 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QToolBoxHelper - Delete Page Zbriši stran - Before Current Page Pred trenutno stran - After Current Page Za trenutno stran - Change Page Order... Spremeni vrsti red strani ... - Change Page Order Spremeni vrstni red strani - Page %1 of %2 Stran %1 od %2 - Insert Page Vstavi stran @@ -2455,15 +2040,10 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtBoolEdit - - - True Pravilno - - False Napačno @@ -2471,12 +2051,10 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtBoolPropertyManager - True Pravilno - False Napačno @@ -2484,7 +2062,6 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtCharEdit - Clear Char Počisti znak @@ -2492,7 +2069,6 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtColorEditWidget - ... ... @@ -2500,22 +2076,18 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtColorPropertyManager - Red Rdeča - Green Zelena - Blue Modra - Alpha Alfa @@ -2523,97 +2095,78 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtCursorDatabase - Arrow Puščica - Up Arrow Puščica navzgor - Cross Križec - Wait Čakanje - IBeam Črtica | - Size Vertical Velikost navpično - Size Horizontal Velikost vodoravno - Size Backslash Velikost poševno nazaj - Size Slash Velikost poševno - Size All Velikost v vse smeri - Blank Prazno - Split Vertical Razdelitev navpično - Split Horizontal Razdelitev vodoravno - Pointing Hand Roka, ki kaže - Forbidden Prepovedano - Open Hand Odprta dlan - Closed Hand Zaprta dlan - What's This Kaj je to - Busy Zasedeno @@ -2621,12 +2174,10 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtFontEditWidget - ... ... - Select Font Izberite pisavo @@ -2634,37 +2185,30 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtFontPropertyManager - Family Družina - Point Size Velikost točke - Bold Polkrepko - Italic Ležeče - Underline Podčrtano - Strikeout Prečrtano - Kerning Spodsekavanje @@ -2672,7 +2216,6 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtGradientDialog - Edit Gradient Uredi preliv @@ -2680,304 +2223,242 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtGradientEditor - Start X Začetni X - Start Y Začetni Y - Final X Končni X - Final Y Končni Y - - Central X Središčni X - - Central Y Središčni Y - Focal X Žariščni X - Focal Y Žariščni Y - Radius Polmer - Angle Kot - Linear Linearen - Radial Radialen - Conical Stožčast - Pad Zapolni - Repeat Ponovi - Reflect Odbij - Form Obrazec - Gradient Editor Urejevalnik preliva - 1 1 - 2 2 - 3 3 - 4 4 - 5 5 - Gradient Stops Editor Urejevalnik postankov preliva - This area allows you to edit gradient stops. Double click on the existing stop handle to duplicate it. Double click outside of the existing stop handles to create a new stop. Drag & drop the handle to reposition it. Use right mouse button to popup context menu with extra actions. To območje vam omogoča urejanje postankov preliva. Da podvojite obstoječo ročko postanka dvokliknite nanjo. Za ustvaritev novega postanka dvokliknite izven obstoječih ročic postankov. Da spremenite položaj postanka povlecite in spustite njegovo ročko. Če kliknete z desnim gumbom miške, se bo pojavil priročni meni z dodatnimi dejanji. - Zoom Povečava - Position Položaj - Hue Odtenek - H H - Saturation Zasičenost - S S - Sat Zas. - Value Vrednost - V V - Val Vre. - Alpha Alfa - A A - Type Vrsta - Spread Razširitev - Color Barva - Current stop's color Barva trenutnega postanka - HSV HSV - RGB RGB - Current stop's position Položaj trenutnega postanka - % % - Zoom In Povečaj - Zoom Out Zmanjšaj - Toggle details extension Preklopi prikaz podrobnosti - > > - Linear Type Linearna vrsta - ... ... - Radial Type Radialna vrsta - Conical Type Stožčasta vrsta - Pad Spread Razširitev z zapolnitvijo - Repeat Spread Razširitev s ponovitvijo - Reflect Spread Razširitev z odbojem - This area shows a preview of the gradient being edited. It also allows you to edit parameters specific to the gradient's type such as start and final point, radius, etc. by drag & drop. To območje prikazuje ogled urejevanega preliva. Omogoča vam tudi urejanje parametrov, ki so specifični za vrsto preliva, na primer začetna in končna točka, polmer in podobno. Za to uporabite vlečenje in spuščanje. - Show HSV specification Prikaži specifikacijo HSV - Show RGB specification Prikaži specifikacijo RGB - Reset Zoom Ponastavi povečavo @@ -2985,37 +2466,30 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtGradientStopsWidget - New Stop Nov postanek - Delete Zbriši - Flip All Obrni vse - Select All Izberi vse - Zoom In Povečaj - Zoom Out Zmanjšaj - Reset Zoom Ponastavi povečavo @@ -3023,46 +2497,34 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtGradientView - Grad Preliv - Remove Gradient Odstrani preliv - Are you sure you want to remove the selected gradient? Ali res želite odstraniti izbrani preliv? - - New... Nov ... - - Edit... Urejanje ... - - Rename Preimenuj - - Remove Odstrani - Gradient View Prikaz preliva @@ -3070,7 +2532,6 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtGradientViewDialog - Select Gradient Izberite preliv @@ -3078,7 +2539,6 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtKeySequenceEdit - Clear Shortcut Počisti bližnjico @@ -3086,17 +2546,14 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtLocalePropertyManager - %1, %2 %1, %2 - Language Jezik - Country Država @@ -3104,17 +2561,14 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtPointFPropertyManager - (%1, %2) (%1, %2) - X X - Y Y @@ -3122,17 +2576,14 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtPointPropertyManager - (%1, %2) (%1, %2) - X X - Y Y @@ -3140,12 +2591,10 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtPropertyBrowserUtils - [%1, %2, %3] (%4) [%1, %2, %3] (%4) - [%1, %2] [%1, %2] @@ -3153,27 +2602,22 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtRectFPropertyManager - [(%1, %2), %3 x %4] [(%1, %2), %3 × %4] - X X - Y Y - Width Širina - Height Višina @@ -3181,27 +2625,22 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtRectPropertyManager - [(%1, %2), %3 x %4] [(%1, %2), %3 × %4] - X X - Y Y - Width Širina - Height Višina @@ -3209,128 +2648,98 @@ Strani vsebnikov naj bi bile dodane z navedbo v XML-u, ki ga vrne metoda domXml( QtResourceEditorDialog - %1 already exists. Do you want to replace it? %1 že obstaja. Ali jo želite nadomestiti? - The file does not appear to be a resource file; element '%1' was found where '%2' was expected. Kot kaže datoteka ni datoteka z viri. Najden je bil element »%1«, pričakovan pa element »%2«. - %1 [read-only] %1 [samo za branje] - - %1 [missing] %1 [manjka] - <no prefix> <brez predpone> - - New Resource File Nova datoteka z viri - - Resource files (*.qrc) Datoteke z viri (*.qrc) - Import Resource File Uvozi datoteko z viri - newPrefix novaPredpona - Add Files Dodaj datoteke - Incorrect Path Nepravilna pot - - - - Copy Skopiraj - Copy As... Skopiraj kot ... - Keep Obdrži - Skip Preskoči - Clone Prefix Kloniraj predpono - Enter the suffix which you want to add to the names of the cloned files. This could for example be a language extension like "_de". Vnesite pripono, ki jo želite dodati imenom kloniranih datotek. To bi, na primer, lahko bila pripona jezika kot je »_sl«. - - Copy As Skopiraj kot - <p>The selected file:</p><p>%1</p><p>is outside of the current resource file's directory:</p><p>%2</p><p>Please select another path within this directory.<p> <p>Izbrana datoteka:</p><p>%1</p><p>je izven mape trenutne datoteke z viri:</p><p>%2</p><p>Izberite drugo pot znotraj te mape.<p> - Could not overwrite %1. Ni bilo moč nadomestiti %1. - <p><b>Warning:</b> The file</p><p>%1</p><p>is outside of the current resource file's parent directory.</p> <p><b>Opozorilo:</b> Datoteka</p><p>%1</p><p>je izven matične mape trenutne datoteke z viri.</p> - <p>To resolve the issue, press:</p><table><tr><th align="left">Copy</th><td>to copy the file to the resource file's parent directory.</td></tr><tr><th align="left">Copy As...</th><td>to copy the file into a subdirectory of the resource file's parent directory.</td></tr><tr><th align="left">Keep</th><td>to use its current location.</td></tr></table> <p>Da razrešite težavo, kliknite:</p><table><tr><th align="left">Skopiraj</th><td>da skopirate datoteko v matično mapo datoteke z viri</td></tr><tr><th align="left">Skopiraj kot ...</th><td>da skopirate datoteko v podmapo matične mape datoteke z viri</td></tr><tr><th align="left">Obdrži</th><td>da uporabite trenutno lokacijo</td></tr></table> - Could not copy %1 to @@ -3341,153 +2750,120 @@ v %2 - A parse error occurred at line %1, column %2 of %3: %4 Prišlo je do napake razčlenjevanja v vrstici %1, stolpcu %2 v %3: %4 - Save Resource File Shrani datoteko z viri - Edit Resources Urejanje virov - New... Nova ... - Open... Odpri ... - - Remove Odstrani - - Move Up Premakni gor - - Move Down Pomakni dol - - Add Prefix Dodaj predpono - Add Files... Dodaj datoteke ... - Change Prefix Spremeni predpono - Change Language Spremeni jezik - Change Alias Spremeni drugo ime - Clone Prefix... Kloniraj predpono ... - Prefix / Path Predpona / pot - Language / Alias Jezik / drugo ime - <html><p><b>Warning:</b> There have been problems while reloading the resources:</p><pre>%1</pre></html> <html><p><b>Opozorilo:</b> Med ponovnim nalaganjem virov je prišlo do težav:</p><pre>%1</pre></html> - Resource Warning Opozorilo o virih - Dialog Pogovorno okno - New File Nova datoteka - N N - Remove File Odstrani datoteko - R R - I I - New Resource Nov vir - A A - Remove Resource or File Odstrani vir ali datoteko - Could not write %1: %2 Ni moč zapisati %1: %2 - Open Resource File Odpri datoteko z viri @@ -3495,24 +2871,20 @@ v QtResourceView - Size: %1 x %2 %3 Velikost: %1 × %2 %3 - Edit Resources... Urejanje virov ... - Reload Znova naloži - Copy Path Skopiraj pot @@ -3520,7 +2892,6 @@ v QtResourceViewDialog - Select Resource Izberite vir @@ -3528,17 +2899,14 @@ v QtSizeFPropertyManager - %1 x %2 %1 × %2 - Width Širina - Height Višina @@ -3546,33 +2914,26 @@ v QtSizePolicyPropertyManager - - <Invalid> <neveljavno> - [%1, %2, %3, %4] [%1, %2, %3, %4] - Horizontal Policy Vodoravna politika - Vertical Policy Navpična politika - Horizontal Stretch Vodoravna praznina - Vertical Stretch Navpična praznina @@ -3580,17 +2941,14 @@ v QtSizePropertyManager - %1 x %2 %1 × %2 - Width Širina - Height Višina @@ -3598,107 +2956,86 @@ v QtToolBarDialog - < S E P A R A T O R > < L O Č I T E L J > - Customize Toolbars Prilagodi orodjarne - 1 1 - Actions Dejanja - Toolbars Orodjarne - New Novo - Remove Odstrani - Rename Preimenuj - Up Gor - <- <- - -> -> - Down Dol - Current Toolbar Actions Trenutna dejanja v orodjarni - Custom Toolbar Orodjarna po meri - Add new toolbar Dodaj novo orodjarno - Remove selected toolbar Odstrani izbrano orodjarno - Rename toolbar Preimenuj orodjarno - Move action up Premakni dejanje gor - Remove action from toolbar Odstrani dejanje iz orodjarne - Add action to toolbar Dodaj dejanje v orodjarno - Move action down Premakni dejanje dol @@ -3706,12 +3043,10 @@ v QtTreePropertyBrowser - Property Lastnost - Value Vrednost @@ -3719,64 +3054,52 @@ v SaveFormAsTemplate - Add path... Dodaj pot ... - Template Exists Predloga obstaja - A template with the name %1 already exists. Do you want overwrite the template? Predloga z imenom %1 že obstaja. Ali želite nadomestiti predlogo? - Overwrite Template Nadomesti predlogo - Open Error Napaka pri odpiranju - There was an error opening template %1 for writing. Reason: %2 Prišlo je do napake pri odpiranju predloge %1 za pisanje. Razlog: %2 - Write Error Napaka pri pisanju - There was an error writing the template %1 to disk. Reason: %2 Prišlo je do napake pri pisanju predloge %1 na disk. Razlog: %2 - Pick a directory to save templates in Izberite mapo za shranjevanje predlog - Save Form As Template Shranjevanje obrazca kot predloge - &Category: &Kategorija: - &Name: &Ime: @@ -3784,7 +3107,6 @@ Ali želite nadomestiti predlogo? ScriptErrorDialog - An error occurred while running the scripts for "%1": Prišlo je do napake med poganjanjem skriptov za »%1«: @@ -3794,22 +3116,18 @@ Ali želite nadomestiti predlogo? SelectSignalDialog - Go to slot Pojdi na režo - Select signal Izbiranje signala - signal signal - class razred @@ -3817,7 +3135,6 @@ Ali želite nadomestiti predlogo? SignalSlotConnection - SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4) POŠILJATELJ(%1), SIGNAL(%2), PREJEMNIK (%3), REŽA(%4) @@ -3825,32 +3142,26 @@ Ali želite nadomestiti predlogo? SignalSlotDialogClass - Signals and slots Signali in reže - Slots Reže - ... ... - Signals Signali - Add Dodaj - Delete Zbriši @@ -3858,12 +3169,10 @@ Ali želite nadomestiti predlogo? Spacer - Horizontal Spacer '%1', %2 x %3 Vodoravni ločitelj »%1«, %2 x %3 - Vertical Spacer '%1', %2 x %3 Navpični ločitelj »%1«, %2 x %3 @@ -3871,41 +3180,51 @@ Ali želite nadomestiti predlogo? TemplateOptionsPage - Template Paths - Tab in preferences dialog + Tab in preferences dialog + Poti za predloge ToolBarManager - Configure Toolbars... Nastavi orodjarne ... - Window Okno - Help Pomoč - Style Slog - Dock views Podokna - + File + Datoteka + + + Edit + Urejanje + + + Tools + Orodja + + + Form + Obrazec + + Toolbars Orodjarne @@ -3913,30 +3232,64 @@ Ali želite nadomestiti predlogo? VersionDialog - <h3>%1</h3><br/><br/>Version %2 <h3>%1</h3><br/><br/>Različica %2 - Qt Designer Qt Designer - <br/>Qt Designer is a graphical user interface designer for Qt applications.<br/> <br/>Qt Designer je snovalnik grafičnih uporabniških vmesnikov za Qt programe.<br/> - %1<br/>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). %1<br/>Avtorske pravice © 2009 Nokia Corporation in/ali njene podružnice. + VideoPlayerTaskMenu + + Available Mime Types + Razpoložljive vrste MIME + + + Display supported mime types... + Prikaži podprte vrste MIME ... + + + Load... + Naloži ... + + + Play + Predvajaj + + + Pause + Premor + + + Stop + Ustavi + + + Choose Video Player Media Source + Izberite večpredstavnostni vir za predvajalnik videa + + + An error has occurred in '%1': %2 + V »%1« je prišlo do napake: %2 + + + Video Player Error + Napaka predvajalnika videa + + + WidgetDataBase - The file contains a custom widget '%1' whose base class (%2) differs from the current entry in the widget database (%3). The widget database is left unchanged. Datoteka vsebuje gradnik po meri »%1«, katerega osnovni razred (%2) se razlikuje od trenutnega vnosa v podatkovni zbirki gradnikov (%3). Podatkovna zbirka gradnikov je ostala nespremenjena. @@ -3944,87 +3297,70 @@ Ali želite nadomestiti predlogo? qdesigner_internal::ActionEditor - Actions Dejanja - New... Novo ... - Delete Zbriši - New action Novo dejanje - Edit action Uredi dejanje - Edit... Uredi ... - Go to slot... Pojdi na režo ... - Copy Skopiraj - Cut Izreži - Paste Prilepi - Select all Izberi vse - Icon View Prikaz ikon - Detailed View Prikaz podrobnosti - Remove actions Odstrani dejanja - Remove action '%1' Odstrani dejanje »%1« - Used In Uporabljeno v - Configure Action Editor Nastavi urejevalnik dejanj @@ -4032,32 +3368,26 @@ Ali želite nadomestiti predlogo? qdesigner_internal::ActionModel - Name Ime - Used Uporabljeno - Text Besedilo - Shortcut Bližnjica - Checkable Stikalo - ToolTip Namig @@ -4065,27 +3395,22 @@ Ali želite nadomestiti predlogo? qdesigner_internal::BrushManagerProxy - The element '%1' is missing the required attribute '%2'. Elementu »%1« manjka obvezna lastnost »%2«. - Empty brush name encountered. Doseženo je bilo prazno ime čopiča. - An unexpected element '%1' was encountered. Dosežen je bil nepričakovan element »%1«. - An error occurred when reading the brush definition file '%1' at line line %2, column %3: %4 Prišlo je do napake pri branju datoteke z definicijo čopiča »%1«, v vrstici %2 in stolpcu %3: %4 - An error occurred when reading the resource file '%1' at line %2, column %3: %4 Prišlo je do napake pri branju datoteke z viri »%1«, v vrstici %2 in stolpcu %3: %4 @@ -4093,17 +3418,14 @@ Ali želite nadomestiti predlogo? qdesigner_internal::BuddyEditor - Add buddy Dodaj kolega - Remove buddies Odstrani kolege - Remove %n buddies Odstrani %n kolega @@ -4113,7 +3435,6 @@ Ali želite nadomestiti predlogo? - Add %n buddies Dodaj %n kolega @@ -4123,7 +3444,6 @@ Ali želite nadomestiti predlogo? - Set automatically Nastavi samodejno @@ -4131,7 +3451,6 @@ Ali želite nadomestiti predlogo? qdesigner_internal::BuddyEditorPlugin - Edit Buddies Urejanje kolegov @@ -4139,7 +3458,6 @@ Ali želite nadomestiti predlogo? qdesigner_internal::BuddyEditorTool - Edit Buddies Urejanje kolegov @@ -4147,12 +3465,10 @@ Ali želite nadomestiti predlogo? qdesigner_internal::ButtonGroupMenu - Select members Izberi člane - Break Razbij @@ -4160,32 +3476,26 @@ Ali želite nadomestiti predlogo? qdesigner_internal::ButtonTaskMenu - Assign to button group Dodeli skupini gumbov - Button group Skupina gumbov - New button group Novi skupini gumbov - Change text... Spremeni besedilo ... - None Nobeni - Button group '%1' Skupina gumbov »%1« @@ -4193,57 +3503,46 @@ Ali želite nadomestiti predlogo? qdesigner_internal::CodeDialog - Save... Shrani ... - Copy All Skopiraj vse - &Find in Text... &Najdi v besedilu ... - A temporary form file could not be created in %1. Začasne datoteke obrazca v %1 ni bilo moč ustvariti. - The temporary form file %1 could not be written. V začasno datoteko obrazca %1 ni bilo moč pisati. - %1 - [Code] %1 - [koda] - Save Code Shrani kodo - Header Files (*.%1) Datoteke z glavo (*.%1) - The file %1 could not be opened: %2 Datoteke »%1« ni bilo moč odpreti: %2 - The file %1 could not be written: %2 Datoteke »%1« ni bilo moč zapisati: %2 - %1 - Error %1 - napaka @@ -4251,7 +3550,6 @@ Ali želite nadomestiti predlogo? qdesigner_internal::ColorAction - Text Color Barva besedila @@ -4259,12 +3557,10 @@ Ali želite nadomestiti predlogo? qdesigner_internal::ComboBoxTaskMenu - Edit Items... Uredi postavke ... - Change Combobox Contents Spreminjanje vsebine spustnega seznama @@ -4272,7 +3568,6 @@ Ali želite nadomestiti predlogo? qdesigner_internal::CommandLinkButtonTaskMenu - Change description... Spremeni opis ... @@ -4280,17 +3575,14 @@ Ali želite nadomestiti predlogo? qdesigner_internal::ConnectionEdit - Select All Izberi vse - Deselect All Odizberi vse - Delete Zbriši @@ -4298,52 +3590,42 @@ Ali želite nadomestiti predlogo? qdesigner_internal::ConnectionModel - Sender Pošiljatelj - Signal Signal - Receiver Prejemnik - Slot Reža - <sender> <pošiljatelj> - <signal> <signal> - <receiver> <prejemnik> - <slot> <reža> - Signal and Slot Editor Urejevalnik signalov in rež - The connection already exists!<br>%1 Povezava že obstaja!<br>%1 @@ -4351,42 +3633,34 @@ Ali želite nadomestiti predlogo? qdesigner_internal::ContainerWidgetTaskMenu - Insert Page Before Current Page Vstavi stran pred trenutno stran - Insert Page After Current Page Vstavi stran za trenutno stran - Add Subwindow Dodaj podokno - Delete Zbriši - Insert Vstavi - Subwindow Podokno - Page Stran %1 - Page %1 of %2 Stran %1 od %2 @@ -4394,69 +3668,57 @@ Ali želite nadomestiti predlogo? qdesigner_internal::DPI_Chooser - System (%1 x %2) - System resolution + System resolution + Sistemska (%1 x %2) - User defined Uporabniško določena - x - DPI X/Y separator + DPI X/Y separator + x qdesigner_internal::DesignerPropertyManager - - AlignLeft Poravnaj levo - AlignHCenter Poravnaj sredinsko (vodoravno) - AlignRight Poravnaj desno - AlignJustify Poravnaj obojestransko - AlignTop Poravnaj na vrh - - AlignVCenter Poravnaj sredinsko (navpično) - AlignBottom Poravnaj na dno - %1, %2 %1, %2 - Customized (%n roles) Po meri (%n vloga) @@ -4466,75 +3728,58 @@ Ali želite nadomestiti predlogo? - Inherited Podedovano - Horizontal Vodoravno - Vertical Navpično - Normal Off Normalna in izključena - Normal On Normalna in vključena - Disabled Off Onemogočena in izključena - Disabled On Onemogočena in vključena - Active Off Aktivna in izključena - Active On Aktivna in vključena - Selected Off Izbrana in izključena - Selected On Izbrana in vključena - - translatable prevedljivo - - disambiguation razločitev - - comment komentar @@ -4542,48 +3787,38 @@ Ali želite nadomestiti predlogo? qdesigner_internal::DeviceProfileDialog - Device Profiles (*.%1) Profili naprav (*.%1) - Default Privzeti - Save Profile Shrani profil - Save Profile - Error Shranjevanje profila - napaka - Unable to open the file '%1' for writing: %2 Datoteke »%1« ni moč odpreti za pisanje: %2 - Open profile Odpri profil - - Open Profile - Error Odpiranje profila - napaka - Unable to open the file '%1' for reading: %2 Datoteke »%1« ni moč odpreti za branje: %2 - '%1' is not a valid profile: %2 »%1« ni veljaven profil: %2 @@ -4591,57 +3826,46 @@ Ali želite nadomestiti predlogo? qdesigner_internal::Dialog - Dialog PogovornoOkno - StringList SeznamNizov - New String Nov niz - &New &Nov - Delete String Z&briši niz - &Delete &Zbriši - &Value: &Vrednost: - Move String Up Premakni niz gor - Up Gor - Move String Down Premakni niz dol - Down Dol @@ -4649,52 +3873,42 @@ Ali želite nadomestiti predlogo? qdesigner_internal::EmbeddedOptionsControl - None Noben - Add a profile Dodaj profil - Edit the selected profile Uredi izbrani profil - Delete the selected profile Zbriši izbrani profil - Add Profile Dodaj profil - New profile Nov profil - Edit Profile Uredi profil - Delete Profile Zbriši profil - Would you like to delete the profile '%1'? Ali želite zbrisati profil »%1«? - Default Privzeti @@ -4702,20 +3916,21 @@ Ali želite nadomestiti predlogo? qdesigner_internal::FilterWidget - - <Filter> - <filter> + Filter + Filter + + + Clear text + Počisti besedilo qdesigner_internal::FormEditor - Resource File Changed Datoteka z viri je bila spremenjena - The file "%1" has changed outside Designer. Do you want to reload it? Datoteka »%1« je bila spremenjena izven Qt Designerja. Ali jo želite naložiti znova? @@ -4723,7 +3938,6 @@ Ali želite nadomestiti predlogo? qdesigner_internal::FormLayoutMenu - Add form layout row... Dodaj vrstico razporeditve na obrazcu ... @@ -4731,54 +3945,46 @@ Ali želite nadomestiti predlogo? qdesigner_internal::FormWindow - Edit contents Uredi vsebino - F2 F2 - Resize Spremeni velikost - - Key Move Premik s tipko - + Key Resize + + + Cannot paste widgets. Designer could not find a container without a layout to paste into. Ni moč prilepiti gradnikov. Qt Designer ni mogel najti vsebnika brez razporeditve, v katerega bi prilepil. - Break the layout of the container you want to paste into, select this container and then paste again. Razbijte razporeditev za vsebnik, v katerega želite prilepiti, nato izberite vsebnik in prilepite znova. - Paste error Napaka prilepljanja - Lay out Razporedi - - Drop widget Spusti gradnik - Paste %n action(s) Prilepi %n dejanje @@ -4788,12 +3994,10 @@ Ali želite nadomestiti predlogo? - Insert widget '%1' Vstavi gradnik »%1« - Paste %n widget(s) Prilepi %n gradnik @@ -4803,27 +4007,22 @@ Ali želite nadomestiti predlogo? - Paste (%1 widgets, %2 actions) Prilepi (gradnikov: %1, dejanj: %2) - Select Ancestor Izberi predhodnika - A QMainWindow-based form does not contain a central widget. Obrazec temelječ na QMainWindow ne vsebuje osrednjega gradnika. - Raise widgets Dvigni gradnike - Lower widgets Spusti gradnike @@ -4831,12 +4030,10 @@ Ali želite nadomestiti predlogo? qdesigner_internal::FormWindowBase - Delete Zbriši - Delete '%1' Zbriši »%1« @@ -4844,200 +4041,159 @@ Ali želite nadomestiti predlogo? qdesigner_internal::FormWindowManager - Cu&t &Izreži - Cuts the selected widgets and puts them on the clipboard Izreže izbrane gradnike in jih odloži na odložišče - &Copy S&kopiraj - Copies the selected widgets to the clipboard Skopira izbrane gradnike na odložišče - &Paste Pri&lepi - Pastes the clipboard's contents Prilepi vsebino odložišča - &Delete &Zbriši - Deletes the selected widgets Zbriše izbrane gradnike - Select &All Izberi &vse - Selects all widgets Izbere vse gradnike - Bring to &Front Prinesi v o&spredje - - Raises the selected widgets Dvigne izbrane gradnike - Send to &Back Pošlji v &ozadje - - Lowers the selected widgets Spusti izbrane gradnike - Adjust &Size Prilagodi ve&likost - Adjusts the size of the selected widget Prilagodi velikost izbranega gradnika - Lay Out &Horizontally Razporedi &vodoravno - Lays out the selected widgets horizontally Izbrane gradnike razporedi vodoravno - Lay Out &Vertically Razporedi &navpično - Lays out the selected widgets vertically Izbrane gradnike razporedi navpično - Lay Out in a &Grid Razporedi v &mrežo - Lays out the selected widgets in a grid Razporedi izbrane gradnike v mrežo - Lay Out Horizontally in S&plitter Razporedi vodoravno v ra&zdelilnik - Lays out the selected widgets horizontally in a splitter Izbrane gradnike razporedi vodoravno v razdelilnik - Lay Out Vertically in Sp&litter Razporedi navpično v raz&delilnik - Lays out the selected widgets vertically in a splitter Izbrane gradnike razporedi navpično v razdelilnik - &Break Layout &Razbij razporeditev - Breaks the selected layout Razbij izbrano razporeditev - &Preview... Prikaži &ogled ... - Preview current form Prikaže ogled trenutnega obrazca - Form &Settings... &Nastavi obrazec ... - Break Layout Razbij razporeditev - Adjust Size Prilagodi velikost - Could not create form preview Title of warning message box Ni bilo moč ustvariti ogleda obrazca - Form Settings - %1 Nastavitve obrazca - %1 - Removes empty columns and rows Odstrani prazne stolpce in vrstice - Lay Out in a &Form Layout Razporedi v razporeditev na &obrazcu - Lays out the selected widgets in a form layout Razporedi izbrane gradnike v razporeditev na obrazcu - Si&mplify Grid Layout Po&enostavi razporeditev v mrežo @@ -5045,12 +4201,10 @@ Ali želite nadomestiti predlogo? qdesigner_internal::FormWindowSettings - None Noben - Device Profile: %1 Profil naprave: %1 @@ -5058,37 +4212,30 @@ Ali želite nadomestiti predlogo? qdesigner_internal::GridPanel - Form Obrazec - Grid Mreža - Visible Vidna - Grid &X Mreža &X - Snap Pripni - Reset Ponastavi - Grid &Y Mreža &Y @@ -5096,7 +4243,6 @@ Ali želite nadomestiti predlogo? qdesigner_internal::GroupBoxTaskMenu - Change title... Spremeni naslov ... @@ -5104,7 +4250,6 @@ Ali želite nadomestiti predlogo? qdesigner_internal::HtmlTextEdit - Insert HTML entity Vstavi entiteto HTML @@ -5112,92 +4257,74 @@ Ali želite nadomestiti predlogo? qdesigner_internal::IconSelector - The pixmap file '%1' cannot be read. Datoteke s sličico »%1« ni moč prebrati. - The file '%1' does not appear to be a valid pixmap file: %2 Kot kaže »%1« ni veljavna datoteka s sličico: %2 - The file '%1' could not be read: %2 Datoteke »%1« ni bilo moč prebrati: %2 - Pixmap Read Error Napaka pri branju sličice - ... ... - Normal Off Normalna in izključena - Normal On Normalna in vključena - Disabled Off Onemogočena in izključena - Disabled On Onemogočena in vključena - Active Off Aktivna in izključena - Active On Aktivna in vključena - Selected Off Izbrana in izključena - Selected On Izbrana in vključena - Choose Resource... Izberi vir ... - Choose File... Izberi datoteko ... - Reset Ponastavi - Reset All Ponastavi vse - Choose a Pixmap Izbiranje sličice @@ -5205,58 +4332,46 @@ Ali želite nadomestiti predlogo? qdesigner_internal::ItemListEditor - Properties &<< Lastnosti &<< - - Properties &>> Lastnosti &>> - Items List Seznam postavk - New Item Nova postavka - &New &Nova - Delete Item Zbriši postavko - &Delete &Zbriši - Move Item Up Premakni postavko gor - U G - Move Item Down Premakni postavko dol - D D @@ -5264,12 +4379,10 @@ Ali želite nadomestiti predlogo? qdesigner_internal::LabelTaskMenu - Change rich text... Spremeni bogato besedilo ... - Change plain text... Spremeni navadno besedilo ... @@ -5277,7 +4390,6 @@ Ali želite nadomestiti predlogo? qdesigner_internal::LanguageResourceDialog - Choose Resource Izberite vir @@ -5285,7 +4397,6 @@ Ali želite nadomestiti predlogo? qdesigner_internal::LineEditTaskMenu - Change text... Spremeni besedilo ... @@ -5293,17 +4404,14 @@ Ali želite nadomestiti predlogo? qdesigner_internal::ListWidgetEditor - Edit List Widget Urejanje gradnika s seznamom - Edit Combobox Urejanje spustnega seznama - New Item Nova postavka @@ -5311,12 +4419,10 @@ Ali želite nadomestiti predlogo? qdesigner_internal::ListWidgetTaskMenu - Edit Items... Uredi postavke ... - Change List Contents Spreminjanje vsebine seznama @@ -5324,22 +4430,18 @@ Ali želite nadomestiti predlogo? qdesigner_internal::MdiContainerWidgetTaskMenu - Next Subwindow Naslednje podokno - Previous Subwindow Predhodno podokno - Tile Tlakuj - Cascade V kaskado @@ -5347,7 +4449,6 @@ Ali želite nadomestiti predlogo? qdesigner_internal::MenuTaskMenu - Remove Odstrani @@ -5355,7 +4456,6 @@ Ali želite nadomestiti predlogo? qdesigner_internal::MorphMenu - Morph into Pretvori v @@ -5363,42 +4463,34 @@ Ali želite nadomestiti predlogo? qdesigner_internal::NewActionDialog - New Action... Novo dejanje ... - &Text: &Besedilo: - &Icon: &Ikona: - Shortcut: Bližnjica: - Checkable: Stikalo: - ToolTip: Namig: - ... ... - Object &name: &Ime objekta: @@ -5406,39 +4498,32 @@ Ali želite nadomestiti predlogo? qdesigner_internal::NewDynamicPropertyDialog - Set Property Name Nastavi ime lastnosti - The current object already has a property named '%1'. Please select another, unique one. Trenutni objekt že ima lastnost z imenom »%1«.Izberite drugo, edinstveno ime - Create Dynamic Property Ustvari dinamično lastnost - Property Name Ime lastnosti - Property Type Vrsta lastnosti - The '_q_' prefix is reserved for the Qt library. Please select another name. Predpona »_q_« je rezervirana za knjižnico Qt.Izberite drugo ime. - horizontalSpacer vodoravnaPraznina @@ -5446,83 +4531,68 @@ Please select another name. qdesigner_internal::NewFormWidget - Default size Privzeta velikost - QVGA portrait (240x320) QVGA, pokončno (240x320) - QVGA landscape (320x240) QVGA, ležeče (320x240) - VGA portrait (480x640) VGA, pokončno (480x640) - VGA landscape (640x480) VGA, ležeče (640x480) - Widgets - New Form Dialog Categories + New Form Dialog Categories + Gradniki - Custom Widgets Gradniki po meri - None Nobena - Error loading form Napaka pri nalaganju obrazca - Unable to open the form template file '%1': %2 Ni moč odpreti datoteke s predlogo obrazca »%1«: %2 - Internal error: No template selected. Notranja napaka: izbrane ni nobene predloge. - 0 0 - Choose a template for a preview Izberite predlogo za ogled - Embedded Design Vgrajena zasnova - Device: Naprava: - Screen Size: Velikost zaslona @@ -5530,37 +4600,30 @@ Please select another name. qdesigner_internal::NewPromotedClassPanel - Add Dodaj - New Promoted Class Nov povišan razred - Base class name: Ime osnovnega razreda: - Promoted class name: Ime povišanega razreda: - Header file: Datoteka z glavo: - Global include Globalna vključitev - Reset Ponastavi @@ -5568,48 +4631,37 @@ Please select another name. qdesigner_internal::ObjectInspector - - &Find in Text... - &Najdi v besedilu ... + Change Current Page + Spreminjanje trenutne strani - - - qdesigner_internal::ObjectInspector::ObjectInspectorPrivate - - Change Current Page - Spreminjanje trenutne strani + &Find in Text... + &Najdi v besedilu ... qdesigner_internal::OrderDialog - Index %1 (%2) Indeks %1 (%2) - Change Page Order Spreminjanje vrstnega reda strani - Page Order Vrstni red strani - Move page up Premakni stran gor - Move page down Premakni stran dol - %1 %2 %1 %2 @@ -5617,47 +4669,38 @@ Please select another name. qdesigner_internal::PaletteEditor - Edit Palette Urejanje palete - Tune Palette Nastavitev palete - Show Details Prikaži podrobnosti - Compute Details izračunaj podrobnosti - Quick Hitro - Preview Ogled - Disabled Onemogočeno - Inactive Neaktivno - Active Aktivno @@ -5665,7 +4708,6 @@ Please select another name. qdesigner_internal::PaletteEditorButton - Change Palette Spremeni paleto @@ -5673,22 +4715,18 @@ Please select another name. qdesigner_internal::PaletteModel - Color Role Vloga barve - Active Aktivno - Inactive Neaktivno - Disabled Onemogočeno @@ -5696,28 +4734,22 @@ Please select another name. qdesigner_internal::PixmapEditor - Copy Path Skopiraj pot - Paste Path Prilepi pot - Choose Resource... Izberi vir ... - Choose File... Izberi datoteko ... - - ... ... @@ -5725,7 +4757,6 @@ Please select another name. qdesigner_internal::PlainTextEditorDialog - Edit text Uredi besedilo @@ -5733,37 +4764,30 @@ Please select another name. qdesigner_internal::PluginDialog - Components Komponente - Plugin Information Podatki o vstavkih - Refresh Osveži - Scan for newly installed custom widget plugins. Preveri razpoložljivost na novo nameščenih vstavkov za gradnike po meri. - Qt Designer couldn't find any plugins Qt Designer ni našel nobenega vstavka - Qt Designer found the following plugins Qt Designer je našel naslednje vstavke - New custom widget plugins have been found. Najdeni so bili vstavki za nove gradnike po meri. @@ -5771,7 +4795,6 @@ Please select another name. qdesigner_internal::PreviewActionGroup - %1 Style Slog %1 @@ -5779,50 +4802,38 @@ Please select another name. qdesigner_internal::PreviewConfigurationWidget - Default Privzeto - None Brez - Browse... Brskaj ... - - - qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate - Load Custom Device Skin - Naloži temo za napravo po meri + Naloži temo za napravo po meri - All QVFB Skins (*.%1) Vse teme za QVFB (*.%1) - %1 - Duplicate Skin %1 - podvojena tema - The skin '%1' already exists. Tema »%1« že obstaja. - %1 - Error %1 - napaka - %1 is not a valid skin directory: %2 %1 ni veljavna mapa s temo: @@ -5832,24 +4843,22 @@ Please select another name. qdesigner_internal::PreviewDeviceSkin - &Portrait &Pokončno - Landscape (&CCW) - Rotate form preview counter-clockwise + Rotate form preview counter-clockwise + L&ežeče (v nasprotni smeri ure) - &Landscape (CW) - Rotate form preview clockwise + Rotate form preview clockwise + &Ležeče (v smeri ure) - &Close &Zapri @@ -5857,7 +4866,6 @@ Please select another name. qdesigner_internal::PreviewManager - %1 - [Preview] %1 - [ogled] @@ -5865,10 +4873,10 @@ Please select another name. qdesigner_internal::PreviewMdiArea - The moose in the noose ate the goose who was loose. - Palette editor background + Palette editor background + Šerif bo za vajo spet skuhal domače žgance. @@ -5876,57 +4884,46 @@ skuhal domače žgance. qdesigner_internal::PreviewWidget - Preview Window Okno ogleda - LineEdit UrejevalnaVrstica - ComboBox SpustniSeznam - PushButton Gumb - ButtonGroup2 SkupinaGumbov2 - CheckBox1 PotrditvenoPolje1 - CheckBox2 PotrditvenoPolje2 - ButtonGroup SkupinaGumbov - RadioButton1 IzbirniGumb1 - RadioButton2 IzbirniGumb2 - RadioButton3 IzbirniGumb3 @@ -5934,22 +4931,18 @@ skuhal domače žgance. qdesigner_internal::PromotionModel - Name Ime - Header file Datoteka z glavo - Global include Globalna vključitev - Usage Uporaba @@ -5957,27 +4950,22 @@ skuhal domače žgance. qdesigner_internal::PromotionTaskMenu - Promoted widgets... Povišani gradniki ... - Promote to ... Povišaj v ... - Promote to Povišaj v - Demote to %1 Ponižaj v %1 - Change signals/slots... Spremeni signale/reže ... @@ -5985,59 +4973,48 @@ skuhal domače žgance. qdesigner_internal::PropertyEditor - Add Dynamic Property... Dodaj dinamično lastnost ... - Remove Dynamic Property Odstrani dinamično lastnost - Tree View Drevesni prikaz - Drop Down Button View Gumb s spustim seznamom za prikaz - Object: %1 Class: %2 Objekt: %1 Razred: %2 - Sorting Razvrsti - Color Groups Obarvaj skupine - Configure Property Editor Nastavi urejevalnik lastnosti - String... Niz ... - Bool... Bool ... - Other... Drugo ... @@ -6045,7 +5022,6 @@ Razred: %2 qdesigner_internal::PropertyLineEdit - Insert line break Vstavi prelom vrstice @@ -6053,27 +5029,22 @@ Razred: %2 qdesigner_internal::QDesignerPromotionDialog - Promoted Widgets Povišani gradniki - Promoted Classes Povišani razredi - Promote Povišaj - %1 - Error %1 - napaka - Change signals/slots... Spremeni signale/reže ... @@ -6081,22 +5052,18 @@ Razred: %2 qdesigner_internal::QDesignerResource - Loading qrc file Nalaganje datoteke *.qrc - The specified qrc file <p><b>%1</b></p><p>could not be found. Do you want to update the file location?</p> Podane datoteke *.qrc <p><b>%1</b></p><p>ni bilo moč najti. Ali želite posodobiti lokacijo datoteke?</p> - New location for %1 Nova lokacija za %1 - Resource files (*.qrc) Datoteke z viri (*.qrc) @@ -6104,7 +5071,6 @@ Razred: %2 qdesigner_internal::QDesignerTaskMenu - Set size constraint on %n widget(s) Nastavi omejitev velikosti za %n gradnik @@ -6114,107 +5080,86 @@ Razred: %2 - Change objectName... Spremeni ime objekta ... - Change toolTip... Spremeni namig ... - Change whatsThis... Spremeni KajJeTo ... - Change styleSheet... Spremeni slogovno predlogo ... - Create Menu Bar Ustvari menijsko vrstico - Add Tool Bar Dodaj orodjarno - Create Status Bar Ustvari vrstico stanja - Remove Status Bar Odstrani vrstico stanja - Change script... Spremeni skript ... - Change signals/slots... Spremeni signale/reže ... - Go to slot... Pojdi na režo ... - Size Constraints Omejitve velikosti - Set Minimum Width Nastavi najmanjšo širino - Set Minimum Height Nastavi najmanjšo višino - Set Minimum Size Nastavi najmanjšo velikost - Set Maximum Width Nastavi največjo širino - Set Maximum Height Nastavi največjo višino - Set Maximum Size Nastavi največjo velikost - Edit ToolTip Uredi namig - Edit WhatsThis Uredi KajJeTo - no signals available na voljo ni nobenega signala @@ -6222,13 +5167,10 @@ Razred: %2 qdesigner_internal::QDesignerWidgetBox - - Unexpected element <%1> Nepričakovan element <%1> - A parse error occurred at line %1, column %2 of the XML code specified for the widget %3: %4 %5 Prišlo je do napake razčlenjevanja v vrstici %1, stolpcu %2 kode XML za gradnik %3: %4 @@ -6236,29 +5178,24 @@ Razred: %2 %5 - The XML code specified for the widget %1 does not contain any widget elements. %2 Koda XML za gradnik %1 ne vsebuje nobenega elementa gradnika. %2 - An error has been encountered at line %1 of %2: %3 Prišlo je do napake v vrstici %1 v %2: %3 - Unexpected element <%1> encountered when parsing for <widget> or <ui> Med razčlenjevanjem za <widget> ali <ui> je bil dosežen nepričakovan element <%1>. - Unexpected end of file encountered when parsing widgets. Med razčlenjevanjem gradnikov je bil dosežen nepričakovan konec datoteke. - A widget element could not be found. Ni bilo moč najti elementa gradnika. @@ -6266,73 +5203,58 @@ Razred: %2 qdesigner_internal::QtGradientStopsController - H H - S S - V V - - Hue Odtenek - Sat Zasičenost - Val Vrednost - Saturation Zasičenost - Value Vrednost - R R - G G - B B - Red Rdeča - Green Zelena - Blue Modra @@ -6340,27 +5262,22 @@ Razred: %2 qdesigner_internal::RichTextEditorDialog - Edit text Uredi besedilo - &OK &V redu - &Cancel &Prekliči - Rich Text Bogato besedilo - Source Izvorna koda @@ -6368,72 +5285,58 @@ Razred: %2 qdesigner_internal::RichTextEditorToolBar - Bold Polkrepko - CTRL+B Ctrl+B - Italic Ležeče - CTRL+I CTRL+I - Underline Podčrtano - CTRL+U CTRL+U - Left Align Poravnaj levo - Center Na sredino - Right Align Poravnaj desno - Justify Obojestransko - Superscript Nadpisano - Subscript Podpisano - Insert &Link Vstavi &povezavo - Insert &Image Vstavi &sliko @@ -6441,17 +5344,14 @@ Razred: %2 qdesigner_internal::ScriptDialog - Edit script Uredi skript - <html>Enter a Qt Script snippet to be executed while loading the form.<br>The widget and its children are accessible via the variables <i>widget</i> and <i>childWidgets</i>, respectively. <html>Vnesite delček Qt Scripta, ki bo izveden med nalaganjem obrazca.<br>Gradnik in njegovi podgradniki so dostopni prek spremenljivk <i>widget</i> in <i>childWidgets</i>. - Syntax error Skladenjska napaka @@ -6459,7 +5359,6 @@ Razred: %2 qdesigner_internal::ScriptErrorDialog - Script errors Napake v skriptu @@ -6467,23 +5366,18 @@ Razred: %2 qdesigner_internal::SignalSlotDialog - There is already a slot with the signature '%1'. Reža z odtisom »%1« že obstaja. - There is already a signal with the signature '%1'. Signal z odtisom »%1« že obstaja. - %1 - Duplicate Signature %1 - podvojen odtis - - Signals/Slots of %1 Signali/reže od %1 @@ -6491,12 +5385,10 @@ Razred: %2 qdesigner_internal::SignalSlotEditorPlugin - Edit Signals/Slots Urejanje signalov/rež - F4 F4 @@ -6504,7 +5396,6 @@ Razred: %2 qdesigner_internal::SignalSlotEditorTool - Edit Signals/Slots Urejanje signalov/rež @@ -6512,7 +5403,6 @@ Razred: %2 qdesigner_internal::StatusBarTaskMenu - Remove Odstrani @@ -6520,7 +5410,6 @@ Razred: %2 qdesigner_internal::StringListEditorButton - Change String List Spreminjanje seznama nizov @@ -6528,38 +5417,30 @@ Razred: %2 qdesigner_internal::StyleSheetEditorDialog - Edit Style Sheet Urejanje slogovne predloge - - Valid Style Sheet Veljavna slogovna predloga - Add Resource... Dodaj vir ... - Add Gradient... Dodaj preliv ... - Add Color... Dodaj barvo ... - Add Font... Dodaj pisavo ... - Invalid Style Sheet Neveljavna slogovna predloga @@ -6567,27 +5448,22 @@ Razred: %2 qdesigner_internal::TabOrderEditor - Start from Here Začni od tu - Restart Začni znova - Tab Order List... Seznam vrstnega reda tabulatorke ... - Tab Order List Seznam vrstnega reda tabulatorke - Tab Order Vrstni red tabulatorke @@ -6595,7 +5471,6 @@ Razred: %2 qdesigner_internal::TabOrderEditorPlugin - Edit Tab Order Urejanje vrstnega reda tabulatorke @@ -6603,7 +5478,6 @@ Razred: %2 qdesigner_internal::TabOrderEditorTool - Edit Tab Order Urejanja vrstnega reda tabulatorke @@ -6611,48 +5485,38 @@ Razred: %2 qdesigner_internal::TableWidgetEditor - New Column Nov stolpec - New Row Nova vrstica - &Columns &Stolpci - &Rows &Vrstice - Properties &<< Lastnosti &<< - - Properties &>> Lastnosti &>> - Edit Table Widget Urejanje gradnika s tabelo - &Items &Postavke - Table Items Postavke v tabeli @@ -6660,7 +5524,6 @@ Razred: %2 qdesigner_internal::TableWidgetTaskMenu - Edit Items... Uredi postavke ... @@ -6668,22 +5531,18 @@ Razred: %2 qdesigner_internal::TemplateOptionsWidget - Pick a directory to save templates in Izberite mapo za shranjevanje predlog - Form Obrazec - Additional Template Paths Dodatne poti za predloge - ... ... @@ -6691,22 +5550,18 @@ Razred: %2 qdesigner_internal::TextEditTaskMenu - Change HTML... Spremeni HTML ... - Edit HTML Urejanje HTML-ja - Edit Text Urejanje besedila - Change Plain Text... Spremeni navadno besedilo ... @@ -6714,22 +5569,18 @@ Razred: %2 qdesigner_internal::TextEditor - Choose Resource... Izberi vir ... - Choose File... Izberi datoteko ... - Choose a File Izbiranje datoteke - ... ... @@ -6737,27 +5588,22 @@ Razred: %2 qdesigner_internal::ToolBarEventFilter - Insert Separator Vstavi ločitelja - Remove action '%1' Odstrani dejanje »%1« - Remove Toolbar '%1' Odstrani orodjarno »%1« - Insert Separator before '%1' Vstavi ločitelja pred »%1« - Append Separator Dodaj ločitelja @@ -6765,125 +5611,98 @@ Razred: %2 qdesigner_internal::TreeWidgetEditor - &Columns &Stolpci - Per column properties Lastnosti za stolpec - Common properties Skupne lastnosti - - New Item Nova postavka - Properties &<< Lastnosti &<< - - Properties &>> Lastnosti &>> - New Column Nov stolpec - Edit Tree Widget Urejanje gradnika z drevesom - &Items &Postavke - Tree Items Postavke v drevesu - - New Subitem Nova podpostavka - New &Subitem Nova &podpostavka - Delete Item Zbriši postavko - Move Item Left (before Parent Item) Premakni postavko levo (pred matično postavko) - L L - Move Item Right (as a First Subitem of the Next Sibling Item) Premakni postavko desno (kot prvo podpostavko sledeče postavke) - R E - Move Item Up Premakni postavko gor - U G - Move Item Down Premakni postavko dol - D D - 1 1 - &New &Nova - &Delete &Zbriši @@ -6891,7 +5710,6 @@ Razred: %2 qdesigner_internal::TreeWidgetTaskMenu - Edit Items... Uredi postavke ... @@ -6899,7 +5717,6 @@ Razred: %2 qdesigner_internal::WidgetBox - Warning: Widget creation failed in the widget box. This could be caused by invalid custom widget XML. Opozorilo: ustvarjanje gradnika v podoknu z gradniki ni uspelo. Za to je morda kriv neveljaven XML gradnika po meri. @@ -6907,42 +5724,34 @@ Razred: %2 qdesigner_internal::WidgetBoxTreeWidget - Scratchpad Beležnica - Custom Widgets Gradniki po meri - Expand all Razširi vse - Collapse all Skrči vse - List View Prikaz seznama - Icon View Prikaz ikon - Remove Odstrani - Edit name Urejanje imena @@ -6950,7 +5759,6 @@ Razred: %2 qdesigner_internal::WidgetDataBase - A custom widget plugin whose class name (%1) matches that of an existing class has been found. Najden je bil vstavek gradnika po meri, katerega ime (%1) je enako imenu obstoječega razreda. @@ -6958,7 +5766,6 @@ Razred: %2 qdesigner_internal::WidgetEditorTool - Edit Widgets Urejanje gradnikov @@ -6966,34 +5773,28 @@ Razred: %2 qdesigner_internal::WidgetFactory - The custom widget factory registered for widgets of class %1 returned 0. Tovarna gradnikov po meri, ki je registrirana za gradnike razreda %1, je vrnila 0. - A class name mismatch occurred when creating a widget using the custom widget factory registered for widgets of class %1. It returned a widget of class %2. Med ustvarjanjem gradnika z uporabo tovarne gradnikov po meri, ki je registrirana za gradnike razreda %1, je prišlo do neujemanja v imenu razreda. Tovarna je vrnila gradnik razreda %2. - %1 Widget Gradnik %1 - The current page of the container '%1' (%2) could not be determined while creating a layout.This indicates an inconsistency in the ui-file, probably a layout being constructed on a container widget. Trenutne strani vsebnika »%1« (%2) med dodajanjem razporeda ni bilo moč določiti. To nakazuje na neskladnost v datoteki *.ui. Verjetno je na vsebovalnem gradniku zgrajen razpored. - Attempt to add a layout to a widget '%1' (%2) which already has an unmanaged layout of type %3. This indicates an inconsistency in the ui-file. Poskus dodajanja razporeda gradniku »%1« (%2), ki že ima neupravljan razpored vrste %3. To nakazuje na neskladnost v datoteki *.ui. - Cannot create style '%1'. Ni moč ustvariti sloga »%1«. @@ -7001,12 +5802,10 @@ To nakazuje na neskladnost v datoteki *.ui. qdesigner_internal::WizardContainerWidgetTaskMenu - Next Naprej - Back Nazaj @@ -7014,18 +5813,62 @@ To nakazuje na neskladnost v datoteki *.ui. qdesigner_internal::ZoomMenu - %1 % - Zoom factor + Zoom factor + %1 % qdesigner_internal::ZoomablePreviewDeviceSkin - &Zoom &Povečava + + + + <Filter> + qdesigner_internal::FilterWidget| + <filter> + + + Change Current Page + qdesigner_internal::ObjectInspector::ObjectInspectorPrivate| + Spreminjanje trenutne strani + + + Load Custom Device Skin + qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate| + Naloži temo za napravo po meri + + + All QVFB Skins (*.%1) + qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate| + Vse teme za QVFB (*.%1) + + + %1 - Duplicate Skin + qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate| + %1 - podvojena tema + + + The skin '%1' already exists. + qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate| + Tema »%1« že obstaja. + + + %1 - Error + qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate| + %1 - napaka + + + %1 is not a valid skin directory: +%2 + qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate| + %1 ni veljavna mapa s temo: +%2 + + diff --git a/translations/qt_sl.ts b/translations/qt_sl.ts index 6c42bb8..e0cee0f 100644 --- a/translations/qt_sl.ts +++ b/translations/qt_sl.ts @@ -1,10 +1,16 @@ + 2010-08-05 12:59+0200 + MIME-Version,Content-Type,Content-Transfer-Encoding,Plural-Forms,X-Language,X-Qt-Contexts,Last-Translator,PO-Revision-Date,Project-Id-Version,Language-Team,X-Generator + Lokalize 1.1 + Slovenian <lugos-slo@lugos.si> + + # Jure Repinc <jlp@holodeck1.com>, 2010. + Jure Repinc <jlp@holodeck1.com> CloseButton - Close Tab Zapri zavihek @@ -12,45 +18,68 @@ FakeReply - Fake error ! Lažna napaka. - Invalid URL Neveljaven URL + MAC_APPLICATION_MENU + + Services + Storitve + + + Hide %1 + Skrij %1 + + + Hide Others + Skrij druge + + + Show All + Prikaži vse + + + Preferences... + Nastavitve ... + + + Quit %1 + Končaj %1 + + + About %1 + O %1 + + + Phonon:: - Notifications Obvestila - Music Glasba - Video Video - Communication Komunikacija - Games Igre - Accessibility Dostopnost @@ -58,32 +87,31 @@ Phonon::AudioOutput - <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>Naprava za predvajanje zvoka <b>%1</b> ne deluje.<br/>Preklapljanje na <b>%2</b>.</html> - <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> <html>Preklapljanje na napravo za predvajanje zvoka <b>%1</b>,<br/>ki je ravnokar postala dostopna in ima višjo preferenco.</html> - Revert back to device '%1' Povrni nazaj na napravo »%1« + + <html>Switching to the audio playback device <b>%1</b><br/>which has higher preference or is specifically configured for this stream.</html> + <html>Preklapljanje na napravo za predvajanje zvoka <b>%1</b>,<br/>ki ima višjo preferenco ali pa je posebej nastavljena za ta tok.</html> + Phonon::Gstreamer::Backend - Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled. Opozorilo: kot kaže paket gstreamer0.10-plugins-good ni nameščen. Nekatere možnosti predvajanja videa so onemogočene. - Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Opozorilo: kot kaže osnovni vstavki za GStreamer niso nameščeni. @@ -93,10 +121,9 @@ Phonon::Gstreamer::MediaObject - Cannot start playback. -Check your Gstreamer installation and make sure you +Check your GStreamer installation and make sure you have libgstreamer-plugins-base installed. Ni moč začeti predvajanja. @@ -104,39 +131,34 @@ Preverite namestitev GStreamerja in se prepričajte, da je nameščen paket libgstreamer-plugins-base. - + Missing codec helper script assistant. + Manjka pomožni skript pomočnika za kodeke. + + + Plugin codec installation failed for codec: %0 + Namesitev vstavka s kodekom ni uspela: %0 + + A required codec is missing. You need to install the following codec(s) to play this content: %0 Manjka potreben kodek. Za predvajanje te vsebine morate namestiti sledeče kodeke: %0 - - - - - - - - Could not open media source. Ni moč odpreti večpredstavnostnega vira. - Invalid source type. Neveljavna vrsta vira. - Could not locate media source. Ni moč najti večpredstavnostnega vira. - Could not open audio device. The device is already in use. Ni moč odpreti zvočne naprave. Naprava je že v uporabi. - Could not decode media source. Ni moč dekodirati večpredstavnostnega vira. @@ -144,82 +166,323 @@ da je nameščen paket libgstreamer-plugins-base. Phonon::MMF - Audio Output Predvajanje zvoka - The audio output device Naprava za predvajanje zvoka + + No error + Brez napake + + + Not found + Ni najdeno + + + Out of memory + Zmanjkalo pomnilnika + + + Not supported + Ni podprto + + + Overflow + Prekoračitev zgornje meje + + + Underflow + Prekoračitev spodnje meje + + + Already exists + Že obstaja + + + Path not found + Pot ni najdena + + + In use + V uporabi + + + Not ready + Ni pripravljeno + + + Access denied + Dostop zavrnjen + + + Could not connect + Povezava ni mogoča + + + Disconnected + Povezava prekinjena + + + Permission denied + Ni dovoljenja + + + Insufficient bandwidth + Pasovna širina ni zadostna + + + Network unavailable + Omrežje ni na voljo + + + Network communication error + Napaka komunikacije prek omrežja + + + Streaming not supported + Pretakanje ni podprto + + + Server alert + Opozorilo strežnika + + + Invalid protocol + Neveljaven protokol + + + Invalid URL + Neveljaven URL + + + Multicast error + Napaka oddajanja večim + + + Proxy server error + Napaka posredniškega strežnika + + + Proxy server not supported + Posredniški strežnik ni podprt + + + Audio output error + Napaka predvajanja zvoka + + + Video output error + Napaka prevajanja videa + + + Decoder error + Napaka dekodirnika + + + Audio or video components could not be played + Zvočne ali video komponente ni bilo moč predvajati + + + DRM error + Napaka upravljanja z omejitvami + + + Unknown error (%1) + Neznana napaka (%1) + + + + Phonon::MMF::AbstractMediaPlayer + + Not ready to play + Ni pripravljen na predvajanje + + + Error opening file + Napaka pri odpiranju datoteke + + + Error opening URL + Napaka pri odpiranju URL-ja + + + Error opening resource + Napaka pri odpiranju vira + + + Error opening source: resource not opened + Napaka pri odporanju vira: vir ni bil odprt + + + Setting volume failed + Nastavljanje glasnosti ni uspelo + + + Loading clip failed + Nalaganje posnetka ni uspelo + + + Playback complete + Predvajanje je zaključeno + + + + Phonon::MMF::AbstractVideoPlayer + + Pause failed + Prekinitev ni uspela + + + Seek failed + Pomik ni uspel + + + Getting position failed + Pridobivanje položaja ni uspelo + + + Opening clip failed + Odpiranje posnetka ni uspelo + Phonon::MMF::AudioEqualizer - - Frequency band, %1 Hz - Frekvenčni pas, %1 Hz + %1 Hz + %1 Hz + + + + Phonon::MMF::AudioPlayer + + Getting position failed + Pridobivanje položaja ni uspelo + + + + Phonon::MMF::DsaVideoPlayer + + Video display error + Napaka prikaza videa Phonon::MMF::EffectFactory - - audio equalizer - izenačevalnik zvoka + Enabled + Omogočeno + + + Phonon::MMF::EnvironmentalReverb - - Bass boost - Ojačanje basov + Decay HF ratio (%) + DecayHFRatio: Ratio of high-frequency decay time to the value specified by DecayTime. + + - - Distance Attenuation - Utišanje zaradi razdalje + Decay time (ms) + DecayTime: Time over which reverberation is diminished. + + - - - Environmental Reverb - Okoljsko odmevanje + Density (%) + 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. + + Gostota (%) - - Loudness - Glasnost + Diffusion (%) + 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. + + Razpršitev (%) - - Source Orientation - Usmerjenost vira + Reflections delay (ms) + ReflectionsDelay: Amount of delay between the arrival the direct path from the source and the arrival of the first reflection. + + Zamik odbojev (ms) - - Stereo Widening - Razširitev sterea + Reflections level (mB) + ReflectionsLevel: Amplitude of reflections. This value is corrected by the RoomLevel to give the final reflection amplitude. + + Glasnost odbojev (mB) + + + Reverb delay (ms) + ReverbDelay: Amount of time between arrival of the first reflection and start of the late reverberation. + + Zamik odmeva (ms) + + + Reverb level (mB) + ReverbLevel Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude. + + Glasnost odmeva (ms) + + + Room HF level + RoomHFLevel: Amplitude of low-pass filter used to attenuate the high frequency component of reflected sound. + + VF glasnost prostora + + + Room level (mB) + RoomLevel: Master volume control for all reflected sound. + + Glasnost prostora (mB) + + + + Phonon::MMF::MediaObject + + Error opening source: type not supported + Napaka pri odpiranju vira: vrsta ni podprta + + + Error opening source: resource is compressed + Napaka pri odporanju vira: vir je stisnjen + + + Error opening source: resource not valid + Napaka pri odporanju vira: vir ni veljaven + + + Error opening source: media type could not be determined + Napaka pri odpiranju vira: ni bilo moč ugotoviti vrste večpredstavnostne datoteke + + + + Phonon::MMF::StereoWidening + + Level (%) + Stopnja (%) + + + + Phonon::MMF::SurfaceVideoPlayer + + Video display error + Napaka prikaza videa Phonon::VolumeSlider - - - - Volume: %1% Glasnost: %1 % - - - Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% Uporabite ta drsnik, da nastavite glasnost. Skrajno levi položaj je 0 %, skrajno desni pa %1 %. - Muted Utišan @@ -227,12 +490,10 @@ da je nameščen paket libgstreamer-plugins-base. Q3Accel - %1, %2 not defined %1, %2 ni definiran - Ambiguous %1 not handled Brez rokovanja z dvoumnim %1 @@ -240,27 +501,22 @@ da je nameščen paket libgstreamer-plugins-base. Q3DataTable - True Pravilno - False Napačno - Insert Vstavi - Update Posodobi - Delete Izbriši @@ -268,313 +524,238 @@ da je nameščen paket libgstreamer-plugins-base. Q3FileDialog - Copy or Move a File Skopiraj ali premakni datoteko - Read: %1 Branje: %1 - - Write: %1 Pisanje: %1 - - Cancel Prekliči - - - - All Files (*) Vse datoteke (*) - Name Ime - Size Velikost - Type Vrsta - Date Datum - Attributes Lastnosti - - &OK &V redu - Look &in: Išči &v: - - - File &name: Ime &datoteke: - File &type: &Vrsta datoteke: - Back Nazaj - One directory up Za eno mapo navzgor - Create New Folder Ustvari novo mapo - List View Prikaz seznama - Detail View Prikaz podrobnosti - Preview File Info Podatki ogleda datoteke - Preview File Contents Vsebina ogleda datoteke - Read-write Branje in pisanje - Read-only Samo za branje - Write-only Samo za pisanje - Inaccessible Nedostopno - Symlink to File Simbolna povezava do datoteke - Symlink to Directory Simbolna povezava do mape - Symlink to Special Simbolna povezava do posebnega - File Datoteka - Dir Mapa - Special Posebno - - - Open Odpri - - Save As Shrani kot - - - &Open &Odpri - - &Save &Shrani - &Rename Pre&imenuj - &Delete &Izbriši - R&eload &Znova naloži - Sort by &Name Razvrsti po &imenu - Sort by &Size Razvrsti po &velikosti - Sort by &Date Razvrsti po &datumu - &Unsorted &Brez razvrščanja - Sort Razvrsti - Show &hidden files Prikaži &skrite datoteke - the file datoteko - the directory mapo - the symlink simbolno povezavo - Delete %1 Izbriši %1 - <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>Ali res želite izbrisati %1 »%2«?</qt> - &Yes &Da - &No &Ne - New Folder 1 Nova mapa 1 - New Folder Nova mapa - New Folder %1 Nova mapa %1 - Find Directory Najdi mapo - - Directories Mape - Directory: Mapa: - - Error Napaka - %1 File not found. Check path and filename. @@ -583,17 +764,14 @@ Datoteke ni moč najti. Preverite pot in ime datoteke. - All Files (*.*) Vse datoteke (*.*) - Open Odpri - Select a Directory Izberite mapo @@ -601,29 +779,24 @@ Preverite pot in ime datoteke. Q3LocalFs - - Could not read directory %1 Ni bilo moč brati mape %1 - Could not create directory %1 Ni bilo moč ustvariti mape %1 - Could not remove file or directory %1 Ni bilo moč odstraniti datoteke ali mape %1 - Could not rename %1 to @@ -634,14 +807,12 @@ v %2 - Could not open %1 Ni moč odpreti %1 - Could not write %1 Ni bilo moč zapisati @@ -651,12 +822,10 @@ v Q3MainWindow - Line up V vrsto - Customize... Prilagodi ... @@ -664,7 +833,6 @@ v Q3NetworkProtocol - Operation stopped by the user Dejanje zaustavil uporabnik @@ -672,8 +840,6 @@ v Q3ProgressDialog - - Cancel Prekliči @@ -681,28 +847,22 @@ v Q3TabDialog - - OK V redu - Apply Uveljavi - Help Pomoč - Defaults Privzetosti - Cancel Prekliči @@ -710,38 +870,30 @@ v Q3TextEdit - &Undo &Razveljavi - &Redo &Uveljavi - Cu&t &Izreži - &Copy S&kopiraj - &Paste Pri&lepi - Clear Počisti - - Select All Izberi vse @@ -749,67 +901,54 @@ v Q3TitleBar - System Sistem - Restore up Obnovi - Minimize Pomanjšaj - Restore down Obnovi - Maximize Razpni - Close Zapri - Contains commands to manipulate the window Vsebuje ukaze za upravljanje z oknom - Puts a minimized window back to normal Obnovi pomanjšano okno na običajno velikost - Moves the window out of the way Umakne okno, da ni v napoto - Puts a maximized window back to normal Obnovi razpeto okno - Makes the window full screen Razpne okno čez ves zaslon - Closes the window Zapre okno - Displays the name of the window and contains controls to manipulate it Prikazuje ime okna in vsebuje gumbe za nadzor okna @@ -817,7 +956,6 @@ v Q3ToolBar - More... Več ... @@ -825,51 +963,38 @@ v Q3UrlOperator - - - The protocol `%1' is not supported Protokol »%1« ni podprt. - The protocol `%1' does not support listing directories Protokol »%1« ne podpira izpisa seznama map. - The protocol `%1' does not support creating new directories Protokol »%1« ne podpira ustvarjanja novih map. - The protocol `%1' does not support removing files or directories Protokol »%1« ne podpira odstranjevanja datotek ali map. - The protocol `%1' does not support renaming files or directories Protokol »%1« ne podpira preimenovanja datotek ali map. - The protocol `%1' does not support getting files Protokol »%1« ne podpira prejemanja datotek. - The protocol `%1' does not support putting files Protokol »%1« ne podpira pošiljanja datotek. - - The protocol `%1' does not support copying or moving files or directories Protokol »%1« ne podpira kopiranja ali premikanja datotek ali map. - - (unknown) (neznano) @@ -877,27 +1002,22 @@ v Q3Wizard - &Cancel &Prekliči - < &Back < Na&zaj - &Next > &Naprej > - &Finish &Končaj - &Help &Pomoč @@ -905,44 +1025,30 @@ v QAbstractSocket - - - - Host not found Ni moč najti gostitelja - - - Connection refused Povezava je zavrnjena - Connection timed out Čas za povezavo je potekel - - - Operation on socket is not supported Dejanje na vtičnici ni podprto - Socket operation timed out Čas za dejanje na vtičnici je potekel - Socket is not connected Vtičnica ni povezana. - Network unreachable Omrežje ni dosegljivo @@ -950,17 +1056,14 @@ v QAbstractSpinBox - &Step up Korak &gor - Step &down Korak &dol - &Select All Izberi &vse @@ -968,7 +1071,6 @@ v QAccessibleButton - Press Pritisni @@ -976,28 +1078,23 @@ v QApplication - Activate Aktiviraj - Executable '%1' requires Qt %2, found Qt %3. Izvršljiva datoteka »%1« potrebuje Qt %2, najden pa je bil Qt %3. - Incompatible Qt Library Error Napaka nezdružljivosti knjižnice Qt - QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR - Activates the program's main window Aktivira glavno okno programa @@ -1005,22 +1102,18 @@ v QAxSelect - Select ActiveX Control Izberite kontrolnik ActiveX - OK V redu - &Cancel &Prekliči - COM &Object: &Objekt COM: @@ -1028,17 +1121,14 @@ v QCheckBox - Uncheck Odznači - Check Označi - Toggle Preklopi @@ -1046,57 +1136,46 @@ v QColorDialog - Hu&e: &Odtenek: - &Sat: &Zasičenost: - &Val: &Vrednost: - &Red: &Rdeča: - &Green: &Zelena: - Bl&ue: &Modra: - A&lpha channel: Kanal &alfa: - Select Color Izberite barvo - &Basic colors &Osnovne barve - &Custom colors Barve po &meri - &Add to Custom Colors &Dodaj lastnim barvam @@ -1104,23 +1183,18 @@ v QComboBox - - Open Odpri - False Napačno - True Pravilno - Close Zapri @@ -1128,43 +1202,36 @@ v QCoreApplication - %1: key is empty QSystemSemaphore %1: ključ je prazen - %1: unable to make key QSystemSemaphore %1: ni moč ustvariti ključa - %1: ftok failed QSystemSemaphore %1: funkcija ftok ni uspela - %1: already exists QSystemSemaphore %1: že obstaja - %1: does not exist QSystemSemaphore %1: ne obstaja - %1: out of resources QSystemSemaphore %1: zmanjkalo je virov - %1: unknown error %2 QSystemSemaphore %1: neznana napaka %2 @@ -1173,22 +1240,18 @@ v QDB2Driver - Unable to connect Ni moč vzpostaviti povezave - Unable to commit transaction Ni moč udejaniti transakcije - Unable to rollback transaction Ni moč razveljaviti transakcije - Unable to set autocommit Ni moč nastaviti samodejnega udejanjanja @@ -1196,33 +1259,26 @@ v QDB2Result - - Unable to execute statement Ni moč izvesti izjave - Unable to prepare statement Ni moč pripraviti izjave - Unable to bind variable Ni moč prikleniti spremenljivke - Unable to fetch record %1 Ni moč pridobiti zapisa %1 - Unable to fetch next Ni moč pridobiti sledečega - Unable to fetch first Ni moč pridobiti prvega @@ -1230,226 +1286,1060 @@ v QDateTimeEdit - AM dop. - am dop. - PM pop. - pm pop. - QDial + QDeclarativeAbstractAnimation - - QDial - QDial + Cannot animate non-existent property "%1" + Neobstoječe lastnosti »%1« ni moč animirati - - SpeedoMeter - SpeedoMeter + Cannot animate read-only property "%1" + Lastnosti »%1«, ki je samo za branje, ni moč animirati - - SliderHandle - SliderHandle + Animation is an abstract class + Animacija je abstrakten razred - QDialog - - - What's This? - Kaj je to? - + QDeclarativeAnchorAnimation - - Done - Opravljeno + Cannot set a duration of < 0 + Trajanja, ki je krajše od 0, ni moč nastaviti - QDialogButtonBox + QDeclarativeAnchors - - - - OK - V redu + Possible anchor loop detected on fill. + Ob zapolnjevanju je bila zaznana možna zanka sidra. - - &OK - &V redu + Possible anchor loop detected on centerIn. + Ob usrediščanju je bila zaznana možna zanka sidra. - - &Save - &Shrani + Cannot anchor to an item that isn't a parent or sibling. + Na objekt, ki ni nadrejen ali enakovreden, se ni moč zasidrati. - - Save - Shrani + Possible anchor loop detected on vertical anchor. + Ob navpičnem sidru je bila zaznana možna zanka sidra. - - Open - Odpri + Possible anchor loop detected on horizontal anchor. + Ob vodoravnem sidru je bila zaznana možna zanka sidra. - - &Cancel - &Prekliči + Cannot specify left, right, and hcenter anchors. + Levih, desnih in vodoravno sredinskih sider ni moč določiti. - - Cancel - Prekliči + Cannot anchor to a null item. + Na ničelni objekt se ni moč zasidrati. - - &Close - &Zapri + Cannot anchor a horizontal edge to a vertical edge. + Vodoravnega roba ni moč zasidrati na navpični rob. - - Close - Zapri + Cannot anchor item to self. + Objekta ni moč zasidrati samega nase. - - Apply - Uveljavi + Cannot specify top, bottom, and vcenter anchors. + Vrhnjih, spodnjih in navpično sredinskih sider ni moč določiti. - - Reset - Ponastavi + Baseline anchor cannot be used in conjunction with top, bottom, or vcenter anchors. + Sidra na osnovnici ni moč uporabiti skupaj z vrhnjimi, spodnjimi ali navpično sredinskimi sidri. - - Help - Pomoč + Cannot anchor a vertical edge to a horizontal edge. + Navpičnega roba ni moč zasidrati na vodoravni rob. + + + QDeclarativeAnimatedImage - - Don't Save - Ne shrani + Qt was built without support for QMovie + Qt je bil zgrajen brez podpore za QMovie + + + QDeclarativeBehavior - - Discard - Zavrzi + Cannot change the animation assigned to a Behavior. + Animacije, ki je prirejena obnašanju, ni moč spremeniti. + + + QDeclarativeBinding - - &Yes - &Da + Binding loop detected for property "%1" + Za lastnost »%1« je bila zaznana zanka vezave + + + QDeclarativeCompiledBindings - - Yes to &All - Da za &vse + Binding loop detected for property "%1" + Za lastnost »%1« je bila zaznana zanka vezave + + + QDeclarativeCompiler - - &No - &Ne + Invalid property assignment: "%1" is a read-only property + Neveljavna prireditev lastnosti: »%1« je lastnost, ki je samo za branje - - N&o to All - N&e za vse + Invalid property assignment: unknown enumeration + Neveljavna prireditev lastnosti: neznano oštevilčenje - - Save All - Shrani vse + Invalid property assignment: string expected + Neveljavna prireditev lastnosti: pričakovan je niz - - Abort - Prekini + Invalid property assignment: url expected + Neveljavna prireditev lastnosti: pričakovan je URL - - Retry - Poskusi znova + Invalid property assignment: unsigned int expected + Neveljavna prireditev lastnosti: pričakovano je nepredznačeno celo število - - Ignore - Spreglej + Invalid property assignment: int expected + Neveljavna prireditev lastnosti: pričakovano je celo število - - Restore Defaults - Obnovi privzete vrednosti + Invalid property assignment: number expected + Neveljavna prireditev lastnosti: pričakovano je število - - Close without Saving - Zapri brez shranjevanja + Invalid property assignment: color expected + Neveljavna prireditev lastnosti: pričakovana je barva - - - QDirModel - - Name - Ime + Invalid property assignment: date expected + Neveljavna prireditev lastnosti: pričakovan je datum - - Size - Velikost + Invalid property assignment: time expected + Neveljavna prireditev lastnosti: pričakovan je čas - - Kind - Match OS X Finder - Vrste + Invalid property assignment: datetime expected + Neveljavna prireditev lastnosti: pričakovana sta datum in čas - - Type - All other platforms - Vrsta + Invalid property assignment: point expected + Neveljavna prireditev lastnosti: pričakovana je točka - - Date Modified - Datum spremembe + Invalid property assignment: size expected + Neveljavna prireditev lastnosti: pričakovana je velikost - - - QDockWidget - - Close - Zapri + Invalid property assignment: rect expected + Neveljavna prireditev lastnosti: pričakovan je pravokotnik - - Dock - Zasidraj + Invalid property assignment: boolean expected + Neveljavna prireditev lastnosti: pričakovana je logična vrednost + + + Invalid property assignment: 3D vector expected + Neveljavna prireditev lastnosti: pričakovan je 3D vektor + + + Invalid property assignment: unsupported type "%1" + Neveljavna prireditev lastnosti: nepodprta vrsta »%1« + + + Element is not creatable. + Elementa ni moč ustvariti. + + + Component elements may not contain properties other than id + Elementi komponent ne smejo vsebovati drugih lastnosti kot ID + + + Invalid component id specification + Neveljavno določen ID komponente + + + id is not unique + ID ni edinstven + + + Invalid component body specification + Neveljavno določeno telo komponente + + + Component objects cannot declare new properties. + Objekti komponent ne morejo deklarirati novih lastnosti. + + + Component objects cannot declare new signals. + Objekti komponent ne morejo deklarirati novih signalov. + + + Component objects cannot declare new functions. + Objekti komponent ne morejo deklarirati novih funkcij. + + + Cannot create empty component specification + Prazne specifikacije komponente ni moč ustvariti + + + Incorrectly specified signal assignment + Napačno določena prireditev signalu + + + Cannot assign a value to a signal (expecting a script to be run) + Signalu ni moč prirediti vrednosti (pričakovan je skript, ki bo zagnan) + + + Empty signal assignment + Prazna prireditev signalu + + + Empty property assignment + Prazna prireditev lastnosti + + + Attached properties cannot be used here + Pripete lastnosti tu ne morejo biti uporabljene + + + Non-existent attached object + Neobstoječ pripet objekt + + + Invalid attached object assignment + Neveljavna prireditev pripetega objekta + + + Cannot assign to non-existent default property + Neobstoječi privzeti lastnosti ni moč prirediti + + + Cannot assign to non-existent property "%1" + Neobstoječi lastnosti »%1« ni moč prirediti + + + Invalid use of namespace + Napačna raba imenskega prostora + + + Not an attached property name + Ni ime pripete lastnosti + + + Invalid use of id property + Napačna raba lastnosti ID + + + Property has already been assigned a value + Lastnosti je že bila prirejena vrednost + + + Invalid grouped property access + Neveljaven dostop do skupinske lastnosti + + + Cannot assign a value directly to a grouped property + Skupinski lastnosti ni moč neposredno prirediti vrednosti + + + Invalid property use + Neveljavna raba lastnosti + + + Property assignment expected + Pričakovana je prireditev lastnosti + + + Single property assignment expected + Pričakovana je enojna prireditev lastnosti + + + Unexpected object assignment + Nepričakovana prireditev objekta + + + Cannot assign object to list + Objekta ni moč prirediti seznamu + + + Can only assign one binding to lists + Seznamom je moč prirediti le eno vezavo + + + Cannot assign primitives to lists + Seznamom ni moč prirediti osnovnih tipov + + + Cannot assign multiple values to a script property + + + + Invalid property assignment: script expected + Neveljavna prireditev lastnosti: pričakovan je skript + + + Cannot assign object to property + Objekta ni moč prirediti lastnosti + + + "%1" cannot operate on "%2" + »%1« ne more delovati na »%2« + + + Duplicate default property + Podvojena privzeta lastnost + + + Duplicate property name + Podvojeno ime lastnosti + + + Property names cannot begin with an upper case letter + Imena lastnosti se ne smejo začeti z veliko črko + + + Illegal property name + Neveljavno ime lastnosti + + + Duplicate signal name + Podvojeno ime signala + + + Signal names cannot begin with an upper case letter + Imena signalov se ne smejo začeti z veliko črko + + + Illegal signal name + Neveljavno ime signala + + + Duplicate method name + Podvojeno ime metode + + + Method names cannot begin with an upper case letter + Imena metod se ne smejo začeti z veliko črko + + + Illegal method name + Neveljavno ime metode + + + Property value set multiple times + Vrednost lastnosti je bila nastavljena večkrat + + + Invalid property nesting + Neveljavno gnezdenje lastnosti + + + Cannot override FINAL property + Lastnosti FINAL ni moč povoziti + + + Invalid property type + Neveljavna vrsta lastnosti + + + Invalid empty ID + Neveljaven prazen ID + + + IDs cannot start with an uppercase letter + ID-ji se ne smejo začeti z veliko črko + + + IDs must start with a letter or underscore + ID-ji se morajo začeti s črko ali podčrtajem + + + IDs must contain only letters, numbers, and underscores + ID-ji lahko vsebujejo le črke, števke in podčrtaje + + + ID illegally masks global JavaScript property + ID neveljavno zakriva globalno lastnost JavaScripta + + + No property alias location + Brez lokacije aliasa lastnosti + + + Invalid alias location + Neveljavna lokacija aliasa + + + Invalid alias reference. An alias reference must be specified as <id> or <id>.<property> + Neveljavna referenca aliasa. Referenca aliasa mora biti določena kot <id> ali <id>.<lastnost> + + + Invalid alias reference. Unable to find id "%1" + Neveljavna referenca aliasa. ID-ja »%1« ni moč najti + + + + QDeclarativeComponent + + Invalid empty URL + Neveljaven prazen URL + + + + QDeclarativeCompositeTypeManager + + Resource %1 unavailable + Vir %1 ni na voljo + + + Namespace %1 cannot be used as a type + Imenskega prostora %1 ni moč uporabiti kot vrste + + + %1 %2 + %1 % {1 %2?} + + + Type %1 unavailable + Vrsta %1 ni na voljo + + + + QDeclarativeConnections + + Cannot assign to non-existent property "%1" + Neobstoječi lastnosti »%1« ni moč prirediti + + + Connections: nested objects not allowed + Povezave: gnezdeni objekti niso dovoljeni + + + Connections: syntax error + Povezave: napaka v skladnji + + + Connections: script expected + Povezave: pričakovan je skript + + + + QDeclarativeEngine + + executeSql called outside transaction() + executeSql je bil klican izven transaction() + + + Read-only Transaction + Transakcija samo za branje + + + Version mismatch: expected %1, found %2 + Neujemanje različic: pričakovana %1, najdena %2 + + + SQL transaction failed + Transakcija SQL ni uspela + + + transaction: missing callback + transaction: manjka povratni klic + + + SQL: database version mismatch + SQL: neujemanje različice podatkovne zbirke + + + + QDeclarativeFlipable + + front is a write-once property + front je lastnost, ki se jo lahko zapiše samo enkrat + + + back is a write-once property + back je lastnost, ki se jo lahko zapiše samo enkrat + + + + QDeclarativeImportDatabase + + module "%1" definition "%2" not readable + definicije »%2« modula »%1« ni moč brati + + + plugin cannot be loaded for module "%1": %2 + vstavka za modul »%1« ni moč naložiti: %2 + + + module "%1" plugin "%2" not found + vstavek »%2« modula »%1« ni bil najden + + + module "%1" version %2.%3 is not installed + modul »%1« različice %2.%3 ni nameščen + + + module "%1" is not installed + modul »%1« ni nameščen + + + "%1": no such directory + »%1«: mapa ne obstaja + + + import "%1" has no qmldir and no namespace + + + + - %1 is not a namespace + – %1 ni imenski prostor + + + - nested namespaces not allowed + – gnezdeni imenski prostori niso dovoljeni + + + local directory + krajevna mapa + + + is ambiguous. Found in %1 and in %2 + je dvoumno. Najdeno v %1 in %2 + + + is ambiguous. Found in %1 in version %2.%3 and %4.%5 + je dvoumno. Najdeno v %1 v različicah %2.%3 in %4.%5 + + + is instantiated recursively + je instanciran rekurzivno + + + is not a type + ni vrsta + + + + QDeclarativeKeyNavigationAttached + + KeyNavigation is only available via attached properties + KeyNavigation je na voljo samo s pripetimi lastnostmi + + + + QDeclarativeKeysAttached + + Keys is only available via attached properties + Keys je na voljo samo s pripetimi lastnostmi + + + + QDeclarativeListModel + + remove: index %1 out of range + remove: indeks %1 je izven obsega + + + insert: value is not an object + insert: vrednost ni objekt + + + insert: index %1 out of range + insert: indeks %1 je izven obsega + + + move: out of range + move: izven obsega + + + append: value is not an object + append: vrednost ni objekt + + + set: value is not an object + set: vrednost ni objekt + + + set: index %1 out of range + set: indeks %1 je izven obsega + + + ListElement: cannot contain nested elements + + + + ListElement: cannot use reserved "id" property + ListElement: ne more uporabiti rezervirane lastnosti »id« + + + ListElement: cannot use script for property value + ListElement: ne more uporabiti skripta za vrednost lastnosti + + + ListModel: undefined property '%1' + ListModel: nedoločena lastnost »%1« + + + + QDeclarativeLoader + + Loader does not support loading non-visual elements. + Loader ne podpira nalaganja elementov, ki niso vidni. + + + + QDeclarativeParentAnimation + + Unable to preserve appearance under complex transform + + + + Unable to preserve appearance under non-uniform scale + + + + Unable to preserve appearance under scale of 0 + + + + + QDeclarativeParentChange + + Unable to preserve appearance under complex transform + + + + Unable to preserve appearance under non-uniform scale + + + + Unable to preserve appearance under scale of 0 + + + + + QDeclarativeParser + + Illegal unicode escape sequence + Neveljavno ubežno zaporedje Unicode + + + Illegal character + Neveljaven znak + + + Unclosed string at end of line + Nezaprt niz na koncu vrstice + + + Illegal escape squence + Neveljavno ubežno zaporedje + + + Unclosed comment at end of file + Nezaprt komentar na koncu datoteke + + + Illegal syntax for exponential number + Neveljavna skladnja za eksponentno število + + + Identifier cannot start with numeric literal + + + + Unterminated regular expression literal + + + + Invalid regular expression flag '%0' + Neveljavna zastavica »%0« regularnega izraza + + + Unterminated regular expression backslash sequence + + + + Unterminated regular expression class + + + + Syntax error + Skladenjska napaka + + + Unexpected token `%1' + Nepričakovan žeton »%1« + + + Expected token `%1' + Pričakovan žeton »%1« + + + Property value set multiple times + Vrednost lastnosti je bila nastavljena večkrat + + + Expected type name + + + + Invalid import qualifier ID + + + + Reserved name "Qt" cannot be used as an qualifier + + + + Script import qualifiers must be unique. + + + + Script import requires a qualifier + + + + Library import requires a version + + + + Expected parameter type + + + + Invalid property type modifier + + + + Unexpected property type modifier + + + + Expected property type + + + + Readonly not yet supported + + + + JavaScript declaration outside Script element + + + + + QDeclarativePauseAnimation + + Cannot set a duration of < 0 + Trajanja, ki je krajše od 0, ni moč nastaviti + + + + QDeclarativePixmap + + Error decoding: %1: %2 + + + + Failed to get image from provider: %1 + + + + Cannot open: %1 + Ni moč odpreti %1: %2 + + + + QDeclarativePropertyAnimation + + Cannot set a duration of < 0 + Trajanja, ki je krajše od 0, ni moč nastaviti + + + + QDeclarativePropertyChanges + + PropertyChanges does not support creating state-specific objects. + + + + Cannot assign to non-existent property "%1" + Neobstoječi lastnosti »%1« ni moč prirediti + + + Cannot assign to read-only property "%1" + + + + + QDeclarativeTextInput + + Could not load cursor delegate + + + + Could not instantiate cursor delegate + + + + + QDeclarativeVME + + Unable to create object of type %1 + + + + Cannot assign value %1 to property %2 + + + + Cannot assign object type %1 with no default method + + + + Cannot connect mismatched signal/slot %1 %vs. %2 + + + + Cannot assign an object to signal property %1 + + + + Cannot assign object to list + Objekta ni moč prirediti seznamu + + + Cannot assign object to interface property + + + + Unable to create attached object + + + + Cannot set properties on %1 as it is null + + + + + QDeclarativeVisualDataModel + + Delegate component must be Item type. + + + + + QDeclarativeXmlListModel + + Qt was built without support for xmlpatterns + + + + + QDeclarativeXmlListModelRole + + An XmlRole query must not start with '/' + + + + + QDeclarativeXmlRoleList + + An XmlListModel query must start with '/' or "//" + + + + + QDial + + QDial + QDial + + + SpeedoMeter + SpeedoMeter + + + SliderHandle + SliderHandle + + + + QDialog + + What's This? + Kaj je to? + + + Done + Opravljeno + + + + QDialogButtonBox + + OK + V redu + + + &OK + &V redu + + + &Save + &Shrani + + + Save + Shrani + + + Open + Odpri + + + &Cancel + &Prekliči + + + Cancel + Prekliči + + + &Close + &Zapri + + + Close + Zapri + + + Apply + Uveljavi + + + Reset + Ponastavi + + + Help + Pomoč + + + Don't Save + Ne shrani + + + Discard + Zavrzi + + + &Yes + &Da + + + Yes to &All + Da za &vse + + + &No + &Ne + + + N&o to All + N&e za vse + + + Save All + Shrani vse + + + Abort + Prekini + + + Retry + Poskusi znova + + + Ignore + Spreglej + + + Restore Defaults + Obnovi privzete vrednosti + + + Close without Saving + Zapri brez shranjevanja + + + + QDirModel + + Name + Ime + + + Size + Velikost + + + Kind + Match OS X Finder + Vrste + + + Type + All other platforms + Vrsta + + + Date Modified + Datum spremembe + + + + QDockWidget + + Close + Zapri + + + Dock + Zasidraj - Float Naj lebdi @@ -1457,12 +2347,10 @@ v QDoubleSpinBox - More Več - Less Manj @@ -1470,27 +2358,22 @@ v QErrorMessage - Debug Message: Sporočilo razhroščevanja: - Warning: Opozorilo: - Fatal Error: Usodna napaka: - &Show this message again &To sporočilo naslednjič spet prikaži - &OK &V redu @@ -1498,38 +2381,30 @@ v QFile - - Destination file exists Ciljna datoteka obstaja - Will not rename sequential file using block copy Sekvenčna datoteka ne bo preimenovana z uporabo kopiranja blokov - Cannot remove source file Ni moč odstraniti izvorne datoteke - Cannot open %1 for input Ni moč odpreti %1 za vhod - Cannot open for output Ni moč odpreti za izhod - Failure to write block Neuspeh pri zapisovanju bloka - Cannot create %1 for output Ni moč ustvariti %1 za izhod @@ -1537,43 +2412,32 @@ v QFileDialog - - All Files (*) Vse datoteke (*) - Directories Mape - - - &Open &Odpri - - &Save &Shrani - Open Odpri - %1 already exists. Do you want to replace it? %1 že obstaja. Ali jo želite nadomestiti? - %1 File not found. Please verify the correct file name was given. @@ -1582,64 +2446,46 @@ Datoteka ni bila najdena. Preverite, ali je bilo podano pravilno ime datoteke. - My Computer Moj računalnik - &Rename Pre&imenuj - &Delete &Izbriši - Show &hidden files Prikaži &skrite datoteke - - Back Nazaj - - Parent Directory Matična mapa - - List View Prikaz seznama - - Detail View Prikaz podrobnosti - - Files of type: Datoteke vrste: - - Directory: Mapa: - - %1 Directory not found. Please verify the correct directory name was given. @@ -1648,475 +2494,399 @@ Mapa ni bila najdena. Preverite, ali je bilo podano pravilno ime mape. - '%1' is write protected. Do you want to delete it anyway? »%1« je zaščitena pred pisanjem. Ali jo kljub temu želite izbrisati? - Are sure you want to delete '%1'? Ali res želite izbrisati »%1«? - Could not delete directory. Ni bilo moč izbrisati mape. - Recent Places Nedavna mesta - All Files (*.*) Vse datoteke (*.*) - Save As Shrani kot - Drive Pogon - - File Datoteka - File Folder Match Windows Explorer Mapa z datotekami - Folder All other platforms Mapa - Alias Mac OS X Finder Drugo ime - Shortcut All other platforms Bližnjica - Unknown Neznano - Find Directory Najdi mapo - Show Prikaži - - Forward Naprej - New Folder Nova mapa - &New Folder &Nova mapa - - &Choose Iz&berite - Remove Odstrani - - File &name: Ime &datoteke: - - Look in: Išči v: - - Create New Folder Ustvari novo mapo + + Go back + Vrni se nazaj + + + Go forward + Napreduj naprej + + + Go to the parent directory + + + + Create a New Folder + + + + Change to list view mode + + + + Change to detail view mode + + QFileSystemModel - Invalid filename Napačno ime datoteke - <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. <b>Imena »%1« ne morete uporabiti.</b><p>Poskusite z drugim imenom, ki vsebuje manj znakov ali pa ne vsebuje ločil. - Name Ime - Size Velikost - Kind Match OS X Finder Vrste - Type All other platforms Vrsta - Date Modified Datum spremembe - My Computer Moj računalnik - Computer Računalnik - - %1 TB %1 TiB - - %1 GB %1 GiB - - %1 MB %1 MiB - - %1 KB %1 KiB - - %1 bytes %1 B + + %1 byte(s) + + QFontDatabase - - Normal Normalno - - - Bold Polkrepko - - Demi Bold - - - Black - Črni + Črna - Demi - - Light Lahko - - Italic Ležeče - - Oblique Nagnjeno - Any Katerikoli - Latin Latinska - Greek Grška - Cyrillic Cirilica - Armenian Armenska - Hebrew Hebrejska - Arabic Arabska - Syriac Sirijska - Thaana Thaana - Devanagari Devanagari - Bengali Bengalska - Gurmukhi Gurmukhi - Gujarati Gujarati - Oriya - oriya + Oriya - Tamil Tamilska - Telugu Teluška - Kannada - kannada + Kannada - Malayalam - malayalam + Malayalam - Sinhala - Sinhala + Sinhala - Thai Tajska - Lao Laoška - Tibetan Tibetanska - Myanmar Mjanmarska - Georgian Gruzijska - Khmer Kmerska - Simplified Chinese Poenostavljena kitajska - Traditional Chinese Tradicionalna kitajska - Japanese Japonska - Korean Korejska - Vietnamese Vietnamska - Symbol Simbol - Ogham Oghamska - Runic Runska + + N'Ko + + QFontDialog - &Font &Pisava - Font st&yle &Slog pisave - &Size &Velikost - Effects Učinki - Stri&keout P&rečrtaj - &Underline Po&dčrtaj - Sample Vzorec - Wr&iting System S&istem pisanja - - Select Font Izberite pisavo @@ -2124,145 +2894,104 @@ Ali jo kljub temu želite izbrisati? QFtp - - Not connected Brez povezave - - Host %1 not found Gostitelj %1 ni bil najden - - Connection refused to host %1 Povezava z gostiteljem %1 je bila zavrnjena - Connection timed out to host %1 Čas za povezavo z gostiteljem %1 je potekel - - - Connected to host %1 Povezan z gostiteljem %1 - - Connection refused for data connection Podatkovna povezava je bila zavrnjena - - - - Unknown error Neznana napaka - - Connecting to host failed: %1 Povezovanje z gostiteljem %1 ni uspelo: %1 - - Login failed: %1 Prijava ni uspela: %1 - - Listing directory failed: %1 Izpis seznama map ni uspel: %1 - - Changing directory failed: %1 Spreminjanje mape ni uspelo: %1 - - Downloading file failed: %1 Prejemanje datoteke ni uspelo: %1 - - Uploading file failed: %1 Pošiljanje datoteke ni uspelo: %1 - - Removing file failed: %1 Odstranjevanje datoteke ni uspelo: %1 - - Creating directory failed: %1 Ustvarjanje mape ni uspelo: %1 - - Removing directory failed: %1 Odstranjevanje mape ni uspelo: %1 - - - Connection closed Povezava je bila prekinjena - Host %1 found Gostitelj %1 je bil najden - Connection to %1 closed Povezava s %1 je bila prekinjena - Host found Gostitelj je bil najden - Connected to host Povezan z gostiteljem @@ -2270,43 +2999,33 @@ Ali jo kljub temu želite izbrisati? QHostInfo - Unknown error Neznana napaka + + No host name given + Podano ni bilo nobeno ime gostitelja + QHostInfoAgent - - - - Host not found Ni moč najti gostitelja - - - - Unknown address type Neznana vrsta naslova - - - Unknown error Neznana napaka - No host name given Podano ni bilo nobeno ime gostitelja - Invalid hostname Neveljavno ime gostitelja @@ -2314,155 +3033,110 @@ Ali jo kljub temu želite izbrisati? QHttp - - - - Unknown error Neznana napaka - - Request aborted Zahteva prekinjena - - No server set to connect to Strežnik za povezavo ni nastavljen - - Wrong content length Napačna dolžina vsebine - - Server closed connection unexpectedly Strežnik je nepričakovano prekinil povezavo - Unknown authentication method Neznan način overjanja - Error writing response to device Napaka pri pisanju odziva na napravo - - Connection refused Povezava je zavrnjena - - - Host %1 not found Gostitelj %1 ni bil najden - - - - HTTP request failed Zahtevek HTTP ni uspel - - Invalid HTTP response header Neveljavna glava odgovora HTTP - - - - Invalid HTTP chunked body Neveljavno razdeljeno telo HTTP - Host %1 found Gostitelj %1 je bil najden - Connected to host %1 Povezan z gostiteljem %1 - Connection to %1 closed Povezava s %1 je bila prekinjena - Host found Gostitelj je bil najden - Connected to host Povezan z gostiteljem - - Connection closed Povezava je bila prekinjena - Proxy authentication required Potrebna je overitev pri posredniku - Authentication required Potrebna je overitev - Connection refused (or timed out) Povezava je bila zavrnjena (ali pa je potekel čas) - Proxy requires authentication Posrednik zahteva overitev - Host requires authentication Gostitelj zahteva overitev - Data corrupted Podatki so okvarjeni - Unknown protocol specified Naveden je bil neznan protokol - SSL handshake failed Rokovanje SSL ni uspelo - HTTPS connection requested but SSL support not compiled in Zahtevana je bila povezava HTTPS, a podpora za SSL ni bila vgrajena @@ -2470,47 +3144,38 @@ Ali jo kljub temu želite izbrisati? QHttpSocketEngine - Did not receive HTTP response from proxy Od posrednika ni bil prejet odgovor HTTP - Error parsing authentication request from proxy Napaka pri razčlenjevanju overitvenega zahtevka od posrednika - Authentication required Potrebna je overitev - Proxy denied connection Posrednik je zavrnil povezavo - Error communicating with HTTP proxy Napaka pri komunikaciji s posrednikom HTTP - Proxy server not found Posredniški strežnik ni bil najden - Proxy connection refused Povezava s posrednikom je bila zavrnjena - Proxy server connection timed out Čas za povezavo s posredniškim strežnikom je potekel - Proxy connection closed prematurely Povezava s posrednikom je bila prekinjena predčasno @@ -2518,22 +3183,18 @@ Ali jo kljub temu želite izbrisati? QIBaseDriver - Error opening database Napaka pri odpiranju podatkovne zbirke - Could not start transaction Ni bilo moč začeti transakcije - Unable to commit transaction Ni moč udejaniti transakcije - Unable to rollback transaction Ni moč razveljaviti transakcije @@ -2541,89 +3202,70 @@ Ali jo kljub temu želite izbrisati? QIBaseResult - Unable to create BLOB Ni moč ustvariti BLOB-a - Unable to write BLOB Ni moč zapisati BLOB-a - Unable to open BLOB Ni moč odpreti BLOB-a - Unable to read BLOB Ni moč prebrati BLOB-a - - Could not find array Ni bilo moč najti polja - Could not get array data Ni bilo moč pridobiti podatkov iz polja - Could not get query info Ni bilo moč pridobiti podatkov o poizvedbi - Could not start transaction Ni bilo moč začeti transakcije - Unable to commit transaction Ni moč udejaniti transakcije - Could not allocate statement Ni bilo moč dodeliti prostora za izjavo - Could not prepare statement Ni bilo moč pripraviti izjave - - Could not describe input statement Ni bilo moč opisati vhodne izjave - Could not describe statement Ni bilo moč opisati izjave - Unable to close statement Ni moč zaključiti izjave - Unable to execute query Ni moč izvesti poizvedbe - Could not fetch next item Ni bilo moč pridobiti sledeče postavke - Could not get statement info Ni bilo moč pridobiti podatkov o izjavi @@ -2631,27 +3273,22 @@ Ali jo kljub temu želite izbrisati? QIODevice - Permission denied Nimate dovoljenja - Too many open files Preveč odprtih datotek - No such file or directory Ta datoteka ali mapa ne obstaja - No space left on device Ni prostora na napravi - Unknown error Neznana napaka @@ -2659,32 +3296,26 @@ Ali jo kljub temu želite izbrisati? QInputContext - XIM XIM - FEP FEP - XIM input method Način za vnašanje XIM - Windows input method Način za vnašanje Windows - Mac OS X input method Način za vnašanje Mac OS X - S60 FEP input method Način za vnašanje S60 FEP @@ -2692,7 +3323,6 @@ Ali jo kljub temu želite izbrisati? QInputDialog - Enter a value: Vnesite vrednost: @@ -2700,66 +3330,50 @@ Ali jo kljub temu želite izbrisati? QLibrary - Could not mmap '%1': %2 Ni bilo moč izvesti funkcije mmap za »%1«: %2 - Plugin verification data mismatch in '%1' Neujemanje podatkov za potrjevanje vstavkov v »%1« - Could not unmap '%1': %2 Ni bilo moč izvesti funkcije unmap za »%1«: %2 - The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] Vstavek »%1« uporablja nezdružljivo knjižnico Qt. (%2.%3.%4) [%5] - The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" Vstavek »%1« uporablja nezdružljivo knjižnico Qt. Pričakovan je bil ključ gradnje »%2«, dobljen je bil »%3« - Unknown error Neznana napaka - - The shared library was not found. Deljena knjižnica ni bila najdena. - The file '%1' is not a valid Qt plugin. Datoteka »%1« ni veljaven vstavek Qt. - The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) Vstavek »%1« uporablja nezdružljivo knjižnico Qt. (Ni moč mešati knjižnic za razhroščevanje in izdajo.) - - Cannot load library %1: %2 Ni moč naložiti knjižnice %1: %2 - - Cannot unload library %1: %2 Ni moč odstraniti knjižnice %1: %2 - - Cannot resolve symbol "%1" in %2: %3 Ni moč razrešiti simbola »%1« v %2: %3 @@ -2767,37 +3381,30 @@ Ali jo kljub temu želite izbrisati? QLineEdit - &Undo &Razveljavi - &Redo &Uveljavi - Cu&t &Izreži - &Copy S&kopiraj - &Paste Pri&lepi - Delete Izbriši - Select All Izberi vse @@ -2805,23 +3412,18 @@ Ali jo kljub temu želite izbrisati? QLocalServer - - %1: Name error %1: napaka v imenu - %1: Permission denied %1: nimate dovoljenja - %1: Address in use %1: naslov je že v uporabi - %1: Unknown error %2 %1: neznana napaka %2 @@ -2829,70 +3431,46 @@ Ali jo kljub temu želite izbrisati? QLocalSocket - - %1: Connection refused %1: povezava je bila zavrnjena - - %1: Remote closed %1: oddaljeni je prekinil - - - - %1: Invalid name %1: neveljavno ime - - %1: Socket access error %1: napaka pri dostopu do vtičnice - - %1: Socket resource error %1: napaka vira vtičnice - - %1: Socket operation timed out %1: čas za dejanje na vtičnici je potekel - - %1: Datagram too large %1: datagram je prevelik - - - %1: Connection error %1: napaka povezave - - %1: The socket operation is not supported %1: dejanje na vtičnici ni podprto - %1: Unknown error %1: neznana napaka - - %1: Unknown error %2 %1: neznana napaka %2 @@ -2900,27 +3478,22 @@ Ali jo kljub temu želite izbrisati? QMYSQLDriver - Unable to open database ' Ni moč odpreti podatkovne zbirke » - Unable to connect Ni moč vzpostaviti povezave - Unable to begin transaction Ni moč začeti transakcije - Unable to commit transaction Ni moč udejaniti transakcije - Unable to rollback transaction Ni moč razveljaviti transakcije @@ -2928,59 +3501,46 @@ Ali jo kljub temu želite izbrisati? QMYSQLResult - Unable to fetch data Ni moč pridobiti podatkov - Unable to execute query Ni moč izvesti poizvedbe - Unable to store result Ni moč shraniti rezultata - - Unable to prepare statement Ni moč pripraviti izjave - Unable to reset statement Ni moč ponastaviti izjave - Unable to bind value Ni moč prikleniti vrednosti - Unable to execute statement Ni moč izvesti izjave - - Unable to bind outvalues Ni moč prikleniti izhodnih vrednosti - Unable to store statement results Ni moč shraniti rezultatov izjave - Unable to execute next query Ni moč izvesti sledeče poizvedbe - Unable to store next result Ni moč shraniti sledečega rezultata @@ -2988,7 +3548,6 @@ Ali jo kljub temu želite izbrisati? QMdiArea - (Untitled) (neimenovano) @@ -2996,92 +3555,74 @@ Ali jo kljub temu želite izbrisati? QMdiSubWindow - %1 - [%2] %1 - [%2] - Close Zapri - Minimize Pomanjšaj - Restore Down Obnovi navzdol - &Restore &Obnovi - &Move &Premakni - &Size &Velikost - Mi&nimize Po&manjšaj - Ma&ximize &Razpni - Stay on &Top Ostani na &vrhu - &Close &Zapri - - [%1] - [%1] - Maximize Razpni - Unshade Razvij - Shade Zvij - Restore Obnovi - Help Pomoč - Menu Meni @@ -3089,21 +3630,14 @@ Ali jo kljub temu želite izbrisati? QMenu - - Close Zapri - - Open Odpri - - - Execute Izvedi @@ -3111,7 +3645,6 @@ Ali jo kljub temu želite izbrisati? QMenuBar - Actions Dejanja @@ -3119,40 +3652,30 @@ Ali jo kljub temu želite izbrisati? QMessageBox - Help Pomoč - - - - OK V redu - <h3>About Qt</h3><p>This program uses Qt version %1.</p> <h3>O Qt</h3><p>Ta program uporablja Qt različice %1.</p> - <p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> <p>Qt je skupek gradnikov C++ za razvoj programov, ki tečejo na več platformah.</p><p>Qt omogoča isto kodo prenašati med platformami Linux, Mac&nbsp;OS&nbsp;X, Windows in vsemi večjimi variantami UNIX-a. Qt je na voljo tudi za vgrajene naprave in sicer kot Qt for Embedded Linux in Qt for Windows CE.</p><p>Qt je na voljo pod tremi možnimi licenčnimi pogoji, ki ustrezajo različnim željam uporabnikov.</p><p>Qt pod licenco GNU General Public License različice 3.0 (<a href="http://www.gnu.org/licenses/gpl-3.0.html">GPLv3.0</a>) je primeren za razvoj programov Qt, ki so povsem <a href="http://www.gnu.org/philosophy/free-sw.html">prosti in odprto-kodni</a>. S to licenco se uporabnikom programa zagotovijo vse pravice in svoboščine, kot jih je imel izdelovalec programa.</p><p>Qt pod licenco GNU Lesser General Public License različice 2.1 (<a href="http://www.gnu.org/licenses/lgpl-2.1.html">LGPLv2.1</a>) omogoča tudi razvoj programov, ki uporabnikom ne zagotavljajo vseh pravic in svoboščin, kot jih je imel izdelovalec. Omogoča na primer tudi razvoj zaprto-kodnih programov.</p><p>Qt pod posebno komercialno licenco je namenjen razvoju lastniških in zaprto-kodnih programov, kjer izdelovalec z uporabniki noče deliti nič izvorne kode ter pravic in svoboščin, ali pa ne more ustreči pogojem licenc GPLv3.0 ali LGPLv2.1.</p><p>Za pregled licenčnih možnosti si oglejte spletno stran <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a>.</p><p>Avtorske pravice © 2009 Nokia Corporation in/ali podružnice ter zunanji prispevajoči.</p><p>Qt je proizvod podjetja Nokia. Za dodatne podatke si oglejte <a href="http://qt.nokia.com/">qt.nokia.com</a>.</p> - About Qt O Qt - Show Details... Prikaži podrobnosti ... - Hide Details... Skrij podrobnosti ... @@ -3160,7 +3683,6 @@ Ali jo kljub temu želite izbrisati? QMultiInputContext - Select IM Izberite način vnašanja @@ -3168,12 +3690,10 @@ Ali jo kljub temu želite izbrisati? QMultiInputContextPlugin - Multiple input method switcher Orodje za preklop med načini vnašanja - Multiple input method switcher that uses the context menu of the text widgets Orodje za preklop med več načini vnašanja, ki uporablja priročni meni besedilnih gradnikov @@ -3181,132 +3701,106 @@ Ali jo kljub temu želite izbrisati? QNativeSocketEngine - The remote host closed the connection Oddaljen gostitelj je prekinil povezavo - Network operation timed out Čas za omrežni postopek je potekel - Out of resources Zmanjkalo je virov - Unsupported socket operation Nepodprto dejanje za vtičnico - Protocol type not supported Vrsta protokola ni podprta - Invalid socket descriptor Neveljaven opisnik vtičnice - Network unreachable Omrežje ni dosegljivo - Permission denied Nimate dovoljenja - Connection timed out Čas za povezavo je potekel - Connection refused Povezava je zavrnjena - The bound address is already in use Naslov za vezavo je že v uporabi - The address is not available Naslov ni na voljo - The address is protected Naslov je zaščiten - Unable to send a message Ni moč poslati sporočila - Unable to receive a message Ni moč prejeti sporočila - Unable to write Ni moč zapisovati - Network error Napaka v omrežju - Another socket is already listening on the same port Druga vtičnica že posluša na istih vratih - Unable to initialize non-blocking socket Ni moč inicializirati ne-blokirne vtičnice - Unable to initialize broadcast socket Ni moč inicializirati vtičnice za oddajanje - Attempt to use IPv6 socket on a platform with no IPv6 support Poskus uporabe vtičnice IPv6 na platformi brez podpore za IPv6 - Host unreachable Gostitelj ni dosegljiv - Datagram was too large to send Datagram je bil prevelik za pošiljanje - Operation on non-socket Dejanje na ne-vtičnici - Unknown error Neznana napaka - The proxy type is invalid for this operation Vrsta posrednika za to dejanje ni veljavna @@ -3314,43 +3808,55 @@ Ali jo kljub temu želite izbrisati? QNetworkAccessCacheBackend - Error opening %1 Napaka pri odpiranju %1 + QNetworkAccessDataBackend + + Operation not supported on %1 + Dejanje na %1 ni podprto + + + Invalid URI: %1 + Neveljaven URI: %1 + + + QNetworkAccessDebugPipeBackend - Write error writing to %1: %2 Napaka pri zapisovanju v %1: %2 + + Socket error on %1: %2 + Napaka vtičnice na %1: %2 + + + Remote host closed the connection prematurely on %1 + Oddaljen gostitelj je predčasno prekinil povezavo na %1 + QNetworkAccessFileBackend - Request for opening non-local file %1 Zahtevek za odprtje ne-krajevne datoteke %1 - Error opening %1: %2 Napaka pri odpiranju %1: %2 - Write error writing to %1: %2 Napaka pri zapisovanju v %1: %2 - Cannot open %1: Path is a directory Ni moč odpreti %1: pot je mapa - Read error reading from %1: %2 Napaka pri branju iz %1: %2 @@ -3358,27 +3864,22 @@ Ali jo kljub temu želite izbrisati? QNetworkAccessFtpBackend - No suitable proxy found Najden ni bil noben primeren posrednik - Cannot open %1: is a directory Ni moč odpreti %1: to je mapa - Logging in to %1 failed: authentication required Prijava v %1 ni uspela: potrebna je overitev - Error while downloading %1: %2 Napaka med prejemanjem %1: %2 - Error while uploading %1: %2 Napaka med pošiljanjem %1: %2 @@ -3386,58 +3887,105 @@ Ali jo kljub temu želite izbrisati? QNetworkAccessHttpBackend - No suitable proxy found Najden ni bil noben primeren posrednik + QNetworkAccessManager + + Network access is disabled. + + + + QNetworkReply - Error downloading %1 - server replied: %2 Napaka med prejemanjem %1 - strežnikov odgovor: %2 - Protocol "%1" is unknown Neznan protokol »%1« + + Network session error. + + + + Temporary network failure. + + QNetworkReplyImpl - - Operation canceled Postopek je bil preklican + QNetworkSession + + Invalid configuration. + + + + + QNetworkSessionPrivateImpl + + Roaming error + + + + Session aborted by user or system + + + + Unidentified Error + + + + Unknown session error. + + + + The session was aborted by the user or system. + + + + The requested operation is not supported by the system. + + + + The specified configuration cannot be used. + + + + Roaming was aborted or is not possible. + + + + QOCIDriver - Unable to logon Ni se moč prijaviti - Unable to initialize QOCIDriver Ni moč inicializirati - Unable to begin transaction Ni moč začeti transakcije - Unable to commit transaction Ni moč udejaniti transakcije - Unable to rollback transaction Ni moč razveljaviti transakcije @@ -3445,44 +3993,34 @@ Ali jo kljub temu želite izbrisati? QOCIResult - - - Unable to bind column for batch execute Ni moč prikleniti stolpca za paketno izvršitev - Unable to execute batch statement Ni moč izvesti paketne izjave - Unable to goto next Ni se moč prestaviti na naslednjega - Unable to alloc statement Ni moč dodeliti izjave - Unable to prepare statement Ni moč pripraviti izjave - Unable to get statement type Ni moč pridobiti vrste izjave - Unable to bind value Ni moč prikleniti vrednosti - Unable to execute statement Ni moč izvesti izjave @@ -3490,32 +4028,26 @@ Ali jo kljub temu želite izbrisati? QODBCDriver - Unable to connect Ni moč vzpostaviti povezave - Unable to disable autocommit Ni moč onemogočiti samodejnega udejanjanja - Unable to commit transaction Ni moč udejaniti transakcije - Unable to rollback transaction Ni moč razveljaviti transakcije - Unable to enable autocommit Ni moč omogočiti samodejnega udejanjanja - Unable to connect - Driver doesn't support all functionality required Ni se moč povezati - gonilnik ne podpira vseh potrebnih zmožnosti @@ -3523,51 +4055,38 @@ Ali jo kljub temu želite izbrisati? QODBCResult - - QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: ni moč nastaviti 'SQL_CURSOR_STATIC' kot lastnosti izjave. Preverite nastavitve gonilnika ODBC - - Unable to execute statement Ni moč izvesti izjave - Unable to fetch next Ni moč pridobiti sledečega - Unable to prepare statement Ni moč pripraviti izjave - Unable to bind variable Ni moč prikleniti spremenljivke - - - Unable to fetch last Ni moč pridobiti zadnjega - Unable to fetch Ni moč pridobiti - Unable to fetch first Ni moč pridobiti prvega - Unable to fetch previous Ni moč pridobiti predhodnega @@ -3575,46 +4094,25 @@ Ali jo kljub temu želite izbrisati? QObject - - Invalid hostname - Neveljavno ime gostitelja - - - - Operation not supported on %1 - Dejanje na %1 ni podprto - - - - Invalid URI: %1 - Neveljaven URI: %1 - - - - Socket error on %1: %2 - Napaka vtičnice na %1: %2 + PulseAudio Sound Server + Zvočni strežnik PulseAudio - - Remote host closed the connection prematurely on %1 - Oddaljen gostitelj je predčasno prekinil povezavo na %1 + "%1" duplicates a previous role name and will be disabled. + - - - No host name given - Podano ni bilo nobeno ime gostitelja + invalid query: "%1" + QPPDOptionsModel - Name Ime - Value Vrednost @@ -3622,32 +4120,26 @@ Ali jo kljub temu želite izbrisati? QPSQLDriver - Unable to connect Ni moč vzpostaviti povezave - Could not begin transaction Ni bilo moč začeti transakcije - Could not commit transaction Ni bilo moč udejaniti transakcije - Could not rollback transaction Ni bilo moč razveljaviti transakcije - Unable to subscribe Ni se moč naročiti - Unable to unsubscribe Ni moč preklicati naročnine @@ -3655,12 +4147,10 @@ Ali jo kljub temu želite izbrisati? QPSQLResult - Unable to create query Ni moč ustvariti poizvedbe - Unable to prepare statement Ni moč pripraviti izjave @@ -3668,102 +4158,82 @@ Ali jo kljub temu želite izbrisati? QPageSetupWidget - Centimeters (cm) Centimetri (cm) - Millimeters (mm) Milimetri (mm) - Inches (in) Palci (in) - Points (pt) Pike (pt) - Form Obrazec - Paper Papir - Page size: Velikost strani: - Width: Širina: - Height: Višina: - Paper source: Vir papirja: - Orientation Usmeritev - Portrait Pokončno - Landscape Ležeče - Reverse landscape Obrnjeno ležeče - Reverse portrait Obrnjeno pokončno - Margins Robovi - top margin vrhnji rob - left margin levi rob - right margin desni rob - bottom margin spodnji rob @@ -3771,12 +4241,10 @@ Ali jo kljub temu želite izbrisati? QPluginLoader - Unknown error Neznana napaka - The plugin was not loaded. Vstavek ni bil naložen. @@ -3784,428 +4252,344 @@ Ali jo kljub temu želite izbrisati? QPrintDialog - locally connected krajevno povezan - - Aliases: %1 Vzdevki: %1 - - unknown neznano - A0 (841 x 1189 mm) A0 (841 x 1189 mm) - A1 (594 x 841 mm) A1 (594 x 841 mm) - A2 (420 x 594 mm) A2 (420 x 594 mm) - A3 (297 x 420 mm) A3 (297 x 420 mm) - A4 (210 x 297 mm, 8.26 x 11.7 inches) A4 (210 x 297 mm, 8,26 x 11,7 palcev) - A5 (148 x 210 mm) A5 (148 x 210 mm) - A6 (105 x 148 mm) A6 (105 x 148 mm) - A7 (74 x 105 mm) A7 (74 x 105 mm) - A8 (52 x 74 mm) A8 (52 x 74 mm) - A9 (37 x 52 mm) A9 (37 x 52 mm) - B0 (1000 x 1414 mm) B0 (1000 x 1414 mm) - B1 (707 x 1000 mm) B1 (707 x 1000 mm) - B2 (500 x 707 mm) B2 (500 x 707 mm) - B3 (353 x 500 mm) B3 (353 x 500 mm) - B4 (250 x 353 mm) B4 (250 x 353 mm) - B5 (176 x 250 mm, 6.93 x 9.84 inches) B5 (176 x 250 mm, 6,93 x 9,84 palcev) - B6 (125 x 176 mm) B6 (125 x 176 mm) - B7 (88 x 125 mm) B7 (88 x 125 mm) - B8 (62 x 88 mm) B8 (62 x 88 mm) - B9 (44 x 62 mm) B9 (44 x 62 mm) - B10 (31 x 44 mm) B10 (31 x 44 mm) - C5E (163 x 229 mm) C5E (163 x 229 mm) - DLE (110 x 220 mm) DLE (110 x 220 mm) - Executive (7.5 x 10 inches, 191 x 254 mm) Executive (7,5 x 10 palcev, 191 x 254 mm) - Folio (210 x 330 mm) Folio (210 x 330 mm) - Ledger (432 x 279 mm) Ledger (432 x 279 mm) - Legal (8.5 x 14 inches, 216 x 356 mm) Legal (8,5 x 14 palcev, 216 x 356 mm) - Letter (8.5 x 11 inches, 216 x 279 mm) Letter (8,5 x 11 palcev, 216 x 279 mm) - Tabloid (279 x 432 mm) Tabloid (279 x 432 mm) - US Common #10 Envelope (105 x 241 mm) US Common #10 Envelope (105 x 241 mm) - + Print current page + + + OK V redu - - - Print Natisni - Print To File ... Natisni v datoteko ... - Print range Natisni obseg - Print all Natisni vse - File %1 is not writable. Please choose a different file name. V datoteko %1 ni moč pisati. Izberite drugo ime datoteke. - %1 already exists. Do you want to overwrite it? %1 že obstaja. Ali jo želite nadomestiti? - File exists Datoteka obstaja - <qt>Do you want to overwrite it?</qt> <qt>Ali jo želite nadomestiti?</qt> - Print selection Natisni izbor - %1 is a directory. Please choose a different file name. %1 je mapa. Izberite drugo ime datoteke. - A0 A0 - A1 A1 - A2 A2 - A3 A3 - A4 A4 - A5 A5 - A6 A6 - A7 A7 - A8 A8 - A9 A9 - B0 B0 - B1 B1 - B2 B2 - B3 B3 - B4 B4 - B5 B5 - B6 B6 - B7 B7 - B8 B8 - B9 B9 - B10 B10 - C5E C5E - DLE DLE - Executive Executive - Folio Folio - Ledger Ledger - Legal Legal - Letter Letter - Tabloid Tabloid - US Common #10 Envelope US Common #10 Envelope - Custom Po meri - - &Options >> &Možnosti » - &Print Na&tisni - &Options << &Možnosti « - Print to File (PDF) Natisni v datoteko (PDF) - Print to File (Postscript) Natisni v datoteko (PostScript) - Local file Krajevna datoteka - Write %1 file Zapiši datoteko %1 - The 'From' value cannot be greater than the 'To' value. Vrednost »Od« ne more biti večja od vrednosti »Do«. @@ -4213,103 +4597,86 @@ Izberite drugo ime datoteke. QPrintPreviewDialog - - Page Setup Nastavitve strani - %1% %1 % - Print Preview Ogled tiskanja - Next page Naslednja stran - Previous page Predhodna stran - First page &Prva stran - Last page &Zadnja stran - Fit width Prilagodi &širini - Fit page Prilagodi strani - Zoom in Povečaj - Zoom out Zmanjšaj - Portrait Pokončno - Landscape Ležeče - Show single page Prikaži enojno stran - Show facing pages Prikaži dve strani - Show overview of all pages Prikaži ogled vseh strani - Print Natisni - Page setup Nastavitve strani - + Close + Zapri + + Export to PDF Izvozi v PDF - Export to PostScript Izvozi v PostScript @@ -4317,17 +4684,14 @@ Izberite drugo ime datoteke. QPrintPropertiesWidget - Form Obrazec - Page Stran - Advanced Napredno @@ -4335,145 +4699,121 @@ Izberite drugo ime datoteke. QPrintSettingsOutput - Form Obrazec - Copies Izvodi - Print range Obseg tiskanja - Print all Natisni vse - Pages from Strani od - to do - Selection Izbor - Output Settings Nastavitve izpisa - Copies: Izvodi: - Collate Združi - Reverse V nasprotno smer - Options Možnosti - Color Mode Barvni način - Color Barva - Grayscale Sivinsko - Duplex Printing Dvostransko tiskanje - None Brez - Long side Dolga stranica - Short side Kratka stranica + + Current Page + + QPrintWidget - Form Obrazec - Printer Tiskalnik - &Name: &Ime: - P&roperties &Lastnosti ... - Location: Lokacija: - Preview Ogled - Type: Vrsta: - Output &file: Izhodna d&atoteka: - ... ... @@ -4481,62 +4821,38 @@ Izberite drugo ime datoteke. QProcess - - Could not open input redirection for reading Preusmeritve vhoda ni bilo moč odpreti za branje - - Could not open output redirection for writing Preusmeritve izhoda ni bilo moč odpreti za pisanje - Resource error (fork failure): %1 Napaka vira (spodletela odcepitev): %1 - - - - - - - - - Process operation timed out Čas za dejanje procesa je potekel - - - - Error reading from process Napaka pri branju iz procesa - - - Error writing to process Napak pri pisanju v proces - Process crashed Program se je sesul - No program defined Določenega ni nobenega programa - Process failed to start: %1 Proces se ni uspel zagnati: %1 @@ -4544,7 +4860,6 @@ Izberite drugo ime datoteke. QProgressDialog - Cancel Prekliči @@ -4552,7 +4867,6 @@ Izberite drugo ime datoteke. QPushButton - Open Odpri @@ -4560,7 +4874,6 @@ Izberite drugo ime datoteke. QRadioButton - Check Označi @@ -4568,57 +4881,46 @@ Izberite drugo ime datoteke. QRegExp - no error occurred ni nobene napake - disabled feature used uporabljena onemogočena zmožnost - bad char class syntax napačna sintaksa znakovnega razreda - bad lookahead syntax napačna sintaksa pogleda naprej - bad repetition syntax napačna sintaksa ponavljanja - invalid octal value neveljavna osmiška vrednost - missing left delim manjkajoč levi razmejitelj - unexpected end nepričakovan konece - met internal limit dosežena notranja omejitev - invalid interval neveljaven interval - invalid category neveljavna kategorija @@ -4626,22 +4928,18 @@ Izberite drugo ime datoteke. QSQLite2Driver - Error opening database Napaka pri odpiranju podatkovne zbirke - Unable to begin transaction Ni moč začeti transakcije - Unable to commit transaction Ni moč udejaniti transakcije - Unable to rollback transaction Ni moč razveljaviti transakcije @@ -4649,12 +4947,10 @@ Izberite drugo ime datoteke. QSQLite2Result - Unable to fetch results Ni moč pridobiti rezultatov - Unable to execute statement Ni moč izvesti izjave @@ -4662,27 +4958,22 @@ Izberite drugo ime datoteke. QSQLiteDriver - Error opening database Napaka pri odpiranju podatkovne zbirke - Error closing database Napaka pri zapiranju podatkovne zbirke - Unable to begin transaction Ni moč začeti transakcije - Unable to commit transaction Ni moč udejaniti transakcije - Unable to rollback transaction Ni moč razveljaviti transakcije @@ -4690,34 +4981,26 @@ Izberite drugo ime datoteke. QSQLiteResult - - - Unable to fetch row Ni moč pridobiti vrstice - Unable to execute statement Ni moč izvesti izjave - Unable to reset statement Ni moč ponastaviti izjave - Unable to bind parameters Ni moč prikleniti parametrov - Parameter count mismatch Neujemanje v številu parametrov - No query Brez poizvedbe @@ -4725,32 +5008,26 @@ Izberite drugo ime datoteke. QScriptBreakpointsModel - ID ID - Location Lokacija - Condition Pogoj - Ignore-count Število prezrtij - Single-shot Enojen zadetek - Hit-count Število zadetkov @@ -4758,12 +5035,10 @@ Izberite drugo ime datoteke. QScriptBreakpointsWidget - New Nova - Delete Izbriši @@ -4771,143 +5046,114 @@ Izberite drugo ime datoteke. QScriptDebugger - - Go to Line Pojdi v vrstico - Line: Vrstica: - Interrupt Prekini - Shift+F5 - + Shift+F5 - Continue Nadaljuj - F5 - + F5 - Step Into Vstopi - F11 - + F11 - Step Over Prestopi - F10 - + F10 - Step Out Izstopi - Shift+F11 - + Shift+F11 - Run to Cursor Zaženi do kazalca - Ctrl+F10 - + Ctrl+F10 - Run to New Script Zaženi do novega skripta - Toggle Breakpoint Preklopi prekinitveno točko - F9 - + F9 - Clear Debug Output Počisti razhroščevalni izhod - Clear Error Log Počisti dnevnik napak - Clear Console Počisti konzolo - &Find in Script... Najdi v &skriptu ... - Ctrl+F - + Ctrl+F - Find &Next Najdi &naslednje - F3 - + F3 - Find &Previous Najdi &predhodno - Shift+F3 - + Shift+F3 - Ctrl+G - + Ctrl+G - Debug Razhrošči @@ -4915,32 +5161,26 @@ Izberite drugo ime datoteke. QScriptDebuggerCodeFinderWidget - Close Zapri - Previous Predhodno - Next Naslednje - Case Sensitive Občutljivo na velikost črk - Whole words Cele besede - <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Search wrapped <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Iskanje se nadaljuje na drugem koncu @@ -4948,12 +5188,10 @@ Izberite drugo ime datoteke. QScriptDebuggerLocalsModel - Name Ime - Value Vrednost @@ -4961,17 +5199,14 @@ Izberite drugo ime datoteke. QScriptDebuggerStackModel - Level Stopnja - Name Ime - Location Lokacija @@ -4979,22 +5214,18 @@ Izberite drugo ime datoteke. QScriptEdit - Toggle Breakpoint Preklopi prekinitveno točko - Disable Breakpoint Onemogoči prekinitveno točko - Enable Breakpoint Omogoči prekinitveno točko - Breakpoint Condition: Pogoj za prelomno točko: @@ -5002,52 +5233,42 @@ Izberite drugo ime datoteke. QScriptEngineDebugger - Loaded Scripts Naloženi skripti - Breakpoints Prelomne točke - Stack Sklad - Locals Krajevno - Console Konzola - Debug Output Razhroščevalni izhod - Error Log Dnevnik napak - Search Išči - View Videz - Qt Script Debugger Razhroščevalnik za Qt Script @@ -5055,7 +5276,6 @@ Izberite drugo ime datoteke. QScriptNewBreakpointWidget - Close Zapri @@ -5063,84 +5283,66 @@ Izberite drugo ime datoteke. QScrollBar - Scroll here Premakni sem - Left edge Levi rob - Top Vrh - Right edge Desni rob - Bottom Dno - Page left Za stran levo - - Page up Za stran gor - Page right Za stran desno - - Page down Za stran dol - Scroll left Premakni levo - Scroll up Premakni gor - Scroll right Premakni desno - Scroll down Premakni dol - Line up V vrsto - Position Položaj - Line down Za vrstico dol @@ -5148,111 +5350,78 @@ Izberite drugo ime datoteke. QSharedMemory - %1: unable to set key on lock %1: ni moč nastaviti ključa na zaklep - %1: create size is less then 0 %1: velikost je manjša od 0 - - %1: unable to lock %1: ni moč zakleniti - %1: unable to unlock %1: ni moč odkleniti - - - %1: permission denied %1: nimate dovoljenja - - - %1: already exists %1: že obstaja - %1: doesn't exists %1: ne obstaja - - - %1: out of resources %1: zmanjkalo je virov - - - %1: unknown error %2 %1: neznana napaka %2 - %1: key is empty %1: ključ je prazen - %1: ftok failed %1: funkcija ftok ni uspela - - - %1: unable to make key %1: ni moč ustvariti ključa - - %1: doesn't exist %1: ne obstaja - %1: UNIX key file doesn't exist %1: UNIX-ova zaklepna datoteka ne obstaja - %1: system-imposed size restrictions %1: sistemsko vsiljene omejitve velikosti - %1: not attached %1: ni pripeto - - %1: invalid size %1: neveljavna velikost - - %1: key error %1: napaka ključa - %1: size query failed %1: poizvedba po velikosti ni uspela @@ -5260,466 +5429,894 @@ Izberite drugo ime datoteke. QShortcut - Space + This and all following "incomprehensible" strings in QShortcut context are key names. Please use the localized names appearing on actual keyboards or whatever is commonly used. + Preslednica - Esc Esc - Tab Tabulator - Backtab - Backspace Vračalka - Return Return - Enter Vnesi - Ins Ins - Del Del - Pause Premor - Print Natisni - SysReq SysReq - Home Začetek - End Konec - Left Levo - Up Gor - Right Desno - Down Dol - PgUp PgUp - PgDown PgDown - CapsLock CapsLock - NumLock NumLock - ScrollLock ScrollLock - Menu Meni - Help Pomoč - Back Predhodna - Forward Naslednja - Stop Ustavi - Refresh Osveži - Volume Down Tiše - Volume Mute Tiho - Volume Up Glasneje - Bass Boost Ojačanje basov - Bass Up Več basov - Bass Down Manj basov - Treble Up Več visokih tonov - Treble Down Manj visokih tonov - Media Play Predvajaj večpredstavnost - - Media Stop - Ustavi večpredstavnost + Media Stop + Ustavi večpredstavnost + + + Media Previous + Predhodna večpredstavnost + + + Media Next + Naslednja večpredstavnost + + + Media Record + Snemaj večpredstavnost + + + Media Pause + Media player pause button + + + + + Toggle Media Play/Pause + Media player button to toggle between playing and paused + + + + + Favorites + Priljubljeno + + + Search + Išči + + + Standby + V pripravljenost + + + Open URL + Odpri URL + + + Launch Mail + Zaženi pošto + + + Launch Media + Zaženi večpredstavnost + + + Launch (0) + Zaženi (0) + + + Launch (1) + Zaženi (1) + + + Launch (2) + Zaženi (2) + + + Launch (3) + Zaženi (3) + + + Launch (4) + Zaženi (4) + + + Launch (5) + Zaženi (5) + + + Launch (6) + Zaženi (6) + + + Launch (7) + Zaženi (7) + + + Launch (8) + Zaženi (8) + + + Launch (9) + Zaženi (9) + + + Launch (A) + Zaženi (A) + + + Launch (B) + Zaženi (B) + + + Launch (C) + Zaženi (C) + + + Launch (D) + Zaženi (D) + + + Launch (E) + Zaženi (E) + + + Launch (F) + Zaženi (F) + + + Monitor Brightness Up + Povečaj svetlost zaslon + + + Monitor Brightness Down + Zmanjšaj svetlost zaslona + + + Keyboard Light On/Off + Vklop/izklop lučk na tipkovnici + + + Keyboard Brightness Up + + + + Keyboard Brightness Down + + + + Power Off + Izklopi + + + Wake Up + Zbudi se + + + Eject + Izvrzi + + + Screensaver + Ohranjevalnik zaslona + + + WWW + WWW + + + Sleep + V pripravljenost + + + LightBulb + Žarnica + + + Shop + + + + History + Zgodovina + + + Add Favorite + Dodaj najljubšo + + + Hot Links + Vroče povezave + + + Adjust Brightness + Prilagodi svetlost + + + Finance + Finance + + + Community + Skupnost + + + Audio Rewind + Samodejno previj + + + Back Forward + + + + Application Left + + + + Application Right + + + + Book + Knjiga + + + CD + CD + + + Calculator + Računalo + + + Clear + Počisti + + + Clear Grab + + + + Close + Zapri + + + Copy + Kopiraj + + + Cut + Izreži + + + Display + Prikaz + + + DOS + DOS + + + Documents + Dokumenti + + + Spreadsheet + Preglednica + + + Browser + Brskalnik + + + Game + Igra + + + Go + Pojdi + + + iTouch + iTouch + + + Logoff + Odjava + + + Market + + + + Meeting + Srečanje + + + Keyboard Menu + Meni tipkovnice + + + Menu PB + + + + My Sites + Moje strani + + + News + Novice + + + Home Office + Domača pisarna + + + Option + Možnost + + + Paste + Prilepi + + + Phone + Telefon + + + Reply + Odgovori + + + Reload + Znova naloži + + + Rotate Windows + Zavrti okna + + + Rotation PB + + + + Rotation KB + + + + Save + Shrani + + + Send + Pošlji + + + Spellchecker + Črkovalnik + + + Split Screen + Razdeli zaslon + + + Support + Podpora + + + Task Panel + Opravilna vrstica + + + Terminal + Terminal + + + Tools + Orodja + + + Travel + Potovanje - - Media Previous - Predhodna večpredstavnost + Video + Video - - Media Next - Naslednja večpredstavnost + Word Processor + Urejevalnik besedila - - Media Record - Snemaj večpredstavnost + XFer + - - Favorites - Priljubljeno + Zoom In + Približaj - - Search - Išči + Zoom Out + Oddalji - - Standby - V pripravljenost + Away + Odsoten - - Open URL - Odpri URL + Messenger + Sporočilnik - - Launch Mail - Zaženi pošto + WebCam + Spletna kamera - - Launch Media - Zaženi večpredstavnost + Mail Forward + Posreduj sporočilo naprej - - Launch (0) - Zaženi (0) + Pictures + Slike - - Launch (1) - Zaženi (1) + Music + Glasba - - Launch (2) - Zaženi (2) + Battery + Baterija - - Launch (3) - Zaženi (3) + Bluetooth + Bluetooth - - Launch (4) - Zaženi (4) + Wireless + Brezžično - - Launch (5) - Zaženi (5) + Ultra Wide Band + - - Launch (6) - Zaženi (6) + Audio Forward + - - Launch (7) - Zaženi (7) + Audio Repeat + - - Launch (8) - Zaženi (8) + Audio Random Play + - - Launch (9) - Zaženi (9) + Subtitle + Podnaslov - - Launch (A) - Zaženi (A) + Audio Cycle Track + - - Launch (B) - Zaženi (B) + Time + Čas - - Launch (C) - Zaženi (C) + View + Pogled - - Launch (D) - Zaženi (D) + Top Menu + Vrhnji meni - - Launch (E) - Zaženi (E) + Suspend + Ustavi - - Launch (F) - Zaženi (F) + Hibernate + V hibernacijo - Print Screen Natisni zaslon - Page Up Za stran gor - Page Down Za stran dol - Caps Lock Caps Lock - Num Lock Num Lock - Number Lock - Scroll Lock - + Scroll Lock - Insert Vstavi - Delete Izbriši - Escape Escape - System Request Sistemska zahteva - Select Izberi - Yes Da - No Ne - Context1 Kontekst1 - Context2 Kontekst2 - Context3 Kontekst3 - Context4 Kontekst4 - Call + Button to start a call (note: a separate button is used to end the call) + Pokliči - Hangup + Button to end a call (note: a separate button is used to start the call) + Odloži - + Toggle Call/Hangup + Button that will hang up if we're in call, or make a call if we're not. + + + + Flip Obrni - - + Voice Dial + Button to trigger voice dialling + + + + + Last Number Redial + Button to redial the last number called + + + + + Camera Shutter + Button to trigger the camera shutter (take a picture) + + + + + Camera Focus + Button to focus the camera + + + + + Kanji + + + + Muhenkan + + + + Henkan + + + + Romaji + + + + Hiragana + Hiragana + + + Katakana + Katakana + + + Hiragana Katakana + + + + Zenkaku + + + + Hankaku + + + + Zenkaku Hankaku + + + + Touroku + + + + Massyo + + + + Kana Lock + + + + Kana Shift + + + + Eisu Shift + + + + Eisu toggle + + + + Code input + + + + Multiple Candidate + + + + Previous Candidate + + + + Hangul + + + + Hangul Start + + + + Hangul End + + + + Hangul Hanja + + + + Hangul Jamo + Hangul Jamo + + + Hangul Romaja + + + + Hangul Jeonja + + + + Hangul Banja + + + + Hangul PreHanja + + + + Hangul PostHanja + + + + Hangul Special + + + Ctrl Ctrl - - Shift Shift - - Alt Alt - - Meta Meta - + + - F%1 F%1 - Home Page Domača stran @@ -5727,27 +6324,22 @@ Izberite drugo ime datoteke. QSlider - Page left Za stran levo - Page up Za stran gor - Position Položaj - Page right Za stran desno - Page down Za stran dol @@ -5755,72 +6347,58 @@ Izberite drugo ime datoteke. QSocks5SocketEngine - Connection to proxy refused Povezava s posrednikom je bila zavrnjena - Connection to proxy closed prematurely Povezava s posrednikom je bila prekinjena predčasno - Proxy host not found Ni moč najti gostitelja posrednika - Connection to proxy timed out Čas za povezavo s posrednikom je potekel - Proxy authentication failed Neuspešno overjanje posrednika - Proxy authentication failed: %1 Neuspešno overjanje posrednika: %1 - SOCKS version 5 protocol error Napaka protokola SOCKS različice 5 - General SOCKSv5 server failure Splošna napaka strežnika SOCKSv5 - Connection not allowed by SOCKSv5 server Strežnik SOCKSv5 ne dovoljuje povezave - TTL expired TTL je zapadel - SOCKSv5 command not supported Ukaz SOCKSv5 ni podprt - Address type not supported Vrsta naslova ni podprta - Unknown SOCKSv5 proxy error code 0x%1 Neznana koda napake posrednika SOCKSv5: 0x%1 - Network operation timed out Čas za omrežni postopek je potekel @@ -5828,32 +6406,26 @@ Izberite drugo ime datoteke. QSoftKeyManager - Ok V redu - Select Izbor - Done Opravljeno - Options Možnosti - Cancel Prekliči - Exit Končaj @@ -5861,12 +6433,10 @@ Izberite drugo ime datoteke. QSpinBox - More Več - Less Manj @@ -5874,137 +6444,204 @@ Izberite drugo ime datoteke. QSql - Delete Izbriši - Delete this record? Ali izbrišem ta zapis? - - - Yes Da - - - - No - Ne + No + Ne + + + Insert + Vstavi + + + Update + Posodobi + + + Save edits? + &Shranmi urejan?. + + + Cancel + Prekliči + + + Confirm + Potrdi + + + Cancel your edits? + Ali želite preklicati urejanja? + + + + QSslSocket + + Unable to write data: %1 + Ni moč zapisati podatkov: %1 + + + Unable to decrypt data: %1 + + + + Error while reading: %1 + Napaka med branjem: %1 + + + Error during SSL handshake: %1 + Napaka med rokovanjem SSL: %1 + + + Error creating SSL context (%1) + Napaka pri ustvarjanju konteksta SSL (%1) + + + Invalid or empty cipher list (%1) + Neveljaven ali prazen seznam šifer (%1) + + + Private key does not certify public key, %1 + + + + Error creating SSL session, %1 + Napaka pri ustvarjanju seje SSL: %1 + + + Error creating SSL session: %1 + Napaka pri ustvarjanju seje SSL: %1 + + + Cannot provide a certificate with no key, %1 + Ni moč priskrbeti potrdila brez ključa, %1 + + + Error loading local certificate, %1 + Napaka pri nalaganju krajevnega potrdila, %1 + + + Error loading private key, %1 + Napaka pri nalaganju zasebnega ključa, %1 + + + No error + Brez napake + + + The issuer certificate could not be found + + + + The certificate signature could not be decrypted + + + + The public key in the certificate could not be read + + + + The signature of the certificate is invalid + + + + The certificate is not yet valid + - - Insert - Vstavi + The certificate has expired + Potrdilo je preteklo - - Update - Posodobi + The certificate's notBefore field contains an invalid time + - - Save edits? - &Shranmi urejan?. + The certificate's notAfter field contains an invalid time + - - Cancel - Prekliči + The certificate is self-signed, and untrusted + - - Confirm - Potrdi + The root certificate of the certificate chain is self-signed, and untrusted + - - Cancel your edits? - Ali želite preklicati urejanja? + The issuer certificate of a locally looked up certificate could not be found + - - - QSslSocket - - Unable to write data: %1 - Ni moč zapisati podatkov: %1 + No certificates could be verified + - - Error while reading: %1 - Napaka med branjem: %1 + One of the CA certificates is invalid + - - Error during SSL handshake: %1 - Napaka med rokovanjem SSL: %1 + The basicConstraints path length parameter has been exceeded + - - Error creating SSL context (%1) - Napaka pri ustvarjanju konteksta SSL (%1) + The supplied certificate is unsuitable for this purpose + - - Invalid or empty cipher list (%1) - Neveljaven ali prazen seznam šifer (%1) + The root CA certificate is not trusted for this purpose + - - Error creating SSL session, %1 - Napaka pri ustvarjanju seje SSL: %1 + The root CA certificate is marked to reject the specified purpose + - - Error creating SSL session: %1 - Napaka pri ustvarjanju seje SSL: %1 + The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate + - - Cannot provide a certificate with no key, %1 - Ni moč priskrbeti potrdila brez ključa, %1 + 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 + - - Error loading local certificate, %1 - Napaka pri nalaganju krajevnega potrdila, %1 + The peer did not present any certificate + Vrstnik ni predložil nobenega potrdila - - Error loading private key, %1 - Napaka pri nalaganju zasebnega ključa, %1 + The host name did not match any of the valid hosts for this certificate + - - Private key does not certificate public key, %1 - Zasebni ključ ne potrjuje javnega ključa, %1 + Unknown error + Neznana napaka QStateMachine - Missing initial state in compound state '%1' V sestavljenem stanju »%1« manjka začetno stanje - Missing default state in history state '%1' V zgodovinskem stanju »%1« manjka privzeto stanje - No common ancestor for targets and source of transition from state '%1' Za cilje in začetek prehoda iz stanja »%1« ni skupnega prednika - Unknown error Neznana napaka @@ -6012,30 +6649,22 @@ Izberite drugo ime datoteke. QSystemSemaphore - - %1: out of resources %1: zmanjkalo je virov - - %1: permission denied %1: nimate dovoljenja - %1: already exists %1: že obstaja - %1: does not exist %1: ne obstaja - - %1: unknown error %2 %1: neznana napaka %2 @@ -6043,12 +6672,10 @@ Izberite drugo ime datoteke. QTDSDriver - Unable to open connection Ni moč vzpostaviti povezave - Unable to use database Podatkovne zbirke ni moč uporabljati @@ -6056,12 +6683,10 @@ Izberite drugo ime datoteke. QTabBar - Scroll Left Premakni levo - Scroll Right Premakni desno @@ -6069,7 +6694,6 @@ Izberite drugo ime datoteke. QTcpServer - Operation on socket is not supported Dejanje na vtičnici ni podprto @@ -6077,42 +6701,34 @@ Izberite drugo ime datoteke. QTextControl - &Undo &Razveljavi - &Redo &Uveljavi - Cu&t &Izreži - &Copy S&kopiraj - Copy &Link Location Skopiraj &povezavo do lokacije - &Paste Pri&lepi - Delete Izbriši - Select All Izberi vse @@ -6120,14 +6736,10 @@ Izberite drugo ime datoteke. QToolButton - - Press Pritisni - - Open Odpri @@ -6135,7 +6747,6 @@ Izberite drugo ime datoteke. QUdpSocket - This platform does not support IPv6 Ta platforma ne podpira IPv6 @@ -6143,12 +6754,10 @@ Izberite drugo ime datoteke. QUndoGroup - Undo Razveljavi - Redo Uveljavi @@ -6156,7 +6765,6 @@ Izberite drugo ime datoteke. QUndoModel - <empty> <prazno> @@ -6164,12 +6772,10 @@ Izberite drugo ime datoteke. QUndoStack - Undo Razveljavi - Redo Uveljavi @@ -6177,57 +6783,46 @@ Izberite drugo ime datoteke. QUnicodeControlCharacterMenu - LRM Left-to-right mark LRM (oznaka z-leve-na-desno) - RLM Right-to-left mark RLM (oznaka z-desne-na-levo) - ZWJ Zero width joiner ZWJ (združevalec s širino nič) - ZWNJ Zero width non-joiner ZWNJ (ne-združevalec s širino nič) - ZWSP Zero width space ZWSP (presledek s širino nič) - LRE Start of left-to-right embedding LRE (začetek vgrajevanja z leve na desno) - RLE Start of right-to-left embedding RLE (začetek vgrajevanja z desne na levo) - LRO Start of left-to-right override LRO (začetek nadomeščanja z leve na desno) - RLO Start of right-to-left override RLO (začetek nadomeščanja z desne na levo) - PDF Pop directional formatting PDF (odstrani oblikovanje usmerjenosti) - Insert Unicode control character Vstavi kontrolni znak Unicode @@ -6235,32 +6830,26 @@ Izberite drugo ime datoteke. QWebFrame - Request cancelled Zahtevek je bil preklican - Request blocked Zahtevek je bil blokiran - Cannot show URL Lokacije ni moč prikazati - Frame load interrupted by policy change Nalaganje okvirja je bilo prekinjeno zaradi spremembe pravil - Cannot show mimetype Vrste MIME ni moč prikazati - File does not exist Datoteka ne obstaja @@ -6268,610 +6857,515 @@ Izberite drugo ime datoteke. QWebPage - + Redirection limit reached + + + Bad HTTP request Napačen zahtevek HTTP - Submit default label for Submit buttons in forms on web pages Pošlji - Submit Submit (input element) alt text for <input> elements with no alt, title, or value Pošlji - Reset default label for Reset buttons in forms on web pages Ponastavi - This is a searchable index. Enter search keywords: text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' To je stvarno kazalo z iskanjem. Vnesite iskane besede: - Choose File title for file button used in HTML forms Izberite datoteko - No file selected text to display in file button used in HTML forms when no file is selected Datoteka ni izbrana - Open in New Window Open in New Window context menu item Odpri v novem oknu - Save Link... Download Linked File context menu item Shrani povezavo ... - Copy Link Copy Link context menu item Skopiraj povezavo - Open Image Open Image in New Window context menu item Odpri sliko - Save Image Download Image context menu item Shrani sliko - Copy Image Copy Link context menu item Kopiraj sliko - Open Frame Open Frame in New Window context menu item Odpri okvir - Copy Copy context menu item Skopiraj - Go Back Back context menu item Pojdi nazaj - Go Forward Forward context menu item Pojdi naprej - Stop Stop context menu item Ustavi - Reload Reload context menu item Znova naloži - Cut Cut context menu item Izreži - Paste Paste context menu item Prilepi - No Guesses Found No Guesses Found context menu item Najdenega ni nobenega ugibanja - Ignore Ignore Spelling context menu item Prezri - Add To Dictionary Learn Spelling context menu item Dodaj v slovar - Search The Web Search The Web context menu item Iščite po spletu - Look Up In Dictionary Look Up in Dictionary context menu item Poišči v slovarju - Open Link Open Link context menu item Odpri povezavo - Ignore Ignore Grammar context menu item Prezri - Spelling Spelling and Grammar context sub-menu item Črkovanje - Show Spelling and Grammar menu item title Prikaži črkovanje in slovnico - Hide Spelling and Grammar menu item title Skrij črkovanje in slovnico - Check Spelling Check spelling context menu item Preveri črkovanje - Check Spelling While Typing Check spelling while typing context menu item Preveri črkovanje med tipkanjem - Check Grammar With Spelling Check grammar with spelling context menu item Preveri slovnico in črkovanje - Fonts Font context sub-menu item Pisave - Bold Bold context menu item Polkrepko - Italic Italic context menu item Ležeče - Underline Underline context menu item Podčrtano - Outline Outline context menu item Obris - Direction Writing direction context sub-menu item Smer - Text Direction Text direction context sub-menu item Smer besedila - Default Default writing direction context menu item Privzeta - Left to Right Left to Right context menu item Z leve na desno - Right to Left Right to Left context menu item Z desne na levo - + Missing Plug-in + Label text to be used when a plug-in is missing + + + Loading... Media controller status message when the media is loading Nalaganje ... - Live Broadcast Media controller status message when watching a live broadcast Prenos v živo - Audio Element Media controller element Zvočni element - Video Element Media controller element Video element - Mute Button Media controller element Gumb za utišanje - Unmute Button Media controller element Gumb za preklic utišanja - Play Button Media controller element Gumb za predvajanje - Pause Button Media controller element Gumb za premor - Slider Media controller element Drsnik - Slider Thumb Media controller element Ročka na drsniku - Rewind Button Media controller element Gumb za previjanje - Return to Real-time Button Media controller element Gumb za vrnitev na resnični čas - Elapsed Time Media controller element Pretečeni čas - Remaining Time Media controller element Preostali čas - Status Display Media controller element Prikaz stanja - Fullscreen Button Media controller element Gumb za cel zaslon - Seek Forward Button Media controller element Gumb za pomik naprej - Seek Back Button Media controller element Gumb za pomik nazaj - Audio element playback controls and status display Media controller element Nadzor in prikaz stanja elementa za predvajanje zvoka - Video element playback controls and status display Media controller element Nadzor in prikaz stanja elementa za predvajanje videa - Mute audio tracks Media controller element Utišaj zvočne sledi - Unmute audio tracks Media controller element Prekliči utišanje zvočnih sledi - Begin playback Media controller element Začni predvajanje - Pause playback Media controller element Prekini predvajanje - Movie time scrubber Media controller element - + Drsnik za mesto v posnetku - Movie time scrubber thumb Media controller element - + Drsnik za mesto v posnetku - Rewind movie Media controller element Previj film - Return streaming movie to real-time Media controller element Povrni film na resnični čas - Current movie time Media controller element Trenutni čas filma - Remaining movie time Media controller element Preostali čas filma - Current movie status Media controller element Trenutno stanje filma - Play movie in full-screen mode Media controller element Predvajaj film čez ves zaslon - Seek quickly back Media controller element Hitro se pomakni nazaj - Seek quickly forward Media controller element Hitro se pomakni naprej - Indefinite time Media time description Nedoločen čas - %1 days %2 hours %3 minutes %4 seconds Media time description %1 dni %2 ur %3 minut %4 sekund - %1 hours %2 minutes %3 seconds Media time description %1 ur %2 minut %3 sekund - %1 minutes %2 seconds Media time description %1 minut %2 sekund - %1 seconds Media time description %1 sekund - Inspect Inspect Element context menu item Preglej. - No recent searches Label for only item in menu that appears when clicking on the search field image, when no searches have been performed Ni nedavnih iskanj - Recent searches label for first item in the menu that appears when clicking on the search field image, used as embedded menu title Nedavna iskanja - Clear recent searches menu item in Recent Searches menu that empties menu's contents Počisti nedavna iskanja - Unknown Unknown filesize FTP directory listing item Neznana - %1 (%2x%3 pixels) Title string for images %1 (%2×%3 pik) - Web Inspector - %2 Web Inspector - %2 - Scroll here Premakni sem - Left edge Levi rob - Top Vrh - Right edge Desni rob - Bottom Dno - Page left Za stran levo - Page up Za stran gor - Page right Za stran desno - Page down Za stran dol - Scroll left Premakni levo - Scroll up Premakni gor - Scroll right Premakni desno - Scroll down Premakni dol - %n file(s) number of chosen file @@ -6882,251 +7376,197 @@ Izberite drugo ime datoteke. - JavaScript Alert - %1 Opozorilo JavaScript - %1 - JavaScript Confirm - %1 Potrditev JavaScript - %1 - JavaScript Prompt - %1 Poziv JavaScript - %1 - JavaScript Problem - %1 Težava JavaScript - %1 - The script on this page appears to have a problem. Do you want to stop the script? Kot kaže ima skript na tej strani težavo. Ali želite ustaviti skript? - Move the cursor to the next character Premakni kazalec na naslednji znak - Move the cursor to the previous character Premakni kazalec na prejšnji znak - Move the cursor to the next word Premakni kazalec v naslednjo besedo - Move the cursor to the previous word Premakni kazalec v prejšnjo besedo - Move the cursor to the next line Premakni kazalec v naslednjo vrstico - Move the cursor to the previous line Premakni kazalec v prejšnjo vrstico - Move the cursor to the start of the line Premakni kazalec na začetek vrstice - Move the cursor to the end of the line Premakni kazalec na konec vrstice - Move the cursor to the start of the block Premakni kazalec na začetek bloka - Move the cursor to the end of the block Premakni kazalec na konec bloka - Move the cursor to the start of the document Premakni kazalec na začetek dokumenta - Move the cursor to the end of the document Premakni kazalec na konec dokumenta - Select all Izberi vse - Select to the next character Izberi do naslednjega znaka - Select to the previous character Izberi do prejšnjega znaka - Select to the next word Izberi do naslednje besede - Select to the previous word Izberi do prejšnje besede - Select to the next line Izberi do naslednje vrstice - Select to the previous line Izberi do prejšnje vrstice - Select to the start of the line Izberi do začetka vrstice - Select to the end of the line Izberi do konca vrstice - Select to the start of the block Izberi do začetka bloka - Select to the end of the block Izberi do konca bloka - Select to the start of the document Izberi do začetka dokumenta - Select to the end of the document Izberi do konca dokumenta - Delete to the start of the word Izbriši do začetka besede - Delete to the end of the word Izbriši do konca besede - Insert a new paragraph Vstavi nov odstavek - Insert a new line Vstavi novo vrstico - Paste and Match Style Prilepi in uskladi slog - Remove formatting Odstrani oblikovanje - Strikethrough Prečrtano - Subscript Podpisano - Superscript Nadpisano - Insert Bulleted List Vstavi navadni seznam - Insert Numbered List Vstavi oštevilčeni seznam - Indent Zamakni - Outdent Odzamakni - Center Sredinsko - Justify Obojestransko - Align Left Poravnaj levo - Align Right Poravnaj desno - - - Remaining move time - Media controller element - Preostali čas filma - QWhatsThisAction - What's This? Kaj je to? @@ -7134,7 +7574,6 @@ Izberite drugo ime datoteke. QWidget - * * @@ -7142,57 +7581,46 @@ Izberite drugo ime datoteke. QWizard - Go Back Pojdi nazaj - Continue Nadaljuj - Commit Uveljavi - Done Opravljeno - Help Pomoč - < &Back < Na&zaj - &Finish &Zaključi - Cancel Prekliči - &Help &Pomoč - &Next &Naprej - &Next > &Naprej > @@ -7200,69 +7628,54 @@ Izberite drugo ime datoteke. QWorkspace - &Restore &Obnovi - &Move &Premakni - &Size &Velikost - Mi&nimize Po&manjšaj - Ma&ximize &Razpni - &Close &Zapri - Stay on &Top Ostani na &vrhu - - Sh&ade Zvi&j - - %1 - [%2] %1 - [%2] - Minimize Pomanjšaj - Restore Down Obnovi navzdol - Close Zapri - &Unshade Razv&ij @@ -7270,302 +7683,260 @@ Izberite drugo ime datoteke. QXml - no error occurred ni nobene napake - error triggered by consumer napako povzročil uporabnik - unexpected end of file nepričakovan konec datoteke - more than one document type definition več kot ena definicija vrste dokumenta - error occurred while parsing element napaka med analiziranjem elementa - tag mismatch neprimerna oznaka - error occurred while parsing content napaka med analiziranje vsebine - unexpected character nepričakovan znak - invalid name for processing instruction nepravilno ime za ukaz obdelave - version expected while reading the XML declaration pričakovana različica med branjem deklaracije XML - wrong value for standalone declaration napačna vrednost za samostojno deklaracijo - encoding declaration or standalone declaration expected while reading the XML declaration deklaracija kodiranja ali samostojna deklaracija je bila pričakovana med branjem deklaracije XML - standalone declaration expected while reading the XML declaration samostojna deklaracija pričakovana med branjem deklaracije XML - error occurred while parsing document type definition napaka med analiziranjem vrste definicije dokumenta - letter is expected pričakovana je črka - error occurred while parsing comment napaka med analiziranjem komentarja - error occurred while parsing reference napaka med analiziranjem reference - internal general entity reference not allowed in DTD referenca notranje splošne entitete ni dovoljena v DTD - external parsed general entity reference not allowed in attribute value referenca zunanje analizirane splošne entitete ni dovoljena v vrednosti atributa - external parsed general entity reference not allowed in DTD referenca zunanje analizirane splošne entitete ni dovoljena v DTD - unparsed entity reference in wrong context referenca neanalizirane entitete v napačnem kontekstu - recursive entities rekurzivne entitete - error in the text declaration of an external entity napaka v besedilni deklaraciji zunanje entitete + QXmlPatternistCLI + + Warning in %1, at line %2, column %3: %4 + + + + Warning in %1: %2 + + + + Unknown location + Neznana lokacija + + + Error %1 in %2, at line %3, column %4: %5 + + + + Error %1 in %2: %3 + Napaka %1 v %2: %3 + + + QXmlStream - - Extra content at end of document. Dodatna vsebina na koncu dokumenta. - Invalid entity value. Neveljavna vrednost entitete. - Invalid XML character. Neveljaven znak XML. - Sequence ']]>' not allowed in content. Zaporedje »]]>« v vsebini ni dovoljeno. - Namespace prefix '%1' not declared Predpona imenskega prostora »%1« ni deklarirana - Attribute redefined. Atribut je redefiniran. - Unexpected character '%1' in public id literal. - Invalid XML version string. Neveljaven niz različice XML. - Unsupported XML version. Nepodprta različica XML. - %1 is an invalid encoding name. %1 ni veljavno ime kodiranja. - Encoding %1 is unsupported Kodiranje %1 ni podprto - Standalone accepts only yes or no. - Invalid attribute in XML declaration. Neveljaven atribut v deklaraciji XML. - Premature end of document. Predčasen konec dokumenta. - Invalid document. Neveljaven dokument.. - Expected Pričakovan - , but got ' , vendar prejel ' - Unexpected ' Nepričakovan ' - Expected character data. Pričakoval znakovne podatke. - Recursive entity detected. Zaznana je bila rekurzivna entiteta. - Start tag expected. Pričakovana je bila začetna oznaka. - XML declaration not at start of document. Deklaracija XML ni na začetku dokumenta. - NDATA in parameter entity declaration. - %1 is an invalid processing instruction name. %1 ni veljavno ime ukaza obdelave. - Invalid processing instruction name. Neveljavno ime ukaza obdelave. - - - - Illegal namespace declaration. Neveljavna deklaracija imenskega prostora. - Invalid XML name. Neveljavno ime XML. - Opening and ending tag mismatch. Začetni in zaključni oznaki se ne ujemata. - Reference to unparsed entity '%1'. Referenca na nerazčlenjeno entiteto »%1«. - - - Entity '%1' not declared. Entiteta »%1« ni deklarirana. - Reference to external entity '%1' in attribute value. Referenca na zunanjo entiteto »%1« v vrednosti lastnosti. - Invalid character reference. Neveljavna znakovna referenca. - - Encountered incorrectly encoded content. Naletel na napačno zakodirano vsebino. - The standalone pseudo attribute must appear after the encoding. Samostojni psevdo-atribut se mora pojaviti za kodiranjem. - %1 is an invalid PUBLIC identifier. @@ -7573,240 +7944,190 @@ Izberite drugo ime datoteke. QtXmlPatterns - Network timeout. Čas za omrežje je potekel. - Element %1 can't be serialized because it appears outside the document element. - Year %1 is invalid because it begins with %2. Leto %1 ni veljavno, ker se začne z %2. - Day %1 is outside the range %2..%3. Dan %1 je izven obsega %2..%3. - Month %1 is outside the range %2..%3. Mesec %1 je izven obsega %2..%3. - Overflow: Can't represent date %1. Prekoračitev: ni moč predstaviti datuma %1. - Day %1 is invalid for month %2. Dan %1 za mesec %2 ni veljaven. - Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; Čas 24:%1:%2.%3 ni veljaven. Ura je 24, vendar minute, sekunde in milisekunde niso vse 0; - Time %1:%2:%3.%4 is invalid. Čas %1:%2:%3.%4 ni veljaven. - Overflow: Date can't be represented. Prekoračitev: datuma ni moč predstaviti. - - At least one component must be present. Prisotna mora biti vsaj ena komponenta. - At least one time component must appear after the %1-delimiter. Za razmejiteljem %1 se mora pojaviti vsaj ena časovna komponenta. - %1 is not a valid value of type %2. %1 ni veljavna vrednost vrste %2. - When casting to %1 from %2, the source value cannot be %3. - Integer division (%1) by zero (%2) is undefined. Deljenje celega števila (%1) z nič (%2) ni določeno. - Division (%1) by zero (%2) is undefined. Deljenje (%1) z nič (%2) ni določeno. - Modulus division (%1) by zero (%2) is undefined. Ostanek deljenja (%1) z nič (%2) ni določen. - - Dividing a value of type %1 by %2 (not-a-number) is not allowed. Deljenje vrednosti vrste %1 z %2 (ni število) ni dovoljeno. - Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. Deljenje vrednosti vrste %1 z %2 ali %3 (pozitivna ali negativna nič) ni dovoljeno. - Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. Množenje vrednosti vrste %1 z %2 ali %3 (pozitivna ali negativna neskončnost) ni dovoljeno. - A value of type %1 cannot have an Effective Boolean Value. Vrednost vrste %1 ne more imeti dejanske logične vrednosti. - Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. Dejanske logične vrednosti ni moč izračunati za zaporedje, ki vsebuje dve ali več atomičnih vrednosti. - Value %1 of type %2 exceeds maximum (%3). Vrednost %1 vrste %2 presega maksimum (%3). - Value %1 of type %2 is below minimum (%3). Vrednost %1 vrste %2 je pod minimumom (%3). - A value of type %1 must contain an even number of digits. The value %2 does not. Vrednost vrste %1 mora vsebovati sodo število števk. Vrednost %2 temu ne zadošča. - %1 is not valid as a value of type %2. %1 ni veljavna kot vrednost vrste %2. - Operator %1 cannot be used on type %2. Operatorja %1 ni moč uporabiti na vrsti %2. - Operator %1 cannot be used on atomic values of type %2 and %3. Operatorja %1 ni moč uporabiti na atomičnih vrednostih vrst %2 in %3. - The namespace URI in the name for a computed attribute cannot be %1. URI imenskega prostora v imenu izračunane lastnosti ne more biti %1. - The name for a computed attribute cannot have the namespace URI %1 with the local name %2. Ime izračunane lastnosti ne more imeti URI-ja imenskega prostora %1 s krajevnim imenom %2. - Type error in cast, expected %1, received %2. - When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. - A comment cannot contain %1 Komentar ne more vsebovati %1 - A comment cannot end with a %1. Komentar se ne more končati z %1. - An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. - A library module cannot be evaluated directly. It must be imported from a main module. Modula knjižnice ni moč ovrednotiti neposredno. Uvoziti ga je potrebno iz glavnega modula. - No template by name %1 exists. Predloga z imenom %1 ne obstaja. - A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. - A positional predicate must evaluate to a single numeric value. - - The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid. + The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, %2 is invalid. - %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. - The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. - The data of a processing instruction cannot contain the string %1 Podatki ukaza za obdelavo ne morejo vsebovati niza %1 - No namespace binding exists for the prefix %1 - No namespace binding exists for the prefix %1 in %2 - - %1 is an invalid %2 %1 ni veljaven %2 - %1 takes at most %n argument(s). %2 is therefore invalid. %1 potrebuje največ %n argument. %2 zato ni veljavno. @@ -7816,7 +8137,6 @@ Izberite drugo ime datoteke. - %1 requires at least %n argument(s). %2 is therefore invalid. %1 potrebuje najmanj %n argument. %2 zato ni veljavno. @@ -7826,2399 +8146,2052 @@ Izberite drugo ime datoteke. - The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. Prvi argument za %1 ne more biti vrste %2. Mora biti številčne vrste, xs:yearMonthDuration ali xs:dayTimeDuration. - The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. Prvi argument za %1 ne more biti vrste %2. Mora biti vrste %3, %4 ali %5. - The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. Drugi argument za %1 ne more biti vrste %2. Mora biti vrste %3, %4 ali %5. - %1 is not a valid XML 1.0 character. %1 ni veljaven znak XML 1.0. - If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. - %1 was called. %1 je bila klicana. - %1 must be followed by %2 or %3, not at the end of the replacement string. - In the replacement string, %1 must be followed by at least one digit when not escaped. - In the replacement string, %1 can only be used to escape itself or %2, not %3 - %1 matches newline characters %1 se ujema z znaki za novo vrstico - %1 and %2 match the start and end of a line. %1 in %2 se ujemata z začetkom in koncem vrstice. - Matches are case insensitive Ujemanja niso občutljiva na velikost črk - Whitespace characters are removed, except when they appear in character classes Znaki za presledke so odstranjeni, razen ko se pojavijo v znakovnih razredih - %1 is an invalid regular expression pattern: %2 %1 ni veljaven vzorec regularnega izraza: %2 - %1 is an invalid flag for regular expressions. Valid flags are: - If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. Če je prvi argument prazno zaporedje, ali pa niz z dolžino nič (brez imenskega prostora), predpone ni moč določiti. Določena je bila predpona %1. - It will not be possible to retrieve %1. %1 ne bo možno pridobiti. - The root node of the second argument to function %1 must be a document node. %2 is not a document node. - The default collection is undefined Privzeta zbirka ni določena. - %1 cannot be retrieved %1 ni moč pridobiti - The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). - A zone offset must be in the range %1..%2 inclusive. %3 is out of range. - %1 is not a whole number of minutes. - + %1 ni celovito število minut, - Required cardinality is %1; got cardinality %2. - The item %1 did not match the required type %2. Postavka %1 se ne ujema z zahtevano vrsto %2. - - %1 is an unknown schema type. %1 ni znana vrsta sheme. - + A template with name %1 has already been declared. + + + Only one %1 declaration can occur in the query prolog. - The initialization of variable %1 depends on itself Inicializacija spremenljivke %1 je odvisna od same sebe. - - No variable by name %1 exists - Spremenljivka z imenom %1 ne obstaja - - - The variable %1 is unused Spremenljivka %1 ni uporabljena - Version %1 is not supported. The supported XQuery version is 1.0. Različica %1 ni podprta. Podpra različica XQuery je 1.0. - The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. Kodiranje %1 ni veljavno. Vsebovati mora le znake latinske abecede, ne sme vsebovati presledkov in se mora ujemati z regularnim izrazom %2. - No function with signature %1 is available Na voljo ni nobene funkcije s podpisom %1 - - A default namespace declaration must occur before function, variable, and option declarations. Deklaracije privzetega imenskega prostora se mora pojaviti pred deklaracijami funkcij, spremenljivk in možnosti. - Namespace declarations must occur before function, variable, and option declarations. Deklaracije imenskih prostorov se morajo pojaviti pred deklaracijami funkcij, spremenljivk in možnosti. - Module imports must occur before function, variable, and option declarations. Uvozi modulov se morajo pojaviti pred deklaracijami funkcij, spremenljivk in možnosti. - It is not possible to redeclare prefix %1. Predpone %1 ni moč znova deklarirati. - Prefix %1 is already declared in the prolog. - The name of an option must have a prefix. There is no default namespace for options. Ime možnosti mora vsebovati predpono. Privzeti imenski prostor za možnosti ne obstaja. - The Schema Import feature is not supported, and therefore %1 declarations cannot occur. - The target namespace of a %1 cannot be empty. Ciljni imenski prostor za %1 ne sme biti prazen. - The module import feature is not supported Zmožnost uvažanja modulov ni podprta - - No value is available for the external variable by name %1. - Za zunanjo spremenljivko z imenom %1 ni na voljo nobene vrednosti. - - - - A template by name %1 has already been declared. - Predloga z imenom %1 je že bila deklarirana. - - - The keyword %1 cannot occur with any other mode name. - - The value of attribute %1 must of type %2, which %3 isn't. - Vrednost lastnosti %1 mora biti vrste %2, %3 pa to ni. - - - - The prefix %1 can not be bound. By default, it is already bound to the namespace %2. - - - - - A variable by name %1 has already been declared. - Spremenljivka z imenom %1 je že bila deklarirana. - - - A stylesheet function must have a prefixed name. - The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) Imenski prostor za uporabniško določeno funkcijo ne sme biti prazen (poskusite z vnaprej določeno predpono %1, ki obstaja za take primere) - The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. Imenski prostor %1 je rezerviran, zato ga uporabniško določene funkcije ne smejo uporabiti. Poskusite z vnaprej določeno predpono %2, ki obstaja za take primere. - 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 Imenski prostor uporabniško določene funkcije v modulu knjižnice mora biti enak imenskemu prostoru modula. Z drugimi besedami, moral bi biti %1, namesto %2. - A function already exists with the signature %1. Funkcija s podpisom %1 že obstaja. - No external functions are supported. All supported functions can be used directly, without first declaring them as external Zunanje funkcije niso podprte. Vse podprte funkcije je moč uporabiti neposredno, brez da bi jih najprej deklarirali kot zunanje. - - An argument by name %1 has already been declared. Every argument name must be unique. - Argument z imenom %1 je že bil deklariran. Vsako ime argumenta mora biti edinstveno. + No variable with name %1 exists + + + + The value of attribute %1 must be of type %2, which %3 isn't. + + + + The prefix %1 cannot be bound. By default, it is already bound to the namespace %2. + + + + A variable with name %1 has already been declared. + + + + No value is available for the external variable with name %1. + + + + An argument with name %1 has already been declared. Every argument name must be unique. + - When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal. - In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. - In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. - In an XSL-T pattern, function %1 cannot have a third argument. V XSL-T vzorcu funkcija %1 ne more imeti tretjega argumenta. - In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. - In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. - %1 is an invalid template mode name. - The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. Ime spremenljivke priklenjene v izrazu »for« se mora razlikovati od spremenljivke položaja. Spremenljivki z imenom %1 zato trčita. - The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. - None of the pragma expressions are supported. Therefore, a fallback expression must be present - Each name of a template parameter must be unique; %1 is duplicated. - The %1-axis is unsupported in XQuery Os %1 v XQuery ni podprta - + No function with name %1 is available. + + + + An attribute with name %1 has already appeared on this element. + + + %1 is not a valid name for a processing-instruction. - %1 is not a valid numeric literal. - W3C XML Schema identity constraint selector - W3C XML Schema identity constraint field - A construct was encountered which is disallowed in the current language(%1). - - No function by name %1 is available. - Na voljo ni nobene funkcije z imenom %1. - - - The namespace URI cannot be the empty string when binding to a prefix, %1. - %1 is an invalid namespace URI. %1 ni veljaven URI imenskega prostora. - It is not possible to bind to the prefix %1 - Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). Imenski prostor %1 je lahko navezan le na %2 (in je, v vsakem primeru, preddeklariran) - Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). Predpona %1 je lahko navezana le na %2 (in je, v vsakem primeru, preddeklarirana) - Two namespace declaration attributes have the same name: %1. Dva atributa deklaracije imenskega prostora imata isto ime: %1 - The namespace URI must be a constant and cannot use enclosed expressions. - - An attribute by name %1 has already appeared on this element. - Atribut z imenom %1 se je v tem elementu že pojavil. - - - A direct element constructor is not well-formed. %1 is ended with %2. - The name %1 does not refer to any schema type. Ime %1 se ne nanaša na nobeno vrsto sheme. - %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. - %1 is not an atomic type. Casting is only possible to atomic types. - - %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. - The name of an extension expression must be in a namespace. Ime razširitvenega izraza mora biti v imenskem prostoru. - empty prazno - zero or one nič ali en - exactly one točno en - one or more en ali več - zero or more nič ali več - Required type is %1, but %2 was found. Zahtevana vrsta je %1, najdena pa je bila %2. - Promoting %1 to %2 may cause loss of precision. Povišanje %1 v %2 lahko povzroči izgubo natančnosti. - The focus is undefined. Fokus ni definiran. - It's not possible to add attributes after any other kind of node. - An attribute by name %1 has already been created. Atribut z imenom %1 je že bil ustvarjen. - Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. - Attribute %1 can't be serialized because it appears at the top level. - %1 is an unsupported encoding. %1 ni podprto kodiranje. - %1 contains octets which are disallowed in the requested encoding %2. - The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. - Ambiguous rule match. Dvoumno ujemanje s pravilom. - In a namespace constructor, the value for a namespace cannot be an empty string. - The prefix must be a valid %1, which %2 is not. - + - The prefix %1 cannot be bound. Predpone %1 ni moč navezati. - Only the prefix %1 can be bound to %2 and vice versa. Na %2 je lahko navezana le predpona %1 in obratno. - The parameter %1 is required, but no corresponding %2 is supplied. Potreben je parameter %1, vendar ustrezen %2 ni bil podan. - The parameter %1 is passed, but no corresponding %2 exists. Podan je bil parameter %1, vendar ustrezen %2 ne obstaja. - The URI cannot have a fragment - Element %1 is not allowed at this location. Element %1 na tej lokaciji ni dovoljen. - Text nodes are not allowed at this location. Besedilna vozlišča na tej lokaciji niso dovoljena. - Parse error: %1 Napaka pri razčlenjevanju: %1 - The value of the XSL-T version attribute must be a value of type %1, which %2 isn't. Vrednost lastnosti različice XSL-T mora biti vrednost vrste %1, %2 pa to ni. - Running an XSL-T 1.0 stylesheet with a 2.0 processor. - Unknown XSL-T attribute %1. Neznana XSL-T lastnost %1. - Attribute %1 and %2 are mutually exclusive. Lastnosti %1 in %2 sta medsebojno izključujoči. - In a simplified stylesheet module, attribute %1 must be present. - If element %1 has no attribute %2, it cannot have attribute %3 or %4. Če element %1 nima lastnosti %2, ne more imeti lastnosti %3 ali %4. - Element %1 must have at least one of the attributes %2 or %3. Element %1 mora imeti vsaj eno izmed lastnosti %2 in %3. - At least one mode must be specified in the %1-attribute on element %2. - Element %1 must come last. Element %1 mora biti zadnji. - At least one %1-element must occur before %2. - Only one %1-element can appear. - At least one %1-element must occur inside %2. - + - When attribute %1 is present on %2, a sequence constructor cannot be used. - Element %1 must have either a %2-attribute or a sequence constructor. - When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor. - Element %1 cannot have children. Element %1 ne more imeti podelementov. - Element %1 cannot have a sequence constructor. - - The attribute %1 cannot appear on %2, when it is a child of %3. - A parameter in a function cannot be declared to be a tunnel. - This processor is not Schema-aware and therefore %1 cannot be used. - Top level stylesheet elements must be in a non-null namespace, which %1 isn't. - The value for attribute %1 on element %2 must either be %3 or %4, not %5. Vrednost lastnosti %1 elementa %2 mora biti %3 ali %4 in ne %5. - Attribute %1 cannot have the value %2. Lastnost %1 ne more imeti vrednosti %2. - The attribute %1 can only appear on the first %2 element. Lastnost %1 se lahko pojavi le pri prvem elementu %2. - At least one %1 element must appear as child of %2. - %1 has inheritance loop in its base type %2. - - Circular inheritance of base type %1. - Circular inheritance of union %1. - %1 is not allowed to derive from %2 by restriction as the latter defines it as final. - %1 is not allowed to derive from %2 by extension as the latter defines it as final. - Base type of simple type %1 cannot be complex type %2. - Simple type %1 cannot have direct base type %2. - - Simple type %1 is not allowed to have base type %2. - Simple type %1 can only have simple atomic type as base type. - Simple type %1 cannot derive from %2 as the latter defines restriction as final. - - Variety of item type of %1 must be either atomic or union. - - Variety of member types of %1 must be atomic. - - %1 is not allowed to derive from %2 by list as the latter defines it as final. - Simple type %1 is only allowed to have %2 facet. - Base type of simple type %1 must have variety of type list. - Base type of simple type %1 has defined derivation by restriction as final. - Item type of base type does not match item type of %1. - - Simple type %1 contains not allowed facet type %2. - - %1 is not allowed to derive from %2 by union as the latter defines it as final. - %1 is not allowed to have any facets. - Base type %1 of simple type %2 must have variety of union. - Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute. - Member type %1 cannot be derived from member type %2 of %3's base type %4. - Derivation method of %1 must be extension because the base type %2 is a simple type. - Complex type %1 has duplicated element %2 in its content model. - Complex type %1 has non-deterministic content. - Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3. - Content model of complex type %1 is not a valid extension of content model of %2. - Complex type %1 must have simple content. - Complex type %1 must have the same simple type as its base class %2. - Complex type %1 cannot be derived from base type %2%3. - Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3. - Complex type %1 with simple content cannot be derived from complex base type %2. - Item type of simple type %1 cannot be a complex type. - Member type of simple type %1 cannot be a complex type. - %1 is not allowed to have a member type with the same name as itself. - - - %1 facet collides with %2 facet. - %1 facet must have the same value as %2 facet of base type. - %1 facet must be equal or greater than %2 facet of base type. - - - - - - - - %1 facet must be less than or equal to %2 facet of base type. - %1 facet contains invalid regular expression - Unknown notation %1 used in %2 facet. - %1 facet contains invalid value %2: %3. - %1 facet cannot be %2 or %3 if %4 facet of base type is %5. - %1 facet cannot be %2 if %3 facet of base type is %4. - - - %1 facet must be less than or equal to %2 facet. - - - %1 facet must be less than %2 facet of base type. - - %1 facet and %2 facet cannot appear together. - - - %1 facet must be greater than %2 facet of base type. - - %1 facet must be less than %2 facet. - - %1 facet must be greater than or equal to %2 facet of base type. - Simple type contains not allowed facet %1. - %1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list. - Only %1 and %2 facets are allowed when derived by union. - - %1 contains %2 facet with invalid data: %3. - Attribute group %1 contains attribute %2 twice. Skupina lastnosti %1 dvakrat vsebuje lastnost %2. - Attribute group %1 contains two different attributes that both have types derived from %2. - Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3. - Complex type %1 contains attribute %2 twice. Kompleksna vrsta %1 dvakrat vsebuje lastnost %2. - Complex type %1 contains two different attributes that both have types derived from %2. - Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3. - Element %1 is not allowed to have a value constraint if its base type is complex. - Element %1 is not allowed to have a value constraint if its type is derived from %2. - - Value constraint of element %1 is not of elements type: %2. - Element %1 is not allowed to have substitution group affiliation as it is no global element. - Type of element %1 cannot be derived from type of substitution group affiliation. - Value constraint of attribute %1 is not of attributes type: %2. - Attribute %1 has value constraint but has type derived from %2. - %1 attribute in derived complex type must be %2 like in base type. - Attribute %1 in derived complex type must have %2 value constraint like in base type. - Attribute %1 in derived complex type must have the same %2 value constraint like in base type. - Attribute %1 in derived complex type must have %2 value constraint. - processContent of base wildcard must be weaker than derived wildcard. - - Element %1 exists twice with different types. Element %1 obstaja dvakrat, z različnima vrstama. - Particle contains non-deterministic wildcards. - - Base attribute %1 is required but derived attribute is not. - Type of derived attribute %1 cannot be validly derived from type of base attribute. - Value constraint of derived attribute %1 does not match value constraint of base attribute. - - Derived attribute %1 does not exists in the base definition. + Derived attribute %1 does not exist in the base definition. - Derived attribute %1 does not match the wildcard in the base definition. - Base attribute %1 is required but missing in derived definition. - Derived definition contains an %1 element that does not exists in the base definition - Derived wildcard is not a subset of the base wildcard. - %1 of derived wildcard is not a valid restriction of %2 of base wildcard - Attribute %1 from base type is missing in derived type. - Type of derived attribute %1 differs from type of base attribute. - Base definition contains an %1 element that is missing in the derived definition - %1 references unknown %2 or %3 element %4. - %1 references identity constraint %2 that is no %3 or %4 element. - %1 has a different number of fields from the identity constraint %2 that it references. - Base type %1 of %2 element cannot be resolved. - Item type %1 of %2 element cannot be resolved. - Member type %1 of %2 element cannot be resolved. - - - Type %1 of %2 element cannot be resolved. - Base type %1 of complex type cannot be resolved. - %1 cannot have complex base type that has a %2. - Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type. - Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model. - Type of %1 element must be a simple type, %2 is not. Vrsta elementa %1 mora biti preprosta, %2 to ni. - Substitution group %1 of %2 element cannot be resolved. - Substitution group %1 has circular definition. - - Duplicated element names %1 in %2 element. Podvojeni imeni elementov %1 v elementu %2. - - - - Reference %1 of %2 element cannot be resolved. - Circular group reference for %1. - %1 element is not allowed in this scope Element %1 v tem obsegu ni dovoljen - %1 element cannot have %2 attribute with value other than %3. - %1 element cannot have %2 attribute with value other than %3 or %4. - %1 or %2 attribute of reference %3 does not match with the attribute declaration %4. - Attribute group %1 has circular reference. - %1 attribute in %2 must have %3 use like in base type %4. - Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2. - %1 has attribute wildcard but its base type %2 has not. - Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible. - Enumeration facet contains invalid content: {%1} is not a value of type %2. - Namespace prefix of qualified name %1 is not defined. - - %1 element %2 is not a valid restriction of the %3 element it redefines: %4. - Empty particle cannot be derived from non-empty particle. - Derived particle is missing element %1. - Derived element %1 is missing value constraint as defined in base particle. - Derived element %1 has weaker value constraint than base particle. - Fixed value constraint of element %1 differs from value constraint in base particle. - Derived element %1 cannot be nillable as base element is not nillable. - Block constraints of derived element %1 must not be more weaker than in the base element. - Simple type of derived element %1 cannot be validly derived from base element. - + Preproste vrste izpeljanega elementa %1 ni moč veljavno izpeljati iz osnovnega elementa. - Complex type of derived element %1 cannot be validly derived from base element. - + Kompleksne vrste izpeljanega elementa %1 ni moč veljavno izpeljati iz osnovnega elementa. - Element %1 is missing in derived particle. - + Element %1 v izpeljanem delcu manjka. - Element %1 does not match namespace constraint of wildcard in base particle. - Wildcard in derived particle is not a valid subset of wildcard in base particle. - + Vzorec v izpeljanem delcu ni veljavna podmnoživa vzorca iz osnovnega razreda. - processContent of wildcard in derived particle is weaker than wildcard in base particle. - + processContent vzorca v izpeljanem delcu je šibkejši kot vzorec v osnovnem delcu. - Derived particle allows content that is not allowed in the base particle. - + Izpeljani delec dovoljuje vsebino, ki v osnovnem delcu ni dovoljena. - Can not process unknown element %1, expected elements are: %2. Ni moč obdelati neznanega elementa %1, pričakovani elementi so: %2. - Element %1 is not allowed in this scope, possible elements are: %2. Element %1 v tem obsegu ni dovoljen, možni elementi so: %2. - Child element is missing in that scope, possible child elements are: %1. V tem obsegu manjka podelement, možni podelementi so: %1. - Document is not a XML schema. Dokument ni shema XML. - %1 attribute of %2 element contains invalid content: {%3} is not a value of type %4. Lastnost %1 elementa %2 vsebuje neveljavno vsebino: {%3} ni vrednost vrste %4. - %1 attribute of %2 element contains invalid content: {%3}. Lastnost %1 elementa %2 vsebuje neveljavno vsebino: {%3}. - Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema. - - Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema. - %1 element is not allowed to have the same %2 attribute value as the target namespace %3. - %1 element without %2 attribute is not allowed inside schema without target namespace. - - %1 element is not allowed inside %2 element if %3 attribute is present. Element %1 znotraj elementa %2 ni dovoljen, če je prisotna lastnost %3. - - - %1 element has neither %2 attribute nor %3 child element. Element %1 nima niti lastnosti %2 niti podelementa %3. - - - - - - - - - - - - - - %1 element with %2 child element must not have a %3 attribute. Element %1 s podelementom %2 ne sme imeti lastnosti %3. - %1 attribute of %2 element must be %3 or %4. Lastnost %1 elementa %2 mora biti %3 ali %4. - %1 attribute of %2 element must have a value of %3. Lastnost %1 elementa %2 mora imeti vrednost %3. - - %1 attribute of %2 element must have a value of %3 or %4. Lastnost %1 elementa %2 mora imeti vrednost %3 ali %4. - - - - - - - - - - - - - - %1 element must not have %2 and %3 attribute together. Element %1 hkrati ne sme imeti lastnosti %2 in %3. - - Content of %1 attribute of %2 element must not be from namespace %3. Vsebina lastnosti %1 elementa %2 ne sme biti iz imenskega prostora %3. - - %1 attribute of %2 element must not be %3. Lastnost %1 elementa %2 ne sme biti %3. - %1 attribute of %2 element must have the value %3 because the %4 attribute is set. - + Lastnost %1 elementa %2 mora imeti vrednost %3, ker je nastavljena lastnost %4. - Specifying use='prohibited' inside an attribute group has no effect. - + Določitev use='prohibited' znotraj skupine lastnosti nima nobenega učinka. - %1 element must have either %2 or %3 attribute. Element %1 mora imeti lastnost %2 ali %3. - %1 element must have either %2 attribute or %3 or %4 as child element. - + Element %1 mora imeti bodisi lastnost %2 bodisi vsebovati %3 ali %4 kot podelement. - %1 element requires either %2 or %3 attribute. Element %1 potrebuje vsaj lastnost %2 ali %3. - Text or entity references not allowed inside %1 element - + Sklici na besedilo ali entiteto znotraj elementa %1 niso dovoljeni. - - %1 attribute of %2 element must contain %3, %4 or a list of URIs. - + Lastnost %1 elementa %2 mora vsebovati %3, %4 ali pa seznam URI-jev. - %1 element is not allowed in this context. Element %1 v tem kontekstu ni dovoljen. - %1 attribute of %2 element has larger value than %3 attribute. - + Lastnost %1 elementa %2 ima višjo vrednost kot lastnost %3. - Prefix of qualified name %1 is not defined. - + Predpona kvalificiranega imena %1 ni določena. - - %1 attribute of %2 element must either contain %3 or the other values. - + Lastnost %1 elementa %2 mora vsebovati bodisi %3 bodisi druge vrednosti. - - Component with id %1 has been defined previously. - Komponenta z ID-jem %1 je že bila definirana. + Component with ID %1 has been defined previously. + Komponenta z ID-jem %1 je že bila definirana. - Element %1 already defined. Element %1 je že definiran. - Attribute %1 already defined. Lastnost %1 je že definirana. - Type %1 already defined. Vrsta %1 je že definirana. - Attribute group %1 already defined. Skupina lastnosti %1 je že definirana. - Element group %1 already defined. Skupina elementov %1 je že definirana. - Notation %1 already defined. Zapis %1 je že definiran. - Identity constraint %1 already defined. - + Omejitev identitete %1 je že določena. - Duplicated facets in simple type %1. - - - %1 is not valid according to %2. %1 glede na %2 ni veljaven. - String content does not match the length facet. - String content does not match the minLength facet. - String content does not match the maxLength facet. - String content does not match pattern facet. - String content is not listed in the enumeration facet. - Signed integer content does not match the maxInclusive facet. - Signed integer content does not match the maxExclusive facet. - Signed integer content does not match the minInclusive facet. - Signed integer content does not match the minExclusive facet. - Signed integer content is not listed in the enumeration facet. - Signed integer content does not match pattern facet. - Signed integer content does not match in the totalDigits facet. - Unsigned integer content does not match the maxInclusive facet. - Unsigned integer content does not match the maxExclusive facet. - Unsigned integer content does not match the minInclusive facet. - Unsigned integer content does not match the minExclusive facet. - Unsigned integer content is not listed in the enumeration facet. - Unsigned integer content does not match pattern facet. - Unsigned integer content does not match in the totalDigits facet. - Double content does not match the maxInclusive facet. - Double content does not match the maxExclusive facet. - Double content does not match the minInclusive facet. - Double content does not match the minExclusive facet. - Double content is not listed in the enumeration facet. - Double content does not match pattern facet. - Decimal content does not match in the fractionDigits facet. - Decimal content does not match in the totalDigits facet. - Date time content does not match the maxInclusive facet. - Date time content does not match the maxExclusive facet. - Date time content does not match the minInclusive facet. - Date time content does not match the minExclusive facet. - Date time content is not listed in the enumeration facet. - Date time content does not match pattern facet. - Duration content does not match the maxInclusive facet. - Duration content does not match the maxExclusive facet. - Duration content does not match the minInclusive facet. - Duration content does not match the minExclusive facet. - Duration content is not listed in the enumeration facet. - Duration content does not match pattern facet. - Boolean content does not match pattern facet. - Binary content does not match the length facet. - Binary content does not match the minLength facet. - Binary content does not match the maxLength facet. - Binary content is not listed in the enumeration facet. - Invalid QName content: %1. Neveljavna vsebina QName: %1. - QName content is not listed in the enumeration facet. - QName content does not match pattern facet. - Notation content is not listed in the enumeration facet. - List content does not match length facet. - List content does not match minLength facet. - List content does not match maxLength facet. - List content is not listed in the enumeration facet. - List content does not match pattern facet. - Union content is not listed in the enumeration facet. - Union content does not match pattern facet. - Data of type %1 are not allowed to be empty. Podatki vrste %1 ne smejo biti prazni. - Element %1 is missing child element. Elementu %1 manjka podelement. - There is one IDREF value with no corresponding ID: %1. - + Obstaja ena vrednost IDREF brez ustreznega ID-ja: %1 - Loaded schema file is invalid. - + Naložena datoteka s shemo ni veljavna. - %1 contains invalid data. %1 vsebuje neveljavne podatke. - xsi:schemaLocation namespace %1 has already appeared earlier in the instance document. - xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute. - No schema defined for validation. - + Določene ni nobene sheme za potrjevanje. - No definition for element %1 available. Definicija za element %1 ni na voljo. - - - Specified type %1 is not known to the schema. - + Določena vrsta %1 shemi ni znana. - Element %1 is not defined in this scope. Element %1 v tem obsegu ni definiran. - Declaration for element %1 does not exist. Deklaracija elementa %1 ne obstaja. - Element %1 contains invalid content. Element %1 vsebuje neveljavno vsebino. - Element %1 is declared as abstract. Element %1 je deklariran kot abstrakten. - Element %1 is not nillable. - Attribute %1 contains invalid data: %2 Lastnost %1 vsebuje neveljavne podatke: %2 - Element contains content although it is nillable. - - Fixed value constrained not allowed if element is nillable. + Fixed value constraint not allowed if element is nillable. + + + + Element %1 cannot contain other elements, as it has a fixed content. - Specified type %1 is not validly substitutable with element type %2. - Complex type %1 is not allowed to be abstract. Kompleksna vrsta %1 ne sme biti abstraktna. - Element %1 contains not allowed attributes. Element %1 vsebuje nedovoljene lastnosti. - - Element %1 contains not allowed child element. Element %1 vsebuje nedovoljen podelement. - - Content of element %1 does not match its type definition: %2. Vsebina elementa %1 ne ustreza zanj določeni vrsti: %2. - - - Content of element %1 does not match defined value constraint. - + Vsebina elementa %1 ne ustreza določeni omejitvi vrednosti. - Element %1 contains not allowed child content. Element %1 vsebuje nedovoljeno vsebino v podelementih. - Element %1 contains not allowed text content. Element %1 vsebuje nedovoljeno besedilno vsebino. - - Element %1 can not contain other elements, as it has a fixed content. - Element %1 ne more vsebovati drugih elementov, ker ima fiksno vsebino. - - - Element %1 is missing required attribute %2. Elementu %1 manjka obvezna lastnost %2. - Attribute %1 does not match the attribute wildcard. - + Lastnost %1 ne ustreza vzorcu za lastnost. - Declaration for attribute %1 does not exist. Deklaracija lastnosti %1 ne obstaja. - Element %1 contains two attributes of type %2. Element %1 vsebuje dve lastnosti vrste %2. - Attribute %1 contains invalid content. Lastnost %1 vsebuje neveljavno vsebino. - Element %1 contains unknown attribute %2. Element %1 vsebuje neznano lastnost %2. - - Content of attribute %1 does not match its type definition: %2. - + Vsebina lastnosti %1 ne ustreza zanjo določeni vrsti: %2. - - Content of attribute %1 does not match defined value constraint. - + Vsebina lastnosti %1 ne ustreza zanjo določeni omejitvi vrednosti. - Non-unique value found for constraint %1. - + Za omejitev %1 je bila najdena ne-edinstvena vrednost. - Key constraint %1 contains absent fields. - + Omejitev ključa %1 vsebuje manjkajoča polja. - Key constraint %1 contains references nillable element %2. - No referenced value found for key reference %1. - More than one value found for field %1. Za polje %1 je bila najdena več kot ena vrednost. - Field %1 has no simple type. Polje %1 nima preproste vrste. - ID value '%1' is not unique. Vrednost ID »%1« ni edinstvena. - '%1' attribute contains invalid QName content: %2. Lastnost »%1« vsebuje neveljavno vsebino QName: %2. + + + + + Remaining move time + QWebPage~|Media controller element + Preostali čas filma + - attribute group %1 contains attribute %2 twice + QtXmlPatterns~| skupina lastnosti %1 dvakrat vsebuje lastnost %2 - complex type %1 contains attribute %2 twice + QtXmlPatterns~| kompleksna vrsta %1 dvakrat vsebuje lastnost %2 - element %1 exists twice with different types + QtXmlPatterns~| element %1 obstaja dvakrat, z različnima vrstama - can not process unknown element %1, expected elements are: %2 + QtXmlPatterns~| ni moč obdelati neznanega elementa %1, pričakovani elementi so: %2 - element %1 is not allowed in this scope, possible elements are: %2 + QtXmlPatterns~| element %1 v tem obsegu ni dovoljen, možni elementi so: %2 - child element is missing in that scope, possible child elements are: %1 + QtXmlPatterns~| v tem obsegu manjka podelement, možni podelementi so: %1 - document is not a XML schema + QtXmlPatterns~| dokument ni shema XML - %1 attribute of %2 element contains invalid content: {%3} is not a value of type %4 + QtXmlPatterns~| lastnost %1 elementa %2 vsebuje neveljavno vsebino: {%3} ni vrednost vrste %4 - %1 attribute of %2 element contains invalid content: {%3} + QtXmlPatterns~| lastnost %1 elementa %2 vsebuje neveljavno vsebino: {%3} - %1 element is not allowed inside %2 element if %3 attribute is present + QtXmlPatterns~| element %1 znotraj elementa %2 ni dovoljen, če je prisotna lastnost %3 - %1 element has neither %2 attribute nor %3 child element + QtXmlPatterns~| element %1 nima niti lastnosti %2 niti podelementa %3 - %1 element with %2 child element must not have a %3 attribute + QtXmlPatterns~| element %1 s podelementom %2 ne sme imeti lastnosti %3 - %1 attribute of %2 element must be %3 or %4 + QtXmlPatterns~| lastnost %1 elementa %2 mora biti %3 ali %4 - %1 attribute of %2 element must have a value of %3 + QtXmlPatterns~| lastnost %1 elementa %2 mora imeti vrednost %3 - %1 attribute of %2 element must have a value of %3 or %4 + QtXmlPatterns~| lastnost %1 elementa %2 mora imeti vrednost %3 ali %4 - %1 element must not have %2 and %3 attribute together + QtXmlPatterns~| element %1 hkrati ne sme imeti lastnosti %2 in %3 - content of %1 attribute of %2 element must not be from namespace %3 + QtXmlPatterns~| vsebina lastnosti %1 elementa %2 ne sme biti iz imenskega prostora %3 - %1 attribute of %2 element must not be %3 + QtXmlPatterns~| lastnost %1 elementa %2 ne sme biti %3 - %1 element must have either %2 or %3 attribute + QtXmlPatterns~| element %1 mora imeti lastnost %2 ali %3 - %1 element requires either %2 or %3 attribute + QtXmlPatterns~| element %1 potrebuje vsaj lastnost %2 ali %3 - %1 element is not allowed in this context + QtXmlPatterns~| element %1 v tem kontekstu ni dovoljen - component with id %1 has been defined previously + QtXmlPatterns~| komponenta z ID-jem %1 je že bila definirana - element %1 already defined + QtXmlPatterns~| element %1 je že definiran - attribute %1 already defined + QtXmlPatterns~| lastnost %1 je že definirana - type %1 already defined + QtXmlPatterns~| vrsta %1 je že definirana - attribute group %1 already defined + QtXmlPatterns~| skupina lastnosti %1 je že definirana - element group %1 already defined + QtXmlPatterns~| skupina elementov %1 je že definirana - notation %1 already defined + QtXmlPatterns~| zapis %1 je že definiran - type of %1 element must be a simple type, %2 is not + QtXmlPatterns~| vrsta elementa %1 mora biti preprosta, %2 to ni - duplicated element names %1 in %2 element + QtXmlPatterns~| podvojeni imeni elementov %1 v elementu %2 - %1 is not valid according to %2 + QtXmlPatterns~| %1 glede na %2 ni veljaven - invalid QName content: %1 + QtXmlPatterns~| neveljavna vsebina QName: %1 - data of type %1 are not allowed to be empty + QtXmlPatterns~| podatki vrste %1 ne smejo biti prazni - element %1 is missing child element + QtXmlPatterns~| elementu %1 manjka podelement - %1 contains invalid data + QtXmlPatterns~| %1 vsebuje neveljavne podatke - no definition for element %1 available + QtXmlPatterns~| definicija za element %1 ni na voljo - element %1 is not defined in this scope + QtXmlPatterns~| element %1 v tem obsegu ni definiran - declaration for element %1 does not exist + QtXmlPatterns~| deklaracija elementa %1 ne obstaja - element %1 contains invalid content + QtXmlPatterns~| element %1 vsebuje neveljavno vsebino - element %1 is declared as abstract + QtXmlPatterns~| element %1 je deklariran kot abstrakten - complex type %1 is not allowed to be abstract + QtXmlPatterns~| kompleksna vrsta %1 ne sme biti abstraktna - element %1 contains not allowed attributes + QtXmlPatterns~| element %1 vsebuje nedovoljene lastnosti - element %1 contains not allowed child element + QtXmlPatterns~| element %1 vsebuje nedovoljen podelement - content of element %1 does not match its type definition: %2 + QtXmlPatterns~| vsebina elementa %1 ne ustreza zanj določeni vrsti: %2 - element %1 contains not allowed child content + QtXmlPatterns~| element %1 vsebuje nedovoljeno vsebino v podelementih - element %1 contains not allowed text content + QtXmlPatterns~| element %1 vsebuje nedovoljeno besedilno vsebino - element %1 can not contain other elements, as it has a fixed content + QtXmlPatterns~| element %1 ne more vsebovati drugih elementov, ker ima fiksno vsebino - element %1 is missing required attribute %2 + QtXmlPatterns~| elementu %1 manjka obvezna lastnost %2 - declaration for attribute %1 does not exist + QtXmlPatterns~| deklaracija lastnosti %1 ne obstaja - element %1 contains two attributes of type %2 + QtXmlPatterns~| element %1 vsebuje dve lastnosti vrste %2 - attribute %1 contains invalid content + QtXmlPatterns~| lastnost %1 vsebuje neveljavno vsebino - element %1 contains unknown attribute %2 + QtXmlPatterns~| element %1 vsebuje neznano lastnost %2 - more than one value found for field %1 + QtXmlPatterns~| za polje %1 je bila najdena več kot ena vrednost - field %1 has no simple type + QtXmlPatterns~| polje %1 nima preproste vrste - ID value '%1' is not unique + QtXmlPatterns~| Vrednost ID »%1« ni edinstvena - '%1' attribute contains invalid QName content: %2 + QtXmlPatterns~| Lastnost »%1« vsebuje neveljavno vsebino QName: %2 + + Cannot start playback. + +Check your Gstreamer installation and make sure you +have libgstreamer-plugins-base installed. + Phonon::Gstreamer::MediaObject| + Ni moč začeti predvajanja. + +Preverite namestitev GStreamerja in se prepričajte, +da je nameščen paket libgstreamer-plugins-base. + + + Frequency band, %1 Hz + Phonon::MMF::AudioEqualizer| + Frekvenčni pas, %1 Hz + + + audio equalizer + Phonon::MMF::EffectFactory| + izenačevalnik zvoka + + + Bass boost + Phonon::MMF::EffectFactory| + Ojačanje basov + + + Distance Attenuation + Phonon::MMF::EffectFactory| + Utišanje zaradi razdalje + + + Environmental Reverb + Phonon::MMF::EffectFactory| + Okoljsko odmevanje + + + Loudness + Phonon::MMF::EffectFactory| + Glasnost + + + Source Orientation + Phonon::MMF::EffectFactory| + Usmerjenost vira + + + Stereo Widening + Phonon::MMF::EffectFactory| + Razširitev sterea + + + Invalid hostname + QObject| + Neveljavno ime gostitelja + + + Operation not supported on %1 + QObject| + Dejanje na %1 ni podprto + + + Invalid URI: %1 + QObject| + Neveljaven URI: %1 + + + Socket error on %1: %2 + QObject| + Napaka vtičnice na %1: %2 + + + Remote host closed the connection prematurely on %1 + QObject| + Oddaljen gostitelj je predčasno prekinil povezavo na %1 + + + No host name given + QObject| + Podano ni bilo nobeno ime gostitelja + + + Private key does not certificate public key, %1 + QSslSocket| + Zasebni ključ ne potrjuje javnega ključa, %1 + + + No variable by name %1 exists + QtXmlPatterns| + Spremenljivka z imenom %1 ne obstaja + + + No value is available for the external variable by name %1. + QtXmlPatterns| + Za zunanjo spremenljivko z imenom %1 ni na voljo nobene vrednosti. + + + A template by name %1 has already been declared. + QtXmlPatterns| + Predloga z imenom %1 je že bila deklarirana. + + + The value of attribute %1 must of type %2, which %3 isn't. + QtXmlPatterns| + Vrednost lastnosti %1 mora biti vrste %2, %3 pa to ni. + + + A variable by name %1 has already been declared. + QtXmlPatterns| + Spremenljivka z imenom %1 je že bila deklarirana. + + + An argument by name %1 has already been declared. Every argument name must be unique. + QtXmlPatterns| + Argument z imenom %1 je že bil deklariran. Vsako ime argumenta mora biti edinstveno. + + + No function by name %1 is available. + QtXmlPatterns| + Na voljo ni nobene funkcije z imenom %1. + + + An attribute by name %1 has already appeared on this element. + QtXmlPatterns| + Atribut z imenom %1 se je v tem elementu že pojavil. + + + Component with id %1 has been defined previously. + QtXmlPatterns| + Komponenta z ID-jem %1 je že bila definirana. + + + Element %1 can not contain other elements, as it has a fixed content. + QtXmlPatterns| + Element %1 ne more vsebovati drugih elementov, ker ima fiksno vsebino. + -- cgit v0.12 From 2f72664836ca16ef257759108e27d5ec6b8995a1 Mon Sep 17 00:00:00 2001 From: Ritt Konstantin Date: Wed, 11 Aug 2010 18:35:38 +0200 Subject: update Russian translations for Qt and tools Merge-request: 2445 Reviewed-by: Oswald Buddenhagen --- tools/linguist/phrasebooks/russian.qph | 16 +- translations/assistant_ru.ts | 355 ++--- translations/designer_ru.ts | 1380 +--------------- translations/linguist_ru.ts | 443 +----- translations/qt_help_ru.ts | 78 +- translations/qt_ru.ts | 2698 +------------------------------- translations/qtconfig_ru.ts | 177 --- translations/qvfb_ru.ts | 69 - 8 files changed, 305 insertions(+), 4911 deletions(-) diff --git a/tools/linguist/phrasebooks/russian.qph b/tools/linguist/phrasebooks/russian.qph index 750fda0..5876ee9 100644 --- a/tools/linguist/phrasebooks/russian.qph +++ b/tools/linguist/phrasebooks/russian.qph @@ -498,7 +498,7 @@ Next - Следующий + Далее object @@ -1070,7 +1070,7 @@ Next - Далее + Следующий tree view @@ -1204,4 +1204,16 @@ Permission denied Доступ запрещён + + Previous + Предыдущий + + + Next + Следующее + + + Previous + Предыдущее + diff --git a/translations/assistant_ru.ts b/translations/assistant_ru.ts index 5244483..f5ba461 100644 --- a/translations/assistant_ru.ts +++ b/translations/assistant_ru.ts @@ -4,7 +4,6 @@ AboutDialog - &Close &Закрыть @@ -12,19 +11,16 @@ AboutLabel - Warning Предупреждение - Unable to launch external application. Невозможно запустить внешнее приложение. - OK Закрыть @@ -32,17 +28,14 @@ Assistant - Error registering documentation file '%1': %2 Ошибка регистрации файла документации '%1': %2 - Error: %1 Ошибка: %1 - Could not register documentation file %1 @@ -55,12 +48,10 @@ Reason: %2 - Documentation successfully registered. Документация успешно зарегистрирована. - Could not unregister documentation file %1 @@ -73,27 +64,22 @@ Reason: %2 - Documentation successfully unregistered. Документация успешно дерегистрирована. - Error reading collection file '%1': %2. - Ошибка чтения файла коллекции справки '%1': %2. + Ошибка чтения файла коллекции справки '%1': %2. - Error creating collection file '%1': %2. - Ошибка создания файла коллекции справки '%1': %2. + Ошибка создания файла коллекции справки '%1': %2. - Error reading collection file '%1': %2 - Ошибка чтения файла коллекции справки '%1': %2 + Ошибка чтения файла коллекции справки '%1': %2 - Cannot load sqlite database driver! Не удалось загрузить драйвер баз данных sqlite! @@ -101,139 +87,229 @@ Reason: BookmarkDialog - Add Bookmark Добавление закладки - Bookmark: Закладка: - Add in Folder: Добавить в папку: - + + - New Folder Новая папка + + Rename Folder + Переименовать папку + BookmarkManager - Remove Удалить - You are going to delete a Folder, this will also<br>remove it's content. Are you sure to continue? Удаление папки приведёт к удалению её содержимого.<br>Желаете продолжить? - Add Bookmark... Добавить закладку... - Ctrl+D - Untitled Неозаглавлено - Manage Bookmarks... Управление закладками... - Delete Folder Удалить папку - Rename Folder Переименовать папку - Show Bookmark Открыть закладку - Show Bookmark in New Tab Открыть закладку в новой вкладке - Delete Bookmark Удалить закладку - Rename Bookmark Переименовать закладку + BookmarkManagerWidget + + Manage Bookmarks + Управление закладками + + + Search: + Поиск: + + + Remove + Удалить + + + Import and Backup + Резервное копирование + + + OK + ОК + + + Import... + Импорт... + + + Export... + Экспорт... + + + Open File + Открыть файл + + + Files (*.xbel) + Файлы (*.xbel) + + + Save File + Сохранить файл + + + Qt Assistant + Qt Assistant + + + Unable to save bookmarks. + Невозможно сохранитьзакладки. + + + You are goingto delete a Folder, this will also<br> remove it's content. Are you sure to continue? + Удаление папки приведёт к удалению её содержимого.<br>Желаете продолжить? + + + Delete Folder + Удалить папку + + + Rename Folder + Переименовать папку + + + Show Bookmark + Открыть закладку + + + Show Bookmark in New Tab + Открыть закладку в новой вкладке + + + Delete Bookmark + Удалить закладку + + + Rename Bookmark + Переименовать закладку + + + + BookmarkModel + + Name + Название + + + Address + Адрес + + + Bookmarks Menu + Меню закладок + + + + BookmarkWidget + + Bookmarks + Закладки + + + Filter: + Фильтр: + + + Add + Добавить + + + Remove + Удалить + + + CentralWidget - Add new page Открыть новую страницу - Close current page Закрыть текущую страницу - Print Document Печать документа - - unknown безымянная вкладка - Add New Page Открыть новую страницу - Close This Page Закрыть данную страницу - Close Other Pages Закрыть остальные страницы - Add Bookmark for this Page... Добавить закладку для этой страницы... - Search Поиск @@ -241,62 +317,50 @@ Reason: CmdLineParser - Unknown option: %1 Неизвестный параметр: %1 - Unknown widget: %1 Неизвестный виджет: %1 - The collection file '%1' does not exist. - Файл коллекции справки '%1' не существует. + Файл коллекции справки '%1' не существует. - Missing collection file. - Отсутствует файл коллекции справки. + Отсутствует файл коллекции справки. - Invalid URL '%1'. Некорректный URL '%1'. - Missing URL. Отсутствует URL. - Missing widget. Отсутствует виджет. - The Qt help file '%1' does not exist. Файл справки Qt '%1' не существует. - Missing help file. Отсутствует файл справки. - Missing filter argument. Отсутствует параметр фильтра. - Error Ошибка - Notice Замечание @@ -304,12 +368,10 @@ Reason: ContentWindow - Open Link Открыть ссылку - Open Link in New Tab Открыть ссылку в новой вкладке @@ -317,40 +379,52 @@ Reason: FilterNameDialogClass - Add Filter Name Добавление фильтра - Filter Name: Название фильтра: + FindWidget + + Previous + Предыдущее + + + Next + Следующее + + + Case Sensitive + Учитывать регистр символов + + + <img src=":/trolltech/assistant/images/wrap.png">&nbsp;Search wrapped + <img src=":/trolltech/assistant/images/wrap.png">&nbsp;Поиск с начала + + + FontPanel - Font Шрифт - &Writing system Система &письма - &Family &Шрифт - &Style &Начертание - &Point size &Размер @@ -358,30 +432,37 @@ Reason: HelpViewer - <title>about:blank</title> - <title>Error 404...</title><div align="center"><br><br><h1>The page could not be found</h1><br><h3>'%1'</h3></div> <title>Ошибка 404...</title><div align="center"><br><br><h1>Страница не найдена</h1><br><h3>'%1'</h3></div> + + Copy &Link Location + Копировать &адрес ссылки + + + Open Link in New Tab Ctrl+LMB + Открыть ссылку в новой вкладке Ctrl+LMB + + + Open Link in New Tab + Открыть ссылку в новой вкладке + IndexWindow - &Look for: &Искать: - Open Link Открыть ссылку - Open Link in New Tab Открыть ссылку в новой вкладке @@ -389,99 +470,76 @@ Reason: InstallDialog - - Install Documentation Установка документации - Downloading documentation info... Загрузка информации о документации... - Download canceled. Загрузка отменена. - - - Done. Готово. - The file %1 already exists. Do you want to overwrite it? Файл %1 уже существует. Желаете перезаписать его? - Unable to save the file %1: %2. Невозможно сохранить файл %1: %2. - Downloading %1... Загрузка %1... - - - Download failed: %1. Загрузка не удалась: %1. - Documentation info file is corrupt! Файл информации о документации повреждён! - Download failed: Downloaded file is corrupted. Загрузка не удалась: загруженный файл повреждён. - Installing documentation %1... Установка документации %1... - Error while installing documentation: %1 При установке документации возникла ошибка: %1 - Available Documentation: Доступная документация: - Install Установить - Cancel Отмена - Close Закрыть - Installation Path: Путь установки: - ... ... @@ -489,297 +547,234 @@ Reason: MainWindow - - Index Указатель - - Contents Содержание - - Bookmarks Закладки - - - Qt Assistant Qt Assistant - Looking for Qt Documentation... Поиск документации Qt... - &File &Файл - Page Set&up... Параметры &страницы... - Print Preview... Предпросмотр печати... - &Print... &Печать... - New &Tab Новая &вкладка - &Close Tab &Закрыть вкладку - &Quit В&ыход - CTRL+Q - &Edit &Правка - &Copy selected Text &Копировать выделенный текст - &Find in Text... П&оиск в тексте... - &Find &Поиск - Find &Next Найти &следующее - Find &Previous Найти &предыдущее - Preferences... Настройки... - &View &Вид - Zoom &in У&величить - Zoom &out У&меньшить - Normal &Size Нормальный р&азмер - Ctrl+0 - ALT+C - ALT+I - ALT+O - Search Поиск - ALT+S - &Go &Перейти - &Home &Домой - ALT+Home - &Back &Назад - &Forward &Вперёд - Sync with Table of Contents Синхронизировать с оглавлением - Sync Синхронизировать - Next Page Следующая страница - Ctrl+Alt+Right - Previous Page Предыдущая страница - Ctrl+Alt+Left - &Bookmarks &Закладки - Could not register file '%1': %2 Не удалось зарегистрировать файл '%1': %2 - &Help &Справка - About... О программе... - Navigation Toolbar Панель навигации - &Window &Окно - Zoom Масштаб - Minimize Свернуть - Ctrl+M - Toolbars Панели инструментов - Filter Toolbar Панель фильтров - Filtered by: Отфильтровано по: - Address Toolbar Панель адреса - Address: Адрес: - Could not find the associated content item. Не удалось найти элемент, связанный с содержанием. - About %1 О %1 - Updating search index Обновление поискового индекса @@ -787,48 +782,38 @@ Reason: PreferencesDialog - - Add Documentation Добавить документацию - Qt Compressed Help Files (*.qch) Сжатые файлы справки Qt (*.qch) - The namespace %1 is already registered! Пространство имён %1 уже зарегистрировано! - The specified file is not a valid Qt Help File! Указанный файл не является корректным файлом справки Qt! - Remove Documentation Удалить документацию - Some documents currently opened in Assistant reference the documentation you are attempting to remove. Removing the documentation will close those documents. Некоторые открытые в Qt Assistant документы ссылаются на документацию, которую вы пытаетесь удалить. Её удаление приведёт к закрытию этих документов. - Cancel Отмена - OK Удалить - Use custom settings Использовать индивидуальные настройки @@ -836,117 +821,94 @@ Reason: PreferencesDialogClass - Preferences Настройки - Fonts Шрифты - Font settings: Настройки шрифта: - Browser Обозреватель - Application Приложение - Filters Фильтры - Filter: Фильтр: - Attributes: Атрибуты: - 1 1 - Add Добавить - Remove Удалить - Documentation Документация - Registered Documentation: Зарегистрированная документация: - Add... Добавить... - Options Параметры - Homepage Стартовая страница - Current Page Текущая страница - Restore to default Страница по умолчанию - On help start: При запуске: - Show my home page Отобразить стартовую страницу - Show a blank page Отобразить пустую страницу - Show my tabs from last session Восстановить предыдущую сессиию - Blank Page Пустая страница @@ -954,12 +916,10 @@ Reason: RemoteControl - Debugging Remote Control Отладочное удалённое управление - Received Command: %1 %2 Получена команда: %1 %2 @@ -967,22 +927,18 @@ Reason: SearchWidget - &Copy &Копировать - Copy &Link Location Копировать &адрес ссылки - Open Link in New Tab Открыть ссылку в новой вкладке - Select All Выделить всё @@ -990,27 +946,22 @@ Reason: TopicChooser - Choose a topic for <b>%1</b>: Выберите раздел для <b>%1</b>: - Choose Topic Выбор раздела - &Topics &Разделы - &Display &Показать - &Close &Закрыть diff --git a/translations/designer_ru.ts b/translations/designer_ru.ts index 72f3532..89977b1 100644 --- a/translations/designer_ru.ts +++ b/translations/designer_ru.ts @@ -4,27 +4,22 @@ AbstractFindWidget - &Previous &Предыдущий - &Next &Следующий - &Case sensitive &Учитывать регистр - Whole &words Слова &целиком - <img src=":/trolltech/shared/images/wrap.png">&nbsp;Search wrapped <img src=":/trolltech/shared/images/wrap.png">&nbsp;Поиск с начала @@ -32,17 +27,14 @@ AddLinkDialog - Insert Link Вставить ссылку - Title: Заголовок: - URL: URL: @@ -50,7 +42,6 @@ AppFontDialog - Additional Fonts Дополнительные шрифты @@ -58,37 +49,30 @@ AppFontManager - '%1' is not a file. '%1' не является файлом. - The font file '%1' does not have read permissions. Файл шрифтов '%1' не доступен для чтения. - The font file '%1' is already loaded. Файл шрифтов '%1'уже загружен. - The font file '%1' could not be loaded. Файл шрифтов '%1' не может быть загружен. - '%1' is not a valid font id. '%1' не является корректным идентификатором шрифта. - There is no loaded font matching the id '%1'. Нет загруженного шрифта, соответствующего идентификатору '%1'. - The font '%1' (%2) could not be unloaded. Шрифт '%1' (%2) не может быть выгружен. @@ -96,52 +80,42 @@ AppFontWidget - Fonts Шрифты - Add font files Добавить файлы шрифтов - Remove current font file Удалить текущий файл шрифта - Remove all font files Удалить все файлы шрифтов - Add Font Files Добавить файлы шрифтов - Font files (*.ttf) Файлы шрифтов (*.ttf) - Error Adding Fonts Ошибка добавления шрифтов - Error Removing Fonts Ошибка удаления шрифтов - Remove Fonts Удалить шрифты - Would you like to remove all fonts? Желаете удалить все шрифты? @@ -149,12 +123,10 @@ AppearanceOptionsWidget - Form Форма - User Interface Mode Режим пользовательского интерфейса @@ -162,17 +134,14 @@ AssistantClient - Unable to send request: Assistant is not responding. Невозможно отправить запрос: Qt Assistant не отвечает. - The binary '%1' does not exist. Исполняемый файл '%1' не существует. - Unable to launch assistant (%1). Невозможно запустить Qt Assistant (%1). @@ -180,92 +149,74 @@ BrushPropertyManager - No brush Пустая - Solid Сплошная - Dense 1 Плотность 1 - Dense 2 Плотность 2 - Dense 3 Плотность 3 - Dense 4 Плотность 4 - Dense 5 Плотность 5 - Dense 6 Плотность 6 - Dense 7 Плотность 7 - Horizontal Горизонтальная - Vertical Вертикальная - Cross Крестообразная - Backward diagonal Обратная диагональ - Forward diagonal Диагональ - Crossing diagonal Пересекающиеся диагонали - Style Стиль - Color Цвет - [%1, %2] [%1, %2] @@ -273,350 +224,269 @@ Command - - Change signal Сменить сигнал - - Change slot Сменить слот - Change signal-slot connection Изменить соединение сигнал-слот - Change sender Сменить отправителя - Change receiver Сменить получателя - Create button group Создать группу кнопок - Break button group Разбить группу кнопок - Break button group '%1' Разбить группу кнопок '%1' - Add buttons to group Добавить кнопки в группу - - Add '%1' to '%2' Command description for adding buttons to a QButtonGroup Добавить '%1' в '%2' - Remove buttons from group Удалить кнопки из группы - Remove '%1' from '%2' Command description for removing buttons from a QButtonGroup Удалить '%1' из '%2' - Add connection Добавить соединение - Adjust connection Настроить соединение - Delete connections Удалить соединения - Change source Сменить источник - Change target Сменить приёмника - Morph %1/'%2' into %3 MorphWidgetCommand description Преобразовать %1/'%2' в %3 - Insert '%1' Вставить '%1' - Change Z-order of '%1' Изменить порядок удалённости '%1' - Raise '%1' Поднять '%1' - Lower '%1' Опустить '%1' - Delete '%1' Удалить '%1' - Reparent '%1' Сменить владельца у '%1' - Promote to custom widget Преобразовать в пользовательский виджет - Demote from custom widget Преобразовать из пользовательского виджета - Lay out using grid Скомпоновать, используя сетку - Lay out vertically Скомпоновать по вертикали - Lay out horizontally Скомпоновать по горизонтали - Break layout Разбить компоновку - Simplify Grid Layout Упрощённая компоновка по сетке - - - Move Page Переместить страницу - - - - Delete Page Удалить страницу - - Page Страница - page страница - - - - Insert Page Вставить страницу - Change Tab order Изменить последовательность переключений - Create Menu Bar Создать панель меню - Delete Menu Bar Удалить панель меню - Create Status Bar Создать строку состояния - Delete Status Bar Удалить строку состояния - Add Tool Bar Добавить панель инструментов - Add Dock Window Добавить прикрепляемое окно - Adjust Size of '%1' Подогнать размер '%1' - Change Form Layout Item Geometry Изменить геометрию элементов компоновки столбцами - Change Layout Item Geometry Изменить геометрию элементов компоновки - Delete Subwindow Удалить дочернее окно - Insert Subwindow Вставить дочернее окно - subwindow дочернее окно - Subwindow Дочернее окно - Change Table Contents Изменить содержимое таблицы - Change Tree Contents Изменить содержимое дерева - - Add action Добавить действие - - Remove action Удалить действие - Add menu Добавить меню - Remove menu Удалить меню - Create submenu Создать дочернее меню - Delete Tool Bar Удалить панель инструментов - Change layout of '%1' from %2 to %3 Изменить компоновку '%1' с %2 на %3 - Set action text Установить текст действия - Insert action Вставить действие - - Move action Переместить действие - Change Title Изменить заголовок - Insert Menu Вставить меню - Changed '%1' of '%2' Изменено '%1' у '%2' - Changed '%1' of %n objects Изменено '%1' у %n объекта @@ -625,12 +495,10 @@ - Reset '%1' of '%2' Восстановлено '%1' у '%2' - Reset '%1' of %n objects Восстановлено '%1' у %n объекта @@ -639,12 +507,10 @@ - Add dynamic property '%1' to '%2' Добавлено динамическое свойство '%1' '%2' - Add dynamic property '%1' to %n objects Добавлено динамическое свойство '%1' %n объекту @@ -653,12 +519,10 @@ - Remove dynamic property '%1' from '%2' Удалено динамическое свойство '%1' у '%2' - Remove dynamic property '%1' from %n objects Удалено динамическое свойство '%1' у %n объекта @@ -667,12 +531,10 @@ - Change script Изменить сценарий - Change signals/slots Изменить сигналы/слоты @@ -680,22 +542,18 @@ ConnectDialog - Configure Connection Настройка соединения - GroupBox GroupBox - Edit... Изменить... - Show signals and slots inherited from QWidget Показывать сигналы и слоты, унаследованные от QWidget @@ -703,17 +561,14 @@ ConnectionDelegate - <object> <объект> - <signal> <сигнал> - <slot> <слот> @@ -721,19 +576,16 @@ DPI_Chooser - Standard (96 x 96) Embedded device standard screen resolution Стандартное (96 x 96) - Greenphone (179 x 185) Embedded device screen resolution Greenphone (179 x 185) - High (192 x 192) Embedded device high definition screen resolution Высокое (192 x 192) @@ -742,89 +594,72 @@ Designer - Qt Designer Qt Designer - This file contains top level spacers.<br>They have <b>NOT</b> been saved into the form. Этот файл содержит верхнеуровневые разделители.<br>Они <b>НЕ</b> были сохранены в форме. - Perhaps you forgot to create a layout? Возможно, вы забыли создать компоновщик? - Invalid UI file: The root element <ui> is missing. Некорректный файл UI: Отсутствует корневой элемент <ui>. - An error has occurred while reading the UI file at line %1, column %2: %3 При чтении файла UI в строке %1 позиции %2 возникла ошибка: %3 - This file cannot be read because it was created using %1. Не удалось прочитать файл, так как он был создан с использованием %1. - This file was created using Designer from Qt-%1 and cannot be read. Не удалось прочитать файл, так как он был создан с использованием Designer из Qt-%1. - The converted file could not be read. Не удалось прочитать преобразованный файл. - This file was created using Designer from Qt-%1 and will be converted to a new form by Qt Designer. Этот файл был создан с использованием Designer из Qt-%1 и будет преобразован в новый формат. - The old form has not been touched, but you will have to save the form under a new name. Старая форма была изменена, но вы можете сохранить форму под новым именем. - This file was created using Designer from Qt-%1 and could not be read: %2 Не удалось прочитать файл, так как он был создан с использованием Designer из Qt-%1: %2 - Please run it through <b>uic3&nbsp;-convert</b> to convert it to Qt-4's ui format. Пожалуйста, пропустите его через <b>uic3&nbsp;-convert</b> для преобразования в формат ui для Qt-4. - This file cannot be read because the extra info extension failed to load. Не удалось прочитать файл, так как возникла ошибка при загрузке расширения дополнительной информации. - Custom Widgets Пользовательские виджеты - Promoted Widgets Преобразованные виджеты - Unable to launch %1. Невозможно запустить %1. - %1 timed out. %1 время ожидания истекло. @@ -832,12 +667,10 @@ DesignerMetaEnum - %1 is not a valid enumeration value of '%2'. %1 не является корректным перечислением типа '%2'. - '%1' could not be converted to an enumeration value of type '%2'. Не удалось преобразовать '%1' к значению перечисления '%2'. @@ -845,7 +678,6 @@ DesignerMetaFlags - '%1' could not be converted to a flag value of type '%2'. Не удалось преобразовать '%1' к флаговому значению типа '%2'. @@ -853,13 +685,11 @@ DeviceProfile - '%1' is not a number. Reading a number for an embedded device profile '%1' не является числом. - An invalid tag <%1> was encountered. Обнаружен некоррекнтый тэг <%1>. @@ -867,27 +697,22 @@ DeviceProfileDialog - &Family &Шрифт - &Point Size &Размер - Style Начертание - Device DPI DPI устройства - Name Название @@ -895,57 +720,46 @@ DeviceSkin - The image file '%1' could not be loaded. Не удалось загрузить файл изображения '%1'. - The skin directory '%1' does not contain a configuration file. Каталог '%1' не содержит файла настроек обложки. - The skin configuration file '%1' could not be opened. Не удалось открыть файл настроек обложки '%1'. - The skin configuration file '%1' could not be read: %2 Не удалось прочитать файл настроек обложки '%1': %2 - Syntax error: %1 Синтаксическая ошибка: %1 - The skin "up" image file '%1' does not exist. Отсутствует файл изображения "up" обложки '%1'. - The skin "down" image file '%1' does not exist. Отсутствует файл изображения "down" обложки '%1'. - The skin "closed" image file '%1' does not exist. Отсутствует файл изображения обложки "closed" '%1'. - The skin cursor image file '%1' does not exist. Отсутствует файл изображения курсора обложки '%1'. - Syntax error in area definition: %1 Синтаксическая ошибка в определении области: %1 - Mismatch in number of areas, expected %1, got %2. Несоответствие количества областей: ожидалось %1, найдено %2. @@ -953,7 +767,6 @@ EmbeddedOptionsControl - <html><table><tr><td><b>Font</b></td><td>%1, %2</td></tr><tr><td><b>Style</b></td><td>%3</td></tr><tr><td><b>Resolution</b></td><td>%4 x %5</td></tr></table></html> Format embedded device profile description <html><table><tr><td><b>Шрифт</b></td><td>%1, %2</td></tr><tr><td><b>Стиль</b></td><td>%3</td></tr><tr><td><b>Разрешение</b></td><td>%4 x %5</td></tr></table></html> @@ -962,13 +775,11 @@ EmbeddedOptionsPage - Embedded Design Tab in preferences dialog Оформление портативных устройств - Device Profiles EmbeddedOptionsControl group box" Профили устройств @@ -977,27 +788,22 @@ FontPanel - Font Шрифт - &Writing system Система &письма - &Family &Шрифт - &Style &Начертание - &Point size &Размер @@ -1005,22 +811,18 @@ FontPropertyManager - PreferDefault По умолчанию - NoAntialias Без сглаживания - PreferAntialias Сглаживание, если возможно - Antialiasing Сглаживание @@ -1028,43 +830,44 @@ FormBuilder - Invalid stretch value for '%1': '%2' - Parsing layout stretch values + Parsing layout stretch values +---------- +Parsing layout stretch values +---------- +Parsing layout stretch values Некорректный коэффициент растяжения для '%1': '%2' - Invalid minimum size for '%1': '%2' - Parsing grid layout minimum size values + Parsing grid layout minimum size values +---------- +Parsing grid layout minimum size values +---------- +Parsing grid layout minimum size values Некорректный минимальный размер для '%1': '%2' FormEditorOptionsPage - %1 % %1 % - Preview Zoom Масштаб предпросмотра - Default Zoom Масштаб по умолчанию - Forms Tab in preferences dialog Формы - Default Grid Сетка по умолчанию @@ -1072,37 +875,30 @@ FormLayoutRowDialog - Add Form Layout Row Добавление строки компоновщика формы - &Label text: Текст &метки: - Field &type: &Тип поля: - &Field name: Имя п&оля: - &Buddy: П&артнёр: - &Row: &Строка: - Label &name: Имя м&етки: @@ -1110,12 +906,10 @@ FormWindow - Unexpected element <%1> Неожиданный элемент <%1> - Error while pasting clipboard contents at line %1, column %2: %3 Ошибка вставки содержимого из буфера обмена в строке %1, позиции %2: %3 @@ -1123,62 +917,50 @@ FormWindowSettings - Form Settings Настройки формы - Layout &Default Компоновка по &умолчанию - &Spacing: &Отступ: - &Margin: &Границы: - &Layout Function &Функция компоновки - Ma&rgin: Г&раницы: - Spa&cing: О&тступ: - &Author &Автор - &Include Hints &Подключить подсказки - &Pixmap Function &Загрузчик изображений - Grid Сетка - Embedded Design Оформление портативных устройств @@ -1186,7 +968,6 @@ IconSelector - All Pixmaps ( Растровые изображения ( @@ -1194,7 +975,6 @@ ItemPropertyBrowser - XX Icon Selected off Sample string to determinate the width for the first column of the list item property browser XX Пикт Выделена откл @@ -1203,33 +983,27 @@ MainWindowBase - Main Not currently used (main tool bar) Главное - File Файл - Edit Правка - Tools Инструменты - Form Форма - Qt Designer Qt Designer @@ -1237,52 +1011,42 @@ NewForm - C&reate &Создать - Recent Последние - &Close &Закрыть - &Open... &Открыть... - &Recent Forms &Последние формы - Read error Ошибка чтения - New Form Новая форма - Show this Dialog on Startup Показывать диалог при старте - A temporary form file could not be created in %1. Временный файл формы не может быть создан в %1. - The temporary form file %1 could not be written. Временный файл формы %1 не может быть записан. @@ -1290,22 +1054,18 @@ ObjectInspectorModel - Object Объект - Class Класс - separator разделитель - <noname> <без имени> @@ -1313,12 +1073,10 @@ ObjectNameDialog - Change Object Name Изменить имя объекта - Object Name Имя объекта @@ -1326,12 +1084,10 @@ PluginDialog - Plugin Information Информация о модуле - 1 1 @@ -1339,7 +1095,6 @@ PreferencesDialog - Preferences Настройки @@ -1347,32 +1102,26 @@ PreviewConfigurationWidget - Form Форма - Print/Preview Configuration Настройка печати/предпросмотра - Style Стиль - Style sheet Таблица стилей - ... ... - Device skin Обложка устройства @@ -1380,7 +1129,6 @@ PromotionModel - Not used Usage of promoted widgets Не используется @@ -1389,8 +1137,6 @@ Q3WizardContainer - - Page Страница @@ -1398,59 +1144,48 @@ QAbstractFormBuilder - Unexpected element <%1> Неожиданный элемент <%1> - An error has occurred while reading the UI file at line %1, column %2: %3 Возникла ошибка при чтении файла UI в строке %1 позиции %2: %3 - Invalid UI file: The root element <ui> is missing. Некорректный файл UI: отсутствует корневой элемент <ui>. - The creation of a widget of the class '%1' failed. Не удалось создание виджета класса '%1'. - Attempt to add child that is not of class QWizardPage to QWizard. Попытка добавить в QWizard дочерний виджет, который не является классом QWizardPage. - Attempt to add a layout to a widget '%1' (%2) which already has a layout of non-box type %3. This indicates an inconsistency in the ui-file. Попытка добавить компоновщик виджету '%1' (%2), у которого уже имеется компоновщик типа %3. Это указывает на некорректность файла UI. - Empty widget item in %1 '%2'. Пустой элемент виджета в %1 '%2'. - Flags property are not supported yet. Флаговые свойства еще не поддерживаются. - While applying tab stops: The widget '%1' could not be found. При применении позиций табуляции: не удалось найти виджет '%1'. - Invalid QButtonGroup reference '%1' referenced by '%2'. '%2' содержит некорректную ссылку на QButtonGroup '%1'. - This version of the uitools library is linked without script support. Данная версия библиотеки uitools собрана без поддержки сценариев. @@ -1458,12 +1193,10 @@ This indicates an inconsistency in the ui-file. QAxWidgetPlugin - ActiveX control Элемент управления ActiveX - ActiveX control widget Виджет элемента управления ActiveX @@ -1471,22 +1204,18 @@ This indicates an inconsistency in the ui-file. QAxWidgetTaskMenu - Set Control Установить элемент управления - Reset Control Удалить элемент управления - Licensed Control Лицензионный элемент управления - The control requires a design-time license Компонент требует лицензию периода разработки @@ -1494,68 +1223,55 @@ This indicates an inconsistency in the ui-file. QCoreApplication - %1 is not a promoted class. %1 не является преобразованным классом. - The base class %1 is invalid. Неверный базовый класс %1. - The class %1 already exists. Класс %1 уже существует. - Promoted Widgets Преобразованные виджеты - The class %1 cannot be removed Нельзя удалить класс %1 - The class %1 cannot be removed because it is still referenced. Нельзя удалить класс %1, так как на него ещё есть ссылки. - The class %1 cannot be renamed Нельзя переименовать класс %1 - The class %1 cannot be renamed to an empty name. Нельзя дать классу %1 пустое имя. - There is already a class named %1. Уже есть класс с именем %1. - Cannot set an empty include file. перевод близко к тексту - буквальный совсем глаз режет Пустое имя у подключаемого файла не допустимо. - Exception at line %1: %2 Исключение в строке %1: %2 - Unknown error Неизвестная ошибка - An error occurred while running the script for %1: %2 Script: %3 При выполнении сценария %1 возникла ошибка: %2 @@ -1565,17 +1281,14 @@ Script: %3 QDesigner - %1 - warning %1 - предупреждение - Qt Designer Qt Designer - This application cannot be used for the Console edition of Qt Это приложение не может быть использовано для консольной версии Qt @@ -1583,248 +1296,194 @@ Script: %3 QDesignerActions - Saved %1. Сохранено %1. - Edit Widgets Изменение виджетов - &Quit &Выход - &Minimize &Свернуть - Bring All to Front Перенести все назад - Preferences... Настройки... - Clear &Menu Очистить &меню - CTRL+SHIFT+S - CTRL+R - CTRL+M - Qt Designer &Help &Справка по Qt Designer - Current Widget Help Справка по виджету - What's New in Qt Designer? Что нового в Qt Designer? - About Plugins О модулях - - About Qt Designer О Qt Designer - About Qt О Qt - - Open Form Открыть форму - - - Designer UI files (*.%1);;All Files (*) UI файлы Qt Designer (*.%1);;Все файлы (*) - %1 already exists. Do you want to replace it? %1 уже существует. Хотите заменить его? - Additional Fonts... Дополнительные шрифты... - &Recent Forms &Последние формы - Designer Qt Designer - Feature not implemented yet! Возможность ещё не реализована! - Read error Ошиька чтения - %1 Do you want to update the file location or generate a new form? %1 Вы хотите обновить расположение файла или генерировать новую форму? - &Update &Обновить - &New Form &Новая форма - - Save Form? Сохранить форму? - Could not open file Невозможно открыть файл - Select New File Выбрать новый файл - Could not write file Невозможно записать файл - &Close Preview &Закрыть предпросмотр - &New... &Новый... - &Open... &Открыть... - &Save &Сохранить - Save &As... Сохранить &как... - Save A&ll Сохранить &все - Save As &Template... Сохранить как &шаблон... - - &Close &Закрыть - Save &Image... Сохранить &Изображение... - &Print... &Печать... - View &Code... Показать &код... - ALT+CTRL+S - - Save Form As Сохранить форму как - Preview failed Ошибка предпросмотра - Code generation failed Ошибка генерации кода - The file %1 could not be opened. Reason: %2 Would you like to retry or select a different file? @@ -1833,7 +1492,6 @@ Would you like to retry or select a different file? Вы хотите повторить или выбрать другой файл? - It was not possible to write the entire file %1 to disk. Reason:%2 Would you like to retry? @@ -1842,55 +1500,42 @@ Would you like to retry? Желаете повторить? - - Assistant Qt Assistant - - The backup file %1 could not be written. Не удалось записать файл резервной копии %1. - The backup directory %1 could not be created. Не удалось создать каталог резервных копий %1. - The temporary backup directory %1 could not be created. Не удалось создать временный каталог резервных копий %1. - Image files (*.%1) Файлы изображений (*.%1) - - Save Image Сохранить изображение - Saved image %1. Сохранить изображение %1. - The file %1 could not be written. Файл %1 не может быть записан. - Please close all forms to enable the loading of additional fonts. Пожалуйста закройте все формы, чтобы разрешить загрузку дополнительных шрифтов. - Printed %1. Распечатано %1. @@ -1898,7 +1543,6 @@ Would you like to retry? QDesignerAppearanceOptionsPage - Appearance Tab in preferences dialog Оформление @@ -1907,17 +1551,14 @@ Would you like to retry? QDesignerAppearanceOptionsWidget - Docked Window Всё в одном окне верхнего уровня - Multiple Top-Level Windows Множество окон верхнего уровня - Toolwindow Font Шрифт окна инструментов @@ -1925,22 +1566,18 @@ Would you like to retry? QDesignerAxWidget - Reset control Сбросить элемент управления - Set control Установить элемент управления - Control loaded Элемент управления загружен - A COM exception occurred when executing a meta call of type %1, index %2 of "%3". Возникло исключение COM при выполнении мета-вызова типа %1, индекс %2 "%3". @@ -1948,17 +1585,14 @@ Would you like to retry? QDesignerFormBuilder - Script errors occurred: Возникла ошибка сценария: - The preview failed to build. Не удалось создать предпросмотр. - Designer Qt Designer @@ -1966,22 +1600,18 @@ Would you like to retry? QDesignerFormWindow - %1 - %2[*] %1 - %2[*] - Save Form? Сохранить форму? - Do you want to save the changes to this document before closing? Документ был изменен, хотите сохранить изменения? - If you don't save, your changes will be lost. Если вы не сохраните, ваши изменения будут потеряны. @@ -1989,38 +1619,30 @@ Would you like to retry? QDesignerMenu - Type Here Пишите здесь - Add Separator Добавить разделитель - Insert separator Вставить разделитель - Remove separator Удалить разделитель - Remove action '%1' Удалить действие '%1' - - Add separator Добавить разделитель - Insert action Вставить действие @@ -2028,22 +1650,18 @@ Would you like to retry? QDesignerMenuBar - Type Here Пишите здесь - Remove Menu '%1' Удалить меню '%1' - Remove Menu Bar Удалить панель меню - Menu Меню @@ -2051,37 +1669,30 @@ Would you like to retry? QDesignerPluginManager - An XML error was encountered when parsing the XML of the custom widget %1: %2 Обнаружена ошибка XML при разборе XML пользовательского виджета %1: %2 - A required attribute ('%1') is missing. Отсутствует необходимый атрибут ('%1'). - An invalid property specification ('%1') was encountered. Supported types: %2 Обнаружена неверная спецификация ('%1') свойства. Поддерживаются типы: %2 - '%1' is not a valid string property specification. '%1' не является корректной спецификацией строкового свойства. - The XML of the custom widget %1 does not contain any of the elements <widget> or <ui>. XML пользовательского виджета %1 не содержит элементов <widget> и <ui>. - The class attribute for the class %1 is missing. Отсутствует атрибут для класса %1. - The class attribute for the class %1 does not match the class name %2. Атрибут для класса %1 не совпадает с именем класса %2. @@ -2089,7 +1700,6 @@ Would you like to retry? QDesignerPropertySheet - Dynamic Properties Динамические свойства @@ -2097,31 +1707,26 @@ Would you like to retry? QDesignerResource - The layout type '%1' is not supported, defaulting to grid. Компоновка типа '%1' не поддерживается, заменена на компоновку сеткой. - The container extension of the widget '%1' (%2) returned a widget not managed by Designer '%3' (%4) when queried for page #%5. Container pages should only be added by specifying them in XML returned by the domXml() method of the custom widget. Контейнерное расширение виджета '%1' (%2) возвратило виджет, который не управляется Qt Designer '%3' (%4), при запросе страницы №%5. Страницы контейнера должны быть добавлены указанием их в XML, который возвращается методом domXml() пользовательского виджета. - Unexpected element <%1> Parsing clipboard contents Неожиданный элемент <%1> - Error while pasting clipboard contents at line %1, column %2: %3 Parsing clipboard contents Ошибка вставки содержимого буфера обмена в строку %1, позицию %2: %3 - Error while pasting clipboard contents: The root element <ui> is missing. Parsing clipboard contents Ошибка вставки содержимого буфера обмена: отсутствует корневой элемент <ui>. @@ -2130,12 +1735,10 @@ Container pages should only be added by specifying them in XML returned by the d QDesignerSharedSettings - The template path %1 could not be created. Не удалось создать временный путь %1. - An error has been encountered while parsing device profile XML: %1 Обнаружена ошибка при разборе XML профиля устройства: %1 @@ -2143,32 +1746,26 @@ Container pages should only be added by specifying them in XML returned by the d QDesignerToolWindow - Property Editor Редактор свойств - Action Editor Редактор действий - Object Inspector Инспектор объектов - Resource Browser Обозреватель ресурсов - Signal/Slot Editor Редактор Сигналов/Слотов - Widget Box Панель виджетов @@ -2176,47 +1773,38 @@ Container pages should only be added by specifying them in XML returned by the d QDesignerWorkbench - &File &Файл - F&orm Ф&орма - Preview in Предпросмотр в - &Window &Окно - &Help &Справка - Edit Правка - Toolbars Панель инструментов - Save Forms? Сохранить форму? - There are %n forms with unsaved changes. Do you want to review these changes before quitting? Имеется %n форма с несохранёнными изменениями. Желаете просмотреть изменения перед выходом? @@ -2225,52 +1813,42 @@ Container pages should only be added by specifying them in XML returned by the d - &View &Вид - &Settings &Настройки - Widget Box Панель виджетов - If you do not review your documents, all your changes will be lost. Если не просматривать изменения, все изменения будут потеряны. - Discard Changes Отменить изменения - Review Changes Показать изменения - Backup Information Информация о резервированых копиях - The last session of Designer was not terminated correctly. Backup files were left behind. Do you want to load them? Последняя сессия Qt Designer не была завершена корректно. Остались резервные копии файлов. Желаете загрузить их? - The file <b>%1</b> could not be opened. Не удалось открыть файл <b>%1</b>. - The file <b>%1</b> is not a valid Designer UI file. Файл <b>%1</b> не является корректным UI файлом Qt Designer. @@ -2278,53 +1856,47 @@ Container pages should only be added by specifying them in XML returned by the d QFormBuilder - An empty class name was passed on to %1 (object name: '%2'). - Empty class name passed to widget factory method + Empty class name passed to widget factory method +---------- +Empty class name passed to widget factory method +---------- +Empty class name passed to widget factory method Методу %1 (объекта '%2') было передано пустое имя класса. - QFormBuilder was unable to create a custom widget of the class '%1'; defaulting to base class '%2'. QFormBuilder не смог создать пользовательский виджет класса '%1'; был создан базовый класс '%2'. - QFormBuilder was unable to create a widget of the class '%1'. QFormBuilder не смог создать пользовательский виджет класса '%1'. - The layout type `%1' is not supported. Компоновка типа '%1' не поддерживается. - The set-type property %1 could not be read. Не удалось прочитать свойство %1 множественного типа. - The enumeration-type property %1 could not be read. Не удалось прочитать свойство %1 перечисляемого типа. - Reading properties of the type %1 is not supported yet. Чтение свойств типа %1 ещё не поддерживается. - The property %1 could not be written. The type %2 is not supported yet. Не удалось записать свойство %1. Тип %2 ещё не поддерживается. - The enumeration-value '%1' is invalid. The default value '%2' will be used instead. Значение '%1' перечисляемого типа некорректно. Будет использовано значение по умолчанию '%2'. - The flag-value '%1' is invalid. Zero will be used instead. Значение флага '%1' перечисляемого типа некорректно. Будет использовано значение '0' (нуль). @@ -2332,48 +1904,38 @@ Container pages should only be added by specifying them in XML returned by the d QStackedWidgetEventFilter - Previous Page Предыдущая страница - Next Page Следующая страница - Delete Удалить - Before Current Page Перед текущей страницей - After Current Page После текущей страницы - Change Page Order... Изменить порядок страниц... - Change Page Order Изменить порядок страниц - Page %1 of %2 Страница %1 из %2 - - Insert Page Вставить страницу @@ -2381,12 +1943,10 @@ Container pages should only be added by specifying them in XML returned by the d QStackedWidgetPreviewEventFilter - Go to previous page of %1 '%2' (%3/%4). Перейти к предыдущей странице из %1 '%2' (%3/%4). - Go to next page of %1 '%2' (%3/%4). Перейти к следующей странице из %1 '%2' (%3/%4). @@ -2394,28 +1954,22 @@ Container pages should only be added by specifying them in XML returned by the d QTabWidgetEventFilter - Delete Удалить - Before Current Page Перед текущей страницей - After Current Page После текущей страницы - Page %1 of %2 Страница %1 из %2 - - Insert Page Вставить страницу @@ -2423,37 +1977,30 @@ Container pages should only be added by specifying them in XML returned by the d QToolBoxHelper - Delete Page Удалить страницу - Before Current Page Перед текущей страницей - After Current Page После текущей страницы - Change Page Order... Изменить порядок страниц... - Change Page Order Изменить порядок страниц - Page %1 of %2 Страница %1 из %2 - Insert Page Вставить страницу @@ -2461,15 +2008,10 @@ Container pages should only be added by specifying them in XML returned by the d QtBoolEdit - - - True Вкл. - - False Выкл. @@ -2477,12 +2019,10 @@ Container pages should only be added by specifying them in XML returned by the d QtBoolPropertyManager - True Вкл. - False Выкл. @@ -2490,7 +2030,6 @@ Container pages should only be added by specifying them in XML returned by the d QtCharEdit - Clear Char Стереть символ @@ -2498,7 +2037,6 @@ Container pages should only be added by specifying them in XML returned by the d QtColorEditWidget - ... ... @@ -2506,22 +2044,18 @@ Container pages should only be added by specifying them in XML returned by the d QtColorPropertyManager - Red Красный - Green Зелёный - Blue Синий - Alpha Альфа @@ -2529,97 +2063,78 @@ Container pages should only be added by specifying them in XML returned by the d QtCursorDatabase - Arrow Arrow - Up Arrow Up Arrow - Cross Cross - Wait Wait - IBeam IBeam - Size Vertical Size Vertical - Size Horizontal Size Horizontal - Size Backslash Size Backslash - Size Slash Size Slash - Size All Size All - Blank Blank - Split Vertical Split Vertical - Split Horizontal Split Horizontal - Pointing Hand Pointing Hand - Forbidden Forbidden - Open Hand Open Hand - Closed Hand Closed Hand - What's This What's This - Busy Busy @@ -2627,12 +2142,10 @@ Container pages should only be added by specifying them in XML returned by the d QtFontEditWidget - ... ... - Select Font Выбрать шрифт @@ -2640,37 +2153,30 @@ Container pages should only be added by specifying them in XML returned by the d QtFontPropertyManager - Family Шрифт - Point Size Размер - Bold Жирный - Italic Курсив - Underline Подчёркнутый - Strikeout Зачёркнутый - Kerning Интервал @@ -2678,7 +2184,6 @@ Container pages should only be added by specifying them in XML returned by the d QtGradientDialog - Edit Gradient Правка градиента @@ -2686,304 +2191,242 @@ Container pages should only be added by specifying them in XML returned by the d QtGradientEditor - Start X X начала - Start Y Y начала - Final X X конца - Final Y Y конца - - Central X X центра - - Central Y Y центра - Focal X X фокуса - Focal Y Y фокуса - Radius Радиус - Angle Угол - Linear Линейный - Radial Радиальный - Conical Конический - Pad Равномерная - Repeat Цикличная - Reflect Зеркальная - Form Форма - Gradient Editor Редактор градиента - This area shows a preview of the gradient being edited. It also allows you to edit parameters specific to the gradient's type such as start and final point, radius, etc. by drag & drop. Эта область отображает предварительный вариант настраиваемого градиента. Также она позволяет менять с помощью перетаскивания характерные для градиента параметры, такие как: начальная и конечная точки, радиус и пр. - 1 1 - 2 2 - 3 3 - 4 4 - 5 5 - Gradient Stops Editor Редактор опорных точек градиента - This area allows you to edit gradient stops. Double click on the existing stop handle to duplicate it. Double click outside of the existing stop handles to create a new stop. Drag & drop the handle to reposition it. Use right mouse button to popup context menu with extra actions. Эта область позволяет редактировать опорные точки градиента. Двойной щелчок на существующей точке создаст её копию. Двойной клик вне существующей точки создаст новую. Точки можно перемещать путем удерживания левой кнопки. По правой кнопке можно получить контекстное меню дополнительных действий. - Zoom Масштаб - Reset Zoom 100% - Position Положение - Hue Оттенок - H H - Saturation Насыщенность - S S - Sat Насыщение - Value Значение - V V - Val Значение - Alpha Альфа - A A - Type Тип - Spread Заливка - Color Цвет - Current stop's color Цвет текущей точки - Show HSV specification Настройки в виде HSV - HSV HSV - Show RGB specification Настройки в виде RGB - RGB RGB - Current stop's position Положение текущей точки - % % - Zoom In Увеличить - Zoom Out Уменьшить - Toggle details extension Показать/скрыть детальные настройки - > > - Linear Type Линейный тип - ... ... - Radial Type Радиальный тип - Conical Type Конический тип - Pad Spread Равномерная заливка - Repeat Spread Цикличная заливка - Reflect Spread Зеркальная заливка @@ -2991,37 +2434,30 @@ Container pages should only be added by specifying them in XML returned by the d QtGradientStopsWidget - New Stop Новая точка - Delete Удалить - Flip All Отобразить зеркально - Select All Выделить всё - Zoom In Увеличить - Zoom Out Уменьшить - Reset Zoom Сбросить масштаб @@ -3029,46 +2465,34 @@ Container pages should only be added by specifying them in XML returned by the d QtGradientView - Grad Градиент - Remove Gradient Удалить градиент - Are you sure you want to remove the selected gradient? Вы действительно желаете удалить выбранный градиент? - - New... Новый... - - Edit... Правка... - - Rename Переименовать - - Remove Удалить - Gradient View Просмотр градиента @@ -3076,8 +2500,6 @@ Container pages should only be added by specifying them in XML returned by the d QtGradientViewDialog - - Select Gradient Выбрать градиент @@ -3085,7 +2507,6 @@ Container pages should only be added by specifying them in XML returned by the d QtKeySequenceEdit - Clear Shortcut Удалить комбинацию горячих клавиш @@ -3093,17 +2514,14 @@ Container pages should only be added by specifying them in XML returned by the d QtLocalePropertyManager - %1, %2 %1, %2 - Language Язык - Country Страна @@ -3111,17 +2529,14 @@ Container pages should only be added by specifying them in XML returned by the d QtPointFPropertyManager - (%1, %2) (%1, %2) - X X - Y Y @@ -3129,17 +2544,14 @@ Container pages should only be added by specifying them in XML returned by the d QtPointPropertyManager - (%1, %2) (%1, %2) - X X - Y Y @@ -3147,12 +2559,10 @@ Container pages should only be added by specifying them in XML returned by the d QtPropertyBrowserUtils - [%1, %2, %3] (%4) [%1, %2, %3] (%4) - [%1, %2] [%1, %2] @@ -3160,27 +2570,22 @@ Container pages should only be added by specifying them in XML returned by the d QtRectFPropertyManager - [(%1, %2), %3 x %4] [(%1, %2), %3 x %4] - X X - Y Y - Width Ширина - Height Высота @@ -3188,27 +2593,22 @@ Container pages should only be added by specifying them in XML returned by the d QtRectPropertyManager - [(%1, %2), %3 x %4] [(%1, %2), %3 x %4] - X X - Y Y - Width Ширина - Height Высота @@ -3216,128 +2616,98 @@ Container pages should only be added by specifying them in XML returned by the d QtResourceEditorDialog - %1 already exists. Do you want to replace it? %1 уже существует. Хотите заменить его? - The file does not appear to be a resource file; element '%1' was found where '%2' was expected. Похоже, файл не является файлом ресурсов, так как вместо элемента '%2' стоит '%1'. - %1 [read-only] %1 [только для чтения] - - %1 [missing] %1 [отсутствует] - <no prefix> <без префикса> - - New Resource File Новый файл ресурсов - - Resource files (*.qrc) Файл ресурсов (*.qrc) - Import Resource File Импортировать файл ресурсов - newPrefix newPrefix - <p><b>Warning:</b> The file</p><p>%1</p><p>is outside of the current resource file's parent directory.</p> <p><b>Предупреждение:</b> Файл</p><p>%1</p><p>находится за пределами каталога текущего файла ресурсов.</p> - <p>To resolve the issue, press:</p><table><tr><th align="left">Copy</th><td>to copy the file to the resource file's parent directory.</td></tr><tr><th align="left">Copy As...</th><td>to copy the file into a subdirectory of the resource file's parent directory.</td></tr><tr><th align="left">Keep</th><td>to use its current location.</td></tr></table> <p>Для решения нажмите:</p><table><tr><th align="left">Копировать</th><td>, чтобы скопировать в каталог файла ресурсов.</td></tr><tr><th align="left">Копировать как...</th><td>, чтобы скопировать в подкаталог каталога файла ресурсов.</td></tr><tr><th align="left">Оставить</th><td>, чтобы использовать текущее размещение.</td></tr></table> - Add Files Добавить файлы - Incorrect Path Неверный путь - - - - Copy Копировать - Copy As... Копировать как... - Keep Оставить - Skip Пропустить - Clone Prefix Приставка при клонировании - Enter the suffix which you want to add to the names of the cloned files. This could for example be a language extension like "_de". Введите окончание, которое нужно добавлять к именам клонируемых файлов. Это может быть, например, языковое расширение, вроде "_ru". - - Copy As Копировать как - <p>The selected file:</p><p>%1</p><p>is outside of the current resource file's directory:</p><p>%2</p><p>Please select another path within this directory.<p> <p>Выбранный файл:</p><p>%1</p><p>находится вне каталога текущего файла ресурсов:</p><p>%2</p><p>Пожалуйста, выберите путь внутри этого каталога.<p> - Could not overwrite %1. Не удалось перезаписать %1. - Could not copy %1 to @@ -3348,153 +2718,120 @@ to %2 - A parse error occurred at line %1, column %2 of %3: %4 Возникла ошибка разбора в строке %1 позиции %2 из %3: %4 - Save Resource File Сохранение файла ресурсов - Could not write %1: %2 Не удалось записать %1: %2 - Edit Resources Правка ресурсов - New... Новый... - Open... Открыть... - Open Resource File Открыть файл ресурсов - - Remove Удалить - - Move Up Поднять - - Move Down Опустить - - Add Prefix Добавить приставку - Add Files... Добавить файлы... - Change Prefix Сменить приставку - Change Language Сменить язык - Change Alias Сменить псевдоним - Clone Prefix... Приставка при клонировании... - Prefix / Path Приставка / Путь - Language / Alias Язык / Псевдоним - <html><p><b>Warning:</b> There have been problems while reloading the resources:</p><pre>%1</pre></html> <html><p><b>Предупреждение:</b> Возникли проблемы при перезагрузке ресурсов:</p><pre>%1</pre></html> - Resource Warning Предупреждение - Dialog Диалог - New File Новый файл - N N - Remove File Удалить файл - R R - I I - New Resource Новый ресурс - A A - Remove Resource or File Удалить ресурс или файл @@ -3502,24 +2839,20 @@ to QtResourceView - Size: %1 x %2 %3 Размер: %1 x %2 %3 - Edit Resources... Изменить ресурсы... - Reload Перезагрузить - Copy Path Скопировать путь @@ -3527,7 +2860,6 @@ to QtResourceViewDialog - Select Resource Выбрать ресурс @@ -3535,17 +2867,14 @@ to QtSizeFPropertyManager - %1 x %2 %1 x %2 - Width Ширина - Height Высота @@ -3553,33 +2882,26 @@ to QtSizePolicyPropertyManager - - <Invalid> <Неверный> - [%1, %2, %3, %4] [%1, %2, %3, %4] - Horizontal Policy Горизонтальная политика - Vertical Policy Вертикальная политика - Horizontal Stretch Горизонтальное растяжение - Vertical Stretch Вертикальное растяжение @@ -3587,17 +2909,14 @@ to QtSizePropertyManager - %1 x %2 %1 x %2 - Width Ширина - Height Высота @@ -3605,107 +2924,86 @@ to QtToolBarDialog - Custom Toolbar Пользовательская панель инструментов - < S E P A R A T O R > < Р А З Д Е Л И Т Е Л Ь > - Customize Toolbars Настройка панелей инструментов - 1 1 - Actions Действия - Toolbars Панель инструментов - Add new toolbar Добавить новую панель инструментов - New Новая - Remove selected toolbar Удалить выбранную панель инструментов - Remove Удалить - Rename toolbar Переименовать панель инструментов - Rename Переименовать - Move action up Переместить действие вверх - Up Вверх - Remove action from toolbar Удалить действие из панели инструментов - <- <- - Add action to toolbar Добавить действие на панель инструментов - -> -> - Move action down Переместить действие вниз - Down Вниз - Current Toolbar Actions Текущие действия панели инструментов @@ -3713,12 +3011,10 @@ to QtTreePropertyBrowser - Property Свойство - Value Значение @@ -3726,64 +3022,52 @@ to SaveFormAsTemplate - Add path... Добавить путь... - Template Exists Шаблон существует - A template with the name %1 already exists. Do you want overwrite the template? Шаблон с именем %1 уже существует. Желаете заменить шаблон? - Overwrite Template Заменить шаблон - Open Error Ошибка открытия - There was an error opening template %1 for writing. Reason: %2 Возникла ошибка открытия шаблона %1 для записи. Причина: %2 - Write Error Ошибка записи - There was an error writing the template %1 to disk. Reason: %2 Возникла ошибка записи шаблона %1 на диск. Причина: %2 - Pick a directory to save templates in Выберите каталог для сохранения шаблонов - Save Form As Template Сохранить форму как шаблон - &Category: &Категория: - &Name: &Имя: @@ -3791,7 +3075,6 @@ Do you want overwrite the template? ScriptErrorDialog - An error occurred while running the scripts for "%1": При выполнения сценариев для "%1" возникла ошибка: @@ -3801,22 +3084,18 @@ Do you want overwrite the template? SelectSignalDialog - Go to slot Переход к слоту - Select signal Выбор сигнала - signal сигнал - class класс @@ -3824,7 +3103,6 @@ Do you want overwrite the template? SignalSlotConnection - SENDER(%1), SIGNAL(%2), RECEIVER(%3), SLOT(%4) ОТПРАВИТЕЛЬ(%1), СИГНАЛ(%2), ПОЛУЧАТЕЛЬ(%3), СЛОТ(%4) @@ -3832,32 +3110,26 @@ Do you want overwrite the template? SignalSlotDialogClass - Signals and slots Сигналы и слоты - Slots Слоты - Add Добавить - ... ... - Delete Удалить - Signals Сигналы @@ -3865,12 +3137,10 @@ Do you want overwrite the template? Spacer - Horizontal Spacer '%1', %2 x %3 Горизонтальный разделитель '%1', %2 x %3 - Vertical Spacer '%1', %2 x %3 Вертикальный разделитель '%1', %2 x %3 @@ -3878,7 +3148,6 @@ Do you want overwrite the template? TemplateOptionsPage - Template Paths Tab in preferences dialog Слово "пути" опустил, т.к. с другими вкладками не перепутать, а длинная вкладка не смотрится. @@ -3888,52 +3157,42 @@ Do you want overwrite the template? ToolBarManager - Configure Toolbars... Настройка панелей инструментов... - Window Окно - Help Справка - Style Стиль - Dock views Прикрепляемые панели - File Файл - Edit Правка - Tools Инструменты - Form Форма - Toolbars Панели инструментов @@ -3941,30 +3200,64 @@ Do you want overwrite the template? VersionDialog - <h3>%1</h3><br/><br/>Version %2 <h3>%1</h3><br/><br/>Версия %2 - Qt Designer Qt Designer - <br/>Qt Designer is a graphical user interface designer for Qt applications.<br/> <br/>Qt Designer - дизайнер графического интерфейса пользователя для Qt-приложений.<br/> - %1<br/>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). %1<br/>Copyright (C) 2010 Корпорация Nokia и/или её дочерние подразделения. + VideoPlayerTaskMenu + + Available Mime Types + Доступные типы данных + + + Display supported mime types... + Показывать поддерживаемые типы данных... + + + Load... + Загрузить... + + + Play + Воспроизвести + + + Pause + Пауза + + + Stop + Остановить + + + Choose Video Player Media Source + Выберите источник медиа-данных + + + An error has occurred in '%1': %2 + В "%1" произошла ошибка: %2 + + + Video Player Error + Ошибка видеоплеера + + + WidgetDataBase - The file contains a custom widget '%1' whose base class (%2) differs from the current entry in the widget database (%3). The widget database is left unchanged. Файл содержит пользовательский виджет '%1', базовый класс (%2) которого отличается от текущей записи в базе виджетов (%3). База виджетов оставлена без изменений. @@ -3972,87 +3265,70 @@ Do you want overwrite the template? qdesigner_internal::ActionEditor - New... Новое... - Edit... Правка... - Go to slot... Перейти к слоту... - Copy Копировать - Cut Вырезать - Paste Вставить - Select all Выделить всё - Delete Удалить - Actions Действия - Configure Action Editor Настроить редактор действий - Icon View Значки - Detailed View Подробно - New action Новое действие - Edit action Правка действия - Remove action '%1' Удалить действие '%1' - Remove actions Удаление дествий - Used In Используется в @@ -4060,32 +3336,26 @@ Do you want overwrite the template? qdesigner_internal::ActionModel - Name Имя - Used Используется - Text Текст - Shortcut Горячая клавиша - Checkable Триггерное - ToolTip Подсказка @@ -4093,27 +3363,22 @@ Do you want overwrite the template? qdesigner_internal::BrushManagerProxy - The element '%1' is missing the required attribute '%2'. У элемента '%1' отсутствует необходимый атрибут '%2'. - Empty brush name encountered. Обнаружено пустое название кисти. - An unexpected element '%1' was encountered. Обнаружен неожиданный элемент '%1'. - An error occurred when reading the brush definition file '%1' at line line %2, column %3: %4 При чтении файла описания кистей '%1' возникла ошибка разбора строки %2 в позиции %3: %4 - An error occurred when reading the resource file '%1' at line %2, column %3: %4 При чтении файла ресурсов '%1' возникла ошибка разбора строки %2 в позиции %3: %4 @@ -4121,17 +3386,14 @@ Do you want overwrite the template? qdesigner_internal::BuddyEditor - Add buddy Добавить партнёра - Remove buddies Удалить партнёров - Remove %n buddies Удалить %n партнёра @@ -4140,7 +3402,6 @@ Do you want overwrite the template? - Add %n buddies Добавить %n партнёра @@ -4149,7 +3410,6 @@ Do you want overwrite the template? - Set automatically Установить автоматически @@ -4157,7 +3417,6 @@ Do you want overwrite the template? qdesigner_internal::BuddyEditorPlugin - Edit Buddies Изменение партнёров @@ -4165,7 +3424,6 @@ Do you want overwrite the template? qdesigner_internal::BuddyEditorTool - Edit Buddies Изменение партнёров @@ -4173,12 +3431,10 @@ Do you want overwrite the template? qdesigner_internal::ButtonGroupMenu - Select members Выбрать элементы - Break Разделить @@ -4186,32 +3442,26 @@ Do you want overwrite the template? qdesigner_internal::ButtonTaskMenu - Assign to button group Назначить группу кнопок - Button group Группа кнопок - New button group Новая группа кнопок - Change text... Изменить текст... - None Нет - Button group '%1' Группа кнопок '%1' @@ -4219,57 +3469,46 @@ Do you want overwrite the template? qdesigner_internal::CodeDialog - Save... Сохранить... - Copy All Копировать всё - &Find in Text... &Найти в тексте... - A temporary form file could not be created in %1. Не удалось создать временный файл формы в %1. - The temporary form file %1 could not be written. Не удалось записать временный файл формы %1. - %1 - [Code] %1 - [код] - Save Code Сохранить код - Header Files (*.%1) Заголовочные файлы (*.%1) - The file %1 could not be opened: %2 Не удалось открыть файл %1: %2 - The file %1 could not be written: %2 Не удалось записать файл %1: %2 - %1 - Error %1 - Ошибка @@ -4277,7 +3516,6 @@ Do you want overwrite the template? qdesigner_internal::ColorAction - Text Color Цвет текста @@ -4285,12 +3523,10 @@ Do you want overwrite the template? qdesigner_internal::ComboBoxTaskMenu - Edit Items... Изменить элементы... - Change Combobox Contents Изменено содержимое Combobox @@ -4298,7 +3534,6 @@ Do you want overwrite the template? qdesigner_internal::CommandLinkButtonTaskMenu - Change description... Изменить описание... @@ -4306,17 +3541,14 @@ Do you want overwrite the template? qdesigner_internal::ConnectionEdit - Select All Выделить всё - Deselect All Снять выделение - Delete Удалить @@ -4324,52 +3556,42 @@ Do you want overwrite the template? qdesigner_internal::ConnectionModel - Sender Отправитель - Signal Сигнал - Receiver Получатель - Slot Слот - <sender> <отправитель> - <signal> <сигнал> - <receiver> <получатель> - <slot> <слот> - The connection already exists!<br>%1 Подключение уже существует!<br>%1 - Signal and Slot Editor Радактор сигналов и слотов @@ -4377,42 +3599,34 @@ Do you want overwrite the template? qdesigner_internal::ContainerWidgetTaskMenu - Delete Удалить - Insert Вставить - Insert Page Before Current Page Вставить страницу перед текущей - Insert Page After Current Page Вставить страницу после текущей - Add Subwindow Добавить дочернее окно - Subwindow Дочернее окно - Page Страница - Page %1 of %2 Страница %1 из %2 @@ -4420,18 +3634,15 @@ Do you want overwrite the template? qdesigner_internal::DPI_Chooser - System (%1 x %2) System resolution Системное (%1 x %2) - User defined Пользовательское - x DPI X/Y separator x @@ -4440,49 +3651,38 @@ Do you want overwrite the template? qdesigner_internal::DesignerPropertyManager - - AlignLeft - AlignHCenter - AlignRight - AlignJustify - AlignTop - - AlignVCenter - AlignBottom - %1, %2 %1, %2 - Customized (%n roles) Настроено (%n роль) @@ -4491,75 +3691,58 @@ Do you want overwrite the template? - Inherited Унаследованная - Horizontal Горизонтальное - Vertical Вертикальное - Normal Off Нормальный, выкл - Normal On Нормальный, вкл - Disabled Off Выключенный, выкл - Disabled On Выключенный, вкл - Active Off Активный, выкл - Active On Активный, вкл - Selected Off Выбранный, выкл - Selected On Выбранный, вкл - - translatable переводимый - - disambiguation уточнение - - comment примечание @@ -4567,48 +3750,38 @@ Do you want overwrite the template? qdesigner_internal::DeviceProfileDialog - Device Profiles (*.%1) Профили устройства (*.%1) - Default По умолчанию - Save Profile Сохранение профиля - Save Profile - Error Ошибка сохранения профиля - Unable to open the file '%1' for writing: %2 Не удалось открыть файл '%1' для записи: %2 - Open profile Открытие профиля - - Open Profile - Error Ошибка отрытия профиля - Unable to open the file '%1' for reading: %2 Не удалось открыть файл '%1' для чтения: %2 - '%1' is not a valid profile: %2 '%1' не является корректным профилем: %2 @@ -4616,57 +3789,46 @@ Do you want overwrite the template? qdesigner_internal::Dialog - Dialog Диалог - StringList Список строк - New String Новая строка - &New &Новая - Delete String Удалить строку - &Delete &Удалить - &Value: &Значение: - Move String Up Переместить строку вверх - Up Вверх - Move String Down Переместить строку вниз - Down Вниз @@ -4674,52 +3836,42 @@ Do you want overwrite the template? qdesigner_internal::EmbeddedOptionsControl - None Нет - Add a profile Добавить профиль - Edit the selected profile Изменить выбранный профиль - Delete the selected profile Удалить выбранный профиль - Add Profile Добавление профиля - New profile Новый профиль - Edit Profile Изменение профиля - Delete Profile Удаление профиля - Would you like to delete the profile '%1'? Желаете удалить профиль '%1'? - Default По умолчанию @@ -4727,12 +3879,10 @@ Do you want overwrite the template? qdesigner_internal::FilterWidget - Filter Фильтр - Clear text Очистить текст @@ -4740,12 +3890,10 @@ Do you want overwrite the template? qdesigner_internal::FormEditor - Resource File Changed Файл ресурсов был изменён - The file "%1" has changed outside Designer. Do you want to reload it? Файл "%1" был изменён вне Qt Designer. Желаете перезагрузить его? @@ -4753,7 +3901,6 @@ Do you want overwrite the template? qdesigner_internal::FormLayoutMenu - Add form layout row... Добавить строку компоновщика формы... @@ -4761,37 +3908,30 @@ Do you want overwrite the template? qdesigner_internal::FormWindow - Edit contents Изменить содержимое - F2 - Insert widget '%1' Вставить виджет '%1' - Resize Изменение размера - Key Move Перемещение клавишей - Key Resize Изменение размера клавишей - Paste %n action(s) Вставлено %n действие @@ -4800,7 +3940,6 @@ Do you want overwrite the template? - Paste %n widget(s) Вставлен %n виджет @@ -4809,53 +3948,42 @@ Do you want overwrite the template? - Paste (%1 widgets, %2 actions) Вставлено (%1 виджетов, %2 действий) - Cannot paste widgets. Designer could not find a container without a layout to paste into. Не удалось вставить виджеты. Qt Designer не смог найти контейнер без компоновщика для вставки виджетов. - Break the layout of the container you want to paste into, select this container and then paste again. Удалите компоновщик из контейнера, в который желаете вставить виджеты, выберите его и повторите вставку. - Paste error Ошибка вставки - Raise widgets Поднятие виджетов - Lower widgets Опускание виджетов - Select Ancestor Выбрать предка - Lay out Компоновка - - Drop widget Вставка виджета - A QMainWindow-based form does not contain a central widget. Форма, основанная на QMainWindow, не содержит центрального виджета. @@ -4863,12 +3991,10 @@ Do you want overwrite the template? qdesigner_internal::FormWindowBase - Delete '%1' Удалить '%1' - Delete Удалить @@ -4876,200 +4002,159 @@ Do you want overwrite the template? qdesigner_internal::FormWindowManager - Cu&t &Вырезать - Cuts the selected widgets and puts them on the clipboard Вырезает выбранные виджеты и помещает их в буфер обмена - &Copy &Копировать - Copies the selected widgets to the clipboard Копирует выбранные виджеты в буфер обмена - &Paste В&ставить - Pastes the clipboard's contents Вставляет содержимое буфера обмена - &Delete &Удалить - Deletes the selected widgets Удаляет выбранные виджеты - Select &All &Выделить все - Selects all widgets Выделяет все виджеты - Bring to &Front Переместить &вперед - - Raises the selected widgets Поднимает выбранные виджеты на передний план - Send to &Back Переместить &назад - - Lowers the selected widgets Опускает выбранные виджеты на задний план - Adjust &Size Подогнать &размер - Adjusts the size of the selected widget Подгоняет размер выбранного виджета - Lay Out &Horizontally Скомпоновать по &горизонтали - Lays out the selected widgets horizontally Компонует выделенные виджеты по горизонтали (QHBoxLayout) - Lay Out &Vertically Скомпоновать по &вертикали - Lays out the selected widgets vertically Компонует выделенные виджеты по вертикали (QVBoxLayout) - Lay Out in a &Form Layout Скомпоновать в &две колонки - Lays out the selected widgets in a form layout Компонует выделенные виджеты в две колонки (QFormLayout) - Lay Out in a &Grid Скомпоновать по &сетке - Lays out the selected widgets in a grid Компонует выделенные виджеты по сетке (QGridLayout) - Lay Out Horizontally in S&plitter Скомпоновать по г&оризонтали с разделителем - Lays out the selected widgets horizontally in a splitter Компонует выделенные виджеты по горизонтали (QSplitter) - Lay Out Vertically in Sp&litter Скомпоновать по в&ертикали с разделителем - Lays out the selected widgets vertically in a splitter Компонует выделенные виджеты по вертикали (QSplitter) - &Break Layout &Удалить компоновщик - Breaks the selected layout Удаляет выбранный компоновщик - Si&mplify Grid Layout Упрост&ить компоновку по сетке - Removes empty columns and rows Удаляет пустые колонки и строки в QGridLayout - &Preview... &Предпросмотр... - Preview current form Предпросмотр формы - Form &Settings... &Настройки формы... - Break Layout Удалить компоновщик - Adjust Size Подогнать размер - Could not create form preview Title of warning message box Не удалось создать предпросмотр формы - Form Settings - %1 Настройки формы - %1 @@ -5077,12 +4162,10 @@ Do you want overwrite the template? qdesigner_internal::FormWindowSettings - None Нет - Device Profile: %1 Профиль устройства: %1 @@ -5090,37 +4173,30 @@ Do you want overwrite the template? qdesigner_internal::GridPanel - Form Форма - Grid Сетка - Visible Видимая - Grid &X Сетка &X - Snap Прилипать - Reset Сбросить - Grid &Y Сетка &Y @@ -5128,7 +4204,6 @@ Do you want overwrite the template? qdesigner_internal::GroupBoxTaskMenu - Change title... Изменить заголовок... @@ -5136,7 +4211,6 @@ Do you want overwrite the template? qdesigner_internal::HtmlTextEdit - Insert HTML entity Вставить элемент HTML @@ -5144,92 +4218,74 @@ Do you want overwrite the template? qdesigner_internal::IconSelector - The pixmap file '%1' cannot be read. Невозможно прочитать файл растрового изображения '%1'. - The file '%1' does not appear to be a valid pixmap file: %2 Файл '%1' не похож на корректный файл растрового изображения: %2 - The file '%1' could not be read: %2 Не удалось прочитать файл %1: %2 - Choose a Pixmap Выбор растрового изображения - Pixmap Read Error Ошибка чтения растрового изображения - ... ... - Normal Off Нормальный, выкл - Normal On Нормальный, вкл - Disabled Off Выключенный, выкл - Disabled On Выключенный, вкл - Active Off Активный, выкл - Active On Активный, вкл - Selected Off Выбранный, выкл - Selected On Выбранный, вкл - Choose Resource... Выбрать ресурс... - Choose File... Выбрать файл... - Reset Сбросить - Reset All Сбросить всё @@ -5237,58 +4293,46 @@ Do you want overwrite the template? qdesigner_internal::ItemListEditor - Properties &<< Свойства &<< - - Properties &>> Свойства &>> - Items List Список элементов - New Item Новый элемент - &New &Новый - Delete Item Удалить элемент - &Delete &Удалить - Move Item Up Переместить элемент вверх - U U - Move Item Down Переместить элемент вниз - D D @@ -5296,12 +4340,10 @@ Do you want overwrite the template? qdesigner_internal::LabelTaskMenu - Change rich text... Изменить форматированный текст... - Change plain text... Изменить обычный текст... @@ -5309,7 +4351,6 @@ Do you want overwrite the template? qdesigner_internal::LanguageResourceDialog - Choose Resource Выбор ресурса @@ -5317,7 +4358,6 @@ Do you want overwrite the template? qdesigner_internal::LineEditTaskMenu - Change text... Изменить текст... @@ -5325,17 +4365,14 @@ Do you want overwrite the template? qdesigner_internal::ListWidgetEditor - New Item Новый элемент - Edit List Widget Изменение виджета List - Edit Combobox Изменение виджета ComboBox @@ -5343,12 +4380,10 @@ Do you want overwrite the template? qdesigner_internal::ListWidgetTaskMenu - Edit Items... Изменить элементы... - Change List Contents Изменение содержимого списка @@ -5356,22 +4391,18 @@ Do you want overwrite the template? qdesigner_internal::MdiContainerWidgetTaskMenu - Next Subwindow Следующее дочернее докно - Previous Subwindow Предыдущее дочернее докно - Tile Замостить - Cascade Каскадом @@ -5379,7 +4410,6 @@ Do you want overwrite the template? qdesigner_internal::MenuTaskMenu - Remove Удалить @@ -5387,7 +4417,6 @@ Do you want overwrite the template? qdesigner_internal::MorphMenu - Morph into Преобразовать в @@ -5395,42 +4424,34 @@ Do you want overwrite the template? qdesigner_internal::NewActionDialog - New Action... Новое действие... - &Text: &Текст: - Object &name: &Имя объекта: - &Icon: &Значок: - Shortcut: Горячая клавиша: - Checkable: Триггерное: - ToolTip: Подсказка: - ... ... @@ -5438,41 +4459,34 @@ Do you want overwrite the template? qdesigner_internal::NewDynamicPropertyDialog - Set Property Name Установка имени свойства - The current object already has a property named '%1'. Please select another, unique one. Объект уже содержит свойство с именем '%1'. Укажите другое имя. - The '_q_' prefix is reserved for the Qt library. Please select another name. Приставка '_q_' зарезервирована для целей библиотеки Qt. Укажите другое имя. - Create Dynamic Property Создание динамического свойства - Property Name Имя свойства - horizontalSpacer - Property Type Тип свойства @@ -5480,83 +4494,67 @@ Please select another name. qdesigner_internal::NewFormWidget - Default size Размер по умолчанию - QVGA portrait (240x320) QVGA книжная (240x320) - QVGA landscape (320x240) QVGA альбомная (320x240) - VGA portrait (480x640) VGA книжная (480x640) - VGA landscape (640x480) VGA альбомная (640x480) - Widgets New Form Dialog Categories Виджеты - Custom Widgets Пользовательские виджеты - None Нет - Error loading form Ошибка загрузки формы - Unable to open the form template file '%1': %2 Невозможно открыть файл шаблона формы '%1': %2 - Internal error: No template selected. Внутренняя ошибка: Шаблон не выбран. - 0 0 - Choose a template for a preview Выберите шаблон для предпросмотра - Embedded Design Оформление портативных устройств - Device: Устройство: - Screen Size: Размер экрана: @@ -5564,37 +4562,30 @@ Please select another name. qdesigner_internal::NewPromotedClassPanel - Add Добавить - New Promoted Class Новый преобразованный класс - Base class name: Имя базового класса: - Promoted class name: Имя преобразованного класса: - Header file: Заголовочный файл: - Global include Глобальное включение - Reset Восстановить @@ -5602,12 +4593,10 @@ Please select another name. qdesigner_internal::ObjectInspector - &Find in Text... &Найти в тексте... - Change Current Page Смена текущей страницы @@ -5615,32 +4604,26 @@ Please select another name. qdesigner_internal::OrderDialog - Index %1 (%2) Индекс %1 (%2) - %1 %2 %1 %2 - Change Page Order Изменение порядка страниц - Page Order Порядок страниц - Move page up Переместить страницу выше - Move page down Переместить страницу ниже @@ -5648,47 +4631,38 @@ Please select another name. qdesigner_internal::PaletteEditor - Edit Palette Правка палитры - Tune Palette Настройка палитры - Show Details Показывать детали - Compute Details Расчитывать детали - Quick Быстрый - Preview Предпросмотр - Disabled Выключенная - Inactive Неактивная - Active Активная @@ -5696,7 +4670,6 @@ Please select another name. qdesigner_internal::PaletteEditorButton - Change Palette Изменить палитру @@ -5704,22 +4677,18 @@ Please select another name. qdesigner_internal::PaletteModel - Color Role Роль цвета - Active Активный - Inactive Неактивный - Disabled Выключенный @@ -5727,28 +4696,22 @@ Please select another name. qdesigner_internal::PixmapEditor - Choose Resource... Выбрать ресурс... - Choose File... Выбрать файл... - Copy Path Скопировать путь - Paste Path Вставить путь - - ... ... @@ -5756,7 +4719,6 @@ Please select another name. qdesigner_internal::PlainTextEditorDialog - Edit text Правка текста @@ -5764,37 +4726,30 @@ Please select another name. qdesigner_internal::PluginDialog - Components Компоненты - Plugin Information Информация о модуле - Refresh Обновить - Scan for newly installed custom widget plugins. Поиск вновь установленных модулей пользовательских виджетов. - Qt Designer couldn't find any plugins Qt Designer не может найти ни одного модуля - Qt Designer found the following plugins Qt Designer нашёл следующие модули - New custom widget plugins have been found. Найдены новые модули пользовательских виджетов. @@ -5802,7 +4757,6 @@ Please select another name. qdesigner_internal::PreviewActionGroup - %1 Style Стиль %1 @@ -5810,47 +4764,38 @@ Please select another name. qdesigner_internal::PreviewConfigurationWidget - Default По умолчанию - None Нет - Browse... Обзор... - Load Custom Device Skin Загрузить особую обложку устройства - All QVFB Skins (*.%1) Все обложки QVFB (*.%1) - %1 - Duplicate Skin %1 - Повторяющаяся обложка - The skin '%1' already exists. Обложка '%1' уже существует. - %1 - Error %1 - Ошибка - %1 is not a valid skin directory: %2 %1 не является корректным каталогом обложек: @@ -5860,24 +4805,20 @@ Please select another name. qdesigner_internal::PreviewDeviceSkin - &Portrait &Книжная - Landscape (&CCW) Rotate form preview counter-clockwise Альбомная (&против ЧС) - &Landscape (CW) Rotate form preview clockwise &Альбомная (по ЧС) - &Close &Закрыть @@ -5885,7 +4826,6 @@ Please select another name. qdesigner_internal::PreviewManager - %1 - [Preview] %1 - [Предпросмотр] @@ -5893,7 +4833,6 @@ Please select another name. qdesigner_internal::PreviewMdiArea - The moose in the noose ate the goose who was loose. Palette editor background @@ -5903,57 +4842,46 @@ ate the goose who was loose. qdesigner_internal::PreviewWidget - Preview Window Окно предпросмотра - LineEdit LineEdit - ComboBox ComboBox - PushButton PushButton - ButtonGroup2 ButtonGroup2 - CheckBox1 CheckBox1 - CheckBox2 CheckBox2 - ButtonGroup ButtonGroup - RadioButton1 RadioButton1 - RadioButton2 RadioButton2 - RadioButton3 RadioButton3 @@ -5961,22 +4889,18 @@ ate the goose who was loose. qdesigner_internal::PromotionModel - Name Имя - Header file Заголовочный файл - Global include Глобальное включение - Usage Использование @@ -5984,27 +4908,22 @@ ate the goose who was loose. qdesigner_internal::PromotionTaskMenu - Promoted widgets... Преобразованные виджеты... - Promote to ... Преобразовать в ... - Change signals/slots... Изменить сигналы/слоты... - Promote to Преобразовать в - Demote to %1 Преобразовать в %1 @@ -6012,57 +4931,46 @@ ate the goose who was loose. qdesigner_internal::PropertyEditor - Add Dynamic Property... Добавить динамическое свойство... - Remove Dynamic Property Удалить динамическое свойство - Sorting Сортировка - Color Groups Цветовые группы - Tree View Древовидный список - Drop Down Button View Вид выпадающего списка - String... Строка... - Bool... Булево... - Other... Другое... - Configure Property Editor Настроить радактор свойств - Object: %1 Class: %2 Объект: %1 @@ -6072,7 +4980,6 @@ Class: %2 qdesigner_internal::PropertyLineEdit - Insert line break Вставить разрыв строки @@ -6080,27 +4987,22 @@ Class: %2 qdesigner_internal::QDesignerPromotionDialog - Promoted Widgets Преобразованные виджеты - Promoted Classes Преобразованные классы - Promote Преобразовать - Change signals/slots... Изменить сигналы/слоты... - %1 - Error %1 - Ошибка @@ -6108,22 +5010,18 @@ Class: %2 qdesigner_internal::QDesignerResource - Loading qrc file Загрузка файла qrc - The specified qrc file <p><b>%1</b></p><p>could not be found. Do you want to update the file location?</p> Не удалось найти указанный файл qrc <p><b>%1</b></p><p>Желаете обновить его расположение?</p> - New location for %1 Новое расположение %1 - Resource files (*.qrc) Файл ресурсов (*.qrc) @@ -6131,112 +5029,90 @@ Class: %2 qdesigner_internal::QDesignerTaskMenu - Change objectName... Изменить objectName... - Change toolTip... Изменить toolTip... - Change whatsThis... Изменить whatsThis... - Change styleSheet... Изменить styleSheet... - Create Menu Bar Создать панель меню - Add Tool Bar Добавить панель инструментов - Create Status Bar Создать строку состояния - Remove Status Bar Удалить строку состояния - Change script... Изменить сценарий... - Change signals/slots... Изменить сигналы/слоты... - Go to slot... Перейти к слоту... - Size Constraints Ограничения размера - Set Minimum Width Установить минимальную ширину - Set Minimum Height Установить минимальную высоту - Set Minimum Size Установить минимальный размер - Set Maximum Width Установить максимальную ширину - Set Maximum Height Установить максимальную высоту - Set Maximum Size Установить максимальный размер - Edit ToolTip Правка текста всплывающей подсказки - Edit WhatsThis Правка текста подсказки режима "Что это?" - no signals available Нет доступных сигналов - Set size constraint on %n widget(s) Установка ограничений размера для %n виджета @@ -6248,42 +5124,34 @@ Class: %2 qdesigner_internal::QDesignerWidgetBox - - Unexpected element <%1> Неожиданный элемент <%1> - A parse error occurred at line %1, column %2 of the XML code specified for the widget %3: %4 %5 Возникла ошибка разбора в строке %1 позиции %2 кода XML, определённого для виджета %3: %4 %5 - The XML code specified for the widget %1 does not contain any widget elements. %2 Код XML, определённый для виджета %1, не содержит каких-либо элементов виджетов. %2 - An error has been encountered at line %1 of %2: %3 Обнаружена ошибка в строке %1 из %2: %3 - Unexpected element <%1> encountered when parsing for <widget> or <ui> Обнаружен неожиданный элемент <%1> вместо <widget> или <ui> - Unexpected end of file encountered when parsing widgets. Файл неожиданно закончился при разборе виджетов. - A widget element could not be found. Не удалось обнаружить элемент виджета. @@ -6291,73 +5159,58 @@ Class: %2 qdesigner_internal::QtGradientStopsController - H H - S S - V V - - Hue Оттенок - Sat Насыщ - Val Знач - Saturation Насыщенность - Value Значение - R R - G G - B B - Red Красный - Green Зелёный - Blue Синий @@ -6365,27 +5218,22 @@ Class: %2 qdesigner_internal::RichTextEditorDialog - Edit text Правка текста - Rich Text Форматированный текст - Source Исходник - &OK &ОК - &Cancel От&мена @@ -6393,72 +5241,58 @@ Class: %2 qdesigner_internal::RichTextEditorToolBar - Bold Жирный - CTRL+B - Italic Курсив - CTRL+I - Underline Подчёркнутый - CTRL+U - Left Align По левому краю - Center По центру - Right Align По правому краю - Justify По ширине - Superscript Верхний индекс - Subscript Нижний индекс - Insert &Link Вставить &ссылку - Insert &Image Вставить &изображение @@ -6466,17 +5300,14 @@ Class: %2 qdesigner_internal::ScriptDialog - Edit script Правка сценария - <html>Enter a Qt Script snippet to be executed while loading the form.<br>The widget and its children are accessible via the variables <i>widget</i> and <i>childWidgets</i>, respectively. <html>Укажите сценарий Qt, который должен выполняться при загрузке формы.<br>Виджет и его дочерние виджеты доступны через переменные <i>widget</i> и <i>childWidgets</i>. - Syntax error Синтаксическая ошибка @@ -6484,7 +5315,6 @@ Class: %2 qdesigner_internal::ScriptErrorDialog - Script errors Ошибки сценария @@ -6492,23 +5322,18 @@ Class: %2 qdesigner_internal::SignalSlotDialog - There is already a slot with the signature '%1'. Уже есть слот с сигнатурой '%1'. - There is already a signal with the signature '%1'. Уже есть сигнал с сигнатурой '%1'. - %1 - Duplicate Signature %1 - Повторяющаяся сигнатура - - Signals/Slots of %1 Сигналы/слоты %1 @@ -6516,12 +5341,10 @@ Class: %2 qdesigner_internal::SignalSlotEditorPlugin - Edit Signals/Slots Изменение сигналов/слотов - F4 @@ -6529,7 +5352,6 @@ Class: %2 qdesigner_internal::SignalSlotEditorTool - Edit Signals/Slots Изменение сигналов/слотов @@ -6537,7 +5359,6 @@ Class: %2 qdesigner_internal::StatusBarTaskMenu - Remove Удалить @@ -6545,7 +5366,6 @@ Class: %2 qdesigner_internal::StringListEditorButton - Change String List Изменить список строк @@ -6553,38 +5373,30 @@ Class: %2 qdesigner_internal::StyleSheetEditorDialog - - Valid Style Sheet Корректная таблица стилей - Add Resource... Добавить ресурс... - Add Gradient... Добавить градиент... - Add Color... Добавить цвет... - Add Font... Добавить шрифт... - Edit Style Sheet Правка таблицы стилей - Invalid Style Sheet Некорректная таблица стилей @@ -6592,27 +5404,22 @@ Class: %2 qdesigner_internal::TabOrderEditor - Start from Here Начать отсюда - Restart Перезапустить - Tab Order List... Список порядка переключений... - Tab Order List Список порядка переключений - Tab Order Порядок переключений @@ -6620,7 +5427,6 @@ Class: %2 qdesigner_internal::TabOrderEditorPlugin - Edit Tab Order Изменение порядка переключений @@ -6628,7 +5434,6 @@ Class: %2 qdesigner_internal::TabOrderEditorTool - Edit Tab Order Изменить порядок переключений @@ -6636,48 +5441,38 @@ Class: %2 qdesigner_internal::TableWidgetEditor - - Properties &>> Свойства &>> - Edit Table Widget Правка табличного виджета - &Items &Элементы - Table Items Элементы таблицы - New Column Новый столбец - New Row Новая строка - &Columns С&толбцы - &Rows &Строки - Properties &<< Свойства &<< @@ -6685,7 +5480,6 @@ Class: %2 qdesigner_internal::TableWidgetTaskMenu - Edit Items... Изменить элементы... @@ -6693,22 +5487,18 @@ Class: %2 qdesigner_internal::TemplateOptionsWidget - Pick a directory to save templates in Выберите каталог для сохранения шаблонов - Form Форма - Additional Template Paths Дополнительные пути к шаблонам - ... ... @@ -6716,22 +5506,18 @@ Class: %2 qdesigner_internal::TextEditTaskMenu - Edit HTML Правка HTML - Change HTML... Изменить HTML... - Edit Text Правка текста - Change Plain Text... Правка обычного текста... @@ -6739,22 +5525,18 @@ Class: %2 qdesigner_internal::TextEditor - Choose Resource... Выбрать ресурс... - Choose File... Выбрать файл... - ... ... - Choose a File Выбор файла @@ -6762,27 +5544,22 @@ Class: %2 qdesigner_internal::ToolBarEventFilter - Insert Separator before '%1' Вставить разделитель перед '%1' - Append Separator Добавить разделитель - Remove action '%1' Удалить действие '%1' - Remove Toolbar '%1' Удалить панель инструментов '%1' - Insert Separator Вставить разделитель @@ -6790,125 +5567,98 @@ Class: %2 qdesigner_internal::TreeWidgetEditor - New Column Новый столбец - &Columns С&толбцы - Per column properties Свойства столбца - Common properties Общие свойства - - New Item Новый элемент - - New Subitem Новый дочерний элемент - Properties &<< Свойства &<< - - Properties &>> Свойства &>> - Edit Tree Widget Изменение виджета Дерево - &Items &Элементы - Tree Items Элементы дерева - 1 1 - &New &Новый - New &Subitem Новый &дочерний элемент - Delete Item Удалить элемент - &Delete &Удалить - Move Item Left (before Parent Item) Переместить элемент влево (перед родительским) - L L - Move Item Right (as a First Subitem of the Next Sibling Item) Переместить элемент вправо (сделать первым дочерним элементом соседнего элемента) - R - Move Item Up Переместить элемент вверх - U U - Move Item Down Переместить элемент вниз - D D @@ -6916,7 +5666,6 @@ Class: %2 qdesigner_internal::TreeWidgetTaskMenu - Edit Items... Изменить элементы... @@ -6924,7 +5673,6 @@ Class: %2 qdesigner_internal::WidgetBox - Warning: Widget creation failed in the widget box. This could be caused by invalid custom widget XML. Предупреждение: Не удалось создать виджет. Это могло произойти из-за некорректного XML пользовательского виджета. @@ -6932,42 +5680,34 @@ Class: %2 qdesigner_internal::WidgetBoxTreeWidget - Scratchpad Блокнот - Custom Widgets Пользовательские виджеты - Expand all Развернуть всё - Collapse all Свернуть всё - List View Список - Icon View Значки - Remove Удалить - Edit name Изменить имя @@ -6975,7 +5715,6 @@ Class: %2 qdesigner_internal::WidgetDataBase - A custom widget plugin whose class name (%1) matches that of an existing class has been found. Обнаружен пользовательский модуль виджета, имя класса (%1) которого совпадает с уже имеющимся. @@ -6983,7 +5722,6 @@ Class: %2 qdesigner_internal::WidgetEditorTool - Edit Widgets Изменение виджетов @@ -6991,34 +5729,28 @@ Class: %2 qdesigner_internal::WidgetFactory - The custom widget factory registered for widgets of class %1 returned 0. Пользовательская фабрика виджетов, зарегистрированная для класса %1, вернула 0. - A class name mismatch occurred when creating a widget using the custom widget factory registered for widgets of class %1. It returned a widget of class %2. Обнаружено несоответствие имени класса при создании виджета с использованием пользовательской фабрики виджетов, зарегистрированной для класса %1. Она вернула виджет класса %2. - %1 Widget Виджет %1 - The current page of the container '%1' (%2) could not be determined while creating a layout.This indicates an inconsistency in the ui-file, probably a layout being constructed on a container widget. При создании компоновщика не удалось определить текущую страницу контейнера '%1' (%2). Это указывает на некорректность файла ui - возможно, компоновщик был создан для контейнерного виджета. - Attempt to add a layout to a widget '%1' (%2) which already has an unmanaged layout of type %3. This indicates an inconsistency in the ui-file. Попытка добавить компоновщик виджету '%1' (%2), у которого уже есть компоновщик типа %3. Это указывает на некорректность файла ui. - Cannot create style '%1'. Не удалось создать стиль '%1'. @@ -7026,12 +5758,10 @@ This indicates an inconsistency in the ui-file. qdesigner_internal::WizardContainerWidgetTaskMenu - Next Далее - Back Назад @@ -7039,7 +5769,6 @@ This indicates an inconsistency in the ui-file. qdesigner_internal::ZoomMenu - %1 % Zoom factor %1 % @@ -7048,7 +5777,6 @@ This indicates an inconsistency in the ui-file. qdesigner_internal::ZoomablePreviewDeviceSkin - &Zoom Мас&штаб diff --git a/translations/linguist_ru.ts b/translations/linguist_ru.ts index 625a0f1..2d06f25 100644 --- a/translations/linguist_ru.ts +++ b/translations/linguist_ru.ts @@ -4,7 +4,6 @@ AboutDialog - Qt Linguist Qt Linguist @@ -12,77 +11,62 @@ BatchTranslationDialog - Qt Linguist - Batch Translation Qt Linguist - Пакетный перевод - Options Параметры - Set translated entries to finished Помечать переведенные записи как завершённые - Retranslate entries with existing translation Переводить записи, уже имеющие перевод - Translate also finished entries Также переводить записи с завершёнными переводами - Phrase book preference Предпочитаемые глоссарии - Move up Поднять - Move down Опустить - &Run &Выполнить - Cancel Отмена - Batch Translation of '%1' - Qt Linguist Пакетный перевод '%1' - Qt Linguist - Searching, please wait... Идёт поиск, ожидайте... - &Cancel От&мена - Linguist batch translator Пакетный переводчик Qt Linguist - Batch translated %n entries Автоматически переведена %n запись @@ -91,12 +75,10 @@ - Note that the modified entries will be reset to unfinished if 'Set translated entries to finished' above is unchecked Имейте в виду, что изменённые записи будут отмечены как незавершённые, если не включен параметр "Помечать переведенные записи как завершённые" - The batch translator will search through the selected phrase books in the order given above Пакетный переводчик будет искать в выбранных глоссариях в указанном выше порядке @@ -104,45 +86,36 @@ DataModel - <qt>Duplicate messages found in '%1': <qt>В '%1' обнаружены повторяющиеся сообщения: - - <p>[more duplicates omitted] <p>[остальные повторы не указаны] - <p>* ID: %1 <p>* ID: %1 - <p>* Context: %1<br>* Source: %2 <p>* Контекст: %1<br>* Источник: %2 - <br>* Comment: %3 <br>* Комментарий: %3 - Linguist does not know the plural rules for '%1'. Will assume a single universal form. Qt Linguist не знает правила множественных форм для '%1'. Будет использована универсальная единичная форма. - Cannot create '%2': %1 Не удалось создать '%2': %1 - Universal Form Универсальная форма @@ -150,37 +123,30 @@ Will assume a single universal form. ErrorsView - Accelerator possibly superfluous in translation. Возможно, лишний акселератор в переводе. - Accelerator possibly missing in translation. Возможно, пропущен акселератор в переводе. - Translation does not end with the same punctuation as the source text. Перевод не заканчивается тем же знаком препинания, что и исходный текст. - A phrase book suggestion for '%1' was ignored. Предложение глоссария для '%1' пропущено. - Translation does not refer to the same place markers as in the source text. Перевод не содержит тех же маркеров форматирования, что и исходный текст. - Translation does not contain the necessary %n place marker. Перевод не содержит необходимого маркера форматирования %n. - Unknown error Неизвестная ошибка @@ -188,98 +154,79 @@ Will assume a single universal form. FindDialog - Choose Edit|Find from the menu bar or press Ctrl+F to pop up the Find dialog - Find Поиск - This window allows you to search for some text in the translation source file. Данное окно позволяет искать текст в файле перевода. - &Find what: &Искать: - Type in the text to search for. Введите искомый текст. - Options Параметры - Source texts are searched when checked. Если отмечено, поиск будет вестись в исходных текстах. - &Source texts &Исходные тексты - Translations are searched when checked. Если отмечено, поиск будет вестись в переведённых текстах. - &Translations &Переводы - Texts such as 'TeX' and 'tex' are considered as different when checked. Если отмечено, строки "ПрИмЕр" и "пример" будет считаться разными. - &Match case С учётом &регистра - Comments and contexts are searched when checked. Если отмечено, поиск будет вестись по контекстам и комментариям. - &Comments &Комментарии - Ignore &accelerators Пропускать &акселераторы - Click here to find the next occurrence of the text you typed in. Найти следующее совпадение для введённого текста. - Find Next Найти далее - Click here to close this window. Закрыть окно. - Cancel Отмена @@ -287,30 +234,25 @@ Will assume a single universal form. FormMultiWidget - Alt+Delete translate, but don't change - Shift+Alt+Insert translate, but don't change - Alt+Insert translate, but don't change - Confirmation - Qt Linguist Подтверждение - Qt Linguist - Delete non-empty length variant? Удалить вариант перевода? @@ -318,7 +260,6 @@ Will assume a single universal form. LRelease - Dropped %n message(s) which had no ID. Удалено %n сообщение, у которого не было ID. @@ -327,7 +268,6 @@ Will assume a single universal form. - Excess context/disambiguation dropped from %n message(s). Удалён лишний контекст из %n сообщения. @@ -336,107 +276,80 @@ Will assume a single universal form. - - Generated %n translation(s) (%1 finished and %2 unfinished) - + Generated %n translation(s) (%1 finished and %2 unfinished) - Создан %n перевод (%1 завершённых и %2 незавершённых) - - Создано %n перевода (%1 завершённых и %2 незавершённых) - - Создано %n переводов (%1 завершённых и %2 незавершённых) - + Создан %n перевод (%1 завершённых и %2 незавершённых) + Создано %n перевода (%1 завершённых и %2 незавершённых) + Создано %n переводов (%1 завершённых и %2 незавершённых) - - Ignored %n untranslated source text(s) - + Ignored %n untranslated source text(s) - Пропущен %n непереведённый исходный текст - - Пропущено %n непереведённых исходных текста - - Пропущено %n непереведённых исходных текстов - + Пропущен %n непереведённый исходный текст + Пропущено %n непереведённых исходных текста + Пропущено %n непереведённых исходных текстов MainWindow - This is the application's main window. Основное окно программы. - Source text Исходный текст - - Index Индекс - - Context Контекст - Items Записи - This panel lists the source contexts. В данной панели перечислены исходные контексты. - Strings Строки - Phrases and guesses Фразы и похожие переводы - Sources and Forms Исходники и формы - Warnings Предупреждения - MOD status bar: file(s) modified ИЗМ - Loading... Загрузка... - - Loading File - Qt Linguist Загрузка файла - Qt Linguist - The file '%1' does not seem to be related to the currently open file(s) '%2'. Close the open file(s) first? @@ -445,7 +358,6 @@ Close the open file(s) first? Закрыть открытые файлы? - The file '%1' does not seem to be related to the file '%2' which is being loaded as well. Skip loading the first named file? @@ -454,7 +366,6 @@ Skip loading the first named file? Пропустить загрузку файла? - %n translation unit(s) loaded. Загружена %n запись. @@ -463,124 +374,84 @@ Skip loading the first named file? - Related files (%1);; Связанные файлы (%1);; - Open Translation Files Открыть файлы перевода - - File saved. Файл сохранён. - - - Release Скомпилировать - Qt message files for released applications (*.qm) All files (*) Скомпилированные файлы перевода для приложений Qt (*.qm) Все файлы (*) - - File created. Файл создан. - - Printing... Печать... - Context: %1 Контекст: %1 - finished завершён - unresolved неразрешённый - obsolete устаревший - - Printing... (page %1) Печать... (страница %1) - - Printing completed Печать завершена - - Printing aborted Печать прервана - Search wrapped. Поиск с начала. - - - - - - - - - - Qt Linguist Qt Linguist - - Cannot find the string '%1'. Не удалось найти строку '%1'. - Search And Translate in '%1' - Qt Linguist Поиск и перевод '%1' - Qt Linguist - - - Translate - Qt Linguist Перевод - Qt Linguist - Translated %n entry(s) Переведена %n запись @@ -589,39 +460,32 @@ All files (*) - No more occurrences of '%1'. Start over? Нет больше совпадений с '%1'. Начать заново? - Create New Phrase Book Создать глоссарий - Qt phrase books (*.qph) All files (*) Глоссарии Qt (*.qph) Все файлы (*) - Phrase book created. Глоссарий создан. - Open Phrase Book Открыть глоссарий - Qt phrase books (*.qph);;All files (*) Глоссарии Qt (*.qph);;Все файлы (*) - %n phrase(s) loaded. Загружена %n фраза. @@ -630,879 +494,690 @@ All files (*) - - - Add to phrase book Добавить в глоссарий - No appropriate phrasebook found. Подходящий глоссарий не найден. - Adding entry to phrasebook %1 Добавление записи в глоссарий %1 - Select phrase book to add to Выберите глоссарий, в который желаете добавить фразу - Unable to launch Qt Assistant (%1) Не удалось запустить Qt Assistant (%1) - Version %1 Версия %1 - <center><img src=":/images/splash.png"/></img><p>%1</p></center><p>Qt Linguist is a tool for adding translations to Qt applications.</p><p>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). <center><img src=":/images/splash.png"/></img><p>%1</p></center><p>Qt Linguist - инструмент для добавления переводов в приложения на основе Qt.</p><p>Copyright (C) 2010 Корпорация Nokia и/или её дочерние подразделения. - Do you want to save the modified files? Желаете сохранить изменённые файлы? - Do you want to save '%1'? Желаете сохранить '%1'? - Qt Linguist[*] Qt Linguist[*] - %1[*] - Qt Linguist %1[*] - Qt Linguist - - No untranslated translation units left. Непереведённых записей не осталось. - &Window &Окно - Minimize Свернуть - Ctrl+M - Display the manual for %1. Показать руководство для %1. - Display information about %1. Показать информацию о %1. - &Save '%1' &Сохранить'%1' - Save '%1' &As... Сохранить'%1' &как... - Release '%1' Скомпилировать '%1' - Release '%1' As... Скомпилировать '%1' как... - &Close '%1' &Закрыть '%1' - - &Save &Сохранить - - - Save &As... Сохранить &как... - - - Release As... Скомпилировать как... - - &Close &Закрыть - Save All Сохранить все - - &Release All С&компилировать все - Close All Закрыть все - &Release С&компилировать - Translation File &Settings for '%1'... &Параметры файла перевода для '%1'... - &Batch Translation of '%1'... Пак&етный перевод '%1'... - Search And &Translate in '%1'... &Найти и перевести в '%1'... - - Translation File &Settings... &Параметры файла перевода... - - &Batch Translation... Пак&етный перевод... - Search And &Translate... &Найти и перевести... - - File Файл - - Edit Правка - - Translation Перевод - - Validation Проверка - - Help Справка - Cannot read from phrase book '%1'. Не удалось прочитать из глоссария '%1'. - Close this phrase book. Закрыть глоссарий. - Enables you to add, modify, or delete entries in this phrase book. Позволяет добавлять, изменять и удалять записи в глоссарии. - Print the entries in this phrase book. Печать записей фраз глоссария. - Cannot create phrase book '%1'. Не удалось создать глоссарий '%1'. - Do you want to save phrase book '%1'? Желаете сохранить глоссарий '%1'? - All Все - MainWindow Главное окно - &Phrases Фра&зы - &Close Phrase Book &Закрыть глоссарий - &Edit Phrase Book &Редактироваь глоссарий - &Print Phrase Book &Печатать глоссарий - V&alidation П&роверка - &View &Вид - Vie&ws Вид&ы - &Toolbars Пан&ели инструментов - &Help &Справка - &Translation П&еревод - &File &Файл - Recently Opened &Files Недавно открытые &файлы - &Edit &Правка - &Open... &Открыть... - Open a Qt translation source file (TS file) for editing Открыть исходный файл переводов Qt (файл TS) для изменения - Ctrl+O - E&xit В&ыход - Close this window and exit. Закрыть окно и выйти. - Ctrl+Q - Save Сохранить - Save changes made to this Qt translation source file Сохранить изменения в данном исходном файле перевода Qt - Save As... Сохранить как... - Save changes made to this Qt translation source file into a new file. Сохранить изменения в данном исходном файле перевода Qt в новый файл. - Create a Qt message file suitable for released applications from the current message file. Скомпилировать файл перевода Qt из текущего файла. - &Print... &Печать... - Print a list of all the translation units in the current translation source file. Печать списка всех записей перевода из текущего файла. - Ctrl+P - &Undo &Отменить - Undo the last editing operation performed on the current translation. Отменить последнее изменение текущего перевода. - Ctrl+Z - &Redo &Повторить - Redo an undone editing operation performed on the translation. Повторить отменённую правку перевода. - Ctrl+Y - Cu&t Выр&езать - Copy the selected translation text to the clipboard and deletes it. Скопировать отмеченный текст в буфер обмена и удалить его из оригинала. - Ctrl+X - &Copy &Копировать - Copy the selected translation text to the clipboard. Скопировать отмеченный текст в буфер обмена. - Ctrl+C - &Paste &Вставить - Paste the clipboard text into the translation. Вставить текст из буфера обмена в перевод. - Ctrl+V - Select &All В&ыделить всё - Select the whole translation text. Выделить весь текст перевода. - Ctrl+A - &Find... &Найти... - Search for some text in the translation source file. Найти текст в исходном файле перевода. - Ctrl+F - Find &Next Найти д&алее - Continue the search where it was left. Продолжить поиск с места, где он был остановлен. - F3 - &Prev Unfinished &Предыдущий незавершённый - Create a Qt message file suitable for released applications from the current message file. The filename will automatically be determined from the name of the TS file. Создание готового файла перевода Qt из текущего файла. Имя файла будет автоматически определено из имени .ts файла. - Length Variants Варианты перевода - Move to the previous unfinished item. Перейти к предыдущему незавершённому переводу. - Ctrl+K - &Next Unfinished &Следующий незавершённый - Move to the next unfinished item. Перейти к следующему незавершённому переводу. - Ctrl+J - P&rev Пр&едыдущий - Move to the previous item. Перейти к предыдущему переводу. - Ctrl+Shift+K - Ne&xt С&ледующий - Move to the next item. Перейти к следующему переводу. - Ctrl+Shift+J - &Done and Next &Готово и далее - Mark this item as done and move to the next unfinished item. Пометить перевод как завершённый и перейти к следующему незавершённому. - Copy from source text Скопировать из исходного текста - Copies the source text into the translation field. Скопировать исходный текст в поле перевода. - Ctrl+B - &Accelerators &Акселераторы - Toggle the validity check of accelerators, i.e. whether the number of ampersands in the source and translation text is the same. If the check fails, a message is shown in the warnings window. Переключение проверки акселераторов, т.е. совпадает ли количество амперсандов в исходном и переведённом текстах. Если выявлено несовпадение, будет показано сообщение в окне предупреждений. - &Ending Punctuation &Знаки препинания - Toggle the validity check of ending punctuation. If the check fails, a message is shown in the warnings window. Переключение проверки знаков препинания в конце текста. Если выявлено несовпадение, будет показано сообщение в окне предупреждений. - &Phrase matches Совпадение &фраз - Toggle checking that phrase suggestions are used. If the check fails, a message is shown in the warnings window. Переключение проверки использования предложений для фраз. Если выявлено несовпадение, будет показано сообщение в окне предупреждений. - Place &Marker Matches Совпадение &маркеров - Toggle the validity check of place markers, i.e. whether %1, %2, ... are used consistently in the source text and translation text. If the check fails, a message is shown in the warnings window. Переключение проверки маркеров форматирования, т.е. все ли маркеры (%1, %2, ...) исходного текста присутствуют в переведённом. Если выявлено несовпадение, будет показано сообщение в окне предупреждений. - &New Phrase Book... &Новый глоссарий... - Create a new phrase book. Создать глоссарий. - Ctrl+N - &Open Phrase Book... &Открыть глоссарий... - Open a phrase book to assist translation. Открыть глоссарий для помощи в переводе. - Ctrl+H - &Reset Sorting &Сброс сортировки - Sort the items back in the same order as in the message file. Упорядочить элементы в той последовательности, в которой они находятся в файле. - &Display guesses &Предлагать похожие - Set whether or not to display translation guesses. Определяет необходимо или нет отображать похожие переводы. - &Statistics &Статистика - Display translation statistics. Показать статистику перевода. - &Manual &Руководство - F1 - About Qt Linguist О Qt Linguist - About Qt О Qt - &What's This? &Что это? - What's This? Что это? - Enter What's This? mode. Переход в режим "Что это?". - Shift+F1 - &Search And Translate... &Найти и перевести... - Replace the translation on all entries that matches the search source text. Заменить перевод всех записей, которые совпадают с искомым исходным текстом. - Batch translate all entries using the information in the phrase books. Перевести все записи в пакетном режиме, используя информацию из глоссария. - Open/Refresh Form &Preview Открыть/обновить предпрос&мотр формы - Form Preview Tool Инструмент предпросмотра форм - F5 - &Add to Phrase Book &Добавить в глоссарий - Ctrl+T - Open Read-O&nly... Открыть только для &чтения... - &Save All &Сохранить все - Ctrl+S - Close Закрыть - &Close All &Закрыть все - Ctrl+W - Previous unfinished item Предыдущий незавершённый перевод - Next unfinished item Следующий незавершённый перевод - Move to previous item Перейти к предыдущему переводу - Next item Следующий перевод - Mark item as done and move to the next unfinished item Пометить перевод как завершённый и перейти к следующему незавершённому - Copies the source text into the translation field Скопировать исходный текст в поле перевода - Toggle the validity check of accelerators Переключение проверки акселераторов - Toggle the validity check of ending punctuation Переключение проверки знаков препинания в конце текста - Toggle checking that phrase suggestions are used Переключение проверки использования предложений для фраз - Toggle the validity check of place markers Переключение проверки маркеров форматирования - Display information about the Qt toolkit by Nokia. Показать информацию об инструментарии Qt от Nokia. @@ -1510,104 +1185,84 @@ All files (*) MessageEditor - This is the right panel of the main window. Правая панель основного окна - Russian Русский - German Немецкий - Japanese Японский - French Французский - Polish Польский - Chinese Китайский - This whole panel allows you to view and edit the translation of some source text. Данная панель позволяет просматривать и редактировать перевод исходного текста. - Source text Исходный текст - This area shows the source text. В данной области отображается исходный текст. - Source text (Plural) Исходный текст (множественная форма) - This area shows the plural form of the source text. В данной области отображается исходный текст во множественной форме. - Developer comments Комментарий разработчика - This area shows a comment that may guide you, and the context in which the text occurs. В данной области отображается комментарий, который поможет определить в каком контексте встречается переводимый текст. - Here you can enter comments for your own use. They have no effect on the translated applications. Здесь вы можете оставить комментарий для собственного использования. Комментарии не влияют на перевод приложений. - %1 translation (%2) %1 перевод (%2) - This is where you can enter or modify the translation of the above source text. Здесь вы можете ввести или изменить перевод текста, представленного выше. - %1 translation %1 перевод - %1 translator comments %1 перевод: комментарий переводчика - '%1' Line: %2 '%1' @@ -1617,22 +1272,18 @@ Line: %2 MessageModel - Completion status for %1 Состояние завершённости для %1 - <file header> <заголовок файла> - <context comment> <контекстный комментарий> - <unnamed context> <безымянный контекст> @@ -1640,113 +1291,91 @@ Line: %2 PhraseBookBox - Go to Phrase > Edit Phrase Book... The dialog that pops up is a PhraseBookBox. - (New Entry) (Новая запись) - %1[*] - Qt Linguist %1[*] - Qt Linguist - Qt Linguist Qt Linguist - Cannot save phrase book '%1'. Не удалось сохранить глоссарий '%1'. - Edit Phrase Book Правка глоссария - This window allows you to add, modify, or delete entries in a phrase book. Данное окно позволяет добавлять, изменять и удалять записи в глоссарии. - &Translation: &Перевод: - This is the phrase in the target language corresponding to the source phrase. Перевод, соответствующий исходной фразе. - S&ource phrase: &Исходная фраза: - This is a definition for the source phrase. Определение исходной фразы. - This is the phrase in the source language. Фраза на исходном языке. - &Definition: &Определение: - Click here to add the phrase to the phrase book. Добавить фразу в глоссарий. - &New Entry Новая &запись - Click here to remove the entry from the phrase book. Удалить фразу из глоссария. - &Remove Entry &Удалить - Settin&gs... &Настройки... - Click here to save the changes made. Сохранить изменения. - &Save &Сохранить - Click here to close this window. Закрыть окно. - Close Закрыть @@ -1754,17 +1383,14 @@ Line: %2 PhraseModel - Source phrase Исходная фраза - Translation Перевод - Definition Определение @@ -1772,22 +1398,18 @@ Line: %2 PhraseView - Insert Вставить - Edit Правка - Guess (%1) Похожая (%1) - Guess Похожая @@ -1795,63 +1417,46 @@ Line: %2 QObject - Translation files (%1);; Файлы перевода (%1);; - All files (*) Все файлы (*) - - - - - - - Qt Linguist Qt Linguist - GNU Gettext localization files Файлы локализации GNU Gettext - GNU Gettext localization template files Файлы шаблонов локализации GNU Gettext - Compiled Qt translations Скомпилированные переводы Qt - Qt Linguist 'Phrase Book' 'Глоссарий' Qt Linguist - Qt translation sources (format 1.1) Исходные файлы перевода Qt (формат 1.1) - Qt translation sources (format 2.0) Исходные файлы перевода Qt (формат 2.0) - Qt translation sources (latest format) Исходные файлы перевода Qt (последний формат) - XLIFF localization files Файлы локализации XLIFF @@ -1859,17 +1464,14 @@ Line: %2 SourceCodeView - <i>Source code not available</i> <i>Исходный код недоступен</i> - <i>File %1 not available</i> <i>Файл %1 недоступен</i> - <i>File %1 not readable</i> <i>Невозможно прочитать файл %1</i> @@ -1877,42 +1479,34 @@ Line: %2 Statistics - Statistics Статистика - Close Закрыть - Translation Перевод - Source Источник - 0 0 - Words: Слов: - Characters: Символов: - Characters (with spaces): Символов (с пробелами): @@ -1920,72 +1514,58 @@ Line: %2 TranslateDialog - This window allows you to search for some text in the translation source file. Данное окно позволяет искать текст в файле перевода. - Type in the text to search for. Введите искомый текст. - Find &source text: &Найти текст: - &Translate to: &Перевести как: - Search options Параметры поиска - Texts such as 'TeX' and 'tex' are considered as different when checked. Если отмечено, строки "ПрИмЕр" и "пример" будет считаться разными. - Match &case С учётом &регистра - Mark new translation as &finished Помечать перевод как завер&шённый - Click here to find the next occurrence of the text you typed in. Найти следующее совпадение для введённого текста. - Find Next Найти далее - Translate Перевести - Translate All Перевести все - Click here to close this window. Закрыть окно. - Cancel Отмена @@ -1993,33 +1573,26 @@ Line: %2 TranslationSettingsDialog - Source language Исходный язык - Language Язык - Country/Region Страна/Регион - Target language Язык перевода - Any Country Любая страна - - Settings for '%1' - Qt Linguist Настройки для '%1' - Qt Linguist diff --git a/translations/qt_help_ru.ts b/translations/qt_help_ru.ts index f1aa0fa..be3583c 100644 --- a/translations/qt_help_ru.ts +++ b/translations/qt_help_ru.ts @@ -4,106 +4,92 @@ QCLuceneResultWidget - Search Results Результат поиска - Note: Примечание: - The search results may not be complete since the documentation is still being indexed! Результат поиска может быть неполным, так как документация ещё индексируется! - Your search did not match any documents. По вашему запросу не найдено ни одного документа. - (The reason for this might be that the documentation is still being indexed.) (Причиной этого может быть то, что документация ещё индексируется.) + QHelp + + Untitled + Безымянный + + + QHelpCollectionHandler - The collection file '%1' is not set up yet! Файл коллекции справки '%1' ещё не установлен! - Cannot load sqlite database driver! Не удалось загрузить драйвер базы данных sqlite! - - Cannot open collection file: %1 Не удалось открыть файл коллекции справки: %1 - Cannot create tables in file %1! Не удалось создать таблицы в файле %1! - The collection file '%1' already exists! Файл коллекции справки '%1' уже существует! - Unknown filter '%1'! Неизвестный фильтр '%1'! - Invalid documentation file '%1'! Некорректный файл документации '%1'! - Cannot register namespace '%1'! Не удалось зарегистрировать пространство имён %1! - Cannot open database '%1' to optimize! Не удалось открыть базу данных '%1' для оптимизации! - Cannot create directory: %1 Не удалось создать каталог: %1 - Cannot copy collection file: %1 Не удалось скопировать файл коллекции справки: %1 - Cannot register filter %1! Не удалось зарегистрировать фильтр %1! - Cannot open documentation file %1! Не удалось открыть файл документации %1! - The namespace %1 was not registered! Пространство имён %1 не зарегистрировано! - Namespace %1 already exists! Пространство имён %1 уже существует! @@ -111,7 +97,6 @@ QHelpDBReader - Cannot open database '%1' '%2': %3 The placeholders are: %1 - The name of the database which cannot be opened %2 - The unique id for the connection %3 - The actual error string Не удалось открыть базу данных '%1' '%2': %3 @@ -120,12 +105,10 @@ QHelpEngineCore - Cannot open documentation file %1: %2! Не удалось открыть файл документации %1: %2! - The specified namespace does not exist! Указанное пространство имён не существует! @@ -133,132 +116,106 @@ QHelpGenerator - Invalid help data! Некорректные данные справки! - No output file name specified! Не указано имя результирующего файла! - Building up file structure... Создание структуры файла... - The file %1 cannot be overwritten! Невозможно перезаписать файл %1! - Cannot open data base file %1! Не удалось открыть файл базы данных %1! - Cannot register namespace %1! Не удалось зарегистрировать пространство имён %1! - Insert custom filters... Добавление индивидуальных фильтров... - Insert help data for filter section (%1 of %2)... Добавление данных справки для раздела фильтра (%1 из %2)... - Documentation successfully generated. Документация успешно создана. - Some tables already exist! Некоторые таблицы уже существуют! - Cannot create tables! Не удалось создать таблицы! - Cannot register virtual folder! Не удалось зарегистрировать виртуальный каталог! - Insert files... Добавление файлов... - The referenced file %1 must be inside or within a subdirectory of (%2). Skipping it. Файл %1 должен быть в каталоге '%2' или в его подкаталоге. Пропускаем. - The file %1 does not exist! Skipping it. Файл %1 не существует! Пропускаем. - Cannot open file %1! Skipping it. Не удалось открыть файл %1! Пропускаем. - The filter %1 is already registered! Фильтр %1 уже зарегистрирован! - Cannot register filter %1! Не удалось зарегистрировать фильтр %1! - Insert indices... Добавление указателей... - Insert contents... Добавление оглавления... - Cannot insert contents! Не удалось добавить оглавление! - Cannot register contents! Не удалось зарегистрировать оглавление! - File '%1' does not exist. Файл '%1' не существует. - File '%1' cannot be opened. Невозможно открыть файл '%1'. - File '%1' contains an invalid link to file '%2' Файл '%1' содержит некорректную ссылку на файл '%2' - Invalid links in HTML files. В файлах HTML обнаружены некорректные ссылки. @@ -266,47 +223,38 @@ QHelpProject - Unknown token. Неизвестный идентификатор. - Unknown token. Expected "QtHelpProject"! Неизвестный идентификатор. Ожидается "QtHelpProject"! - Error in line %1: %2 Ошибка в строке %1: %2 - Virtual folder has invalid syntax. Виртуальный каталог имеет некорректный синтаксис. - Namespace has invalid syntax. Пространство имён имеет некорректный синтаксис. - Missing namespace in QtHelpProject. В QtHelpProject отсутствует пространство имён. - Missing virtual folder in QtHelpProject В QtHelpProject отсутствует виртуальный каталог - Missing attribute in keyword at line %1. Отсутствует атрибут у ключевого слова в строке %1. - The input file %1 could not be opened! Невозможно открыть исходный файл %1! @@ -314,52 +262,42 @@ QHelpSearchQueryWidget - Search for: Искать: - Previous search Предыдущий запрос - Next search Следующий запрос - Search Поиск - Advanced search Расширенный поиск - words <B>similar</B> to: <B>похожие</B> слова: - <B>without</B> the words: <B>не содержит</B> слов: - with <B>exact phrase</B>: содержит <B>точную фразу</B>: - with <B>all</B> of the words: содержит <B>все</B> слова: - with <B>at least one</B> of the words: содержит <B>хотя бы одно</B> из слов: @@ -367,7 +305,6 @@ QHelpSearchResultWidget - %1 - %2 of %n Hits %1 - %2 из %n совпадения @@ -376,7 +313,6 @@ - 0 - 0 of 0 Hits 0 - 0 из 0 совпадений diff --git a/translations/qt_ru.ts b/translations/qt_ru.ts index deae134..5fbd6e3 100644 --- a/translations/qt_ru.ts +++ b/translations/qt_ru.ts @@ -4,7 +4,6 @@ CloseButton - Close Tab Закрыть вкладку @@ -12,12 +11,10 @@ FakeReply - Fake error ! Фиктивная ошибка ! - Invalid URL Некорректный адрес URL @@ -25,37 +22,30 @@ MAC_APPLICATION_MENU - Services Службы - Hide %1 Скрыть %1 - Hide Others Скрыть остальные - Show All Показать все - Preferences... Настройки… - Quit %1 Завершить %1 - About %1 О программе %1 @@ -63,32 +53,26 @@ Phonon:: - Notifications Уведомления - Music Музыка - Video Видео - Communication Общение - Games Игры - Accessibility Специальные возможности @@ -96,24 +80,18 @@ Phonon::AudioOutput - - <html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html> <html>Звуковое устройство <b>%1</b> не работает.<br/>Будет использоваться <b>%2</b>.</html> - <html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html> <html>Переключение на звуковое устройство <b>%1</b><br/>, которое стало доступно и имеет высший приоритет.</html> - - Revert back to device '%1' Возвращение к устройству "%1" - <html>Switching to the audio playback device <b>%1</b><br/>which has higher preference or is specifically configured for this stream.</html> <html>Переключение на устройство вывода звука <b>%1</b><br/>, которое имеет высший приоритет или настроено для обработки данного потока.</html> @@ -121,14 +99,12 @@ Phonon::Gstreamer::Backend - Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled. Внимание: Похоже, пакет gstreamer0.10-plugins-good не установлен. Некоторые возможности воспроизведения видео недоступны. - Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled Внимание: Похоже, основной модуль GStreamer не установлен. @@ -138,7 +114,6 @@ Phonon::Gstreamer::MediaObject - Cannot start playback. Check your GStreamer installation and make sure you @@ -149,49 +124,34 @@ have libgstreamer-plugins-base installed. что пакет libgstreamer-plugins-base установлен. - Missing codec helper script assistant. Отсутствует сценарий установки кодека. - Plugin codec installation failed for codec: %0 Не удалось установить модуль кодека: %0 - A required codec is missing. You need to install the following codec(s) to play this content: %0 Отсутствует необходимый кодек. Вам нужно установить следующие кодеки для воспроизведения данного содержимого: %0 - - - - - - - - Could not open media source. Не удалось открыть источник медиа-данных. - Invalid source type. Некорректный тип источника медиа-данных. - Could not locate media source. Не удалось найти источник медиа-данных. - Could not open audio device. The device is already in use. Не удалось открыть звуковое устройство. Устройство уже используется. - Could not decode media source. Не удалось декодировать источник медиа-данных. @@ -199,162 +159,130 @@ have libgstreamer-plugins-base installed. Phonon::MMF - Audio Output Воспроизведение звука - The audio output device Устройство воспроизведения звука - No error Нет ошибки - Not found Не найдено - Out of memory Недостаточно ресурсов - Not supported Не поддерживается - Overflow Переполнение - Underflow Переполнение - Already exists Уже существует - Path not found Путь не найден - In use Используется - Not ready Не готово - Access denied Доступ запрещён - Could not connect Не удалось установить соединение - Disconnected Соединение разорвано - Permission denied Доступ запрещён - Insufficient bandwidth Недостаточная скорость передачи данных - Network unavailable Сеть недоступна - Network communication error Ошибка сетевого обмена данными - Streaming not supported Потоковое воспроизведение не поддерживается - Server alert Сигнал сервера - Invalid protocol Некорректный протокол - Invalid URL Некорректный адрес URL - Multicast error Ошибка широковещательной передачи - Proxy server error Ошибка прокси-сервера - Proxy server not supported Прокси-сервер не поддерживается - Audio output error Ошибка воспроизведения звука - Video output error Ошибка воспроизведения видео - Decoder error Ошибка декодирования - Audio or video components could not be played Аудио- или видео-состовляющая не может быть воспроизведена - DRM error Ошибка DRM - Unknown error (%1) Неизвестная ошибка (%1) @@ -362,33 +290,26 @@ have libgstreamer-plugins-base installed. Phonon::MMF::AbstractMediaPlayer - Not ready to play Не готов к воспроизведению - - Error opening file Ошибка открытия файла - Error opening URL Ошибка открытия адреса URL - Setting volume failed Не удалось установить уровень громкости - Loading clip failed Не удалось загрузить клип - Playback complete Воспроизведение завершено @@ -396,22 +317,18 @@ have libgstreamer-plugins-base installed. Phonon::MMF::AbstractVideoPlayer - Pause failed Не удалось приостановить воспроизведение - Seek failed Не удалось установить позицию - Getting position failed Не удалось получить позицию - Opening clip failed Не удалось открыть клип @@ -419,7 +336,6 @@ have libgstreamer-plugins-base installed. Phonon::MMF::AudioEqualizer - %1 Hz %1 Гц @@ -427,7 +343,6 @@ have libgstreamer-plugins-base installed. Phonon::MMF::AudioPlayer - Getting position failed Не удалось получить позицию @@ -435,11 +350,6 @@ have libgstreamer-plugins-base installed. Phonon::MMF::DsaVideoPlayer - - - - - Video display error Ошибка отображения видео @@ -447,7 +357,6 @@ have libgstreamer-plugins-base installed. Phonon::MMF::EffectFactory - Enabled Включено @@ -455,61 +364,51 @@ have libgstreamer-plugins-base installed. Phonon::MMF::EnvironmentalReverb - Decay HF ratio (%) DecayHFRatio: Ratio of high-frequency decay time to the value specified by DecayTime. Коэффициент затухания ВЧ (%) - Decay time (ms) DecayTime: Time over which reverberation is diminished. Время затухания (мс) - Density (%) 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. Плотность (%) - Diffusion (%) 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. Рассеивание (%) - Reflections delay (ms) ReflectionsDelay: Amount of delay between the arrival the direct path from the source and the arrival of the first reflection. Затухание отражений (мс) - Reflections level (mB) ReflectionsLevel: Amplitude of reflections. This value is corrected by the RoomLevel to give the final reflection amplitude. Уровень отражений (мБар) - Reverb delay (ms) ReverbDelay: Amount of time between arrival of the first reflection and start of the late reverberation. Задержка эха (мс) - Reverb level (mB) ReverbLevel Amplitude of reverberations. This value is corrected by the RoomLevel to give the final reverberation amplitude. Уровень эха (мБар) - Room HF level RoomHFLevel: Amplitude of low-pass filter used to attenuate the high frequency component of reflected sound. Уровень ВЧ отражений - Room level (mB) RoomLevel: Master volume control for all reflected sound. Уровень отражений (мБар) @@ -518,20 +417,17 @@ have libgstreamer-plugins-base installed. Phonon::MMF::MediaObject - Error opening source: type not supported - Ошибка открытыия источника: тип не поддерживается + Ошибка открытия источника: тип не поддерживается - Error opening source: media type could not be determined - Ошибка открытыия источника: тип носителя не определён + Ошибка открытия источника: не удалось определить тип медиа-данных Phonon::MMF::StereoWidening - Level (%) Уровень (%) @@ -539,8 +435,6 @@ have libgstreamer-plugins-base installed. Phonon::MMF::SurfaceVideoPlayer - - Video display error Ошибка отображения видео @@ -548,22 +442,14 @@ have libgstreamer-plugins-base installed. Phonon::VolumeSlider - - - - Volume: %1% Громкость: %1% - - - Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1% Используйте данный регулятор для настройки громкости. Крайнее левое положение соответствует 0%, крайнее правое - %1% - Muted Без звука @@ -571,12 +457,10 @@ have libgstreamer-plugins-base installed. Q3Accel - %1, %2 not defined %1, %2 не определён - Ambiguous %1 not handled @@ -584,27 +468,22 @@ have libgstreamer-plugins-base installed. Q3DataTable - True Да - False Нет - Insert Вставить - Update Обновить - Delete Удалить @@ -612,313 +491,238 @@ have libgstreamer-plugins-base installed. Q3FileDialog - Copy or Move a File Копировать или переместить файл - Read: %1 Чтение: %1 - - Write: %1 Запись: %1 - - Cancel Отмена - - - - All Files (*) Все файлы (*) - Name Имя - Size Размер - Type Тип - Date Дата - Attributes Атрибуты - - &OK &ОК - Look &in: &Папка: - - - File &name: &Имя файла: - File &type: &Тип файла: - Back Назад - One directory up Вверх на один уровень - Create New Folder Создать папку - List View Список - Detail View Подробный вид - Preview File Info Предпросмотр информации о файле - Preview File Contents Предпросмотр содержимого файла - Read-write Чтение и запись - Read-only Только чтение - Write-only Только запись - Inaccessible Нет доступа - Symlink to File Ссылка на файл - Symlink to Directory Ссылка на каталог - Symlink to Special Ссылка на спецфайл - File Файл - Dir Каталог - Special Спецфайл - - - Open Открыть - - Save As Сохранить как - - - &Open &Открыть - - &Save &Сохранить - &Rename &Переименовать - &Delete &Удалить - R&eload О&бновить - Sort by &Name По &имени - Sort by &Size По &размеру - Sort by &Date По &дате - &Unsorted &Не упорядочивать - Sort Упорядочить - Show &hidden files Показать ск&рытые файлы - the file файл - the directory каталог - the symlink ссылку - Delete %1 Удалить %1 - <qt>Are you sure you wish to delete %1 "%2"?</qt> <qt>Вы действительно хотите удалить %1 "%2"?</qt> - &Yes &Да - &No &Нет - New Folder 1 Новая папка 1 - New Folder Новая папка - New Folder %1 Новая папка %1 - Find Directory Найти каталог - - Directories Каталоги - Directory: Каталог: - - Error Ошибка - %1 File not found. Check path and filename. @@ -927,17 +731,14 @@ Check path and filename. Проверьте правильность пути и имени файла. - All Files (*.*) Все файлы (*.*) - Open Открыть - Select a Directory Выбрать каталог @@ -945,29 +746,24 @@ Check path and filename. Q3LocalFs - - Could not read directory %1 Не удалось прочитать каталог %1 - Could not create directory %1 Не удалось создать каталог %1 - Could not remove file or directory %1 Не удалось удалить файл или каталог %1 - Could not rename %1 to @@ -978,14 +774,12 @@ to %2 - Could not open %1 Не удалось открыть %1 - Could not write %1 Не удалось записать @@ -995,12 +789,10 @@ to Q3MainWindow - Line up Выровнять - Customize... Настроить... @@ -1008,7 +800,6 @@ to Q3NetworkProtocol - Operation stopped by the user Операция остановлена пользователем @@ -1016,8 +807,6 @@ to Q3ProgressDialog - - Cancel Отмена @@ -1025,28 +814,22 @@ to Q3TabDialog - - OK ОК - Apply Применить - Help Справка - Defaults По умолчанию - Cancel Отмена @@ -1054,38 +837,30 @@ to Q3TextEdit - &Undo &Отменить действие - &Redo &Повторить действие - Cu&t &Вырезать - &Copy &Копировать - &Paste В&ставить - Clear Очистить - - Select All Выделить всё @@ -1093,67 +868,54 @@ to Q3TitleBar - System Системное меню - Restore up Восстановить - Minimize Свернуть - Restore down Восстановить - Maximize Распахнуть - Close Закрыть - Contains commands to manipulate the window Содержит команды управления окном - Puts a minimized window back to normal Возвращает свёрнутое окно в нормальное состояние - Moves the window out of the way Сворачивает окно - Puts a maximized window back to normal Возвращает распахнутое окно в нормальное состояние - Makes the window full screen Разворачивает окно на весь экран - Closes the window Зыкрывает окно - Displays the name of the window and contains controls to manipulate it Отображает название окна и содержит команды управления им @@ -1161,7 +923,6 @@ to Q3ToolBar - More... Больше... @@ -1169,51 +930,38 @@ to Q3UrlOperator - - - The protocol `%1' is not supported Протокол "%1" не поддерживается - The protocol `%1' does not support listing directories Протокол "%1" не поддерживает просмотр каталогов - The protocol `%1' does not support creating new directories Протокол "%1" не поддерживает создание каталогов - The protocol `%1' does not support removing files or directories Протокол "%1" не поддерживает удаление файлов или каталогов - The protocol `%1' does not support renaming files or directories Протокол "%1" не поддерживает переименование файлов или каталогов - The protocol `%1' does not support getting files Протокол "%1" не поддерживает доставку файлов - The protocol `%1' does not support putting files Протокол "%1" не поддерживает отправку файлов - - The protocol `%1' does not support copying or moving files or directories Протокол "%1" не поддерживает копирование или перемещение файлов или каталогов - - (unknown) (неизвестно) @@ -1221,27 +969,22 @@ to Q3Wizard - &Cancel От&мена - < &Back < &Назад - &Next > &Далее > - &Finish &Завершить - &Help &Справка @@ -1249,45 +992,30 @@ to QAbstractSocket - - - - Host not found Узел не найден - - - Connection refused Отказано в соединении - Connection timed out Время на соединение истекло - - - Operation on socket is not supported Операция с сокетом не поддерживается - - Socket operation timed out Время на операцию с сокетом истекло - Socket is not connected Сокет не подключён - Network unreachable Сеть недоступна @@ -1295,17 +1023,14 @@ to QAbstractSpinBox - &Step up Шаг вв&ерх - Step &down Шаг вн&из - &Select All &Выделить всё @@ -1313,7 +1038,6 @@ to QAccessibleButton - Press Нажать @@ -1321,27 +1045,22 @@ to QApplication - Executable '%1' requires Qt %2, found Qt %3. Программный модуль "%1" требует Qt %2, найдена версия %3. - Incompatible Qt Library Error Ошибка совместимости библиотеки Qt - Activate Активировать - Activates the program's main window Активирует главное окно программы - QT_LAYOUT_DIRECTION Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout. LTR @@ -1350,22 +1069,18 @@ to QAxSelect - Select ActiveX Control Выбор компоненты ActiveX - OK Выбрать - &Cancel От&мена - COM &Object: &Объект COM: @@ -1373,17 +1088,14 @@ to QCheckBox - Uncheck Снять отметку - Check Отметить - Toggle Переключить @@ -1391,57 +1103,46 @@ to QColorDialog - Hu&e: &Тон: - &Sat: &Нас: - &Val: &Ярк: - &Red: &Красный: - &Green: &Зелёный: - Bl&ue: С&иний: - A&lpha channel: &Альфа-канал: - Select Color Выбор цвета - &Basic colors &Основные цвета - &Custom colors &Пользовательские цвета - &Add to Custom Colors &Добавить к пользовательским цветам @@ -1449,23 +1150,18 @@ to QComboBox - - Open Открыть - False Нет - True Да - Close Закрыть @@ -1473,43 +1169,36 @@ to QCoreApplication - %1: key is empty QSystemSemaphore %1: пустой ключ - %1: unable to make key QSystemSemaphore %1: невозможно создать ключ - %1: ftok failed QSystemSemaphore %1: ошибка ftok - %1: already exists QSystemSemaphore %1: уже существует - %1: does not exist QSystemSemaphore %1: не существует - %1: out of resources QSystemSemaphore %1: недостаточно ресурсов - %1: unknown error %2 QSystemSemaphore %1: неизвестная ошибка %2 @@ -1518,22 +1207,18 @@ to QDB2Driver - Unable to connect Невозможно соединиться - Unable to commit transaction Невозможно завершить транзакцию - Unable to rollback transaction Невозможно отозвать транзакцию - Unable to set autocommit Невозможно установить автозавершение транзакций @@ -1541,33 +1226,26 @@ to QDB2Result - - Unable to execute statement Невозможно выполнить выражение - Unable to prepare statement Невозможно подготовить выражение - Unable to bind variable Невозможно привязать значение - Unable to fetch record %1 Невозможно получить запись %1 - Unable to fetch next Невозможно получить следующую строку - Unable to fetch first Невозможно получить первую строку @@ -1575,22 +1253,18 @@ to QDateTimeEdit - AM AM - am am - PM PM - pm pm @@ -1598,17 +1272,14 @@ to QDeclarativeAbstractAnimation - Cannot animate non-existent property "%1" Невозможно анимировать несуществуещее свойство "%1" - Cannot animate read-only property "%1" Невозможно анимировать свойство только для чтения "%1" - Animation is an abstract class Animation - это абстрактный класс @@ -1616,7 +1287,6 @@ to QDeclarativeAnchorAnimation - Cannot set a duration of < 0 Невозможно установить длительность < 0 @@ -1624,67 +1294,50 @@ to QDeclarativeAnchors - Possible anchor loop detected on fill. Обнаружена возможная цикличная привязка на fill. - Possible anchor loop detected on centerIn. Обнаружена возможная цикличная привязка на centerIn. - - - - Cannot anchor to an item that isn't a parent or sibling. Невозможно установить привязку к элементу, не являющемуся родителем или соседом. - Possible anchor loop detected on vertical anchor. Обнаружена возможная цикличная привязка к вертикальной привязке. - Possible anchor loop detected on horizontal anchor. Обнаружена возможная цикличная привязка к горизонтальной привязке. - Cannot specify left, right, and hcenter anchors. Невозможно задать левую, правую и среднюю привязки. - - Cannot anchor to a null item. Невозможно привязаться к нулевому элементу. - Cannot anchor a horizontal edge to a vertical edge. Невозможно привязать горизонтальный край к вертикальному. - - Cannot anchor item to self. Невозможно привязать элемент к самому себе. - Cannot specify top, bottom, and vcenter anchors. Невозможно задать верхнюю, нижнюю и среднюю привязки. - Baseline anchor cannot be used in conjunction with top, bottom, or vcenter anchors. Невозможно использовать базовую привязку вместе с верхней, нижней и центральной по вертикали. - Cannot anchor a vertical edge to a horizontal edge. Невозможно привязать вертикальный край к горизонтальному. @@ -1692,7 +1345,6 @@ to QDeclarativeAnimatedImage - Qt was built without support for QMovie Qt было собрано без поддержки QMovie @@ -1700,7 +1352,6 @@ to QDeclarativeBehavior - Cannot change the animation assigned to a Behavior. Невозможно изменить анимацию, назначенную поведению. @@ -1708,7 +1359,6 @@ to QDeclarativeBinding - Binding loop detected for property "%1" Обнаружена цикличная привязка для свойства "%1" @@ -1716,7 +1366,6 @@ to QDeclarativeCompiledBindings - Binding loop detected for property "%1" Обнаружена цикличная привязка для свойства "%1" @@ -1724,381 +1373,303 @@ to QDeclarativeCompiler - - - - - - Invalid property assignment: "%1" is a read-only property Некорректное присваивание свойства: "%1" свойство только для чтения - Invalid property assignment: unknown enumeration Некорректное присваивание свойства: неизвестное перечисление - Invalid property assignment: string expected Некорректное присваивание свойства: ожидается значение типа "string" - Invalid property assignment: url expected Некорректное присваивание свойства: ожидается значение типа "url" - Invalid property assignment: unsigned int expected Некорректное присваивание свойства: ожидается значение типа "unsigned int" - Invalid property assignment: int expected Некорректное присваивание свойства: ожидается значение типа "int" - - Invalid property assignment: float expected - Некорректное присваивание свойства: ожидается значение типа "float" + Invalid property assignment: number expected + Некорректное присваивание свойства: ожидается число - - Invalid property assignment: double expected - Некорректное присваивание свойства: ожидается значение типа "double" - - - Invalid property assignment: color expected Некорректное присваивание свойства: ожидается значение типа "color" - Invalid property assignment: date expected Некорректное присваивание свойства: ожидается значение типа "date" - Invalid property assignment: time expected Некорректное присваивание свойства: ожидается значение типа "time" - Invalid property assignment: datetime expected Некорректное присваивание свойства: ожидается значение типа "datetime" - Invalid property assignment: point expected Некорректное присваивание свойства: ожидается значение типа "point" - Invalid property assignment: size expected Некорректное присваивание свойства: ожидается значение типа "size" - Invalid property assignment: rect expected Некорректное присваивание свойства: ожидается значение типа "rect" - Invalid property assignment: boolean expected Некорректное присваивание свойства: ожидается значение булевого типа - Invalid property assignment: 3D vector expected Некорректное присваивание свойства: ожидается значение типа "трёхмерный вектор" - Invalid property assignment: unsupported type "%1" Некорректное присваивание свойства: неподдерживаемый тип "%1" - Element is not creatable. Элемент не является создаваемым. - Component elements may not contain properties other than id Элементы Component не могут содержать свойств кроме id - Invalid component id specification Некорректная спецификация id компонента - - id is not unique id не уникален - Invalid component body specification Некорректная спецификация тела компонента - Component objects cannot declare new properties. Объекты Component не могут объявлять новые свойства. - Component objects cannot declare new signals. Объекты Component не могут объявлять новые сигналы. - Component objects cannot declare new functions. Объекты Component не могут объявлять новые функции. - Cannot create empty component specification Невозможно создать пустую спецификацю компонента - Incorrectly specified signal assignment Неверно указано назначение сигнала - Cannot assign a value to a signal (expecting a script to be run) Невозможно назначить значение сигналу (сценарий должен быть запущен) - Empty signal assignment Пустое назначение сигнала - Empty property assignment Пустое назначение свойства - Attached properties cannot be used here здесь - в данном контексте? Прикреплённые свойства не могут быть использованы здесь - - Non-existent attached object Несуществующий прикреплённый объект - - Invalid attached object assignment Некорректное назначение прикреплённого объекта - Cannot assign to non-existent default property Невозможно назначить несуществующему свойству по умолчанию - - Cannot assign to non-existent property "%1" Невозможно назначить несуществующему свойству "%1" - Invalid use of namespace Некорректное использование пространства имён - Not an attached property name Не является именем привязанного свойства - Invalid use of id property Некорректное использование свойства id - - Property has already been assigned a value Свойству уже назначено значение - - Invalid grouped property access Некорректный доступ к сгруппированному свойству - Cannot assign a value directly to a grouped property Невозможно присвоить значение непосредственно сгруппированному свойству - Invalid property use Некорректное использование свойства - Property assignment expected Ожидается назначение свойства - Single property assignment expected Ожидается одиночное назначение свойства - Unexpected object assignment Неожиданное назначение объекта - Cannot assign object to list Невозможно назначить объект списку - Can only assign one binding to lists Можно назначить только одну связь для списка - Cannot assign primitives to lists Невозможно назначить примитивы списку - Cannot assign multiple values to a script property Невозможно назначить множественное значение свойству сценария - Invalid property assignment: script expected Некорректное присваивание свойства: ожидается сценарий - Cannot assign object to property Невозможно назначить объектсвойству - "%1" cannot operate on "%2" "%1" не может воздействовать на "%2" - Duplicate default property Дублирование свойства по умолчанию - Duplicate property name Дублирование названия свойства - Property names cannot begin with an upper case letter Названия свойств не могут начинаться с заглавной буквы - + Illegal property name + Недопустимое название свойства + + Duplicate signal name Дублирование названия сигнала - Signal names cannot begin with an upper case letter Названия сигналов не могут начинаться с заглавной буквы - + Illegal signal name + Недопустимое название сигнала + + Duplicate method name Дублирование название метода - Method names cannot begin with an upper case letter Названия методов не могут начинаться с заглавной буквы - + Illegal method name + Недопустимое название метода + + Property value set multiple times Значение свойства задано несколько раз - Invalid property nesting Некорректное вложенность свойств - Cannot override FINAL property Невозможно переопределить свойство FINAL - Invalid property type Некорректный тип свойства - Invalid empty ID Некорректный пустой идентификатор - IDs cannot start with an uppercase letter Идентификаторы не могут начинаться с заглавной буквы - IDs must start with a letter or underscore Идентификаторы должны начинаться с буквы или подчёркивания - IDs must contain only letters, numbers, and underscores Идентификаторы должны содержать только буквы, цифры и подчёркивания - ID illegally masks global JavaScript property Идентификатор неверно маскирует глобальное свойство JavaScript - - No property alias location Отсутствует размещение псевдонима свойства - - Invalid alias location Некорректное размещение псевдонима - Invalid alias reference. An alias reference must be specified as <id> or <id>.<property> Некорректная ссылка на псевдоним. Ссылка на псевдоним должна быть указана, как <id> или <id>.<property> - Invalid alias reference. Unable to find id "%1" Некорректная ссылка на псевдоним. Не удалось найти id "%1" @@ -2106,7 +1677,6 @@ to QDeclarativeComponent - Invalid empty URL Пустой адрес URL @@ -2114,23 +1684,18 @@ to QDeclarativeCompositeTypeManager - - Resource %1 unavailable Ресурс "%1" недоступен - Namespace %1 cannot be used as a type Пространство имён "%1" не может быть использовано в качестве типа - %1 %2 %1 %2 - Type %1 unavailable Тип "%1" недоступен @@ -2138,23 +1703,18 @@ to QDeclarativeConnections - - Cannot assign to non-existent property "%1" Невозможно назначить несуществующему свойству "%1" - Connections: nested objects not allowed Подключения: вложенные объекты недопустимы - Connections: syntax error Подключения: синтаксическая ошибка - Connections: script expected Подключения: ожидается сценарий @@ -2162,33 +1722,26 @@ to QDeclarativeEngine - executeSql called outside transaction() executeSql() вызван вне transaction() - Read-only Transaction Транзакция только для чтения - Version mismatch: expected %1, found %2 Несовпадение версий: ожидалась %1, найдена %2 - SQL transaction failed Не удалось выполнить транзакцию SQL - transaction: missing callback транзакция: отсутствует обратный вызов - - SQL: database version mismatch Не совпадает версия базы данных SQL @@ -2196,12 +1749,10 @@ to QDeclarativeFlipable - front is a write-once property front - свойство для однократной записи - back is a write-once property back - свойство для однократной записи @@ -2209,75 +1760,58 @@ to QDeclarativeImportDatabase - module "%1" definition "%2" not readable невозможно прочитать определение "%2" модуля "%1" - plugin cannot be loaded for module "%1": %2 модуль не может быть загружен для подмодуля "%1": %2 - module "%1" plugin "%2" not found подмодуль "%1" модуля "%2" не найден - - module "%1" version %2.%3 is not installed модуль "%1" версии %2.%3 не установлен - module "%1" is not installed модуль "%1" не установлен - - "%1": no such directory "%1": каталог не существует - import "%1" has no qmldir and no namespace каталог "%1" не содержит ни qmldir, ни namespace - - %1 is not a namespace - %1 - некорректное пространство имён - - nested namespaces not allowed - вложенные пространства имён недопустимы - - local directory локальный каталог - is ambiguous. Found in %1 and in %2 неоднозначно. Найдено в %1 и %2 - is ambiguous. Found in %1 in version %2.%3 and %4.%5 неоднозначно. Найдено в %1 версий %2.%3 и %4.%5 - is instantiated recursively обрабатывается рекурсивно - is not a type не является типом @@ -2285,7 +1819,6 @@ to QDeclarativeKeyNavigationAttached - KeyNavigation is only available via attached properties KeyNavigation доступна только через прикреплённые свойства @@ -2293,7 +1826,6 @@ to QDeclarativeKeysAttached - Keys is only available via attached properties Keys доступны только через прикреплённые свойства @@ -2301,59 +1833,46 @@ to QDeclarativeListModel - remove: index %1 out of range remove: индекс %1 вне диапазона - insert: value is not an object insert: значение не является объектом - insert: index %1 out of range insert: индекс %1 вне диапазона - move: out of range move: индекс вне диапазона - append: value is not an object append: значение не является объектом - set: value is not an object set: значение не является объектом - - set: index %1 out of range set: индекс %1 вне диапазона - - ListElement: cannot contain nested elements ListElement: не может содержать вложенные элементы - ListElement: cannot use reserved "id" property ListElement: невозможно использовать зарезервированное свойство "id" - ListElement: cannot use script for property value ListElement: невозможно использовать сценарий в качестве значения свойства - ListModel: undefined property '%1' ListModel: неопределённое свойство "%1" @@ -2361,7 +1880,6 @@ to QDeclarativeLoader - Loader does not support loading non-visual elements. Загрузчик не поддерживает загрузку невизуальных элементов. @@ -2369,18 +1887,14 @@ to QDeclarativeParentAnimation - Unable to preserve appearance under complex transform Невозможно сохранить внешний вид при сложном преобразовании - - Unable to preserve appearance under non-uniform scale Невозможно сохранить внешний вид при неоднородном масштабе - Unable to preserve appearance under scale of 0 Невозможно сохранить внешний вид при масштабе 0 @@ -2388,18 +1902,14 @@ to QDeclarativeParentChange - Unable to preserve appearance under complex transform Невозможно сохранить внешний вид при сложном преобразовании - - Unable to preserve appearance under non-uniform scale Невозможно сохранить внешний вид при неоднородном масштабе - Unable to preserve appearance under scale of 0 Невозможно сохранить внешний вид при масштабе 0 @@ -2407,144 +1917,110 @@ to QDeclarativeParser - - - Illegal unicode escape sequence Неверная unicode esc-последовательность - Illegal character Недопустимый символ - Unclosed string at end of line Незакрытый текст в конце строки - Illegal escape squence Неверная esc-последовательность - Unclosed comment at end of file Незакрытый комментарий в конце строки - Illegal syntax for exponential number Недопустимый синтаксис для экспоненциального числа - Identifier cannot start with numeric literal Идентификатор не может начинаться с цифры - Unterminated regular expression literal Незаконченный литерал регулярного выражения - Invalid regular expression flag '%0' Некорректный флаг "%0" в регулярном выражении - - Unterminated regular expression backslash sequence Регулярное выражение содержит незавершённую экранированную последовательность - Unterminated regular expression class Регулярное выражение содержит незавершённый класс - - Syntax error Синтаксическая ошибка - Unexpected token `%1' Неожиданный символ "%1" - - Expected token `%1' Ожидается символ "%1" - - - Property value set multiple times Значение свойства установлено несколько раз - Expected type name Ожидается название типа - Invalid import qualifier ID Некорректный ID спецификатора импорта - Reserved name "Qt" cannot be used as an qualifier Зарезервированное имя "Qt" не может быть использовано в качестве спецификатора - Script import qualifiers must be unique. Спецификаторы импорта сценария должны быть уникальными. - Script import requires a qualifier Для импорта сценария требуется спецификатор - Library import requires a version Импорт библиотеки требует версию - Expected parameter type Ожидается тип параметра - Invalid property type modifier Некорректный модификатор типа свойства - Unexpected property type modifier Неожиданный модификатор типа свойства - Expected property type Ожидается тип свойства - Readonly not yet supported Readonly ещё не поддерживается - JavaScript declaration outside Script element Определение JavaScript вне элемента Script @@ -2552,39 +2028,28 @@ to QDeclarativePauseAnimation - Cannot set a duration of < 0 Невозможно установить длительность < 0 - QDeclarativePixmapCache + QDeclarativePixmap - Error decoding: %1: %2 Ошибка декодирования: %1: %2 - Failed to get image from provider: %1 - Не удалось получить изображение от поставщика: %1 + Не удалось получить изображение от постащика изображений: %1 - - Cannot open: %1 Не удалось открыть: %1 - - - Unknown Error loading %1 - Неизвестная ошибка загрузки %1 - QDeclarativePropertyAnimation - Cannot set a duration of < 0 Невозможно установить длительность < 0 @@ -2592,17 +2057,14 @@ to QDeclarativePropertyChanges - PropertyChanges does not support creating state-specific objects. PropertyChanges не поддерживают создание объектов, зависимых от состояния. - Cannot assign to non-existent property "%1" Невозможно назначить несуществующему свойству "%1" - Cannot assign to read-only property "%1" Невозможно назначить свойству только для чтения "%1" @@ -2610,13 +2072,10 @@ to QDeclarativeTextInput - - Could not load cursor delegate Не удалось загрузить делегат курсора - Could not instantiate cursor delegate Не удалось инстанциировать делегат курсора @@ -2624,47 +2083,38 @@ to QDeclarativeVME - Unable to create object of type %1 Невозможно создать объект типа "%1" - Cannot assign value %1 to property %2 Невозможно установить значение "%1" свойству "%2" - Cannot assign object type %1 with no default method Невозможно назначить объект типа %1 без метода по умолчанию - Cannot connect mismatched signal/slot %1 %vs. %2 Невозможно подключить отсутствующий сигнал/слот %1 к %2 - Cannot assign an object to signal property %1 Невозможно назначить объект к свойству сигнала %1 - Cannot assign object to list Невозможно назначить объект списку - Cannot assign object to interface property Невозможно назначить объект свойству интерфейса - Unable to create attached object Не удалось создать вложенный объект - Cannot set properties on %1 as it is null Невозможно установить свойства для %1, так как он нулевой @@ -2672,7 +2122,6 @@ to QDeclarativeVisualDataModel - Delegate component must be Item type. Компинент делегата должен быть типа Item. @@ -2680,8 +2129,6 @@ to QDeclarativeXmlListModel - - Qt was built without support for xmlpatterns Qt было собрано без поддержки xmlpatterns @@ -2689,7 +2136,6 @@ to QDeclarativeXmlListModelRole - An XmlRole query must not start with '/' Запрос XmlRole не должен начинаться с '/' @@ -2697,7 +2143,6 @@ to QDeclarativeXmlRoleList - An XmlListModel query must start with '/' or "//" Запрос XmlListModel должен начинаться с '/' или "//" @@ -2705,17 +2150,14 @@ to QDial - QDial QDial - SpeedoMeter SpeedoMeter - SliderHandle SliderHandle @@ -2723,12 +2165,10 @@ to QDialog - What's This? Что это? - Done Готово @@ -2736,124 +2176,98 @@ to QDialogButtonBox - - - OK ОК - Save Сохранить - &Save &Сохранить - Open Открыть - Cancel Отмена - &Cancel От&мена - Close Закрыть - &Close &Закрыть - Apply Применить - Reset Сбросить - Help Справка - Don't Save Не сохранять - Discard Отклонить - &Yes &Да - Yes to &All Да для &всех - &No &Нет - N&o to All Н&ет для всех - Save All Сохранить все - Abort Прервать - Retry Повторить - Ignore Пропустить - Restore Defaults Восстановить значения - Close without Saving Закрыть без сохранения - &OK &ОК @@ -2861,29 +2275,24 @@ to QDirModel - Name Имя - Size Размер - Kind Match OS X Finder Вид - Type All other platforms Тип - Date Modified Дата изменения @@ -2891,17 +2300,14 @@ to QDockWidget - Close Закрыть - Dock Прикрепить - Float Открепить @@ -2909,12 +2315,10 @@ to QDoubleSpinBox - More Больше - Less Меньше @@ -2922,27 +2326,22 @@ to QErrorMessage - &Show this message again &Показывать это сообщение в дальнейшем - &OK &Закрыть - Debug Message: Отладочное сообщение: - Warning: Предупреждение: - Fatal Error: Критическая ошибка: @@ -2950,38 +2349,30 @@ to QFile - - Destination file exists Файл существует - Will not rename sequential file using block copy Последовательный файл не будет переименован с использованием поблочного копирования - Cannot remove source file Невозможно удалить исходный файл - Cannot open %1 for input Невозможно открыть %1 для ввода - Cannot open for output Невозможно открыть для вывода - Failure to write block Сбой записи блока - Cannot create %1 for output Невозможно создать %1 для вывода @@ -2989,143 +2380,110 @@ to QFileDialog - - All Files (*) Все файлы (*) - - Back Назад - - List View Список - - Detail View Подробный вид - - File Файл - File Folder Match Windows Explorer Папка с файлами - Folder All other platforms Папка - Alias Mac OS X Finder Псевдоним - Shortcut All other platforms Ярлык - Open Открыть - Save As Сохранить как - - - &Open &Открыть - - &Save &Сохранить - '%1' is write protected. Do you want to delete it anyway? - + "%1" защищён от записи. +Действительно желаете удалить? - Recent Places Недавние документы - &Rename &Переименовать - &Delete &Удалить - Show &hidden files Показать ск&рытые файлы - New Folder Новая папка - Find Directory Найти каталог - Directories Каталоги - All Files (*.*) Все файлы (*.*) - - Directory: Каталог: - %1 already exists. Do you want to replace it? %1 уже существует. Хотите заменить его? - %1 File not found. Please verify the correct file name was given. @@ -3134,25 +2492,18 @@ Please verify the correct file name was given. Проверьте правильность указанного имени файла. - My Computer Мой компьютер - - Parent Directory Родительский каталог - - Files of type: Типы файлов: - - %1 Directory not found. Please verify the correct directory name was given. @@ -3161,97 +2512,74 @@ Please verify the correct directory name was given. Проверьте правильность указанного имени каталога. - Are sure you want to delete '%1'? Вы действительно хотите удалить "%1"? - Could not delete directory. Не удалось удалить каталог. - Drive Диск - Unknown Неизвестный - Show Показать - - Forward Вперёд - &New Folder &Новая папка - - &Choose &Выбрать - Remove Удалить - - File &name: &Имя файла: - - Look in: Перейти к: - - Create New Folder Создать папку - Go back Назад - Go forward Вперёд - Go to the parent directory Перейти в родительский каталог - Create a New Folder Создать новую папку - Change to list view mode Переключить в режим списка - Change to detail view mode Переключить в подробный режим @@ -3259,83 +2587,64 @@ Please verify the correct directory name was given. QFileSystemModel - - %1 TB %1 Тб - - %1 GB %1 Гб - - %1 MB %1 Мб - - %1 KB %1 Кб - %1 bytes %1 байт - Invalid filename Некорректное имя файла - <b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks. <b>Имя "%1" не может быть использовано.</b><p>Попробуйте использовать имя меньшей длины и/или без символов пунктуации. - Name Имя - Size Размер - Kind Match OS X Finder Вид - Type All other platforms Тип - Date Modified Дата изменения - My Computer Мой компьютер - Computer Компьютер - %1 byte(s) %1 байт @@ -3343,221 +2652,170 @@ Please verify the correct directory name was given. QFontDatabase - - Normal Обычный - - - Bold Жирный - - Demi Bold Полужирный - - - Black Чёрный - Demi Средний - - Light Светлый - - Italic Курсив - - Oblique Наклонный - Any Любая - Latin Латиница - Greek Греческая - Cyrillic Кириллица - Armenian Армянская - Hebrew Иврит - Arabic Арабская - Syriac Сирийская - Thaana Таана - Devanagari Деванагири - Bengali Бенгальская - Gurmukhi Гурмукхи - Gujarati Гуджарати - Oriya Ория - Tamil Тамильская - Telugu Телугу - Kannada Каннада - Malayalam Малайялам - Sinhala Сингальская - Thai Тайская - Lao Лаосская - Tibetan Тибетская - Myanmar Мьянма - Georgian Грузинская - Khmer Кхмерская - Simplified Chinese Китайская упрощённая - Traditional Chinese Китайская традиционная - Japanese Японская - Korean Корейская - Vietnamese Вьетнамская - Symbol Символьная - Ogham Огамическая - Runic Руническая - N'Ko Нко @@ -3565,47 +2823,38 @@ Please verify the correct directory name was given. QFontDialog - &Font &Шрифт - Font st&yle &Начертание - &Size &Размер - Effects Эффекты - Stri&keout Зачёр&кнутый - &Underline П&одчёркнутый - Sample Пример - Select Font Выбор шрифта - Wr&iting System &Система письма @@ -3613,145 +2862,104 @@ Please verify the correct directory name was given. QFtp - Host %1 found Узел %1 найден - Host found Узел найден - - - Connected to host %1 Установлено соединение с узлом %1 - Connected to host Соединение с узлом установлено - Connection to %1 closed Соединение с %1 закрыто - - - Connection closed Соединение закрыто - - Host %1 not found Узел %1 не найден - - Connection refused to host %1 В соединении с узлом %1 отказано - Connection timed out to host %1 Время на соединение с узлом %1 истекло - - - - Unknown error Неизвестная ошибка - - Connecting to host failed: %1 Не удалось соединиться с узлом: %1 - - Login failed: %1 Не удалось авторизоваться: %1 - - Listing directory failed: %1 Не удалось прочитать каталог: %1 - - Changing directory failed: %1 Не удалось сменить каталог: %1 - - Downloading file failed: %1 Не удалось загрузить файл: %1 - - Uploading file failed: %1 Не удалось отгрузить файл: %1 - - Removing file failed: %1 Не удалось удалить файл: %1 - - Creating directory failed: %1 Не удалось создать каталог: %1 - - Removing directory failed: %1 Не удалось удалить каталог: %1 - - Not connected Соединение не установлено - - Connection refused for data connection Отказ в соединении для передачи данных @@ -3759,12 +2967,10 @@ Please verify the correct directory name was given. QHostInfo - Unknown error Неизвестная ошибка - No host name given Имя узла не задано @@ -3772,37 +2978,22 @@ Please verify the correct directory name was given. QHostInfoAgent - - - - Host not found Узел не найден - - - - Unknown address type Неизвестный тип адреса - - - Unknown error Неизвестная ошибка - - No host name given Имя узла не задано - - Invalid hostname Некорректное имя узла @@ -3810,153 +3001,110 @@ Please verify the correct directory name was given. QHttp - - Connection refused Отказано в соединении - - - Host %1 not found Узел %1 не найден - - Wrong content length Неверная длина содержимого - - HTTP request failed HTTP-запрос не удался - Host %1 found Узел %1 найден - Host found Узел найден - Connected to host %1 Установлено соединение с узлом %1 - Connected to host Соединение с узлом установлено - Connection to %1 closed Соединение с узлом %1 закрыто - - Connection closed Соединение закрыто - - - - Unknown error Неизвестная ошибка - - Request aborted Запрос прерван - - No server set to connect to Не указан сервер для подключения - - Server closed connection unexpectedly Сервер неожиданно разорвал соединение - - Invalid HTTP response header Некорректный HTTP-заголовок ответа - Unknown authentication method Неизвестный метод авторизации - - - - Invalid HTTP chunked body Некорректное HTTP-фрагментирование данных - Error writing response to device Ошибка записи ответа на устройство - Proxy authentication required Требуется авторизация на прокси-сервере - Authentication required Требуется авторизация - Proxy requires authentication Прокси-сервер требует авторизацию - Host requires authentication Узел требует авторизацию - Data corrupted Данные повреждены - SSL handshake failed Квитирование SSL не удалось - Unknown protocol specified Указан неизвестный протокол - Connection refused (or timed out) В соединении отказано (или время ожидания истекло) - HTTPS connection requested but SSL support not compiled in Запрошено соединение по протоколу HTTPS, но поддержка SSL не скомпилирована @@ -3964,47 +3112,38 @@ Please verify the correct directory name was given. QHttpSocketEngine - Did not receive HTTP response from proxy Не получен HTTP-ответ от прокси-сервера - Error parsing authentication request from proxy Ошибка разбора запроса авторизации от прокси-сервера - Authentication required Требуется авторизация - Proxy denied connection Прокси-сервер запретил соединение - Error communicating with HTTP proxy Ошибка обмена данными с прокси-сервером HTTP - Proxy server not found Прокси-сервер не найден - Proxy connection refused В соединении прокси-сервером отказано - Proxy server connection timed out Время на соединение с прокси-сервером истекло - Proxy connection closed prematurely Соединение с прокси-сервером неожиданно закрыто @@ -4012,22 +3151,18 @@ Please verify the correct directory name was given. QIBaseDriver - Error opening database Ошибка открытия базы данных - Could not start transaction Не удалось начать транзакцию - Unable to commit transaction Невозможно завершить транзакцию - Unable to rollback transaction Невозможно отозвать транзакцию @@ -4035,89 +3170,70 @@ Please verify the correct directory name was given. QIBaseResult - Unable to create BLOB Невозможно создать BLOB - Unable to write BLOB Невозможно записать BLOB - Unable to open BLOB Невозможно открыть BLOB - Unable to read BLOB Невозможно прочитать BLOB - - Could not find array Не удалось найти массив - Could not get array data Не удалось найти данные массива - Could not get query info Не удалось найти информацию о запросе - Could not start transaction Не удалось начать транзакцию - Unable to commit transaction Невозможно завершить транзакцию - Could not allocate statement Не удалось получить ресурсы для создания выражения - Could not prepare statement Не удалось подготовить выражение - - Could not describe input statement Не удалось описать входящее выражение - Could not describe statement Не удалось описать выражение - Unable to close statement Невозможно закрыть выражение - Unable to execute query Невозможно выполнить запрос - Could not fetch next item Не удалось получить следующий элемент - Could not get statement info Не удалось найти информацию о выражении @@ -4125,27 +3241,22 @@ Please verify the correct directory name was given. QIODevice - Permission denied Доступ запрещён - Too many open files Слишком много открытых файлов - No such file or directory Файл или каталог не существует - No space left on device Нет свободного места на устройстве - Unknown error Неизвестная ошибка @@ -4153,32 +3264,26 @@ Please verify the correct directory name was given. QInputContext - XIM Метод ввода X-сервера - FEP Метод ввода S60 FEP - XIM input method Метод ввода X-сервера - Windows input method Метод ввода Windows - Mac OS X input method Метод ввода Mac OS X - S60 FEP input method Метод ввода S60 FEP @@ -4186,7 +3291,6 @@ Please verify the correct directory name was given. QInputDialog - Enter a value: Укажите значение: @@ -4194,67 +3298,50 @@ Please verify the correct directory name was given. QLibrary - Could not mmap '%1': %2 Не удалось выполнить mmap "%1": %2 - Plugin verification data mismatch in '%1' Проверочная информация для модуля "%1" не совпадает - Could not unmap '%1': %2 Не удалось выполнить unmap "%1": %2 - The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5] Модуль "%1" использует несоместимую библиотеку Qt. (%2.%3.%4) [%5] - The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3" Модуль "%1" использует несоместимую библиотеку Qt. Ожидается ключ "%2", но получен ключ "%3" - Unknown error Неизвестная ошибка - - - The shared library was not found. Динамическая библиотека не найдена. - The file '%1' is not a valid Qt plugin. Файл "%1" - не является корректным модулем Qt. - The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.) Модуль "%1" использует несоместимую библиотеку Qt. (Невозможно совместить релизные и отладочные библиотеки.) - - Cannot load library %1: %2 Невозможно загрузить библиотеку %1: %2 - - Cannot unload library %1: %2 Невозможно выгрузить библиотеку %1: %2 - - Cannot resolve symbol "%1" in %2: %3 Невозможно разрешить символ "%1" в %2: %3 @@ -4262,37 +3349,30 @@ Please verify the correct directory name was given. QLineEdit - Select All Выделить всё - &Undo &Отменить действие - &Redo &Повторить действие - Cu&t &Вырезать - &Copy &Копировать - &Paste В&ставить - Delete Удалить @@ -4300,23 +3380,18 @@ Please verify the correct directory name was given. QLocalServer - - %1: Name error %1: Некорректное имя - %1: Permission denied %1: Доступ запрещён - %1: Address in use %1: Адрес используется - %1: Unknown error %2 %1: Неизвестная ошибка %2 @@ -4324,70 +3399,46 @@ Please verify the correct directory name was given. QLocalSocket - - %1: Connection refused %1: Отказано в соединении - - %1: Remote closed %1: Закрыто удаленной стороной - - - - %1: Invalid name %1: Некорректное имя - - %1: Socket access error %1: Ошибка обращения к сокету - - %1: Socket resource error %1: Ошибка выделения ресурсов сокета - - %1: Socket operation timed out %1: Время на операцию с сокетом истекло - - %1: Datagram too large %1: Датаграмма слишком большая - - - %1: Connection error %1: Ошибка соединения - - %1: The socket operation is not supported %1: Операция с сокетом не поддерживается - %1: Unknown error %1: Неизвестная ошибка - - %1: Unknown error %2 %1: Неизвестная ошибка %2 @@ -4395,27 +3446,22 @@ Please verify the correct directory name was given. QMYSQLDriver - Unable to open database ' Невозможно открыть базу данных ' - Unable to connect Невозможно соединиться - Unable to begin transaction Невозможно начать транзакцию - Unable to commit transaction Невозможно завершить транзакцию - Unable to rollback transaction Невозможно отозвать транзакцию @@ -4423,60 +3469,46 @@ Please verify the correct directory name was given. QMYSQLResult - - Unable to fetch data Невозможно получить данные - Unable to execute query Невозможно выполнить запрос - Unable to store result Невозможно сохранить результат - - Unable to prepare statement Невозможно подготовить выражение - Unable to reset statement Невозможно сбросить выражение - Unable to bind value Невозможно привязать значение - Unable to execute statement Невозможно выполнить выражение - - Unable to bind outvalues Невозможно привязать результирующие значения - Unable to store statement results Невозможно сохранить результаты выполнения выражения - Unable to execute next query Невозможно выполнить следующий запрос - Unable to store next result Невозможно сохранить следующий результат @@ -4484,7 +3516,6 @@ Please verify the correct directory name was given. QMdiArea - (Untitled) (Неозаглавлено) @@ -4492,92 +3523,74 @@ Please verify the correct directory name was given. QMdiSubWindow - %1 - [%2] %1 - [%2] - Close Закрыть - Minimize Свернуть - Restore Down Восстановить - &Restore &Восстановить - &Move &Переместить - &Size &Размер - Mi&nimize &Свернуть - Ma&ximize Р&аспахнуть - Stay on &Top Оставаться &сверху - &Close &Закрыть - Maximize Распахнуть - Unshade Восстановить из заголовка - Shade Свернуть в заголовок - Restore Восстановить - Help Справка - Menu Меню - - [%1] - [%1] @@ -4585,21 +3598,14 @@ Please verify the correct directory name was given. QMenu - - Close Закрыть - - Open Открыть - - - Execute Выполнить @@ -4607,7 +3613,6 @@ Please verify the correct directory name was given. QMenuBar - Actions Действия @@ -4615,40 +3620,30 @@ Please verify the correct directory name was given. QMessageBox - - - - OK Закрыть - <h3>About Qt</h3><p>This program uses Qt version %1.</p> <h3>О Qt</h3><p>Данная программа использует Qt версии %1.</p> - <p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 2.1 or GNU GPL version 3.0.</p><p>Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications (proprietary or open source) provided you can comply with the terms and conditions of the GNU LGPL version 2.1.</p><p>Qt licensed under the GNU General Public License version 3.0 is appropriate for the development of Qt applications where you wish to use such applications in combination with software subject to the terms of the GNU GPL version 3.0 or where you are otherwise willing to comply with the terms of the GNU GPL version 3.0.</p><p>Please see <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> for an overview of Qt licensing.</p><p>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).</p><p>Qt is a Nokia product. See <a href="http://qt.nokia.com/">qt.nokia.com</a> for more information.</p> <p>Qt - это инструментарий для разработки кроссплатформенных приложений на C++.</p><p>Qt предоставляет совместимость на уровне исходных текстов между MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux и всеми популярными коммерческими вариантами Unix. Также Qt доступна для встраиваемых устройств в виде Qt для Embedded Linux и Qt для Windows CE.</p><p>Qt доступна под тремя различными лицензиями, разработанными для удовлетворения различных требований.</p><p>Qt под нашей коммерческой лицензией предназначена для развития проприетарного/коммерческого программного обеспечения, когда Вы не желаете предоставлять исходные тексты третьим сторонам, или в случае невозможности принятия условий лицензий GNU LGPL версии 2.1 или GNU GPL версии 3.0.</p><p>Qt под лицензией GNU LGPL версии 2.1 предназначена для разработки программного обеспечения с открытыми исходными текстами или коммерческого программного обеспечения при соблюдении условий лицензии GNU LGPL версии 2.1.</p><p>Qt под лицензией GNU General Public License версии 3.0 предназначена для разработки программных приложений в тех случаях, когда Вы хотели бы использовать такие приложения в сочетании с программным обеспечением на условиях лицензии GNU GPL с версии 3.0 или если Вы готовы соблюдать условия лицензии GNU GPL версии 3.0.</p><p>Обратитесь к <a href="http://qt.nokia.com/products/licensing">qt.nokia.com/products/licensing</a> для обзора лицензий Qt.</p><p>Copyright (C) 2010 Корпорация Nokia и/или её дочерние подразделения.</p><p>Qt - продукт компании Nokia. Обратитесь к <a href="http://qt.nokia.com/">qt.nokia.com</a> для получения дополнительной информации.</p> - About Qt О Qt - Help Справка - Show Details... Показать подробности... - Hide Details... Скрыть подробности... @@ -4656,7 +3651,6 @@ Please verify the correct directory name was given. QMultiInputContext - Select IM Выбор режима ввода @@ -4664,12 +3658,10 @@ Please verify the correct directory name was given. QMultiInputContextPlugin - Multiple input method switcher Переключатель режима множественного ввода - Multiple input method switcher that uses the context menu of the text widgets Переключатель режима множественного ввода, используемый в контекстном меню текстовых редакторов @@ -4677,132 +3669,106 @@ Please verify the correct directory name was given. QNativeSocketEngine - The remote host closed the connection Удалённый узел закрыл соединение - Network operation timed out Время на сетевую операцию истекло - Out of resources Недостаточно ресурсов - Unsupported socket operation Операция с сокетом не поддерживается - Protocol type not supported Протокол не поддерживается - Invalid socket descriptor Некорректный дескриптор сокета - Network unreachable Сеть недоступна - Permission denied Доступ запрещён - Connection timed out Время на соединение истекло - Connection refused Отказано в соединении - The bound address is already in use Адрес уже используется - The address is not available Адрес недоступен - The address is protected Адрес защищён - Unable to send a message Невозможно отправить сообщение - Unable to receive a message Невозможно получить сообщение - Unable to write Невозможно записать - Network error Ошибка сети - Another socket is already listening on the same port Другой сокет уже прослушивает этот порт - Unable to initialize non-blocking socket Невозможно инициализировать не-блочный сокет - Unable to initialize broadcast socket Невозможно инициализировать широковещательный сокет - Attempt to use IPv6 socket on a platform with no IPv6 support Попытка использовать IPv6 на платформе, не поддерживающей IPv6 - Host unreachable Узел недоступен - Datagram was too large to send Датаграмма слишком большая для отправки - Operation on non-socket Операция с не-сокетом - Unknown error Неизвестная ошибка - The proxy type is invalid for this operation Некорректный тип прокси-сервера для данной операции @@ -4810,7 +3776,6 @@ Please verify the correct directory name was given. QNetworkAccessCacheBackend - Error opening %1 Ошибка открытия %1 @@ -4818,12 +3783,10 @@ Please verify the correct directory name was given. QNetworkAccessDataBackend - Operation not supported on %1 Операция не поддерживается для %1 - Invalid URI: %1 Некорректный URI: %1 @@ -4831,17 +3794,14 @@ Please verify the correct directory name was given. QNetworkAccessDebugPipeBackend - Write error writing to %1: %2 Ошибка записи в %1: %2 - Socket error on %1: %2 Ошика сокета для %1: %2 - Remote host closed the connection prematurely on %1 Удалённый узел неожиданно прервал соединение для %1 @@ -4849,30 +3809,22 @@ Please verify the correct directory name was given. QNetworkAccessFileBackend - - Request for opening non-local file %1 Запрос на открытие файла вне файловой системы %1 - - Error opening %1: %2 Ошибка открытия %1: %2 - Write error writing to %1: %2 Ошибка записи в %1: %2 - - Cannot open %1: Path is a directory Невозможно открыть %1: Указан путь к каталогу - Read error reading from %1: %2 Ошибка чтения из %1: %2 @@ -4880,27 +3832,22 @@ Please verify the correct directory name was given. QNetworkAccessFtpBackend - No suitable proxy found Подходящий прокси-сервер не найден - Cannot open %1: is a directory Невозможно открыть %1: Указан путь к каталогу - Logging in to %1 failed: authentication required Соединение с %1 не удалось: требуется авторизация - Error while downloading %1: %2 Ошибка в процессе загрузки %1: %2 - Error while uploading %1: %2 Ошибка в процессе отгрузки %1: %2 @@ -4908,7 +3855,6 @@ Please verify the correct directory name was given. QNetworkAccessHttpBackend - No suitable proxy found Подходящий прокси-сервер не найден @@ -4916,7 +3862,6 @@ Please verify the correct directory name was given. QNetworkAccessManager - Network access is disabled. Доступ в сеть отключён. @@ -4924,22 +3869,18 @@ Please verify the correct directory name was given. QNetworkReply - Error downloading %1 - server replied: %2 Ошибка загрузки %1 - ответ сервера: %2 - Protocol "%1" is unknown Неизвестный протокол "%1" - Network session error. Ошибка сетевой сессии. - Temporary network failure. Временная ошибка сети. @@ -4947,8 +3888,6 @@ Please verify the correct directory name was given. QNetworkReplyImpl - - Operation canceled Операция отменена @@ -4956,7 +3895,6 @@ Please verify the correct directory name was given. QNetworkSession - Invalid configuration. Некорректная конфигурация. @@ -4964,48 +3902,35 @@ Please verify the correct directory name was given. QNetworkSessionPrivateImpl - Roaming error или перемещения? Ошибка роуминга - Session aborted by user or system Сессия прервана пользователем или системой - Unidentified Error Неопределённая ошибка - - Unknown session error. Неизвестная ошибка сессии. - - The session was aborted by the user or system. Сессия была прервана пользователем или системой. - - The requested operation is not supported by the system. Требуемая операция не поддерживается системой. - - The specified configuration cannot be used. Невозможно использовать указанную конфигурацию. - - Roaming was aborted or is not possible. Роуминг прерван или невозможен. @@ -5013,28 +3938,23 @@ Please verify the correct directory name was given. QOCIDriver - Unable to initialize QOCIDriver Невозможно инициализировать - Unable to logon Невозможно авторизоваться - Unable to begin transaction Невозможно начать транзакцию - Unable to commit transaction Невозможно завершить транзакцию - Unable to rollback transaction Невозможно отозвать транзакцию @@ -5042,44 +3962,34 @@ Please verify the correct directory name was given. QOCIResult - - - Unable to bind column for batch execute Невозможно привязать столбец для пакетного выполнения - Unable to execute batch statement Невозможно выполнить пакетное выражение - Unable to goto next Невозможно перейти к следующей строке - Unable to alloc statement Невозможно создать выражение - Unable to prepare statement Невозможно подготовить выражение - Unable to get statement type Невозможно определить тип выражения - Unable to bind value Невозможно привязать результирующие значения - Unable to execute statement Невозможно выполнить выражение @@ -5087,32 +3997,26 @@ Please verify the correct directory name was given. QODBCDriver - Unable to connect Невозможно соединиться - Unable to disable autocommit Невозможно отключить автозавершение транзакций - Unable to commit transaction Невозможно завершить транзакцию - Unable to rollback transaction Невозможно отозвать транзакцию - Unable to enable autocommit Невозможно включить автозавершение транзакций - Unable to connect - Driver doesn't support all functionality required Невозможно соединиться - Драйвер не поддерживает требуемый функционал @@ -5120,51 +4024,38 @@ Please verify the correct directory name was given. QODBCResult - - QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult::reset: Невозможно установить "SQL_CURSOR_STATIC" атрибутом выражение. Проверьте настройки драйвера ODBC - - Unable to execute statement Невозможно выполнить выражение - Unable to fetch next Невозможно получить следующую строку - Unable to prepare statement Невозможно подготовить выражение - Unable to bind variable Невозможно привязать значение - - - Unable to fetch last Невозможно получить последнюю строку - Unable to fetch Невозможно получить данные - Unable to fetch first Невозможно получить первую строку - Unable to fetch previous Невозможно получить предыдущую строку @@ -5172,19 +4063,14 @@ Please verify the correct directory name was given. QObject - "%1" duplicates a previous role name and will be disabled. "%1" повторяет имя предыдущей роли и не будет использовано. - - invalid query: "%1" Некорректный запрос: "%1" - - PulseAudio Sound Server Звуковой сервер PulseAudio @@ -5192,12 +4078,10 @@ Please verify the correct directory name was given. QPPDOptionsModel - Name Имя - Value Значение @@ -5205,32 +4089,26 @@ Please verify the correct directory name was given. QPSQLDriver - Unable to connect Невозможно соединиться - Could not begin transaction Не удалось начать транзакцию - Could not commit transaction Не удалось завершить транзакцию - Could not rollback transaction Не удалось отозвать транзакцию - Unable to subscribe Невозможно подписаться - Unable to unsubscribe Невозможно отписаться @@ -5238,12 +4116,10 @@ Please verify the correct directory name was given. QPSQLResult - Unable to create query Невозможно создать запрос - Unable to prepare statement Невозможно подготовить выражение @@ -5251,102 +4127,82 @@ Please verify the correct directory name was given. QPageSetupWidget - Centimeters (cm) Сантиметры (cm) - Millimeters (mm) Миллиметры (mm) - Inches (in) Дюймы (in) - Points (pt) Точки (pt) - Form Форма - Paper Бумага - Page size: Размер страницы: - Width: Ширина: - Height: Высота: - Paper source: Источник бумаги: - Orientation Ориентация - Portrait Книжная - Landscape Альбомная - Reverse landscape Перевёрнутая альбомная - Reverse portrait Перевёрнутая книжная - Margins Поля - top margin верхнее поле - left margin левое поле - right margin правое поле - bottom margin нижнее поле @@ -5354,12 +4210,10 @@ Please verify the correct directory name was given. QPluginLoader - Unknown error Неизвестная ошибка - The plugin was not loaded. Модуль не был загружен. @@ -5367,433 +4221,344 @@ Please verify the correct directory name was given. QPrintDialog - locally connected соединено локально - - Aliases: %1 Псевдонимы: %1 - - unknown неизвестно - OK Закрыть - Print all Все страницы - Print range Диапазон страниц - A0 (841 x 1189 mm) A0 (841 x 1189 мм) - A1 (594 x 841 mm) A1 (594 x 841 мм) - A2 (420 x 594 mm) A2 (420 x 594 мм) - A3 (297 x 420 mm) A3 (297 x 420 мм) - A5 (148 x 210 mm) A5 (148 x 210 мм) - A6 (105 x 148 mm) A6 (105 x 148 мм) - A7 (74 x 105 mm) A7 (74 x 105 мм) - A8 (52 x 74 mm) A8 (52 x 74 мм) - A9 (37 x 52 mm) A9 (37 x 52 мм) - B0 (1000 x 1414 mm) B0 (1000 x 1414 мм) - B1 (707 x 1000 mm) B1 (707 x 1000 мм) - B2 (500 x 707 mm) B2 (500 x 707 мм) - B3 (353 x 500 mm) B3 (353 x 500 мм) - B4 (250 x 353 mm) B4 (250 x 353 мм) - B6 (125 x 176 mm) B6 (125 x 176 мм) - B7 (88 x 125 mm) B7 (88 x 125 мм) - B8 (62 x 88 mm) B8 (62 x 88 мм) - B9 (44 x 62 mm) B9 (44 x 62 мм) - B10 (31 x 44 mm) B10 (31 x 44 мм) - C5E (163 x 229 mm) C5E (163 x 229 мм) - DLE (110 x 220 mm) DLE (110 x 220 мм) - Folio (210 x 330 mm) Folio (210 x 330 мм) - Ledger (432 x 279 mm) Ledger (432 x 279 мм) - Tabloid (279 x 432 mm) Tabloid (279 x 432 мм) - US Common #10 Envelope (105 x 241 mm) Конверт US #10 (105x241 мм) - Print current page Текущая страница - A4 (210 x 297 mm, 8.26 x 11.7 inches) A4 (210 x 297 мм, 8.26 x 11.7 дюймов) - B5 (176 x 250 mm, 6.93 x 9.84 inches) B5 (176 x 250 мм, 6.93 x 9.84 дюймов) - Executive (7.5 x 10 inches, 191 x 254 mm) Executive (191 x 254 мм, 7.5 x 10 дюймов) - Legal (8.5 x 14 inches, 216 x 356 mm) Legal (216 x 356 мм, 8.5 x 14 дюймов) - Letter (8.5 x 11 inches, 216 x 279 mm) Letter (216 x 279 мм, 8.5 x 11 дюймов) - Print selection Выделенный фрагмент - - - Print Печать - Print To File ... Печать в файл ... - File %1 is not writable. Please choose a different file name. %1 недоступен для записи. Выберите другое имя файла. - %1 already exists. Do you want to overwrite it? %1 уже существует. Хотите заменить его? - File exists Файл существует - <qt>Do you want to overwrite it?</qt> <qt>Хотите заменить?</qt> - %1 is a directory. Please choose a different file name. %1 - это каталог. Выберите другое имя файла. - The 'From' value cannot be greater than the 'To' value. Значение "с" не может быть больше значения "по". - A0 A0 - A1 A1 - A2 A2 - A3 A3 - A4 A4 - A5 A5 - A6 A6 - A7 A7 - A8 A8 - A9 A9 - B0 B0 - B1 B1 - B2 B2 - B3 B3 - B4 B4 - B5 B5 - B6 B6 - B7 B7 - B8 B8 - B9 B9 - B10 B10 - C5E C5E - DLE DLE - Executive Executive - Folio Folio - Ledger Ledger - Legal Legal - Letter Letter - Tabloid Tabloid - US Common #10 Envelope US Common #10 Envelope - Custom Пользовательский - - &Options >> &Параметры >> - &Options << &Параметры << - Print to File (PDF) Печать в файл (PDF) - Print to File (Postscript) Печать в файл (Postscript) - Local file Локальный файл - Write %1 file Запись %1 файла - &Print &Печать @@ -5801,108 +4566,86 @@ Please choose a different file name. QPrintPreviewDialog - %1% %1% - Print Preview Просмотр печати - Next page Следующая страница - Previous page Предыдущая страница - First page Первая страница - Last page Последняя страница - Fit width По ширине - Fit page На всю страницу - Zoom in Увеличить - Zoom out Уменьшить - Portrait Книжная - Landscape Альбомная - Show single page Показать одну страницу - Show facing pages Показать титульные страницы - Show overview of all pages Показать обзор всех страниц - Print Печать - Page setup Параметры страницы - Close Закрыть - Export to PDF Экспорт в PDF - Export to PostScript Экспорт в Postscript - - Page Setup Параметры страницы @@ -5910,17 +4653,14 @@ Please choose a different file name. QPrintPropertiesWidget - Form Форма - Page Страница - Advanced Дополнительно @@ -5928,102 +4668,82 @@ Please choose a different file name. QPrintSettingsOutput - Form Форма - Copies Копии - Print range Диапазон печати - Print all Все - Pages from Страницы с - to по - Selection Выделенный фрагмент - Output Settings Настройки вывода - Copies: Количество копий: - Collate - Разобрать про копиям + Разобрать по копиям - Reverse Обратный порядок - Options Параметры - Color Mode Режим цвета - Color Цвет - Grayscale Оттенки серого - Duplex Printing Двусторонняя печать - None Нет - Long side По длинной стороне - Short side По короткой стороне - Current Page Текущая страница @@ -6031,47 +4751,38 @@ Please choose a different file name. QPrintWidget - Form Форма - Printer Принтер - &Name: &Название: - P&roperties С&войства - Location: Расположение: - Preview Просмотр - Type: Тип: - Output &file: Вывод в &файл: - ... ... @@ -6079,62 +4790,38 @@ Please choose a different file name. QProcess - - Could not open input redirection for reading Не удалось открыть перенаправление ввода для чтения - - Could not open output redirection for writing Не удалось открыть перенаправление вывода для записи - Resource error (fork failure): %1 Ошибка выделения ресурсов (сбой fork): %1 - - - - - - - - - Process operation timed out Время на операцию с процессом истекло - - - - Error reading from process Ошибка получения данных от процесса - - - Error writing to process Ошибка отправки данных процессу - Process crashed Процесс завершился с ошибкой - No program defined Программа не указана - Process failed to start: %1 Не удалось запустить процесс: %1 @@ -6142,7 +4829,6 @@ Please choose a different file name. QProgressDialog - Cancel Отмена @@ -6150,7 +4836,6 @@ Please choose a different file name. QPushButton - Open Открыть @@ -6158,7 +4843,6 @@ Please choose a different file name. QRadioButton - Check Отметить @@ -6166,57 +4850,46 @@ Please choose a different file name. QRegExp - no error occurred ошибки отсутствуют - disabled feature used использование отключённых возможностей - bad char class syntax неправильный синтаксис класса символов - bad lookahead syntax неправильный предварительный синтаксис - bad repetition syntax неправильный синтаксис повторения - invalid octal value некорректное восьмеричное значение - missing left delim отсутствует левый разделитель - unexpected end неожиданный конец - met internal limit достигнуто внутреннее ограничение - invalid interval некорректный интервал - invalid category некорректная категория @@ -6224,22 +4897,18 @@ Please choose a different file name. QSQLite2Driver - Error opening database Ошибка открытия базы данных - Unable to begin transaction Невозможно начать транзакцию - Unable to commit transaction Невозможно завершить транзакцию - Unable to rollback transaction Невозможно отозвать транзакцию @@ -6247,12 +4916,10 @@ Please choose a different file name. QSQLite2Result - Unable to fetch results Невозможно получить результаты - Unable to execute statement Невозможно выполнить выражение @@ -6260,27 +4927,22 @@ Please choose a different file name. QSQLiteDriver - Error opening database Ошибка открытия базы данных - Error closing database Ошибка закрытия базы данных - Unable to begin transaction Невозможно начать транзакцию - Unable to commit transaction Невозможно завершить транзакцию - Unable to rollback transaction Невозможно отозвать транзакцию @@ -6288,34 +4950,26 @@ Please choose a different file name. QSQLiteResult - - - Unable to fetch row Невозможно получить строку - Unable to execute statement Невозможно выполнить выражение - Unable to reset statement Невозможно сбросить выражение - Unable to bind parameters Невозможно привязать параметр - Parameter count mismatch Количество параметров не совпадает - No query Отсутствует запрос @@ -6323,32 +4977,26 @@ Please choose a different file name. QScriptBreakpointsModel - ID ID - Location Размещение - Condition Условие - Ignore-count Пропущено - Single-shot Однократно - Hit-count Совпадений @@ -6356,12 +5004,10 @@ Please choose a different file name. QScriptBreakpointsWidget - New Новая - Delete Удалить @@ -6369,143 +5015,114 @@ Please choose a different file name. QScriptDebugger - - Go to Line Перейти к строке - Line: Строка: - Interrupt Прервать - Shift+F5 Shift+F5 - Continue Продолжить - F5 F5 - Step Into Войти в - F11 F11 - Step Over Перейти через - F10 F10 - Step Out Выйти из функции - Shift+F11 Shift+F11 - Run to Cursor Выполнить до курсора - Ctrl+F10 Ctrl+F10 - Run to New Script Выполнить до нового сценария - Toggle Breakpoint Установить/убрать точку останова - F9 F9 - Clear Debug Output Очистить отладочный вывод - Clear Error Log Очистить журнал ошибок - Clear Console Очистить консоль - &Find in Script... &Найти в сценарии... - Ctrl+F Ctrl+F - Find &Next Найти &следующее - F3 F3 - Find &Previous Найти &предыдущее - Shift+F3 Shift+F3 - Ctrl+G Ctrl+G - Debug Отладка @@ -6513,32 +5130,26 @@ Please choose a different file name. QScriptDebuggerCodeFinderWidget - Close Закрыть - Previous Предыдущий - Next Следующий - Case Sensitive Учитывать регистр - Whole words Слова целиком - <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Search wrapped <img src=":/qt/scripttools/debugging/images/wrap.png">&nbsp;Поиск с начала @@ -6546,12 +5157,10 @@ Please choose a different file name. QScriptDebuggerLocalsModel - Name Название - Value Значение @@ -6559,17 +5168,14 @@ Please choose a different file name. QScriptDebuggerStackModel - Level Уровень - Name Название - Location Размещение @@ -6577,22 +5183,18 @@ Please choose a different file name. QScriptEdit - Toggle Breakpoint Установить/убрать точку останова - Disable Breakpoint Убрать точку останова - Enable Breakpoint Установить точку останова - Breakpoint Condition: Условие точки останова: @@ -6600,52 +5202,42 @@ Please choose a different file name. QScriptEngineDebugger - Loaded Scripts Загруженные сценарии - Breakpoints Точки останова - Stack Стек - Locals Локальные переменные - Console Консоль - Debug Output Отладочный вывод - Error Log Журнал ошибок - Search Поиск - View Вид - Qt Script Debugger Отладчик сценариев Qt @@ -6653,7 +5245,6 @@ Please choose a different file name. QScriptNewBreakpointWidget - Close Закрыть @@ -6661,84 +5252,66 @@ Please choose a different file name. QScrollBar - Scroll here Прокрутить сюда - Left edge К левой границе - Top Вверх - Right edge К правой границе - Bottom Вниз - Page left На страницу влево - - Page up На страницу вверх - Page right На страницу вправо - - Page down На страницу вниз - Scroll left Прокрутить влево - Scroll up Прокрутить вверх - Scroll right Прокрутить вправо - Scroll down Прокрутить вниз - Line up На строку вверх - Position Положение - Line down На строку вниз @@ -6746,111 +5319,78 @@ Please choose a different file name. QSharedMemory - %1: create size is less then 0 %1: размер меньше нуля - - %1: unable to lock %1: невозможно заблокировать - %1: unable to unlock %1: невозможно разблокировать - - - %1: permission denied %1: доступ запрещён - - - %1: already exists %1: уже существует - %1: doesn't exists %1: не существует - - - %1: out of resources %1: недостаточно ресурсов - - - %1: unknown error %2 %1: неизвестная ошибка %2 - %1: key is empty %1: пустой ключ - %1: ftok failed %1: ошибка ftok - - - %1: unable to make key %1: невозможно создать ключ - - %1: doesn't exist %1: не существует - %1: UNIX key file doesn't exist %1: специфический ключ UNIX не существует - %1: system-imposed size restrictions %1: системой наложены ограничения на размер - %1: not attached %1: не приложенный - - %1: invalid size %1: некорректный размер - - %1: key error %1: некорректный ключ - %1: size query failed %1: не удалось запросить размер - %1: unable to set key on lock %1: невозможно установить ключ блокировки @@ -6858,1063 +5398,884 @@ Please choose a different file name. QShortcut - Space This and all following "incomprehensible" strings in QShortcut context are key names. Please use the localized names appearing on actual keyboards or whatever is commonly used. Пробел - Esc Esc - Tab Tab - Backtab Backtab - Backspace Backspace - Return Return - Enter Enter - Ins Ins - Del Del - Pause Pause - Print Print - SysReq SysReq - Home Home - End End - Left Влево - Up Вверх - Right Вправо - Down Вниз - PgUp PgUp - PgDown PgDown - CapsLock CapsLock - NumLock NumLock - ScrollLock ScrollLock - Menu Меню - Help Справка - Back Назад - Forward Вперёд - Stop Остановить - Refresh Обновить - Volume Down Тише - Volume Mute Выключить звук - Volume Up Громче - Bass Boost Усиление басов - Bass Up Басы выше - Bass Down Басы ниже - Treble Up ВЧ выше - Treble Down ВЧ ниже - Media Play - Воспроизведение + Начать воспроизведение - Media Stop Остановить воспроизведение - Media Previous Воспроизвести предыдущее - Media Next Воспроизвести следующее - Media Record - Запись + Начать запись + + + Media Pause + Media player pause button + Приостановить воспроизведение + + + Toggle Media Play/Pause + Media player button to toggle between playing and paused + Приостановить/продолжить воспроизведение - Favorites Избранное - Search Поиск - Standby Режим ожидания - Open URL Открыть URL - Launch Mail Почта - Launch Media Проигрыватель - Launch (0) Запустить (0) - Launch (1) Запустить (1) - Launch (2) Запустить (2) - Launch (3) Запустить (3) - Launch (4) Запустить (4) - Launch (5) Запустить (5) - Launch (6) Запустить (6) - Launch (7) Запустить (7) - Launch (8) Запустить (8) - Launch (9) Запустить (9) - Launch (A) Запустить (A) - Launch (B) Запустить (B) - Launch (C) Запустить (C) - Launch (D) Запустить (D) - Launch (E) Запустить (E) - Launch (F) Запустить (F) - Monitor Brightness Up Увеличить яркость монитора - Monitor Brightness Down Уменьшить яркость монитора - Keyboard Light On/Off Вкл./Откл. подсветку клавиатуры - Keyboard Brightness Up Увеличить яркость подсветки клавиатуры - Keyboard Brightness Down Уменьшить яркость подсветки клавиатуры - Power Off Отключение питания - Wake Up Пробуждение - Eject Извлечь - Screensaver Экранная заставка - WWW WWW - Sleep Спящий режим - LightBulb Лампочка - Shop Магазин - History История - Add Favorite Добавить в избранное - Hot Links Горячие ссылки - Adjust Brightness Настройка яркости - Finance Финансы - Community Сообщество - Audio Rewind Перемотка аудио назад - Back Forward - Application Left - Application Right - Book Книга - CD CD - Calculator Калькулятор - Clear Очистить - Clear Grab - Close Закрыть - Copy Копировать - Cut Вырезать - Display - DOS DOS - Documents Документы - Spreadsheet Электронная таблицы - Browser Обозреватель - Game Игра - Go Перейти - iTouch iTouch - Logoff Выйти из системы - Market Рынок - Meeting Встреча - Keyboard Menu Клавиатурное меню - Menu PB - My Sites Мои сайты - News Новости - Home Office Домашний офис - Option Опция - Paste Вставить - Phone Телефон - Reply Ответить - Reload Перезагрузить - Rotate Windows Повернуть окна - Rotation PB - Rotation KB - Save Сохранить - Send Отправить - Spellchecker Проверка орфографии - Split Screen Разделить экран - Support Поддержка - Task Panel Панель задач - Terminal Терминал - Tools Инструменты - Travel Путешествие - Video Видео - Word Processor Текстовый редактор - XFer - Zoom In Увеличить - Zoom Out Уменьшить - Away Ушёл - Messenger Клиент обмена мгновенными сообщениями - WebCam Вэб-камера - Mail Forward Переслать письмо - Pictures Изображения - Music Музыка - Battery Батарея - Bluetooth Bluetooth - Wireless Беспроводная сеть - Ultra Wide Band - + Сверхширокополосная связь - Audio Forward - + Последовательное воспроизведение - Audio Repeat - + Воспроизведение по кругу - Audio Random Play - + Случайное воспроизведение - Subtitle Субтитры - Audio Cycle Track - + Зацикленное воспроизведение дорожки - Time Время - View Вид - Top Menu Главное меню - Suspend - + Приостановить - Hibernate - + Усыпить - Print Screen Печать экрана - Page Up На страницу вверх - Page Down На страницу вниз - Caps Lock Верний регистр - Num Lock Цифровые клавиши - Number Lock Цифровые клавиши - Scroll Lock Scroll Lock - Insert Вставить - Delete Удалить - Escape Escape - System Request Системный запрос - + Toggle Call/Hangup + Button that will hang up if we're in call, or make a call if we're not. + Снять/положить трубку + + + Voice Dial + Button to trigger voice dialling + Голосовой вызов + + + Last Number Redial + Button to redial the last number called + Повторный набор + + + Camera Shutter + Button to trigger the camera shutter (take a picture) + Затвор камеры + + + Camera Focus + Button to focus the camera + Фокусировка камеры + + Kanji - Muhenkan - Henkan - Romaji - Hiragana - Katakana - Hiragana Katakana - Zenkaku - Hankaku - Zenkaku Hankaku - Touroku - Massyo - Kana Lock - Kana Shift - Eisu Shift - Eisu toggle - Code input - Multiple Candidate - Previous Candidate - Hangul - Hangul Start - Hangul End - Hangul Hanja - Hangul Jamo - Hangul Romaja - Hangul Jeonja - Hangul Banja - Hangul PreHanja - Hangul PostHanja - Hangul Special - - Select Выбрать - Yes Да - No Нет - Context1 - Context2 - Context3 - Context4 - Call + Button to start a call (note: a separate button is used to end the call) Позвонить - Hangup + Button to end a call (note: a separate button is used to start the call) Положить трубку - Flip - - Ctrl Ctrl - - Shift Shift - - Alt Alt - - Meta Meta - + + - F%1 F%1 - Home Page Домашняя страница @@ -7922,27 +6283,22 @@ Please choose a different file name. QSlider - Page left Страница влево - Page up Страница вверх - Position Положение - Page right Страница вправо - Page down Страница вниз @@ -7950,72 +6306,58 @@ Please choose a different file name. QSocks5SocketEngine - Connection to proxy refused В соединении с прокси-сервером отказано - Connection to proxy closed prematurely Соединение с прокси-сервером неожиданно закрыто - Proxy host not found Прокси-сервер не найден - Connection to proxy timed out Время на соединение с прокси-сервером истекло - Proxy authentication failed Не удалось авторизоваться на прокси-сервере - Proxy authentication failed: %1 Не удалось авторизоваться на прокси-сервере: %1 - SOCKS version 5 protocol error Ошибка протокола SOCKSv5 - General SOCKSv5 server failure Ошибка сервере SOCKSv5 - Connection not allowed by SOCKSv5 server Соединение не разрешено сервером SOCKSv5 - TTL expired TTL истекло - SOCKSv5 command not supported Команда SOCKSv5 не поддерживается - Address type not supported Тип адреса не поддерживается - Unknown SOCKSv5 proxy error code 0x%1 Неизвестная ошибка SOCKSv5 прокси (код 0x%1) - Network operation timed out Время на сетевую операцию истекло @@ -8023,32 +6365,26 @@ Please choose a different file name. QSoftKeyManager - Ok ОК - Select Выбрать - Done Готово - Options Параметры - Cancel Отмена - Exit Выход @@ -8056,12 +6392,10 @@ Please choose a different file name. QSpinBox - More Больше - Less Меньше @@ -8069,56 +6403,42 @@ Please choose a different file name. QSql - Delete Удалить - Delete this record? Удалить данную запись? - - - Yes Да - - - No Нет - Insert Вставить - Update Обновить - Save edits? Сохранить изменения? - Cancel Отмена - Confirm Подтверждение - Cancel your edits? Отменить изменения? @@ -8126,177 +6446,142 @@ Please choose a different file name. QSslSocket - Unable to write data: %1 Невозможно записать данные: %1 - Unable to decrypt data: %1 Невозможно расшифровать данные: %1 - Error while reading: %1 Ошибка чтения: %1 - Error during SSL handshake: %1 Ошибка квитирования SSL: %1 - Error creating SSL context (%1) Ошибка создания контекста SSL: (%1) - Invalid or empty cipher list (%1) Некорректный или пустой список шифров (%1) - Private key does not certify public key, %1 Закрытый ключ не соответствует открытому ключу, %1 - Error creating SSL session, %1 Ошибка создания сессии SSL, %1 - Error creating SSL session: %1 Ошибка создания сессии SSL: %1 - Cannot provide a certificate with no key, %1 Невозможно предоставить сертификат без ключа, %1 - Error loading local certificate, %1 Ошибка загрузки локального сертификата, %1 - Error loading private key, %1 Ошибка загрузки закрытого ключа, %1 - No error Нет ошибки - The issuer certificate could not be found Не удалось найти сертификат издателя - The certificate signature could not be decrypted Не удалось расшифровать подпись сертификата - The public key in the certificate could not be read Не удалось прочитать открытый ключ сертификата - The signature of the certificate is invalid Некорректная подпись сертификата - The certificate is not yet valid Срок действия сертификата ещё не наступил - The certificate has expired Срок действия сертификата истёк - The certificate's notBefore field contains an invalid time Поле notBefore сертификата содержит некорректное время - The certificate's notAfter field contains an invalid time Поле notAfter сертификата содержит некорректное время - The certificate is self-signed, and untrusted Сертификат самоподписанный и не является заверенным - The root certificate of the certificate chain is self-signed, and untrusted Корневой сертификат цепочки сертификатов самоподписанный и не является заверенным - The issuer certificate of a locally looked up certificate could not be found Не удалось найти сертификат издателя локального сертификата - No certificates could be verified Не удалось проверить сертификаты - One of the CA certificates is invalid Один из сертификатов центра сертификации некорректен - The basicConstraints path length parameter has been exceeded Превышено значение параметра длины пути поля basicConstraints сертификата - The supplied certificate is unsuitable for this purpose Представленный сертификат непригоден для данной цели - The root CA certificate is not trusted for this purpose Корневой сертификат центра сертификации не является заверенным для данной цели - The root CA certificate is marked to reject the specified purpose Корневой сертификат центра сертификации отмечен на отклонение для данной цели - The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate Текущий сертификат издателя был отклонён, так как название темы не совпадает с названием издателя сертификата - 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 Текущий сертификат издателя был отклонён, так как название издателя и серийный номер не совпадают с идентификатором ключа сертификата - The peer did not present any certificate Сертификат не был предоставлен - The host name did not match any of the valid hosts for this certificate Название узла не совпадает с допустимыми названиями узлов сертификата - Unknown error Неизвестная ошибка @@ -8304,22 +6589,18 @@ Please choose a different file name. QStateMachine - Missing initial state in compound state '%1' Отсутствует исходное состояние в составном состоянии "%1" - Missing default state in history state '%1' Отсутствует состояние по умолчанию в историческом состоянии "%1" - No common ancestor for targets and source of transition from state '%1' Нет общего предка у источника и цели перехода из состояния "%1" - Unknown error Неизвестная ошибка @@ -8327,30 +6608,22 @@ Please choose a different file name. QSystemSemaphore - %1: does not exist %1: не существует - - %1: out of resources %1: недостаточно ресурсов - - %1: permission denied %1: доступ запрещён - %1: already exists %1: уже существует - - %1: unknown error %2 %1: неизвестная ошибка %2 @@ -8358,12 +6631,10 @@ Please choose a different file name. QTDSDriver - Unable to open connection Невозможно открыть соединение - Unable to use database Невозможно использовать базу данных @@ -8371,12 +6642,10 @@ Please choose a different file name. QTabBar - Scroll Left Прокрутить влево - Scroll Right Прокрутить вправо @@ -8384,7 +6653,6 @@ Please choose a different file name. QTcpServer - Operation on socket is not supported Операция с сокетом не поддерживается @@ -8392,42 +6660,34 @@ Please choose a different file name. QTextControl - &Undo &Отменить действие - &Redo &Повторить действие - Cu&t &Вырезать - &Copy &Копировать - Copy &Link Location Скопировать &адрес ссылки - &Paste В&ставить - Delete Удалить - Select All Выделить всё @@ -8435,14 +6695,10 @@ Please choose a different file name. QToolButton - - Press Нажать - - Open Открыть @@ -8450,7 +6706,6 @@ Please choose a different file name. QUdpSocket - This platform does not support IPv6 Данная платформа не поддерживает IPv6 @@ -8458,12 +6713,10 @@ Please choose a different file name. QUndoGroup - Undo Отменить действие - Redo Повторить действие @@ -8471,7 +6724,6 @@ Please choose a different file name. QUndoModel - <empty> <пусто> @@ -8479,12 +6731,10 @@ Please choose a different file name. QUndoStack - Undo Отменить действие - Redo Повторить действие @@ -8492,57 +6742,46 @@ Please choose a different file name. QUnicodeControlCharacterMenu - LRM Left-to-right mark LRM Признак написания слева направо - RLM Right-to-left mark RLM Признак написания справа налево - ZWJ Zero width joiner ZWJ Объединяющий символ нулевой ширины - ZWNJ Zero width non-joiner ZWNJ Необъединяющий символ нулевой ширины - ZWSP Zero width space ZWSP Пробел нулевой ширины - LRE Start of left-to-right embedding LRE Начало встраивания написания слева направо - RLE Start of right-to-left embedding LRE Начало встраивания написания справа налево - LRO Start of left-to-right override LRO Начало замены написания слева направо - RLO Start of right-to-left override RLO Начало замены написания справа налево - PDF Pop directional formatting PDF Признак окончания написания с другим направлением - Insert Unicode control character Вставить управляющий символ Unicode @@ -8550,32 +6789,26 @@ Please choose a different file name. QWebFrame - Request cancelled Запрос отменён - Request blocked Запрос блокирован - Cannot show URL Невозможно отобразить URL - Frame load interrupted by policy change Загрузка фрейма прервана изменением политики - Cannot show mimetype Невозможно отобразить тип MIME - File does not exist Файл не существует @@ -8583,858 +6816,705 @@ Please choose a different file name. QWebPage - Web Inspector - %2 Web-инспектор - %2 - Redirection limit reached Достигнут предел переадресации - Bad HTTP request Некорректный HTTP-запрос - Scroll here Прокрутить сюда - Left edge К левой границе - Top Вверх - Right edge К правой границе - Bottom Вниз - Page left На страницу влево - Page up На страницу вверх - Page right На страницу вправо - Page down На страницу вниз - Scroll left Прокрутить влево - Scroll up Прокрутить вверх - Scroll right Прокрутить вправо - Scroll down Прокрутить вниз - JavaScript Alert - %1 JavaScript: Предупреждение - %1 - JavaScript Confirm - %1 JavaScript: Подтверждение - %1 - JavaScript Prompt - %1 JavaScript: Запрос - %1 - JavaScript Problem - %1 JavaScript: Проблема - %1 - The script on this page appears to have a problem. Do you want to stop the script? Сбой выполнения сценария на данной странице. Желаете остановить выполение сценария? - Move the cursor to the next character Переместить указатель к следующему символу - Move the cursor to the previous character Переместить указатель к предыдущему символу - Move the cursor to the next word Переместить указатель к следующему слову - Move the cursor to the previous word Переместить указатель к предыдущему слову - Move the cursor to the next line Переместить указатель на следующую строку - Move the cursor to the previous line Переместить указатель на предыдущую строку - Move the cursor to the start of the line Переместить указатель в начало строки - Move the cursor to the end of the line Переместить указатель в конец строки - Move the cursor to the start of the block Переместить указатель в начало блока - Move the cursor to the end of the block Переместить указатель в конец блока - Move the cursor to the start of the document Переместить указатель в начало документа - Move the cursor to the end of the document Переместить указатель в конец документа - Select all Выделить всё - Select to the next character Выделить до следующего символа - Select to the previous character Выделить до предыдущего символа - Select to the next word Выделить до следующего слова - Select to the previous word Выделить до предыдущего слова - Select to the next line Выделить до следующей строки - Select to the previous line Выделить до предыдущей строки - Select to the start of the line Выделить до начала строки - Select to the end of the line Выделить до конца строки - Select to the start of the block Выделить до начала блока - Select to the end of the block Выделить до конца блока - Select to the start of the document Выделить до начала документа - Select to the end of the document Выделить до конца документа - Delete to the start of the word Удалить до начала слова - Delete to the end of the word Удалить до конца слова - Insert a new paragraph Вставить новый параграф - Insert a new line Вставить новую строку - Paste and Match Style Вставить, сохранив стиль - Remove formatting Удалить форматирование - Strikethrough Зачёркнутый - Subscript Подстрочный - Superscript Надстрочный - Insert Bulleted List Вставить маркированный список - Insert Numbered List Вставить нумерованный список - Indent Увеличить отступ - Outdent Уменьшить отступ - Center По центру - Justify По ширине - Align Left По левому краю - Align Right По правому краю - Submit default label for Submit buttons in forms on web pages Отправить - Submit Submit (input element) alt text for <input> elements with no alt, title, or value Отправить - Reset default label for Reset buttons in forms on web pages Сбросить - This is a searchable index. Enter search keywords: text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index' Индекс поиска. Введите ключевые слова для поиска: - Choose File title for file button used in HTML forms Обзор... - No file selected text to display in file button used in HTML forms when no file is selected Файл не указан - Open in New Window Open in New Window context menu item Открыть в новом окне - Save Link... Download Linked File context menu item Сохранить по ссылке как... - Copy Link Copy Link context menu item Копировать адрес ссылки - Open Image Open Image in New Window context menu item Открыть изображение - Save Image Download Image context menu item Сохранить изображение - Copy Image Copy Link context menu item - Копировать изображение в буффер обмена + Копировать изображение - Open Frame Open Frame in New Window context menu item Открыть фрейм - Copy Copy context menu item Копировать - Go Back Back context menu item Назад - Go Forward Forward context menu item Вперёд - Stop Stop context menu item Остановить - Reload Reload context menu item Обновить - Cut Cut context menu item Вырезать - Paste Paste context menu item Вставить - No Guesses Found No Guesses Found context menu item Совпадений не найдено - Ignore Ignore Spelling context menu item ?Пропускать Пропустить - Add To Dictionary Learn Spelling context menu item Добавить в словарь - Search The Web Search The Web context menu item Искать в Интернет - Look Up In Dictionary Look Up in Dictionary context menu item Искать в словаре - Open Link Open Link context menu item Открыть ссылку - Ignore Ignore Grammar context menu item ?Пропускать Пропустить - Spelling Spelling and Grammar context sub-menu item Орфография - Show Spelling and Grammar menu item title Показать панель проверки правописания - Hide Spelling and Grammar menu item title Скрыть панель проверки правописания - Check Spelling Check spelling context menu item Проверка орфографии - Check Spelling While Typing Check spelling while typing context menu item Проверять орфографию при наборе текста - Check Grammar With Spelling Check grammar with spelling context menu item Проверять грамматику с орфографией - Fonts Font context sub-menu item Шрифты - Bold Bold context menu item Жирный - Italic Italic context menu item Курсив - Underline Underline context menu item Подчёркнутый - Outline Outline context menu item Перечёркнутый - Direction Writing direction context sub-menu item Направление письма - Text Direction Text direction context sub-menu item Направление текста - Default Default writing direction context menu item По умолчанию - Left to Right Left to Right context menu item Слева направо - Right to Left Right to Left context menu item Справа налево - Inspect Inspect Element context menu item Проверить - No recent searches Label for only item in menu that appears when clicking on the search field image, when no searches have been performed История поиска пуста - Recent searches label for first item in the menu that appears when clicking on the search field image, used as embedded menu title История поиска - Clear recent searches menu item in Recent Searches menu that empties menu's contents Очистить историю поиска - Missing Plug-in Label text to be used when a plug-in is missing Модуль отсутствует - Unknown Unknown filesize FTP directory listing item Неизвестно - %1 (%2x%3 pixels) Title string for images %1 (%2x%3 px) - Loading... Media controller status message when the media is loading Загрузка... - Live Broadcast Media controller status message when watching a live broadcast Потоковое вещание - Audio Element Media controller element Аудио-элемент - Video Element Media controller element Видео-элемент - Mute Button Media controller element Кнопка "Отключить звук" - Unmute Button Media controller element Кнопка "Включить звук" - Play Button Media controller element Кнопка "Воспроизведение" - Pause Button Media controller element Кнопка "Пауза" - Slider Media controller element Регулятор - Slider Thumb Media controller element Указатель регулятора - Rewind Button Media controller element Кнопка "Перемотка назад" - Return to Real-time Button Media controller element Кнопка "Вернуть в реальное время" - Elapsed Time Media controller element Прошло времени - Remaining Time Media controller element Осталось времени - Status Display Media controller element Отображение состояния - Fullscreen Button Media controller element Кнопка "На весь экран" - Seek Forward Button Media controller element Кнопка "Перемотка вперёд" - Seek Back Button Media controller element Кнопка "Перемотка назад" - Audio element playback controls and status display Media controller element Элементы управления воспроизведением звука и отображением состояния - Video element playback controls and status display Media controller element Элементы управления воспроизведением видео и отображением состояния - Mute audio tracks Media controller element Отключить звуковые дорожки - Unmute audio tracks Media controller element Включить звуковые дорожки - Begin playback Media controller element Начать воспроизведение - Pause playback Media controller element Приостановить воспроизведение - Movie time scrubber Media controller element Перемотка - Movie time scrubber thumb Media controller element Позиция перемотки - Rewind movie Media controller element Перемотка в начало - Return streaming movie to real-time Media controller element Возвращает потоковое видео к воспроизведению в реальном времени - Current movie time Media controller element Текущее время фильма - Remaining movie time Media controller element Оставшееся время фильма - Current movie status Media controller element Текущее состояние фильма - Play movie in full-screen mode Media controller element - Воспроизведение фильма в режиме отображения на весь экран + Воспроизведение в режиме отображения на весь экран - Seek quickly back Media controller element Быстрая перемотка назад - Seek quickly forward Media controller element Быстрая перемотка вперёд - Indefinite time Media time description Время не определено - %1 days %2 hours %3 minutes %4 seconds Media time description %1 дней %2 часов %3 минут %4 секунд - %1 hours %2 minutes %3 seconds Media time description %1 часов %2 минут %3 секунд - %1 minutes %2 seconds Media time description %1 минут %2 секунд - %1 seconds Media time description %1 секунд - %n file(s) number of chosen file @@ -9447,7 +7527,6 @@ Please choose a different file name. QWhatsThisAction - What's This? Что это? @@ -9455,7 +7534,6 @@ Please choose a different file name. QWidget - * * @@ -9463,57 +7541,46 @@ Please choose a different file name. QWizard - Cancel Отмена - Help Справка - < &Back < &Назад - &Finish &Завершить - &Help &Справка - Go Back Назад - Continue Продолжить - Commit Передать - Done Готово - &Next &Далее - &Next > &Далее > @@ -9521,69 +7588,54 @@ Please choose a different file name. QWorkspace - &Restore &Восстановить - &Move &Переместить - &Size &Размер - Mi&nimize &Свернуть - Ma&ximize Р&аспахнуть - &Close &Закрыть - Stay on &Top Оставаться &сверху - Minimize Свернуть - Restore Down Восстановить - Close Закрыть - - Sh&ade Св&ернуть в заголовок - - %1 - [%2] %1 - [%2] - &Unshade В&осстановить из заголовка @@ -9591,117 +7643,94 @@ Please choose a different file name. QXml - no error occurred ошибки отсутствуют - error triggered by consumer ошибка вызвана пользователем - unexpected end of file неожиданный конец файла - more than one document type definition указано более одного типа документа - error occurred while parsing element ошибка разбора элемента - tag mismatch тэг не совпадает - error occurred while parsing content ошибка разбора документа - unexpected character неожиданный символ - invalid name for processing instruction некорректное имя директивы разбора - version expected while reading the XML declaration в объявлении XML ожидается параметр version - wrong value for standalone declaration некорректное значение параметра standalone - error occurred while parsing document type definition ошибка разбора объявления типа документа - letter is expected ожидалась буква - error occurred while parsing comment ошибка разбора комментария - error occurred while parsing reference ошибка разбора ссылки - internal general entity reference not allowed in DTD внутренняя ссылка на общий объект недопустима в DTD - external parsed general entity reference not allowed in attribute value внешняя ссылка на общий объект недопустима в значении атрибута - external parsed general entity reference not allowed in DTD внешняя ссылка на общий объект недопустима в DTD - unparsed entity reference in wrong context неразобранная ссылка на объект в неправильном контексте - recursive entities рекурсивные объекты - error in the text declaration of an external entity ошибка в объявлении внешнего объекта - encoding declaration or standalone declaration expected while reading the XML declaration в объявлении XML ожидаются параметры encoding или standalone - standalone declaration expected while reading the XML declaration в объявлении XML ожидается параметр standalone @@ -9709,27 +7738,22 @@ Please choose a different file name. QXmlPatternistCLI - Warning in %1, at line %2, column %3: %4 Предупреждение в %1, в строке %2, столбце %3: %4 - Warning in %1: %2 Предупреждение в %1: %2 - Unknown location Неизвестное расположение - Error %1 in %2, at line %3, column %4: %5 Ошибка %1 в %2, в строке %3, столбце %4: %5 - Error %1 in %2: %3 Ошибка %1 в %2: %3 @@ -9737,184 +7761,142 @@ Please choose a different file name. QXmlStream - - Extra content at end of document. Лишние данные в конце документа. - Invalid entity value. Некорректное значение объекта. - Invalid XML character. Некорректный символ XML. - Sequence ']]>' not allowed in content. Последовательность "]]>" недопустима в содержимом. - Namespace prefix '%1' not declared Префикс пространства имён "%1" не объявлен - Attribute redefined. Атрибут переопределён. - Unexpected character '%1' in public id literal. Неожиданный символ "%1" в литерале открытого идентификатора. - Invalid XML version string. Некорректная строка версии XML. - Unsupported XML version. Неподдерживаемая версия XML. - %1 is an invalid encoding name. %1 - не является корректным названием кодировки. - Encoding %1 is unsupported Кодировка %1 не поддерживается - Standalone accepts only yes or no. Псевдоатрибут "standalone" может принимать только значения "yes" или "no". - Invalid attribute in XML declaration. Некорректный атрибут в объявлении XML. - Premature end of document. Неожиданный конец документа. - Invalid document. Некорректный документ. - Expected Ожидалось - , but got ' , получили ' - Unexpected ' Неожиданное ' - Expected character data. Ожидаются символьные данные. - Recursive entity detected. Обнаружен рекурсивный объект. - Start tag expected. Ожидается открывающий тэг. - XML declaration not at start of document. Объявление XML находится не в начале документа. - NDATA in parameter entity declaration. NDATA в объявлении параметра. - %1 is an invalid processing instruction name. %1 не является корректным названием обрабатываемой инструкции. - Invalid processing instruction name. Некорректное название обрабатываемой инструкции. - - - - Illegal namespace declaration. Некорректное объявление пространства имён. - Invalid XML name. Некорректное имя XML. - Opening and ending tag mismatch. Открывающий тэг не совпадает с закрывающим. - Reference to unparsed entity '%1'. Ссылка на необработанный объект "%1". - - - Entity '%1' not declared. Объект "%1" не объявлен. - Reference to external entity '%1' in attribute value. Ссылка на внешний объект "%1" в значении атрибута. - Invalid character reference. Некорректная символьная ссылка. - - Encountered incorrectly encoded content. Обнаружено некорректно закодированное содержимое. - The standalone pseudo attribute must appear after the encoding. Псевдоатрибут "standalone" должен находиться после указания кодировки. - %1 is an invalid PUBLIC identifier. %1 - некорректный идентификатор PUBLIC. @@ -9922,702 +7904,558 @@ Please choose a different file name. QtXmlPatterns - - At least one component must be present. Должна присутствовать как минимум одна компонента. - %1 is not a valid value of type %2. %1 не является правильным значением типа %2. - When casting to %1 from %2, the source value cannot be %3. При преобразовании %2 в %1 исходное значение не может быть %3. - Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values. Булево значение не может быть вычислено для последовательностей, которые содержат два и более атомарных значения. - The data of a processing instruction cannot contain the string %1 Данные обрабатываемой инструкции не могут содержать строку "%1" - - %1 is an invalid %2 %1 некоррекно для %2 - %1 is not a valid XML 1.0 character. Символ %1 недопустим для XML 1.0. - %1 was called. %1 было вызвано. - In the replacement string, %1 must be followed by at least one digit when not escaped. В замещаемой строке "%1" должно сопровождаться как минимум одной цифрой, если неэкранировано. - In the replacement string, %1 can only be used to escape itself or %2, not %3 В замещаемой строке символ "%1" может использоваться только для экранирования самого себя или "%2", но не "%3" - %1 matches newline characters %1 соответствует символам конца строки - Matches are case insensitive Соответствия регистронезависимы - %1 is an invalid regular expression pattern: %2 %1 - некорректный шаблон регулярного выражения: %2 - It will not be possible to retrieve %1. Будет невозможно восстановить %1. - The default collection is undefined Набор по умолчанию не определён - %1 cannot be retrieved %1 не может быть восстановлен - The item %1 did not match the required type %2. Элемент %1 не соответствует необходимому типу %2. - - %1 is an unknown schema type. %1 является схемой неизвестного типа. - A template with name %1 has already been declared. Шаблон с именем %1 уже был объявлен. - Only one %1 declaration can occur in the query prolog. Только одно объявление %1 может присутствовать в прологе запроса. - The initialization of variable %1 depends on itself Инициализация переменной %1 зависит от себя самой - The variable %1 is unused Переменная %1 не используется - Version %1 is not supported. The supported XQuery version is 1.0. Версия %1 не поддерживается. Поддерживается XQuery версии 1.0. - No function with signature %1 is available Функция с сигнатурой %1 отсутствует - It is not possible to redeclare prefix %1. Невозможно переопределить префикс %1. - Prefix %1 is already declared in the prolog. Префикс %1 уже объявлен в прологе. - The name of an option must have a prefix. There is no default namespace for options. Название опции должно содержать префикс. Нет пространства имён по умолчанию для опций. - The Schema Import feature is not supported, and therefore %1 declarations cannot occur. Возможность импорта схем не поддерживается, следовательно, объявлений %1 быть не должно. - The target namespace of a %1 cannot be empty. Целевое пространство имён %1 не может быть пустым. - The module import feature is not supported Возможность импорта модулей не поддерживается - The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2 Пространство имён пользовательской функции в модуле библиотеки должен соответствовать пространству имён модуля. Другими словами, он должен быть %1 вместо %2 - A function already exists with the signature %1. Функция с сигнатурой %1 уже существует. - No external functions are supported. All supported functions can be used directly, without first declaring them as external Внешние функции не поддерживаются. Все поддерживаемые функции могут использоваться напрямую без первоначального объявления их в качестве внешних - The %1-axis is unsupported in XQuery Ось %1 не поддерживается в XQuery - The namespace URI cannot be the empty string when binding to a prefix, %1. URI пространства имён не может быть пустой строкой при связывании с префиксом %1. - %1 is an invalid namespace URI. %1 - некорректный URI пространства имён. - It is not possible to bind to the prefix %1 Невозможно связать с префиксом %1 - Two namespace declaration attributes have the same name: %1. Два атрибута объявления пространств имён имеют одинаковое имя: %1. - The namespace URI must be a constant and cannot use enclosed expressions. URI пространства имён должен быть константой и не может содержать выражений. - - %1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported. %1 является объявлением атрибута вне области объявлений. Имейте в виду, возможность импорта схем не поддерживается. - empty пусто - zero or one нуль или один - exactly one ровно один - one or more один или более - zero or more нуль или более - The focus is undefined. Фокус не определён. - An attribute by name %1 has already been created. Атрибут с именем %1 уже существует. - Network timeout. Время ожидания сети истекло. - Element %1 can't be serialized because it appears outside the document element. Элемент %1 не может быть сериализован, так как расположен вне документа. - Year %1 is invalid because it begins with %2. Год %1 неверен, так как начинается с %2. - Day %1 is outside the range %2..%3. День %1 вне диапазона %2..%3. - Month %1 is outside the range %2..%3. Месяц %1 вне диапазона %2..%3. - Overflow: Can't represent date %1. Переполнение: Не удаётся представить дату %1. - Day %1 is invalid for month %2. День %1 неверен для месяца %2. - Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; Время 24:%1:%2.%3 некорректно. 24 часа, но минуты, секунды и/или миллисекунды отличны от 0; - Time %1:%2:%3.%4 is invalid. Время %1:%2:%3.%4 некорректно. - Overflow: Date can't be represented. Переполнение: невозможно представить дату. - At least one time component must appear after the %1-delimiter. Как минимум одна компонента времени должна следовать за разделителем '%1'. - - Dividing a value of type %1 by %2 (not-a-number) is not allowed. Деление числа типа %1 на %2 (не числовое выражение) недопустимо. - Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed. Деление числа типа %1 на %2 или %3 (плюс или минус нуль) недопустимо. - Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed. Умножение числа типа %1 на %2 или %3 (плюс-минус бесконечность) недопустимо. - A value of type %1 cannot have an Effective Boolean Value. Значение типа %1 не может быть булевым значением. - Value %1 of type %2 exceeds maximum (%3). Значение %1 типа %2 больше максимума (%3). - Value %1 of type %2 is below minimum (%3). Значение %1 типа %2 меньше минимума (%3). - A value of type %1 must contain an even number of digits. The value %2 does not. Значение типа %1 должно содержать четное количество цифр. Значение %2 этому требованию не удовлетворяет. - %1 is not valid as a value of type %2. Значение %1 некорректно для типа %2. - Operator %1 cannot be used on type %2. Оператор %1 не может использоваться для типа %2. - Operator %1 cannot be used on atomic values of type %2 and %3. Оператор %1 не может использоваться для атомарных значений типов %2 и %3. - The namespace URI in the name for a computed attribute cannot be %1. URI пространства имён в названии рассчитываемого атрибута не может быть %1. - The name for a computed attribute cannot have the namespace URI %1 with the local name %2. Название расчитываемого атрибута не может иметь URI пространства имён %1 с локальным именем %2. - Type error in cast, expected %1, received %2. Ошибка типов в преобразовании, ожидалось %1, получено %2. - When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed. При преобразовании в %1 или производные от него типы исходное значение должно быть того же типа или строковым литералом. Тип %2 недопустим. - A comment cannot contain %1 Комментарий не может содержать %1 - A comment cannot end with a %1. Комментарий не может оканчиваться на %1. - An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place. Узел-атрибут не может быть потомком узла-документа. Атрибут %1 неуместен. - A library module cannot be evaluated directly. It must be imported from a main module. Модуль библиотеки не может использоваться напрямую. Он должен быть импортирован из основного модуля. - No template by name %1 exists. Шаблон с именем %1 отсутствует. - A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type. Значение типа %1 не может быть условием. Условием могут являться числовой и булевый типы. - A positional predicate must evaluate to a single numeric value. Позиционный предикат должен вычисляться как числовое выражение. - The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, %2 is invalid. Целевое имя в обрабатываемой инструкции не может быть %1 в любой комбинации нижнего и верхнего регистров. Имя %2 некорректно. - %1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3. %1 некорректное целевое имя в обрабатываемой инструкции. Имя должно быть значением типа %2, например: %3. - The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two. Последняя часть пути должна содержать узлы или атомарные значения, но не может содержать и то, и другое одновременно. - No namespace binding exists for the prefix %1 Отсутствует привязка к пространству имён для префикса %1 - No namespace binding exists for the prefix %1 in %2 Отсутствует привязка к пространству имён для префикса %1 в %2 - The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration. Первый аргумент %1 не может быть типа %2. Он должен быть числового типа, типа xs:yearMonthDuration или типа xs:dayTimeDuration. - The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. Первый аргумент %1 не может быть типа %2. Он должен быть типа %3, %4 или %5. - The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5. Второй аргумент %1 не может быть типа %2. Он должен быть типа %3, %4 или %5. - If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same. Если оба значения имеют региональные смещения, смещения должны быть одинаковы. %1 и %2 не одинаковы. - %1 must be followed by %2 or %3, not at the end of the replacement string. "%1" должно сопровождаться "%2" или "%3", но не в конце замещаемой строки. - %1 and %2 match the start and end of a line. %1 и %2 соответствуют началу и концу строки. - Whitespace characters are removed, except when they appear in character classes Символы пробелов удалены (за исключением тех, что были в символах классов) - %1 is an invalid flag for regular expressions. Valid flags are: %1 - некорректный флаг регулярного выражения. Допустимые флаги: - If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified. Префикс не должен быть указан, если первый параметр - пустая последовательность или пустая строка (вне пространства имён). Был указан префикс %1. - The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization). Форма нормализации %1 не поддерживается. Поддерживаются только %2, %3, %4, %5 и пустая, т.е. пустая строка (без нормализации). - A zone offset must be in the range %1..%2 inclusive. %3 is out of range. Региональное смещение должно быть в переделах от %1 до %2 включительно. %3 выходит за допустимые пределы. - Required cardinality is %1; got cardinality %2. Необходимо %1 элементов, получено %2. - The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2. Имя кодировки %1 некорректно. Имя кодировки должно содержать только символы латиницы без пробелов и должно удовлетворять регулярному выражению %2. - The keyword %1 cannot occur with any other mode name. Ключевое слово %1 не может встречаться с любым другим названием режима. - No variable with name %1 exists Переменная с именем %1 отсутствует - The value of attribute %1 must be of type %2, which %3 isn't. Значение атрибута %1 должно быть типа %2, но %3 не соответствует данному типу. - The prefix %1 cannot be bound. By default, it is already bound to the namespace %2. Не удаётся связать префикс %1. По умолчанию префикс связан с пространством имён %2. - A variable with name %1 has already been declared. Переменная с именем %1 уже объявлена. - No value is available for the external variable with name %1. Отсутствует значение для внешней переменной с именем %1. - A stylesheet function must have a prefixed name. Функция стилей должна иметь имя с префиксом. - The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases. Пространтсво имён %1 зарезервировано, поэтому пользовательские функции не могут его использовать. Попробуйте предопределённый префикс %2, который существует для подобных ситуаций. - An argument with name %1 has already been declared. Every argument name must be unique. Аргумент с именем %1 уже объявлен. Имя каждого аргумента должно быть уникальным. - When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal. Если функция %1 используется для сравнения внутри шаблона, аргумент должен быть ссылкой на переменную или строковым литералом. - In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching. В шаблоне XSL-T первый аргумент функции %1 должен быть строковым литералом, если функция используется для сравнения. - In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching. В шаблоне XSL-T первый аргумент функции %1 должен быть литералом или ссылкой на переменную, если функция используется для сравнения. - In an XSL-T pattern, function %1 cannot have a third argument. В шаблоне XSL-T у функции %1 не должно быть третьего аргумента. - In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching. В шаблоне XSL-T только функции %1 и %2 могут использоваться для сравнения, но не %3. - In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can. В шаблоне XSL-T не может быть использована ось %1 - только оси %2 или %3. - %1 is an invalid template mode name. %1 не является корректным шаблоном имени режима. - The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide. Имя переменной, связанной с выражением for, должно отличаться от позиционной переменной. Две переменные с именем %1 конфликтуют. - The Schema Validation Feature is not supported. Hence, %1-expressions may not be used. Возможность проверки по схеме не поддерживается. Выражения %1 не могут использоваться. - None of the pragma expressions are supported. Therefore, a fallback expression must be present Ни одно из выражений pragma не поддерживается. Должно существовать запасное выражение - Each name of a template parameter must be unique; %1 is duplicated. Имя каждого параметра шаблона должно быть уникальным, но %1 повторяется. - No function with name %1 is available. Функция с именем %1 отсутствует. - %1 is not a valid numeric literal. %1 не является корректным числовым литералом. - W3C XML Schema identity constraint selector - W3C XML Schema identity constraint field - A construct was encountered which is disallowed in the current language(%1). Встречена конструкция, запрещённая для текущего языка (%1). - Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared). Пространство имён %1 может быть связано только с %2 (в данном случае уже предопределено). - Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared). Префикс %1 может быть связан только с %2 (в данном случае уже предопределено). - An attribute with name %1 has already appeared on this element. Атрибут с именем %1 уже существует для данного элемента. - A direct element constructor is not well-formed. %1 is ended with %2. Прямой конструктор элемента составлен некорректно. %1 заканчивается на %2. - The name %1 does not refer to any schema type. Название %1 не соответствует ни одному типу схемы. - %1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works. %1 - сложный тип. Преобразование к сложным типам невозможно. Однако, преобразование к атомарным типам как %2 работает. - %1 is not an atomic type. Casting is only possible to atomic types. %1 - не атомарный тип. Преобразование возможно только к атомарным типам. - %1 is not a valid name for a processing-instruction. %1 не является корректным названием инструкции обработки. - The name of an extension expression must be in a namespace. Название выражения расширения должно быть в пространстве имён. - Required type is %1, but %2 was found. Требуется тип %1, но обнаружен %2. - Promoting %1 to %2 may cause loss of precision. Преобразование %1 к %2 может снизить точность. - It's not possible to add attributes after any other kind of node. Невозможно добавлять атрибуты после любого другого вида узла. - Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported. Поддерживается только Unicode Codepoint Collation (%1). %2 не поддерживается. - Integer division (%1) by zero (%2) is undefined. Целочисленное деление (%1) на нуль (%2) не определено. - Division (%1) by zero (%2) is undefined. Деление (%1) на нуль (%2) не определено. - Modulus division (%1) by zero (%2) is undefined. Деление по модулю (%1) на нуль (%2) не определено. - %1 takes at most %n argument(s). %2 is therefore invalid. %1 принимает не более %n аргумента. Следовательно, %2 некорректно. @@ -10626,7 +8464,6 @@ Please choose a different file name. - %1 requires at least %n argument(s). %2 is therefore invalid. %1 принимает не менее %n аргумента. Следовательно, %2 некорректно. @@ -10635,1655 +8472,1258 @@ Please choose a different file name. - The root node of the second argument to function %1 must be a document node. %2 is not a document node. Корневой узел второго аргумента функции %1 должен быть документом. %2 не является документом. - The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this) Пространство имён для пользовательских функций не может быть пустым (попробуйте предопределённый префикс %1, который существует для подобных ситуаций) - - A default namespace declaration must occur before function, variable, and option declarations. Объявление пространство имён по умолчанию должно быть до объявления функций, переменных и опций. - Namespace declarations must occur before function, variable, and option declarations. Объявление пространства имён должно быть до объявления функций, переменных и опций. - Module imports must occur before function, variable, and option declarations. Импортируемые модули должны быть указаны до объявления функций, переменных и опций. - %1 is not a whole number of minutes. %1 не является полным количеством минут. - Attribute %1 can't be serialized because it appears at the top level. Атрибут %1 не может быть сериализован, так как присутствует на верхнем уровне. - %1 is an unsupported encoding. Кодировка %1 не поддерживается. - %1 contains octets which are disallowed in the requested encoding %2. %1 содержит октеты, которые недопустимы в требуемой кодировке %2. - The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character. Символ с кодом %1, присутствующий в %2 при использовании кодировки %3, не является допустимым символом XML. - Ambiguous rule match. Неоднозначное соответствие правилу. - In a namespace constructor, the value for a namespace cannot be an empty string. В конструкторе пространства имён значение пространства имён не может быть пустой строкой. - The prefix must be a valid %1, which %2 is not. Префикс должен быть корректным %1, но %2 им не является. - The prefix %1 cannot be bound. Префикс%1 не может быть связан. - Only the prefix %1 can be bound to %2 and vice versa. Только префикс %1 может быть связан с %2 и наоборот. - The parameter %1 is required, but no corresponding %2 is supplied. Необходим параметр %1 , но соответствующего %2 не передано. - The parameter %1 is passed, but no corresponding %2 exists. Передан параметр %1 , но соответствующего %2 не существует. - The URI cannot have a fragment URI не может содержать фрагмент - Element %1 is not allowed at this location. Элемент %1 недопустим в этом месте. - Text nodes are not allowed at this location. Текстовые узлы недопустимы в этом месте. - Parse error: %1 Ошибка разбора: %1 - The value of the XSL-T version attribute must be a value of type %1, which %2 isn't. Значение атрибута версии XSL-T должно быть типа %1, но %2 им не является. - Running an XSL-T 1.0 stylesheet with a 2.0 processor. Выполняется таблица стилей XSL-T 1.0 с обработчиком версии 2.0. - Unknown XSL-T attribute %1. Неизвествный атрибут XSL-T %1. - Attribute %1 and %2 are mutually exclusive. Атрибуты %1 и %2 взаимоисключающие. - In a simplified stylesheet module, attribute %1 must be present. В модуле упрощённой таблицы стилей обязан присутствовать атрибут %1. - If element %1 has no attribute %2, it cannot have attribute %3 or %4. Если элемент %1 не имеет атрибут %2, у него не может быть атрибутов %3 и %4. - Element %1 must have at least one of the attributes %2 or %3. Элемент %1 должен иметь как минимум один из атрибутов %2 или %3. - At least one mode must be specified in the %1-attribute on element %2. Как минимум один режим должен быть указан в атрибуте %1 элемента %2. - Element %1 must come last. Элемент %1 должен идти последним. - At least one %1-element must occur before %2. Как минимум один элемент %1 должен быть перед %2. - Only one %1-element can appear. Должен быть только один элемент %1. - At least one %1-element must occur inside %2. Как минимум один элемент %1 должен быть внутри %2. - When attribute %1 is present on %2, a sequence constructor cannot be used. Если %2 содержит атрибут %1, конструктор последовательности не может быть использован. - Element %1 must have either a %2-attribute or a sequence constructor. Элемент %1 должен иметь атрибут %2 или конструктор последовательности. - When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor. Если параметр необходим, значение по умолчание не может быть передано через атрибут %1 или конструктор последовательности. - Element %1 cannot have children. Элемент %1 не может иметь потомков. - Element %1 cannot have a sequence constructor. Элемент %1 не может иметь конструктор последовательности. - - The attribute %1 cannot appear on %2, when it is a child of %3. У %2 не может быть атрибута %1, когда он является потомком %3. - A parameter in a function cannot be declared to be a tunnel. Параметр функции не может быть объявлен туннелем. - This processor is not Schema-aware and therefore %1 cannot be used. Данный обработчик не работает со схемами, следовательно, %1 не может использоваться. - Top level stylesheet elements must be in a non-null namespace, which %1 isn't. Элементы верхнего уровня таблицы стилей должны быть в пространстве имен, которым %1 не является. - The value for attribute %1 on element %2 must either be %3 or %4, not %5. Значение атрибута %1 элемента %2 должно быть или %3, или %4, но не %5. - Attribute %1 cannot have the value %2. Атрибут %1 не может принимать значение %2. - The attribute %1 can only appear on the first %2 element. Атрибут %1 может быть только у первого элемента %2. - At least one %1 element must appear as child of %2. Как минимум один элемент %1 должен быть в %2. - %1 has inheritance loop in its base type %2. - - Circular inheritance of base type %1. - Circular inheritance of union %1. - %1 is not allowed to derive from %2 by restriction as the latter defines it as final. - %1 is not allowed to derive from %2 by extension as the latter defines it as final. - Base type of simple type %1 cannot be complex type %2. - Simple type %1 cannot have direct base type %2. - - Simple type %1 is not allowed to have base type %2. - Simple type %1 can only have simple atomic type as base type. - Simple type %1 cannot derive from %2 as the latter defines restriction as final. - - Variety of item type of %1 must be either atomic or union. - - Variety of member types of %1 must be atomic. - - %1 is not allowed to derive from %2 by list as the latter defines it as final. - Simple type %1 is only allowed to have %2 facet. - Base type of simple type %1 must have variety of type list. - Base type of simple type %1 has defined derivation by restriction as final. - Item type of base type does not match item type of %1. - - Simple type %1 contains not allowed facet type %2. - - %1 is not allowed to derive from %2 by union as the latter defines it as final. - %1 is not allowed to have any facets. - Base type %1 of simple type %2 must have variety of union. - Base type %1 of simple type %2 is not allowed to have restriction in %3 attribute. - Member type %1 cannot be derived from member type %2 of %3's base type %4. - Derivation method of %1 must be extension because the base type %2 is a simple type. - Complex type %1 has duplicated element %2 in its content model. - Complex type %1 has non-deterministic content. - Attributes of complex type %1 are not a valid extension of the attributes of base type %2: %3. - Content model of complex type %1 is not a valid extension of content model of %2. - Complex type %1 must have simple content. - Complex type %1 must have the same simple type as its base class %2. - Complex type %1 cannot be derived from base type %2%3. - Attributes of complex type %1 are not a valid restriction from the attributes of base type %2: %3. - Complex type %1 with simple content cannot be derived from complex base type %2. - Item type of simple type %1 cannot be a complex type. - Member type of simple type %1 cannot be a complex type. - %1 is not allowed to have a member type with the same name as itself. - - - %1 facet collides with %2 facet. - %1 facet must have the same value as %2 facet of base type. - %1 facet must be equal or greater than %2 facet of base type. - - - - - - - - %1 facet must be less than or equal to %2 facet of base type. - %1 facet contains invalid regular expression - Unknown notation %1 used in %2 facet. - %1 facet contains invalid value %2: %3. - %1 facet cannot be %2 or %3 if %4 facet of base type is %5. - %1 facet cannot be %2 if %3 facet of base type is %4. - - - %1 facet must be less than or equal to %2 facet. - - - %1 facet must be less than %2 facet of base type. - - %1 facet and %2 facet cannot appear together. - - - %1 facet must be greater than %2 facet of base type. - - %1 facet must be less than %2 facet. - - %1 facet must be greater than or equal to %2 facet of base type. - Simple type contains not allowed facet %1. - %1, %2, %3, %4, %5 and %6 facets are not allowed when derived by list. - Only %1 and %2 facets are allowed when derived by union. - - %1 contains %2 facet with invalid data: %3. - Attribute group %1 contains attribute %2 twice. - Attribute group %1 contains two different attributes that both have types derived from %2. - Attribute group %1 contains attribute %2 that has value constraint but type that inherits from %3. - Complex type %1 contains attribute %2 twice. - Complex type %1 contains two different attributes that both have types derived from %2. - Complex type %1 contains attribute %2 that has value constraint but type that inherits from %3. - Element %1 is not allowed to have a value constraint if its base type is complex. - Element %1 is not allowed to have a value constraint if its type is derived from %2. - - Value constraint of element %1 is not of elements type: %2. - Element %1 is not allowed to have substitution group affiliation as it is no global element. - Type of element %1 cannot be derived from type of substitution group affiliation. - Value constraint of attribute %1 is not of attributes type: %2. - Attribute %1 has value constraint but has type derived from %2. - %1 attribute in derived complex type must be %2 like in base type. - Attribute %1 in derived complex type must have %2 value constraint like in base type. - Attribute %1 in derived complex type must have the same %2 value constraint like in base type. - Attribute %1 in derived complex type must have %2 value constraint. - processContent of base wildcard must be weaker than derived wildcard. - - Element %1 exists twice with different types. - Particle contains non-deterministic wildcards. - - Base attribute %1 is required but derived attribute is not. - Type of derived attribute %1 cannot be validly derived from type of base attribute. - Value constraint of derived attribute %1 does not match value constraint of base attribute. - Derived attribute %1 does not exist in the base definition. - Derived attribute %1 does not match the wildcard in the base definition. - Base attribute %1 is required but missing in derived definition. - Derived definition contains an %1 element that does not exists in the base definition - Derived wildcard is not a subset of the base wildcard. - %1 of derived wildcard is not a valid restriction of %2 of base wildcard - Attribute %1 from base type is missing in derived type. - Type of derived attribute %1 differs from type of base attribute. - Base definition contains an %1 element that is missing in the derived definition - %1 references unknown %2 or %3 element %4. - %1 references identity constraint %2 that is no %3 or %4 element. - %1 has a different number of fields from the identity constraint %2 that it references. - Base type %1 of %2 element cannot be resolved. - Item type %1 of %2 element cannot be resolved. - Member type %1 of %2 element cannot be resolved. - - - Type %1 of %2 element cannot be resolved. - Base type %1 of complex type cannot be resolved. - %1 cannot have complex base type that has a %2. - Content model of complex type %1 contains %2 element so it cannot be derived by extension from a non-empty type. - Complex type %1 cannot be derived by extension from %2 as the latter contains %3 element in its content model. - Type of %1 element must be a simple type, %2 is not. - Substitution group %1 of %2 element cannot be resolved. - Substitution group %1 has circular definition. - - Duplicated element names %1 in %2 element. - - - - Reference %1 of %2 element cannot be resolved. - Circular group reference for %1. - %1 element is not allowed in this scope - %1 element cannot have %2 attribute with value other than %3. - %1 element cannot have %2 attribute with value other than %3 or %4. - %1 or %2 attribute of reference %3 does not match with the attribute declaration %4. - Attribute group %1 has circular reference. - %1 attribute in %2 must have %3 use like in base type %4. - Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2. - %1 has attribute wildcard but its base type %2 has not. - Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible. - Enumeration facet contains invalid content: {%1} is not a value of type %2. - Namespace prefix of qualified name %1 is not defined. - - %1 element %2 is not a valid restriction of the %3 element it redefines: %4. - Empty particle cannot be derived from non-empty particle. - Derived particle is missing element %1. - Derived element %1 is missing value constraint as defined in base particle. - Derived element %1 has weaker value constraint than base particle. - Fixed value constraint of element %1 differs from value constraint in base particle. - Derived element %1 cannot be nillable as base element is not nillable. - Block constraints of derived element %1 must not be more weaker than in the base element. - Simple type of derived element %1 cannot be validly derived from base element. - Complex type of derived element %1 cannot be validly derived from base element. - Element %1 is missing in derived particle. - Element %1 does not match namespace constraint of wildcard in base particle. - Wildcard in derived particle is not a valid subset of wildcard in base particle. - processContent of wildcard in derived particle is weaker than wildcard in base particle. - Derived particle allows content that is not allowed in the base particle. - Can not process unknown element %1, expected elements are: %2. - Element %1 is not allowed in this scope, possible elements are: %2. - Child element is missing in that scope, possible child elements are: %1. - Document is not a XML schema. - %1 attribute of %2 element contains invalid content: {%3} is not a value of type %4. - %1 attribute of %2 element contains invalid content: {%3}. - Target namespace %1 of included schema is different from the target namespace %2 as defined by the including schema. - - Target namespace %1 of imported schema is different from the target namespace %2 as defined by the importing schema. - %1 element is not allowed to have the same %2 attribute value as the target namespace %3. - %1 element without %2 attribute is not allowed inside schema without target namespace. - - %1 element is not allowed inside %2 element if %3 attribute is present. - - - %1 element has neither %2 attribute nor %3 child element. - - - - - - - - - - - - - - %1 element with %2 child element must not have a %3 attribute. - %1 attribute of %2 element must be %3 or %4. - %1 attribute of %2 element must have a value of %3. - - %1 attribute of %2 element must have a value of %3 or %4. - - - - - - - - - - - - - - %1 element must not have %2 and %3 attribute together. - - Content of %1 attribute of %2 element must not be from namespace %3. - - %1 attribute of %2 element must not be %3. - %1 attribute of %2 element must have the value %3 because the %4 attribute is set. - Specifying use='prohibited' inside an attribute group has no effect. - %1 element must have either %2 or %3 attribute. - %1 element must have either %2 attribute or %3 or %4 as child element. - %1 element requires either %2 or %3 attribute. - Text or entity references not allowed inside %1 element Текст или ссылка на объект недопустимы в качестве содержимого элемента %1 - - %1 attribute of %2 element must contain %3, %4 or a list of URIs. - %1 element is not allowed in this context. - %1 attribute of %2 element has larger value than %3 attribute. - Prefix of qualified name %1 is not defined. - - %1 attribute of %2 element must either contain %3 or the other values. - Component with ID %1 has been defined previously. - Element %1 already defined. Элемент %1 уже определён. - Attribute %1 already defined. Атрибут %1 уже определён. - Type %1 already defined. Тип %1 уже определён. - Attribute group %1 already defined. - Element group %1 already defined. Группа элементов %1 уже определёна. - Notation %1 already defined. - Identity constraint %1 already defined. - Duplicated facets in simple type %1. - - - %1 is not valid according to %2. %1 некорректно в соответствии с %2. - String content does not match the length facet. - String content does not match the minLength facet. - String content does not match the maxLength facet. - String content does not match pattern facet. - String content is not listed in the enumeration facet. - Signed integer content does not match the maxInclusive facet. - Signed integer content does not match the maxExclusive facet. - Signed integer content does not match the minInclusive facet. - Signed integer content does not match the minExclusive facet. - Signed integer content is not listed in the enumeration facet. - Signed integer content does not match pattern facet. - Signed integer content does not match in the totalDigits facet. - Unsigned integer content does not match the maxInclusive facet. - Unsigned integer content does not match the maxExclusive facet. - Unsigned integer content does not match the minInclusive facet. - Unsigned integer content does not match the minExclusive facet. - Unsigned integer content is not listed in the enumeration facet. - Unsigned integer content does not match pattern facet. - Unsigned integer content does not match in the totalDigits facet. - Double content does not match the maxInclusive facet. - Double content does not match the maxExclusive facet. - Double content does not match the minInclusive facet. - Double content does not match the minExclusive facet. - Double content is not listed in the enumeration facet. - Double content does not match pattern facet. - Decimal content does not match in the fractionDigits facet. - Decimal content does not match in the totalDigits facet. - Date time content does not match the maxInclusive facet. - Date time content does not match the maxExclusive facet. - Date time content does not match the minInclusive facet. - Date time content does not match the minExclusive facet. - Date time content is not listed in the enumeration facet. - Date time content does not match pattern facet. - Duration content does not match the maxInclusive facet. - Duration content does not match the maxExclusive facet. - Duration content does not match the minInclusive facet. - Duration content does not match the minExclusive facet. - Duration content is not listed in the enumeration facet. - Duration content does not match pattern facet. - Boolean content does not match pattern facet. - Binary content does not match the length facet. - Binary content does not match the minLength facet. - Binary content does not match the maxLength facet. - Binary content is not listed in the enumeration facet. - Invalid QName content: %1. Некорректное содержимое QName: %1. - QName content is not listed in the enumeration facet. - QName content does not match pattern facet. - Notation content is not listed in the enumeration facet. - List content does not match length facet. - List content does not match minLength facet. - List content does not match maxLength facet. - List content is not listed in the enumeration facet. - List content does not match pattern facet. - Union content is not listed in the enumeration facet. - Union content does not match pattern facet. - Data of type %1 are not allowed to be empty. - Element %1 is missing child element. - There is one IDREF value with no corresponding ID: %1. - Loaded schema file is invalid. Загруженный файл схемы некорректен. - %1 contains invalid data. %1 содержит некорректные данные. - xsi:schemaLocation namespace %1 has already appeared earlier in the instance document. Пространство имён xsi:schemaLocation %1 уже встречалось ранее в данном документе. - xsi:noNamespaceSchemaLocation cannot appear after the first no-namespace element or attribute. xsi:noNamespaceSchemaLocation не может встречаться после первого не-`namespace` элемента или атрибута. - No schema defined for validation. Схема для проверки не определена. - No definition for element %1 available. Отсутствует определение элемента %1. - - - Specified type %1 is not known to the schema. - Element %1 is not defined in this scope. Элемент %1 не определён в данном контексте. - Declaration for element %1 does not exist. - Element %1 contains invalid content. - Element %1 is declared as abstract. - Element %1 is not nillable. Элемент %1 необнуляемый. - Attribute %1 contains invalid data: %2 - Element contains content although it is nillable. Элемент необнуляемый, т.к. имеет содержимое. - Fixed value constraint not allowed if element is nillable. - Element %1 cannot contain other elements, as it has a fixed content. Элемент %1 не может содержать другие элементы, т.к. имеет статическое содержимое. - Specified type %1 is not validly substitutable with element type %2. - Complex type %1 is not allowed to be abstract. - Element %1 contains not allowed attributes. - - Element %1 contains not allowed child element. - - Content of element %1 does not match its type definition: %2. - - - Content of element %1 does not match defined value constraint. - Element %1 contains not allowed child content. - Element %1 contains not allowed text content. - Element %1 is missing required attribute %2. - Attribute %1 does not match the attribute wildcard. - Declaration for attribute %1 does not exist. - Element %1 contains two attributes of type %2. - Attribute %1 contains invalid content. - Element %1 contains unknown attribute %2. - - Content of attribute %1 does not match its type definition: %2. - - Content of attribute %1 does not match defined value constraint. - Non-unique value found for constraint %1. - Key constraint %1 contains absent fields. - Key constraint %1 contains references nillable element %2. - No referenced value found for key reference %1. - More than one value found for field %1. Для поля %1 найдено более одного значения. - Field %1 has no simple type. - ID value '%1' is not unique. Значение ID "%1" неуникально. - '%1' attribute contains invalid QName content: %2. Атрибут `%1` имеет некорректное содержимое QName: %2. diff --git a/translations/qtconfig_ru.ts b/translations/qtconfig_ru.ts index 2d435e6..7137d21 100644 --- a/translations/qtconfig_ru.ts +++ b/translations/qtconfig_ru.ts @@ -4,151 +4,114 @@ MainWindow - Desktop Settings (Default) Настройки рабочего стола (по умолчанию) - Choose style and palette based on your desktop settings. Выбор стиля и палитры на основе настроек рабочего стола. - On The Spot - - - - Auto (default) Автоматически (по умолчанию) - Choose audio output automatically. Автоматический выбор звукового выхода. - - aRts aRts - Experimental aRts support for GStreamer. Экспериментальная поддержка aRts в GStreamer. - Phonon GStreamer backend not available. Модуль поддержки GStreamer недоступен. - Choose render method automatically Автоматический выбор метода отрисовки - - X11 X11 - Use X11 Overlays Использовать оверлеи X11 - - OpenGL OpenGL - Use OpenGL if available Использовать OpenGL, если возможно - - Software Программный - Use simple software rendering Использовать простую программную отрисовку - No changes to be saved. Нет изменений для сохранения. - Saving changes... Сохранение изменений... - Over The Spot - Off The Spot - Root - Select a Directory Выбор каталога - <h3>%1</h3><br/>Version %2<br/><br/>Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). <h3>%1</h3><br/>Версия %2<br/><br/>Copyright (C) 2010 Корпорация Nokia и/или её дочерние подразделения. - - - Qt Configuration Конфигурация Qt - Save Changes Сохранение изменений - Save changes to settings? Сохранить изменения настроек? - &Yes &Да - &No &Нет - &Cancel От&мена @@ -156,347 +119,278 @@ MainWindowBase - Qt Configuration Конфигурация Qt - Appearance Внешний вид - GUI Style Стиль пользовательского графического интерфейса - Select GUI &Style: &Стиль интерфейса: - Build Palette Палитра - &3-D Effects: Эффекты &3D: - Window Back&ground: &Фон окна: - &Tune Palette... &Настроить палитру... - Please use the KDE Control Center to set the palette. Используйте Центр управления KDE для настройки цветов. - Preview Предпросмотр - Select &Palette: Выбор &палитры: - Active Palette Палитра активных элементов - Inactive Palette Палитра неактивных элементов - Disabled Palette Палитра выключенных элементов - Fonts Шрифты - Default Font Шрифт по умолчанию - &Style: &Начертание: - &Point Size: &Размер: - F&amily: &Шрифт: - Sample Text Текст для примера (Sample Text) - Font Substitution Подстановка шрифтов - S&elect or Enter a Family: &Выберите шрифт для замены: - Current Substitutions: Текущие замены: - Up Выше - Down Ниже - Remove Удалить - Select s&ubstitute Family: &Заменять на шрифт: - Add Добавить - Interface Интерфейс - Feel Settings Настройка указателя - ms мс - &Double Click Interval: &Интервал двойного щелчка: - No blinking Без мигания - &Cursor Flash Time: &Период мигания курсора: - lines строк - Wheel &Scroll Lines: &Прокручивать строк при повороте колёсика: - Resolve symlinks in URLs Разрешать символьные ссылки в URL-ах - GUI Effects Эффекты пользовательского интерфейса - &Enable &Включить - Alt+E Alt+D - &Menu Effect: Эффект &меню: - C&omboBox Effect: Эффект &выпадающего списка: - &ToolTip Effect: Эффект &подсказки: - Tool&Box Effect: Эффект панели &инструментов: - Disable Выключен - Animate Анимация - Fade Затухание - Global Strut Минимальные размеры - Minimum &Width: Минимальная &ширина: - Minimum Hei&ght: Минимальная в&ысота: - pixels пикселей - Enhanced support for languages written right-to-left Расширенная поддержка письма справа налево - XIM Input Style: Стиль ввода XIM: - On The Spot - Over The Spot - Off The Spot - Root - Default Input Method: Метод ввода по умолчанию: - Printer Принтер - Enable Font embedding Разрешить встраивание шрифтов - Font Paths Пути к шрифтам - Browse... Обзор... - Press the <b>Browse</b> button or enter a directory and press Enter to add them to the list. Нажмите кнопку <b>Обзор...</b> или укажите каталог и нажмите Ввод для добавления его в список. - Phonon Phonon - About Phonon О Phonon - Current Version: Текущая версия: - Not available Недоступно - Website: Вэб-сайт: - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -509,12 +403,10 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://phonon.kde.org"><span style=" text-decoration: underline; color:#0000ff;">http://phonon.kde.org</span></a></p></body></html> - About GStreamer О GStreamer - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -527,22 +419,18 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://gstreamer.freedesktop.org/"><span style=" text-decoration: underline; color:#0000ff;">http://gstreamer.freedesktop.org/</span></a></p></body></html> - GStreamer backend settings Настройки модуля GStreamer - Preferred audio sink: Предпочитаемое звуковое устройство: - Preferred render method: Предпочитаемый метод отрисовки: - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -555,57 +443,46 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Внимание: Изменение данных настроек может повлечь невозможность корректного запуска приложений.</span></p></body></html> - &File &Файл - &Help &Справка - &Save &Сохранить - Save Сохранить - Ctrl+S Ctrl+S - E&xit В&ыход - Exit Выход - &About &О программе - About О программе - About &Qt О &Qt - About Qt О Qt @@ -613,207 +490,166 @@ p, li { white-space: pre-wrap; } PaletteEditorAdvancedBase - Tune Palette Настройка палитры - <b>Edit Palette</b><p>Change the palette of the current widget or form.</p><p>Use a generated palette or select colors for each color group and each color role.</p><p>The palette can be tested with different widget layouts in the preview section.</p> <b>Изменение палитры</b><p>Изменение палитры текущего виджета или формы.</p><p>Используйте сформированную палитру или выберите цвета для каждой группы цветов и каждой их роли.</p><p>Палитру можно проверить на виджетах в разных режимах отображения в разделе предпросмотра.</p> - Select &Palette: Выбор &палитры: - Active Palette Палитра активных элементов - Inactive Palette Палитра неактивных элементов - Disabled Palette Палитра выключенных элементов - Auto Автоматически - Build inactive palette from active Создать неактивную палитру из активной - Build disabled palette from active Создать выключенную палитру из активной - Central color &roles Роли &цветов - Choose central color role Выберите роль цвета - <b>Select a color role.</b><p>Available central roles are: <ul> <li>Window - general background color.</li> <li>WindowText - general foreground color. </li> <li>Base - used as background color for e.g. text entry widgets, usually white or another light color. </li> <li>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. </li> <li>Button - general button background color, where buttons need a background different from Window, as in the Macintosh style. </li> <li>ButtonText - a foreground color used with the Button color. </li> <li>Highlight - a color to indicate a selected or highlighted item. </li> <li>HighlightedText - a text color that contrasts to Highlight. </li> <li>BrightText - a text color that is very different from WindowText and contrasts well with e.g. black. </li> </ul> </p> <b>Выбор роли цвета.</b><p>Доступны следующие роли: <ul><li>Window - основной цвет фона.</li> <li>WindowText - основной цвет текста.</li> <li>Base - используется в качестве фона для, например, виджетов с текстовыми полями, обычно, белый или другой светлый цвет.</li> <li>Text - цвет текста используемый совместно с Base. Обычно, он совпадает с WindowText, так как в этом случае получается максимальный контраст и с Window, и с Base.</li> <li>Button - основной цвет фона кнопки, которой требуется цвет отличный от Window, например, в стиле Macintosh.</li> <li>ButtonText - цвет текста используемый совместно с Button.</li> <li>Highlight - цвет для обозначения выбранного или выделенного элемента.</li> <li>HighlightedText - цвет текста контрастирующий с Highlight.</li> <li>BrightText - цвет текста, который отличается от WindowText и хорошо контрастирует с черным.</li></ul></p> - Window - WindowText - Button - Base - Text - BrightText - ButtonText - Highlight - HighlightedText - &Select Color: &Выбор цвета: - Choose a color Выберите цвет - Choose a color for the selected central color role. Выберите цвет для указанной роли. - 3-D shadow &effects Эффекты т&рехмерной тени - Build &from button color Получ&ить из цвета кнопки - Generate shadings Создание полутонов - Check to let 3D-effect colors be calculated from button-color. Включите, чтобы цвета эффекта трёхмерности были получены из цвета кнопки. - Choose 3D-effect color role Выбор роли цвета дял эффекта трёхмерности - <b>Select a color role.</b><p>Available effect roles are: <ul> <li>Light - lighter than Button color. </li> <li>Midlight - between Button and Light. </li> <li>Mid - between Button and Dark. </li> <li>Dark - darker than Button. </li> <li>Shadow - a very dark color. </li> </ul> <b>Выбор роли цвета.</b><p>Доступны следующие роли: <ul> <li>Light - светлее цвета Button. </li> <li>Midlight - среднее между Light и Button. </li> <li>Mid - среднее между Button и Dark. </li> <li>Dark - темнее цвета Button. </li> <li>Shadow - очень темный цвет. </li> </ul> - Light - Midlight - Mid - Dark - Shadow - Select Co&lor: Выбор &цвета: - Choose a color for the selected effect color role. Выбор цвета для указанной роли. - OK Принять - Close dialog and apply all changes. Закрыть окно с применением изменений. - Cancel Отмена - Close dialog and discard all changes. Закрыть окно с отменой изменений. @@ -821,7 +657,6 @@ p, li { white-space: pre-wrap; } PreviewFrame - Desktop settings will only take effect after an application restart. Настройки рабочего стола применятся после перезапуска приложения. @@ -829,62 +664,50 @@ p, li { white-space: pre-wrap; } PreviewWidgetBase - Preview Window Окно предпросмотра - ButtonGroup ButtonGroup - RadioButton1 RadioButton1 - RadioButton2 RadioButton2 - RadioButton3 RadioButton3 - ButtonGroup2 ButtonGroup2 - CheckBox1 CheckBox1 - CheckBox2 CheckBox2 - LineEdit LineEdit - ComboBox ComboBox - PushButton PushButton - <p> <a href="http://qt.nokia.com">http://qt.nokia.com</a> </p> diff --git a/translations/qvfb_ru.ts b/translations/qvfb_ru.ts index 28f7010..a1988de 100644 --- a/translations/qvfb_ru.ts +++ b/translations/qvfb_ru.ts @@ -4,71 +4,54 @@ AnimationSaveWidget - - Record Записать - Reset Сбросить - Save Сохранить - Save in MPEG format (requires netpbm package installed) Сохранить в формат MPEG (требуется установленный пакет netpbm) - - Click record to begin recording. Нажмите "Записать" для начала записи. - - Finished saving. Сохранение завершено. - Paused. Click record to resume, or save if done. Приостановлено. Нажмите "Записать" для продолжения или "Сохранить", если готово. - Pause Пауза - Recording... Идёт запись... - Saving... Сохранение... - - Save animation... Сохранение анимации... - Save canceled. Сохранение отменено. - Save failed! Сохранение не удалось! @@ -76,193 +59,155 @@ Config - Configure Настройка - Size Размер - 176x220 "SmartPhone" 176x220 "SmartPhone" - 240x320 "PDA" 240x320 "PDA" - 320x240 "TV" / "QVGA" 320x240 "TV" / "QVGA" - 640x480 "VGA" 640x480 "VGA" - 800x480 800x480 - 800x600 800x600 - 1024x768 1024x768 - Custom Особый - Depth Глубина - 1 bit monochrome 1 бит (монохромный) - 2 bit grayscale 2 бита (градации серого) - 4 bit grayscale 4 бита (градации серого) - 8 bit 8 бит - 12 (16) bit 12 (16) бит - 15 bit 15 бит - 16 bit 16 бит - 18 bit 18 бит - 24 bit 24 бита - 32 bit 32 бита - 32 bit ARGB 32 бита (ARGB) - Swap red and blue channels Поменять синий и красный каналы - BGR format Формат BGR - Skin Обложка - None Нет - Emulate touch screen (no mouse move) указателя? Эмулировать тачскрин (без перемещения мыши) - Emulate LCD screen (Only with fixed zoom of 3.0 times magnification) Эмулировать ж/к экран (только с 3-х кратным увеличением) - <p>Note that any applications using the virtual framebuffer will be terminated if you change the Size or Depth <i>above</i>. You may freely modify the Gamma <i>below</i>. <p>Имейте в виду, что программы, использующие фрэймбуфер, будут завершены, если изменится <i>размер</i> и/или <i>глубина</i> экрана. - Gamma Гамма - Blue Синий - 1.0 1.0 - Green Зеленый - All Все - Red Красный - Set all to 1.0 Выставить все в 1.0 - &OK &ОК - &Cancel От&мена @@ -270,57 +215,46 @@ DeviceSkin - The image file '%1' could not be loaded. Не удалось загрузить изображение '%1'. - The skin directory '%1' does not contain a configuration file. Каталог обложки '%1' не содержит файла настроек. - The skin configuration file '%1' could not be opened. Не удалось открыть файл настроек обложки '%1'. - The skin configuration file '%1' could not be read: %2 Не удалось прочитать файл настроек обложки '%1': %2 - Syntax error: %1 Синтаксическая ошибка: %1 - The skin "up" image file '%1' does not exist. Файл изображения "up" '%1' не существует. - The skin "down" image file '%1' does not exist. Файл изображения "down" '%1' не существует. - The skin "closed" image file '%1' does not exist. Файл изображения "closed" '%1' не существует. - The skin cursor image file '%1' does not exist. Файл изображения курсора '%1' не существует. - Syntax error in area definition: %1 Синтаксическая ошибка в определении области: %1 - Mismatch in number of areas, expected %1, got %2. Несовпадение количества зон: ожидается %1, указано %2. @@ -328,17 +262,14 @@ QVFb - Browse... Обзор... - Load Custom Skin... Загрузить обложку пользователя... - All QVFB Skins (*.skin) Все обложки QVFB (*.skin) -- cgit v0.12 From 87d8bd31efb2a41c7e95d22ec86904c3bb7fdd79 Mon Sep 17 00:00:00 2001 From: Trever Fischer Date: Wed, 11 Aug 2010 18:58:43 +0200 Subject: Fix some #ifdefs to compile for a specific combination of featuress that was previously unsupported Merge-request: 2444 Reviewed-by: Oswald Buddenhagen --- src/gui/kernel/qapplication_win.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index ec26e81..0c48bfd 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -716,8 +716,10 @@ static void qt_set_windows_updateScrollBar(QWidget *widget) if (QWidget *w = static_cast(o)) qt_set_windows_updateScrollBar(w); } +#ifndef QT_NO_SCROLLBAR if (qobject_cast(widget)) widget->updateGeometry(); +#endif } @@ -1499,6 +1501,7 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa switch (message) { #ifndef Q_WS_WINCE +#ifndef QT_NO_SESSIONMANAGER case WM_QUERYENDSESSION: { if (sm_smActive) // bogus message from windows RETURN(true); @@ -1531,6 +1534,7 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa RETURN(0); } +#endif case WM_DISPLAYCHANGE: if (QApplication::type() == QApplication::Tty) break; @@ -2236,6 +2240,7 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa } break; +#ifndef QT_NO_CONTEXTMENU case WM_CONTEXTMENU: { // it's not VK_APPS or Shift+F10, but a click in the NC area @@ -2264,6 +2269,7 @@ extern "C" LRESULT QT_WIN_CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wPa } break; #endif +#endif case WM_IME_STARTCOMPOSITION: case WM_IME_ENDCOMPOSITION: -- cgit v0.12 From 59d36ea601aef6182cba0e0f5fc56cc102e29c59 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Thu, 12 Aug 2010 11:32:56 +1000 Subject: Fix broken example code Task-number: QTBUG-12839 --- src/declarative/qml/qdeclarativecontext.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp index 3d25291..a58dc6c 100644 --- a/src/declarative/qml/qdeclarativecontext.cpp +++ b/src/declarative/qml/qdeclarativecontext.cpp @@ -80,10 +80,12 @@ QDeclarativeContextPrivate::QDeclarativeContextPrivate() \code QDeclarativeEngine engine; + QStringListModel modelData; QDeclarativeContext *context = new QDeclarativeContext(engine.rootContext()); - context->setContextProperty("myModel", modelData); + context->setContextProperty("myModel", &modelData); - QDeclarativeComponent component(&engine, "ListView { model=myModel }"); + QDeclarativeComponent component(&engine); + component.setData("import Qt 4.7\nListView { model: myModel }", QUrl()); component.create(context); \endcode @@ -104,12 +106,13 @@ QDeclarativeContextPrivate::QDeclarativeContextPrivate() ... }; - MyDataSet *myDataSet = new MyDataSet; + MyDataSet myDataSet; QDeclarativeEngine engine; QDeclarativeContext *context = new QDeclarativeContext(engine.rootContext()); - context->setContextObject(myDataSet); + context->setContextObject(&myDataSet); - QDeclarativeComponent component(&engine, "ListView { model=myModel }"); + QDeclarativeComponent component(&engine); + component.setData("import Qt 4.7\nListView { model: myModel }", QUrl()); component.create(context); \endcode -- cgit v0.12 From ee7c3b576ced47d3b68da1913cdf6995144bddd2 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Thu, 12 Aug 2010 12:38:53 +1000 Subject: Only modify pixmap cache reply when protected by a mutex QTBUG-12729 --- src/declarative/util/qdeclarativepixmapcache.cpp | 2 +- .../qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/declarative/util/qdeclarativepixmapcache.cpp b/src/declarative/util/qdeclarativepixmapcache.cpp index 9ced14f..de2de21 100644 --- a/src/declarative/util/qdeclarativepixmapcache.cpp +++ b/src/declarative/util/qdeclarativepixmapcache.cpp @@ -525,6 +525,7 @@ void QDeclarativePixmapReader::cancel(QDeclarativePixmapReply *reply) mutex.lock(); if (reply->loading) { cancelled.append(reply); + reply->data = 0; // XXX if (threadObject) threadObject->processJobs(); } else { @@ -738,7 +739,6 @@ void QDeclarativePixmapData::release() if (refCount == 0) { if (reply) { - reply->data = 0; reply->reader->cancel(reply); reply = 0; } diff --git a/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp b/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp index 16d2063..6b36224 100644 --- a/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp +++ b/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp @@ -71,6 +71,7 @@ private slots: void parallel(); void parallel_data(); void massive(); + void cancelcrash(); private: QDeclarativeEngine engine; @@ -316,6 +317,15 @@ void tst_qdeclarativepixmapcache::massive() } } +// QTBUG-12729 +void tst_qdeclarativepixmapcache::cancelcrash() +{ + QUrl url("http://127.0.0.1:14452/cancelcrash_notexist.png"); + for (int ii = 0; ii < 1000; ++ii) { + QDeclarativePixmap pix(&engine, url); + } +} + QTEST_MAIN(tst_qdeclarativepixmapcache) #include "tst_qdeclarativepixmapcache.moc" -- cgit v0.12