diff options
58 files changed, 2026 insertions, 667 deletions
@@ -93,7 +93,6 @@ tests/auto/qprocess/fileWriterProcess.txt .com.apple.timemachine.supported tests/auto/qlibrary/libmylib.so* tests/auto/qresourceengine/runtime_resource.rcc -tools/qdoc3/qdoc3* tools/qtestlib/updater/updater* tools/activeqt/testcon/testcon.tlb translations/*.qm @@ -666,6 +666,7 @@ foreach (@modules_to_sync) { #information used after the syncing my $pri_install_classes = ""; my $pri_install_files = ""; + my $pri_install_pfiles = ""; my $libcapitals = $lib; $libcapitals =~ y/a-z/A-Z/; @@ -834,6 +835,10 @@ foreach (@modules_to_sync) { $pri_install_files.= "$pri_install_iheader ";; } } + else { + my $pri_install_iheader = fixPaths($iheader, $current_dir); + $pri_install_pfiles.= "$pri_install_iheader ";; + } } print "header created for $iheader ($header_copies)\n" if($header_copies > 0); } @@ -878,6 +883,7 @@ foreach (@modules_to_sync) { my $headers_pri_contents = ""; $headers_pri_contents .= "SYNCQT.HEADER_FILES = $pri_install_files\n"; $headers_pri_contents .= "SYNCQT.HEADER_CLASSES = $pri_install_classes\n"; + $headers_pri_contents .= "SYNCQT.PRIVATE_HEADER_FILES = $pri_install_pfiles\n"; my $headers_pri_file = "$out_basedir/include/$lib/headers.pri"; if(-e "$headers_pri_file") { open HEADERS_PRI_FILE, "<$headers_pri_file"; diff --git a/config.tests/mac/crc/main.cpp b/config.tests/mac/crc/main.cpp index 894f88b..700a4cd 100644 --- a/config.tests/mac/crc/main.cpp +++ b/config.tests/mac/crc/main.cpp @@ -71,7 +71,7 @@ private: for(int iCodes = 0; iCodes <= 0xFF; iCodes++) { ulTable[iCodes] = Reflect(iCodes, 8) << 24; for(int iPos = 0; iPos < 8; iPos++) { - ulTable[iCodes] = (ulTable[iCodes] << 1) + ulTable[iCodes] = ((ulTable[iCodes] << 1) & 0xffffffff) ^ ((ulTable[iCodes] & (1 << 31)) ? ulPolynomial : 0); } @@ -84,7 +84,7 @@ private: // Swap bit 0 for bit 7, bit 1 For bit 6, etc.... for(int iPos = 1; iPos < (cChar + 1); iPos++) { if(ulReflect & 1) { - ulValue |= (1 << (cChar - iPos)); + ulValue |= (1ul << (cChar - iPos)); } ulReflect >>= 1; } @@ -131,7 +131,7 @@ compilerSupportsFlag() cat >conftest.cpp <<EOF int main() { return 0; } EOF - "$TEST_COMPILER" "$@" -o /dev/null conftest.cpp + "$TEST_COMPILER" "$@" -o conftest.o conftest.cpp ret=$? rm -f conftest.cpp conftest.o return $ret @@ -2894,7 +2894,7 @@ fi # pass on $CFG_SDK to the configure tests. if [ '!' -z "$CFG_SDK" ]; then - MAC_CONFIG_TEST_COMMANDLINE="-sdk $CFG_SDK" + MAC_CONFIG_TEST_COMMANDLINE="$MAC_CONFIG_TEST_COMMANDLINE -sdk $CFG_SDK" fi # find the default framework value diff --git a/doc/src/development/assistant-manual.qdoc b/doc/src/development/assistant-manual.qdoc index 8de500e..5a30e43 100644 --- a/doc/src/development/assistant-manual.qdoc +++ b/doc/src/development/assistant-manual.qdoc @@ -130,7 +130,7 @@ \o -collectionFile <file.qhc> \o Uses the specified collection file instead of the default one. \row - \o -showUrl URL + \o -showUrl <URL> \o Shows the document referenced by URL. \row \o -enableRemoteControl @@ -156,7 +156,12 @@ \o Unregisters the specified compressed help file from the given collection file. \row - \o -setCurrentFilter filter + \o -remove-search-index + \o Purges the help search engine's index. This option is + useful in case the associated index files get corrupted. + \QA will re-index the documentation at the next start-up. + \row + \o -setCurrentFilter <filter> \o Sets the given filter as the active filter. \row \o -quiet diff --git a/projects.pro b/projects.pro index 497acd0..d405a5b 100644 --- a/projects.pro +++ b/projects.pro @@ -48,7 +48,7 @@ for(PROJECT, $$list($$lower($$unique(QT_BUILD_PARTS)))) { contains(QT_BUILD_PARTS, tools) { include(translations/translations.pri) # ts targets } else { - SUBDIRS += tools/linguist/lrelease + !wince*:!symbian:SUBDIRS += tools/linguist/lrelease } SUBDIRS += translations # qm build step } else:isEqual(PROJECT, qmake) { diff --git a/src/corelib/codecs/qtextcodec.h b/src/corelib/codecs/qtextcodec.h index f831700..6170272 100644 --- a/src/corelib/codecs/qtextcodec.h +++ b/src/corelib/codecs/qtextcodec.h @@ -161,7 +161,7 @@ public: QByteArray fromUnicode(const QString& str); QByteArray fromUnicode(const QChar *uc, int len); #ifdef QT3_SUPPORT - QByteArray fromUnicode(const QString& uc, int& lenInOut); + QT3_SUPPORT QByteArray fromUnicode(const QString& uc, int& lenInOut); #endif bool hasFailure() const; private: diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp index 37b0ea1..e4c4e3f 100644 --- a/src/corelib/io/qfsfileengine.cpp +++ b/src/corelib/io/qfsfileengine.cpp @@ -144,7 +144,7 @@ QString QFSFileEnginePrivate::canonicalized(const QString &path) return path; #endif // Mac OS X 10.5.x doesn't support the realpath(X,0) extenstion we use here. -#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC)) || defined(Q_OS_SYMBIAN) +#if defined(Q_OS_LINIX) || defined(Q_OS_SYMBIAN) char *ret = realpath(path.toLocal8Bit().constData(), (char*)0); if (ret) { QString canonicalPath = QDir::cleanPath(QString::fromLocal8Bit(ret)); diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp index 37161bc..c78af3c 100644 --- a/src/corelib/io/qprocess.cpp +++ b/src/corelib/io/qprocess.cpp @@ -275,7 +275,7 @@ QProcessEnvironment &QProcessEnvironment::operator=(const QProcessEnvironment &o */ bool QProcessEnvironment::operator==(const QProcessEnvironment &other) const { - return d->hash == other.d->hash; + return d == other.d || (d && other.d && d->hash == other.d->hash); } /*! @@ -334,6 +334,7 @@ bool QProcessEnvironment::contains(const QString &name) const */ void QProcessEnvironment::insert(const QString &name, const QString &value) { + // d detaches from null d->hash.insert(prepareName(name), prepareValue(value)); } diff --git a/src/corelib/kernel/qcore_unix.cpp b/src/corelib/kernel/qcore_unix.cpp index 5885591..d0dc7be 100644 --- a/src/corelib/kernel/qcore_unix.cpp +++ b/src/corelib/kernel/qcore_unix.cpp @@ -129,7 +129,7 @@ static inline bool time_update(struct timeval *tv, const struct timeval &start, // clock source is monotonic, so we can recalculate how much timeout is left struct timeval now = qt_gettime(); *tv = timeout + start - now; - return true; + return tv->tv_sec >= 0; } int qt_safe_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept, @@ -154,7 +154,8 @@ int qt_safe_select(int nfds, fd_set *fdread, fd_set *fdwrite, fd_set *fdexcept, // recalculate the timeout if (!time_update(&timeout, start, *orig_timeout)) { - // clock reset, fake timeout error + // timeout during update + // or clock reset, fake timeout error return 0; } } diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp index c6eef5e..c305341 100644 --- a/src/corelib/kernel/qeventdispatcher_win.cpp +++ b/src/corelib/kernel/qeventdispatcher_win.cpp @@ -509,7 +509,11 @@ LRESULT CALLBACK qt_GetMessageHook(int code, WPARAM wp, LPARAM lp) } } } +#ifdef Q_OS_WINCE + return 0; +#else return CallNextHookEx(0, code, wp, lp); +#endif } static HWND qt_create_internal_window(const QEventDispatcherWin32 *eventDispatcher) @@ -636,11 +640,13 @@ void QEventDispatcherWin32::createInternalHwnd() return; d->internalHwnd = qt_create_internal_window(this); +#ifndef Q_OS_WINCE // setup GetMessage hook needed to drive our posted events d->getMessageHook = SetWindowsHookEx(WH_GETMESSAGE, (HOOKPROC) qt_GetMessageHook, NULL, GetCurrentThreadId()); if (!d->getMessageHook) { qFatal("Qt: INTERNALL ERROR: failed to install GetMessage hook"); } +#endif // register all socket notifiers QList<int> sockets = (d->sn_read.keys().toSet() @@ -731,6 +737,11 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags) } } if (haveMessage) { +#ifdef Q_OS_WINCE + // WinCE doesn't support hooks at all, so we have to call this by hand :( + (void) qt_GetMessageHook(0, PM_REMOVE, (LPARAM) &msg); +#endif + if (d->internalHwnd == msg.hwnd && msg.message == WM_QT_SENDPOSTEDEVENTS) { if (seenWM_QT_SENDPOSTEDEVENTS) { needWM_QT_SENDPOSTEDEVENTS = true; @@ -1065,9 +1076,11 @@ void QEventDispatcherWin32::closingDown() d->timerVec.clear(); d->timerDict.clear(); +#ifndef Q_OS_WINCE if (d->getMessageHook) UnhookWindowsHookEx(d->getMessageHook); d->getMessageHook = 0; +#endif } bool QEventDispatcherWin32::event(QEvent *e) diff --git a/src/dbus/qdbusargument_p.h b/src/dbus/qdbusargument_p.h index 47c5e62..17302b4 100644 --- a/src/dbus/qdbusargument_p.h +++ b/src/dbus/qdbusargument_p.h @@ -54,7 +54,7 @@ // #include <qdbusargument.h> -#include <qdbus_symbols_p.h> +#include "qdbus_symbols_p.h" QT_BEGIN_NAMESPACE diff --git a/src/dbus/qdbusconnection_p.h b/src/dbus/qdbusconnection_p.h index b65e101..d6f7598 100644 --- a/src/dbus/qdbusconnection_p.h +++ b/src/dbus/qdbusconnection_p.h @@ -67,7 +67,7 @@ #include <QtCore/qvarlengtharray.h> #include <QtCore/qvector.h> -#include <qdbus_symbols_p.h> +#include "qdbus_symbols_p.h" #include <qdbusmessage.h> diff --git a/src/dbus/qdbusconnectioninterface.cpp b/src/dbus/qdbusconnectioninterface.cpp index 0f9a67f..ec61859 100644 --- a/src/dbus/qdbusconnectioninterface.cpp +++ b/src/dbus/qdbusconnectioninterface.cpp @@ -49,7 +49,7 @@ #include <QtCore/QVariant> #include <QtCore/QDebug> -#include <qdbus_symbols_p.h> // for the DBUS_* constants +#include "qdbus_symbols_p.h" // for the DBUS_* constants QT_BEGIN_NAMESPACE diff --git a/src/dbus/qdbuserror.cpp b/src/dbus/qdbuserror.cpp index 5c2fa2b..a48b878 100644 --- a/src/dbus/qdbuserror.cpp +++ b/src/dbus/qdbuserror.cpp @@ -44,7 +44,7 @@ #include <qdebug.h> #include <qvarlengtharray.h> -#include <qdbus_symbols_p.h> +#include "qdbus_symbols_p.h" #include "qdbusmessage.h" #include "qdbusmessage_p.h" diff --git a/src/dbus/qdbusintegrator_p.h b/src/dbus/qdbusintegrator_p.h index 5b18aca..85c6cb2 100644 --- a/src/dbus/qdbusintegrator_p.h +++ b/src/dbus/qdbusintegrator_p.h @@ -54,7 +54,7 @@ #ifndef QDBUSINTEGRATOR_P_H #define QDBUSINTEGRATOR_P_H -#include <qdbus_symbols_p.h> +#include "qdbus_symbols_p.h" #include "qcoreevent.h" #include "qeventloop.h" diff --git a/src/dbus/qdbusinterface.cpp b/src/dbus/qdbusinterface.cpp index d0a693f..c05e6a9 100644 --- a/src/dbus/qdbusinterface.cpp +++ b/src/dbus/qdbusinterface.cpp @@ -41,7 +41,7 @@ #include "qdbusinterface.h" -#include <qdbus_symbols_p.h> +#include "qdbus_symbols_p.h" #include <QtCore/qpointer.h> #include <QtCore/qstringlist.h> diff --git a/src/dbus/qdbusinterface_p.h b/src/dbus/qdbusinterface_p.h index 3d11af1..a601608 100644 --- a/src/dbus/qdbusinterface_p.h +++ b/src/dbus/qdbusinterface_p.h @@ -54,8 +54,8 @@ #ifndef QDBUSINTERFACEPRIVATE_H #define QDBUSINTERFACEPRIVATE_H -#include <qdbusabstractinterface_p.h> -#include <qdbusmetaobject_p.h> +#include "qdbusabstractinterface_p.h" +#include "qdbusmetaobject_p.h" #include <qdbusinterface.h> QT_BEGIN_NAMESPACE diff --git a/src/dbus/qdbusinternalfilters.cpp b/src/dbus/qdbusinternalfilters.cpp index acd04d3..37110c5 100644 --- a/src/dbus/qdbusinternalfilters.cpp +++ b/src/dbus/qdbusinternalfilters.cpp @@ -41,7 +41,7 @@ #include "qdbusconnection_p.h" -#include <qdbus_symbols_p.h> +#include "qdbus_symbols_p.h" #include <QtCore/qcoreapplication.h> #include <QtCore/qmetaobject.h> #include <QtCore/qstringlist.h> diff --git a/src/dbus/qdbusmessage.cpp b/src/dbus/qdbusmessage.cpp index 4f1950b..a37ba1f 100644 --- a/src/dbus/qdbusmessage.cpp +++ b/src/dbus/qdbusmessage.cpp @@ -44,7 +44,7 @@ #include <qdebug.h> #include <qstringlist.h> -#include <qdbus_symbols_p.h> +#include "qdbus_symbols_p.h" #include "qdbusargument_p.h" #include "qdbuserror.h" diff --git a/src/dbus/qdbusmetatype.cpp b/src/dbus/qdbusmetatype.cpp index 237aea3..afa3bbf 100644 --- a/src/dbus/qdbusmetatype.cpp +++ b/src/dbus/qdbusmetatype.cpp @@ -42,7 +42,7 @@ #include "qdbusmetatype.h" #include <string.h> -#include <qdbus_symbols_p.h> +#include "qdbus_symbols_p.h" #include <qbytearray.h> #include <qglobal.h> diff --git a/src/dbus/qdbusutil.cpp b/src/dbus/qdbusutil.cpp index bf5a739..01b1dbd 100644 --- a/src/dbus/qdbusutil.cpp +++ b/src/dbus/qdbusutil.cpp @@ -41,7 +41,7 @@ #include "qdbusutil_p.h" -#include <qdbus_symbols_p.h> +#include "qdbus_symbols_p.h" #include <QtCore/qstringlist.h> diff --git a/src/dbus/qdbusxmlparser_p.h b/src/dbus/qdbusxmlparser_p.h index 3dbae1b..1a0523b 100644 --- a/src/dbus/qdbusxmlparser_p.h +++ b/src/dbus/qdbusxmlparser_p.h @@ -56,7 +56,7 @@ #include <QtCore/qmap.h> #include <QtXml/qdom.h> #include <qdbusmacros.h> -#include <qdbusintrospection_p.h> +#include "qdbusintrospection_p.h" QT_BEGIN_NAMESPACE diff --git a/src/gui/dialogs/dialogs.pri b/src/gui/dialogs/dialogs.pri index b9fad41..63f64a2 100644 --- a/src/gui/dialogs/dialogs.pri +++ b/src/gui/dialogs/dialogs.pri @@ -28,13 +28,27 @@ HEADERS += \ dialogs/qprintpreviewdialog.h !embedded:mac { - OBJECTIVE_SOURCES += dialogs/qcolordialog_mac.mm \ - dialogs/qfiledialog_mac.mm \ + OBJECTIVE_SOURCES += dialogs/qfiledialog_mac.mm \ dialogs/qfontdialog_mac.mm \ dialogs/qnspanelproxy_mac.mm \ dialogs/qpagesetupdialog_mac.mm \ dialogs/qprintdialog_mac.mm + +# Compile qcolordialog_mac.mm with exception support, disregarding the -no-exceptions +# configure option. (qcolordialog_mac needs to catch exceptions thrown by cocoa) + EXCEPTION_SOURCES = dialogs/qcolordialog_mac.mm + exceptions_compiler.commands = $$QMAKE_CXX -c + exceptions_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} + exceptions_compiler.commands += -fexceptions + exceptions_compiler.dependency_type = TYPE_C + exceptions_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + exceptions_compiler.input = EXCEPTION_SOURCES + exceptions_compiler.variable_out = OBJECTS + exceptions_compiler.name = compiling[exceptopns] ${QMAKE_FILE_IN} + silent:exceptions_compiler.commands = @echo compiling[exceptopns] ${QMAKE_FILE_IN} && $$exceptions_compiler.commands + QMAKE_EXTRA_COMPILERS += exceptions_compiler } + win32 { HEADERS += dialogs/qwizard_win_p.h SOURCES += dialogs/qdialogsbinarycompat_win.cpp \ diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 2af90b8..6176f2d 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -614,6 +614,19 @@ void QGraphicsScenePrivate::removeItemHelper(QGraphicsItem *item) if (item == lastActivePanel) lastActivePanel = 0; + // Cancel active touches + { + QMap<int, QGraphicsItem *>::iterator it = itemForTouchPointId.begin(); + while (it != itemForTouchPointId.end()) { + if (it.value() == item) { + sceneCurrentTouchPoints.remove(it.key()); + it = itemForTouchPointId.erase(it); + } else { + ++it; + } + } + } + // Disable selectionChanged() for individual items ++selectionChanging; int oldSelectedItemsSize = selectedItems.size(); @@ -5680,17 +5693,22 @@ bool QGraphicsScenePrivate::sendTouchBeginEvent(QGraphicsItem *origin, QTouchEve touchEvent->setAccepted(acceptTouchEvents); res = acceptTouchEvents && sendEvent(item, touchEvent); eventAccepted = touchEvent->isAccepted(); - item->d_ptr->acceptedTouchBeginEvent = (res && eventAccepted); + if (itemForTouchPointId.value(touchEvent->touchPoints().first().id()) == 0) { + // item was deleted + item = 0; + } else { + item->d_ptr->acceptedTouchBeginEvent = (res && eventAccepted); + } touchEvent->spont = false; if (res && eventAccepted) { // the first item to accept the TouchBegin gets an implicit grab. for (int i = 0; i < touchEvent->touchPoints().count(); ++i) { const QTouchEvent::TouchPoint &touchPoint = touchEvent->touchPoints().at(i); - itemForTouchPointId[touchPoint.id()] = item; + itemForTouchPointId[touchPoint.id()] = item; // can be zero } break; } - if (item->isPanel()) + if (item && item->isPanel()) break; } diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp index 9f4cd0c..8c63968 100644 --- a/src/gui/kernel/qapplication.cpp +++ b/src/gui/kernel/qapplication.cpp @@ -4092,9 +4092,15 @@ bool QApplication::notify(QObject *receiver, QEvent *e) bool acceptTouchEvents = widget->testAttribute(Qt::WA_AcceptTouchEvents); touchEvent->setWidget(widget); touchEvent->setAccepted(acceptTouchEvents); + QWeakPointer<QWidget> p = widget; res = acceptTouchEvents && d->notify_helper(widget, touchEvent); eventAccepted = touchEvent->isAccepted(); - widget->setAttribute(Qt::WA_WState_AcceptedTouchBeginEvent, res && eventAccepted); + if (p.isNull()) { + // widget was deleted + widget = 0; + } else { + widget->setAttribute(Qt::WA_WState_AcceptedTouchBeginEvent, res && eventAccepted); + } touchEvent->spont = false; if (res && eventAccepted) { // the first widget to accept the TouchBegin gets an implicit grab. @@ -4103,7 +4109,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e) d->widgetForTouchPointId[touchPoint.id()] = widget; } break; - } else if (widget->isWindow() || widget->testAttribute(Qt::WA_NoMousePropagation)) { + } else if (p.isNull() || widget->isWindow() || widget->testAttribute(Qt::WA_NoMousePropagation)) { break; } QPoint offset = widget->pos(); diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm index 1907cca..7dc4d85 100644 --- a/src/gui/kernel/qwidget_mac.mm +++ b/src/gui/kernel/qwidget_mac.mm @@ -3654,6 +3654,16 @@ void QWidgetPrivate::setFocus_sys() } } +NSComparisonResult compareViews2Raise(id view1, id view2, void *context) +{ + id topView = reinterpret_cast<id>(context); + if (view1 == topView) + return NSOrderedDescending; + if (view2 == topView) + return NSOrderedAscending; + return NSOrderedSame; +} + void QWidgetPrivate::raise_sys() { Q_Q(QWidget); @@ -3661,7 +3671,6 @@ void QWidgetPrivate::raise_sys() return; #if QT_MAC_USE_COCOA - QMacCocoaAutoReleasePool pool; if (isRealWindow()) { // Calling orderFront shows the window on Cocoa too. if (!q->testAttribute(Qt::WA_DontShowOnScreen) && q->isVisible()) { @@ -3673,16 +3682,9 @@ void QWidgetPrivate::raise_sys() SetFrontProcessWithOptions(&psn, kSetFrontProcessFrontWindowOnly); } } else { - // Cocoa doesn't really have an idea of Z-ordering, but you can - // fake it by changing the order of it. But beware, removing an - // NSView will also remove it as the first responder. So we re-set - // the first responder just in case: NSView *view = qt_mac_nativeview_for(q); NSView *parentView = [view superview]; - NSResponder *firstResponder = [[view window] firstResponder]; - [view removeFromSuperview]; - [parentView addSubview:view]; - [[view window] makeFirstResponder:firstResponder]; + [parentView sortSubviewsUsingFunction:compareViews2Raise context:reinterpret_cast<void *>(view)]; } #else if(q->isWindow()) { @@ -3700,47 +3702,29 @@ void QWidgetPrivate::raise_sys() #endif } +NSComparisonResult compareViews2Lower(id view1, id view2, void *context) +{ + id topView = reinterpret_cast<id>(context); + if (view1 == topView) + return NSOrderedAscending; + if (view2 == topView) + return NSOrderedDescending; + return NSOrderedSame; +} + void QWidgetPrivate::lower_sys() { Q_Q(QWidget); if((q->windowType() == Qt::Desktop)) return; #ifdef QT_MAC_USE_COCOA - QMacCocoaAutoReleasePool pool; if (isRealWindow()) { OSWindowRef window = qt_mac_window_for(q); [window orderBack:window]; } else { - // Cocoa doesn't really have an idea of Z-ordering, but you can - // fake it by changing the order of it. In this case - // we put the item at the beginning of the list, but that means - // we must re-insert everything since we cannot modify the list directly. - NSView *myview = qt_mac_nativeview_for(q); - NSView *parentView = [myview superview]; - NSArray *tmpViews = [parentView subviews]; - NSMutableArray *subviews = [[NSMutableArray alloc] initWithCapacity:[tmpViews count]]; - [subviews addObjectsFromArray:tmpViews]; - NSResponder *firstResponder = [[myview window] firstResponder]; - // Implicit assumption that myViewIndex is included in subviews, that's why I'm not checking - // myViewIndex. - NSUInteger index = 0; - NSUInteger myViewIndex = 0; - bool foundMyView = false; - for (NSView *subview in subviews) { - [subview removeFromSuperview]; - if (subview == myview) { - foundMyView = true; - myViewIndex = index; - } - ++index; - } - [parentView addSubview:myview]; - if (foundMyView) - [subviews removeObjectAtIndex:myViewIndex]; - for (NSView *subview in subviews) - [parentView addSubview:subview]; - [subviews release]; - [[myview window] makeFirstResponder:firstResponder]; + NSView *view = qt_mac_nativeview_for(q); + NSView *parentView = [view superview]; + [parentView sortSubviewsUsingFunction:compareViews2Lower context:reinterpret_cast<void *>(view)]; } #else if(q->isWindow()) { @@ -3753,6 +3737,16 @@ void QWidgetPrivate::lower_sys() #endif } +NSComparisonResult compareViews2StackUnder(id view1, id view2, void *context) +{ + const QHash<NSView *, int> &viewOrder = *reinterpret_cast<QHash<NSView *, int> *>(context); + if (viewOrder[view1] < viewOrder[view2]) + return NSOrderedAscending; + if (viewOrder[view1] > viewOrder[view2]) + return NSOrderedDescending; + return NSOrderedSame; +} + void QWidgetPrivate::stackUnder_sys(QWidget *w) { // stackUnder @@ -3761,37 +3755,23 @@ void QWidgetPrivate::stackUnder_sys(QWidget *w) return; #ifdef QT_MAC_USE_COCOA // Do the same trick as lower_sys() and put this widget before the widget passed in. - QMacCocoaAutoReleasePool pool; - NSView *myview = qt_mac_nativeview_for(q); + NSView *myView = qt_mac_nativeview_for(q); NSView *wView = qt_mac_nativeview_for(w); - NSView *parentView = [myview superview]; - NSArray *tmpViews = [parentView subviews]; - NSMutableArray *subviews = [[NSMutableArray alloc] initWithCapacity:[tmpViews count]]; - [subviews addObjectsFromArray:tmpViews]; - // Implicit assumption that myViewIndex and wViewIndex is included in subviews, - // that's why I'm not checking myViewIndex. - NSUInteger index = 0; - NSUInteger myViewIndex = 0; - NSUInteger wViewIndex = 0; - for (NSView *subview in subviews) { - [subview removeFromSuperview]; - if (subview == myview) - myViewIndex = index; - else if (subview == wView) - wViewIndex = index; - ++index; - } - index = 0; + QHash<NSView *, int> viewOrder; + NSView *parentView = [myView superview]; + NSArray *subviews = [parentView subviews]; + NSUInteger index = 1; + // make a hash of view->zorderindex and make sure z-value is always odd, + // so that when we modify the order we create a new (even) z-value which + // will not interfere with others. for (NSView *subview in subviews) { - if (index == myViewIndex) - continue; - if (index == wViewIndex) - [parentView addSubview:myview]; - [parentView addSubview:subview]; + viewOrder.insert(subview, index * 2); ++index; } - [subviews release]; + viewOrder[myView] = viewOrder[wView] - 1; + + [parentView sortSubviewsUsingFunction:compareViews2StackUnder context:reinterpret_cast<void *>(&viewOrder)]; #else QWidget *p = q->parentWidget(); if(!p || p != w->parentWidget()) diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp index afa3325..e10bb41 100644 --- a/src/gui/styles/qgtkstyle.cpp +++ b/src/gui/styles/qgtkstyle.cpp @@ -3375,12 +3375,28 @@ QIcon QGtkStyle::standardIconImplementation(StandardPixmap standardIcon, /*! \reimp */ QRect QGtkStyle::subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const { + Q_D(const QGtkStyle); + QRect r = QCleanlooksStyle::subElementRect(element, option, widget); switch (element) { case SE_ProgressBarLabel: case SE_ProgressBarContents: case SE_ProgressBarGroove: return option->rect; + case SE_PushButtonContents: + if (!d->gtk_check_version(2, 10, 0)) { + GtkWidget *gtkButton = d->gtkWidget(QLS("GtkButton")); + GtkBorder *border = 0; + d->gtk_widget_style_get(gtkButton, "inner-border", &border, NULL); + if (border) { + r = option->rect.adjusted(border->left, border->top, -border->right, -border->bottom); + d->gtk_border_free(border); + } else { + r = option->rect.adjusted(1, 1, -1, -1); + } + r = visualRect(option->direction, option->rect, r); + } + break; default: break; } diff --git a/src/gui/styles/qgtkstyle_p.cpp b/src/gui/styles/qgtkstyle_p.cpp index 22dfc62..a644a5b 100644 --- a/src/gui/styles/qgtkstyle_p.cpp +++ b/src/gui/styles/qgtkstyle_p.cpp @@ -158,6 +158,7 @@ Ptr_gtk_window_get_type QGtkStylePrivate::gtk_window_get_type = 0; Ptr_gtk_widget_get_type QGtkStylePrivate::gtk_widget_get_type = 0; Ptr_gtk_rc_get_style_by_paths QGtkStylePrivate::gtk_rc_get_style_by_paths = 0; Ptr_gtk_check_version QGtkStylePrivate::gtk_check_version = 0; +Ptr_gtk_border_free QGtkStylePrivate::gtk_border_free = 0; Ptr_pango_font_description_get_size QGtkStylePrivate::pango_font_description_get_size = 0; Ptr_pango_font_description_get_weight QGtkStylePrivate::pango_font_description_get_weight = 0; @@ -416,6 +417,7 @@ void QGtkStylePrivate::resolveGtk() const gtk_widget_get_type =(Ptr_gtk_widget_get_type)libgtk.resolve("gtk_widget_get_type"); gtk_rc_get_style_by_paths =(Ptr_gtk_rc_get_style_by_paths)libgtk.resolve("gtk_rc_get_style_by_paths"); gtk_check_version =(Ptr_gtk_check_version)libgtk.resolve("gtk_check_version"); + gtk_border_free =(Ptr_gtk_border_free)libgtk.resolve("gtk_border_free"); pango_font_description_get_size = (Ptr_pango_font_description_get_size)libgtk.resolve("pango_font_description_get_size"); pango_font_description_get_weight = (Ptr_pango_font_description_get_weight)libgtk.resolve("pango_font_description_get_weight"); pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family"); diff --git a/src/gui/styles/qgtkstyle_p.h b/src/gui/styles/qgtkstyle_p.h index f6ab8a3..c27308f 100644 --- a/src/gui/styles/qgtkstyle_p.h +++ b/src/gui/styles/qgtkstyle_p.h @@ -176,6 +176,7 @@ typedef GtkWidget* (*Ptr_gtk_file_chooser_dialog_new)(const gchar *title, typedef void (*Ptr_gtk_file_chooser_set_current_name) (GtkFileChooser *, const gchar *); typedef gboolean (*Ptr_gtk_file_chooser_set_filename) (GtkFileChooser *chooser, const gchar *name); typedef gint (*Ptr_gtk_dialog_run) (GtkDialog*); +typedef void (*Ptr_gtk_border_free)(GtkBorder *); typedef guchar* (*Ptr_gdk_pixbuf_get_pixels) (const GdkPixbuf *pixbuf); typedef int (*Ptr_gdk_pixbuf_get_width) (const GdkPixbuf *pixbuf); @@ -371,6 +372,7 @@ public: static Ptr_gtk_widget_get_type gtk_widget_get_type; static Ptr_gtk_rc_get_style_by_paths gtk_rc_get_style_by_paths; static Ptr_gtk_check_version gtk_check_version; + static Ptr_gtk_border_free gtk_border_free; static Ptr_pango_font_description_get_size pango_font_description_get_size; static Ptr_pango_font_description_get_weight pango_font_description_get_weight; diff --git a/src/gui/util/qsystemtrayicon.cpp b/src/gui/util/qsystemtrayicon.cpp index c6ea00f..6f2b501 100644 --- a/src/gui/util/qsystemtrayicon.cpp +++ b/src/gui/util/qsystemtrayicon.cpp @@ -380,6 +380,9 @@ bool QSystemTrayIcon::supportsMessages() On Windows, the \a millisecondsTimeoutHint is usually ignored by the system when the application has focus. + On Mac OS X, the Growl notification system must be installed for this function to + display messages. + \sa show() supportsMessages() */ void QSystemTrayIcon::showMessage(const QString& title, const QString& msg, diff --git a/src/gui/util/qsystemtrayicon_mac.mm b/src/gui/util/qsystemtrayicon_mac.mm index b74ca85..93295a7 100644 --- a/src/gui/util/qsystemtrayicon_mac.mm +++ b/src/gui/util/qsystemtrayicon_mac.mm @@ -314,8 +314,22 @@ QT_END_NAMESPACE { Q_UNUSED(notification); down = NO; + + if( ![self icon]->icon().isNull() ) { +#ifndef QT_MAC_USE_COCOA + const short scale = GetMBarHeight()-4; +#else + CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight]; + const short scale = hgt - 4; +#endif + NSImage *nsimage = static_cast<NSImage *>(qt_mac_create_nsimage([self icon]->icon().pixmap(QSize(scale, scale)))); + [self setImage: nsimage]; + [nsimage release]; + } + if([self icon]->contextMenu()) [self icon]->contextMenu()->hide(); + [self setNeedsDisplay:YES]; } @@ -327,6 +341,20 @@ QT_END_NAMESPACE [self icon]->contextMenu()->hide(); [self setNeedsDisplay:YES]; +#ifndef QT_MAC_USE_COCOA + const short scale = GetMBarHeight()-4; +#else + CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight]; + const short scale = hgt - 4; +#endif + + if( down && ![self icon]->icon().isNull() ) { + NSImage *nsaltimage = static_cast<NSImage *>(qt_mac_create_nsimage([self icon]->icon().pixmap(QSize(scale, scale), QIcon::Selected))); + [self setImage: nsaltimage]; + [nsaltimage release]; + } + + if (down) [parent triggerSelector:self]; else if ((clickCount%2)) diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp index c91c608..923f2e3 100644 --- a/src/network/access/qnetworkrequest.cpp +++ b/src/network/access/qnetworkrequest.cpp @@ -49,6 +49,9 @@ #include "QtCore/qdatetime.h" #include <ctype.h> +#ifndef QT_NO_DATESTRING +# include <stdio.h> +#endif QT_BEGIN_NAMESPACE diff --git a/src/qt_install.pri b/src/qt_install.pri index ebeac8d..5b29942 100644 --- a/src/qt_install.pri +++ b/src/qt_install.pri @@ -30,6 +30,12 @@ qt_install_headers { targ_headers.files = $$INSTALL_HEADERS targ_headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET INSTALLS += targ_headers + + contains(QT_CONFIG,private_tests) { + private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES + private_headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET/private + INSTALLS += private_headers + } } embedded:equals(TARGET, QtGui) { diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index b6aa872..1879367 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -33,6 +33,7 @@ #include "qscriptvalue_p.h" #include "qscriptvalueiterator.h" #include "qscriptclass.h" +#include "qscriptcontextinfo.h" #include "qscriptprogram.h" #include "qscriptprogram_p.h" #include "qdebug.h" @@ -698,9 +699,9 @@ JSC::JSValue JSC_HOST_CALL functionQsTr(JSC::ExecState *exec, JSC::JSObject*, JS return JSC::throwError(exec, JSC::GeneralError, "qsTranslate(): third argument (n) must be a number"); #ifndef QT_NO_QOBJECT QString context; -// ### implement context resolution -// if (ctx->parentContext()) -// context = QFileInfo(ctx->parentContext()->fileName()).baseName(); + QScriptContext *ctx = QScriptEnginePrivate::contextForFrame(exec); + if (ctx && ctx->parentContext()) + context = QFileInfo(QScriptContextInfo(ctx->parentContext()).fileName()).baseName(); #endif QString text(args.at(0).toString(exec)); #ifndef QT_NO_QOBJECT diff --git a/src/sql/drivers/sqlite/qsql_sqlite.cpp b/src/sql/drivers/sqlite/qsql_sqlite.cpp index 8355de2..c62f15c 100644 --- a/src/sql/drivers/sqlite/qsql_sqlite.cpp +++ b/src/sql/drivers/sqlite/qsql_sqlite.cpp @@ -122,14 +122,14 @@ public: sqlite3_stmt *stmt; - uint skippedStatus: 1; // the status of the fetchNext() that's skipped - uint skipRow: 1; // skip the next fetchNext()? - uint utf8: 1; + bool skippedStatus; // the status of the fetchNext() that's skipped + bool skipRow; // skip the next fetchNext()? QSqlRecord rInf; + QVector<QVariant> firstRow; }; QSQLiteResultPrivate::QSQLiteResultPrivate(QSQLiteResult* res) : q(res), access(0), - stmt(0), skippedStatus(false), skipRow(false), utf8(false) + stmt(0), skippedStatus(false), skipRow(false) { } @@ -189,10 +189,17 @@ bool QSQLiteResultPrivate::fetchNext(QSqlCachedResult::ValueCache &values, int i // already fetched Q_ASSERT(!initialFetch); skipRow = false; + for(int i=0;i<firstRow.count();i++) + values[i]=firstRow[i]; return skippedStatus; } skipRow = initialFetch; + if(initialFetch) { + firstRow.clear(); + firstRow.resize(sqlite3_column_count(stmt)); + } + if (!stmt) { q->setLastError(QSqlError(QCoreApplication::translate("QSQLiteResult", "Unable to fetch row"), QCoreApplication::translate("QSQLiteResult", "No query"), QSqlError::ConnectionError)); @@ -399,7 +406,7 @@ bool QSQLiteResult::exec() "Parameter count mismatch"), QString(), QSqlError::StatementError)); return false; } - d->skippedStatus = d->fetchNext(cache(), 0, true); + d->skippedStatus = d->fetchNext(d->firstRow, 0, true); if (lastError().isValid()) { setSelect(false); setActive(false); diff --git a/src/sql/kernel/qsqlcachedresult.cpp b/src/sql/kernel/qsqlcachedresult.cpp index b4a9241..2e4d19e 100644 --- a/src/sql/kernel/qsqlcachedresult.cpp +++ b/src/sql/kernel/qsqlcachedresult.cpp @@ -278,6 +278,11 @@ bool QSqlCachedResult::cacheNext() if (d->atEnd) return false; + if(isForwardOnly()) { + d->cache.clear(); + d->cache.resize(d->colCount); + } + if (!gotoNext(d->cache, d->nextIndex())) { d->revertLast(); d->atEnd = true; diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index 92d29ae..4215e97 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -256,6 +256,7 @@ SUBDIRS += \ qprinter \ qprinterinfo \ qprocess \ + qprocessenvironment \ qprogressbar \ qprogressdialog \ qpropertyanimation \ @@ -442,7 +443,6 @@ SUBDIRS += \ qsharedmemory \ qsidebar \ qsizegrip \ - qsoftkeymanager \ qsqldriver \ qsystemsemaphore \ qtconcurrentfilter \ @@ -477,6 +477,10 @@ embedded:!wince* { SUBDIRS += qtextpiecetable } +symbian { + SUBDIRS += qsoftkeymanager +} + # Enable the tests specific to QtXmlPatterns. If you add a test, remember to # update runQtXmlPatternsTests.sh too. Remember that this file, auto.pro, is # not respected by some test system, they just have a script which loop over diff --git a/tests/auto/qfileinfo/tst_qfileinfo.cpp b/tests/auto/qfileinfo/tst_qfileinfo.cpp index cd58fd6..1445f5b 100644 --- a/tests/auto/qfileinfo/tst_qfileinfo.cpp +++ b/tests/auto/qfileinfo/tst_qfileinfo.cpp @@ -513,9 +513,11 @@ void tst_QFileInfo::canonicalFilePath() QFileInfo info("/tmp/../../../../../../../../../../../../../../../../../"); info.canonicalFilePath(); +#if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN) // This used to crash on Mac QFileInfo dontCrash(QLatin1String("/")); QCOMPARE(dontCrash.canonicalFilePath(), QLatin1String("/")); +#endif #ifndef Q_OS_WIN // test symlinks diff --git a/tests/auto/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp b/tests/auto/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp index d3087dc..ab110e6 100644 --- a/tests/auto/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp +++ b/tests/auto/qgraphicslinearlayout/tst_qgraphicslinearlayout.cpp @@ -146,7 +146,7 @@ void tst_QGraphicsLinearLayout::initTestCase() { // since the style will influence the results, we have to ensure // that the tests are run using the same style on all platforms -#ifdef Q_WS_S60 +#if defined( Q_WS_S60 )|| defined (Q_WS_WINCE) QApplication::setStyle(new QWindowsStyle); #else QApplication::setStyle(new QPlastiqueStyle); diff --git a/tests/auto/qprocessenvironment/qprocessenvironment.pro b/tests/auto/qprocessenvironment/qprocessenvironment.pro new file mode 100644 index 0000000..398facc --- /dev/null +++ b/tests/auto/qprocessenvironment/qprocessenvironment.pro @@ -0,0 +1,5 @@ +load(qttest_p4) + +QT = core + +SOURCES += tst_qprocessenvironment.cpp diff --git a/tests/auto/qprocessenvironment/tst_qprocessenvironment.cpp b/tests/auto/qprocessenvironment/tst_qprocessenvironment.cpp new file mode 100644 index 0000000..1cde33c --- /dev/null +++ b/tests/auto/qprocessenvironment/tst_qprocessenvironment.cpp @@ -0,0 +1,265 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtTest> +#include <QObject> +#include <QProcessEnvironment> + +// Note: +// in cross-platform tests, ALWAYS use UPPERCASE variable names +// That's because on Windows, the variables are uppercased + +class tst_QProcessEnvironment: public QObject +{ + Q_OBJECT +private slots: + void operator_eq(); + void clearAndIsEmpty(); + void insert(); + void emptyNull(); + void toStringList(); + + void caseSensitivity(); + void systemEnvironment(); + void putenv(); +}; + +void tst_QProcessEnvironment::operator_eq() +{ + QProcessEnvironment e1; + QVERIFY(e1 == e1); + e1.clear(); + QVERIFY(e1 == e1); + + e1 = QProcessEnvironment(); + QProcessEnvironment e2; + QVERIFY(e1 == e2); + + e1.clear(); + QVERIFY(e1 != e2); + + e2.clear(); + + QVERIFY(e1 == e2); +} + +void tst_QProcessEnvironment::clearAndIsEmpty() +{ + QProcessEnvironment e; + e.insert("FOO", "bar"); + QVERIFY(!e.isEmpty()); + e.clear(); + QVERIFY(e.isEmpty()); +} + +void tst_QProcessEnvironment::insert() +{ + QProcessEnvironment e; + e.insert("FOO", "bar"); + QVERIFY(!e.isEmpty()); + QVERIFY(e.contains("FOO")); + QCOMPARE(e.value("FOO"), QString("bar")); + + e.remove("FOO"); + QVERIFY(!e.contains("FOO")); + QVERIFY(e.value("FOO").isNull()); + + e.clear(); + QVERIFY(!e.contains("FOO")); +} + +void tst_QProcessEnvironment::emptyNull() +{ + QProcessEnvironment e; + + e.insert("FOO", ""); + QVERIFY(e.contains("FOO")); + QVERIFY(e.value("FOO").isEmpty()); + QVERIFY(!e.value("FOO").isNull()); + + e.insert("FOO", QString()); + QVERIFY(e.contains("FOO")); + QVERIFY(e.value("FOO").isEmpty()); + // don't test if it's NULL, since we shall not make a guarantee + + e.remove("FOO"); + QVERIFY(!e.contains("FOO")); +} + +void tst_QProcessEnvironment::toStringList() +{ + QProcessEnvironment e; + QVERIFY(e.isEmpty()); + QVERIFY(e.toStringList().isEmpty()); + + e.insert("FOO", "bar"); + QStringList result = e.toStringList(); + QVERIFY(!result.isEmpty()); + QCOMPARE(result.length(), 1); + QCOMPARE(result.at(0), QString("FOO=bar")); + + e.clear(); + e.insert("BAZ", ""); + result = e.toStringList(); + QCOMPARE(result.at(0), QString("BAZ=")); + + e.insert("FOO", "bar"); + e.insert("A", "bc"); + e.insert("HELLO", "World"); + result = e.toStringList(); + QCOMPARE(result.length(), 4); + + // order is not specified, so use contains() + QVERIFY(result.contains("FOO=bar")); + QVERIFY(result.contains("BAZ=")); + QVERIFY(result.contains("A=bc")); + QVERIFY(result.contains("HELLO=World")); +} + +void tst_QProcessEnvironment::caseSensitivity() +{ + QProcessEnvironment e; + e.insert("foo", "bar"); + +#ifdef Q_OS_WIN + // on Windows, it's uppercased + QVERIFY(e.contains("foo")); + QVERIFY(e.contains("FOO")); + QVERIFY(e.contains("FoO")); + + QCOMPARE(e.value("foo"), QString("bar")); + QCOMPARE(e.value("FOO"), QString("bar")); + QCOMPARE(e.value("FoO"), QString("bar")); + + QStringList list = e.toStringList(); + QCOMPARE(list.at(0), QString("FOO=bar")); +#else + // otherwise, it's case sensitive + QVERIFY(e.contains("foo")); + QVERIFY(!e.contains("FOO")); + + e.insert("FOO", "baz"); + QVERIFY(e.contains("FOO")); + QCOMPARE(e.value("FOO"), QString("baz")); + QCOMPARE(e.value("foo"), QString("bar")); + + QStringList list = e.toStringList(); + QVERIFY(list.contains("foo=bar")); + QVERIFY(list.contains("FOO=baz")); +#endif +} + +void tst_QProcessEnvironment::systemEnvironment() +{ + static const char envname[] = "THIS_ENVIRONMENT_VARIABLE_HOPEFULLY_DOESNT_EXIST"; + QByteArray path = qgetenv("PATH"); + QByteArray nonexistant = qgetenv(envname); + QProcessEnvironment system = QProcessEnvironment::systemEnvironment(); + + QVERIFY(nonexistant.isNull()); + +#ifdef Q_WS_WINCE + // Windows CE has no environment + QVERIFY(path.isEmpty()); + QVERIFY(!system.contains("PATH")); + QVERIFY(system.isEmpty()); +#else + // all other system have environments + if (path.isEmpty()) + QFAIL("Could not find the PATH environment variable -- please correct the test environment"); + + QVERIFY(system.contains("PATH")); + QCOMPARE(system.value("PATH"), QString::fromLocal8Bit(path)); + + QVERIFY(!system.contains(envname)); + +# ifdef Q_OS_WIN + // check case-insensitive too + QVERIFY(system.contains("path")); + QCOMPARE(system.value("path"), QString::fromLocal8Bit(path)); + + QVERIFY(!system.contains(QString(envname).toLower())); +# endif +#endif +} + +void tst_QProcessEnvironment::putenv() +{ +#ifdef Q_WS_WINCE + QSKIP("Windows CE has no environment", SkipAll); +#else + static const char envname[] = "WE_RE_SETTING_THIS_ENVIRONMENT_VARIABLE"; + static bool testRan = false; + + if (testRan) + QFAIL("You cannot run this test more than once, since we modify the environment"); + testRan = true; + + QByteArray valBefore = qgetenv(envname); + if (!valBefore.isNull()) + QFAIL("The environment variable we set in the environment is already set! -- please correct the test environment"); + QProcessEnvironment eBefore = QProcessEnvironment::systemEnvironment(); + + qputenv(envname, "Hello, World"); + QByteArray valAfter = qgetenv(envname); + if (valAfter != "Hello, World") + QSKIP("Could not test: qputenv did not do its job", SkipAll); + + QProcessEnvironment eAfter = QProcessEnvironment::systemEnvironment(); + + QVERIFY(!eBefore.contains(envname)); + QVERIFY(eAfter.contains(envname)); + QCOMPARE(eAfter.value(envname), QString("Hello, World")); + +# ifdef Q_OS_WIN + // check case-insensitive too + QString lower = envname; + lower = lower.toLower(); + QVERIFY(!eBefore.contains(lower)); + QVERIFY(eAfter.contains(lower)); + QCOMPARE(eAfter.value(lower), QString("Hello, World")); +# endif +#endif +} + +QTEST_MAIN(tst_QProcessEnvironment) + +#include "tst_qprocessenvironment.moc" diff --git a/tests/auto/qsharedpointer/tst_qsharedpointer.cpp b/tests/auto/qsharedpointer/tst_qsharedpointer.cpp index ed9206c..0cb08f9 100644 --- a/tests/auto/qsharedpointer/tst_qsharedpointer.cpp +++ b/tests/auto/qsharedpointer/tst_qsharedpointer.cpp @@ -73,6 +73,7 @@ private slots: void forwardDeclaration2(); void memoryManagement(); void downCast(); + void functionCallDownCast(); void upCast(); void qobjectWeakManagement(); void noSharedPointerFromWeakQObject(); @@ -503,6 +504,15 @@ void tst_QSharedPointer::downCast() QCOMPARE(DerivedData::derivedDestructorCounter, destructorCount + 1); } +void functionDataByValue(QSharedPointer<Data> p) { Q_UNUSED(p); }; +void functionDataByRef(const QSharedPointer<Data> &p) { Q_UNUSED(p); }; +void tst_QSharedPointer::functionCallDownCast() +{ + QSharedPointer<DerivedData> p(new DerivedData()); + functionDataByValue(p); + functionDataByRef(p); +} + void tst_QSharedPointer::upCast() { QSharedPointer<Data> baseptr = QSharedPointer<Data>(new DerivedData); diff --git a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp index f840ca6..cb4e103 100644 --- a/tests/auto/qsqldatabase/tst_qsqldatabase.cpp +++ b/tests/auto/qsqldatabase/tst_qsqldatabase.cpp @@ -2493,7 +2493,6 @@ void tst_QSqlDatabase::oci_tables() QString systemTableName("system."+qTableName("mypassword")); QVERIFY_SQL(q, exec("CREATE TABLE "+systemTableName+"(name VARCHAR(20))")); QVERIFY(!db.tables().contains(systemTableName.toUpper())); - qDebug() << db.tables(QSql::SystemTables); QVERIFY(db.tables(QSql::SystemTables).contains(systemTableName.toUpper())); } diff --git a/tests/auto/qtouchevent/tst_qtouchevent.cpp b/tests/auto/qtouchevent/tst_qtouchevent.cpp index f95a5c6..da8721c 100644 --- a/tests/auto/qtouchevent/tst_qtouchevent.cpp +++ b/tests/auto/qtouchevent/tst_qtouchevent.cpp @@ -48,6 +48,7 @@ public: QList<QTouchEvent::TouchPoint> touchBeginPoints, touchUpdatePoints, touchEndPoints; bool seenTouchBegin, seenTouchUpdate, seenTouchEnd; bool acceptTouchBegin, acceptTouchUpdate, acceptTouchEnd; + bool deleteInTouchBegin, deleteInTouchUpdate, deleteInTouchEnd; tst_QTouchEventWidget() : QWidget() @@ -62,6 +63,7 @@ public: touchEndPoints.clear(); seenTouchBegin = seenTouchUpdate = seenTouchEnd = false; acceptTouchBegin = acceptTouchUpdate = acceptTouchEnd = true; + deleteInTouchBegin = deleteInTouchUpdate = deleteInTouchEnd = false; } bool event(QEvent *event) @@ -74,6 +76,8 @@ public: seenTouchBegin = !seenTouchBegin && !seenTouchUpdate && !seenTouchEnd; touchBeginPoints = static_cast<QTouchEvent *>(event)->touchPoints(); event->setAccepted(acceptTouchBegin); + if (deleteInTouchBegin) + delete this; break; case QEvent::TouchUpdate: if (!seenTouchBegin) qWarning("TouchUpdate: have not seen TouchBegin"); @@ -81,6 +85,8 @@ public: seenTouchUpdate = seenTouchBegin && !seenTouchEnd; touchUpdatePoints = static_cast<QTouchEvent *>(event)->touchPoints(); event->setAccepted(acceptTouchUpdate); + if (deleteInTouchUpdate) + delete this; break; case QEvent::TouchEnd: if (!seenTouchBegin) qWarning("TouchEnd: have not seen TouchBegin"); @@ -88,6 +94,8 @@ public: seenTouchEnd = seenTouchBegin && !seenTouchEnd; touchEndPoints = static_cast<QTouchEvent *>(event)->touchPoints(); event->setAccepted(acceptTouchEnd); + if (deleteInTouchEnd) + delete this; break; default: return QWidget::event(event); @@ -102,13 +110,21 @@ public: QList<QTouchEvent::TouchPoint> touchBeginPoints, touchUpdatePoints, touchEndPoints; bool seenTouchBegin, seenTouchUpdate, seenTouchEnd; bool acceptTouchBegin, acceptTouchUpdate, acceptTouchEnd; + bool deleteInTouchBegin, deleteInTouchUpdate, deleteInTouchEnd; + tst_QTouchEventGraphicsItem **weakpointer; tst_QTouchEventGraphicsItem() - : QGraphicsItem() + : QGraphicsItem(), weakpointer(0) { reset(); } + ~tst_QTouchEventGraphicsItem() + { + if (weakpointer) + *weakpointer = 0; + } + void reset() { touchBeginPoints.clear(); @@ -116,6 +132,7 @@ public: touchEndPoints.clear(); seenTouchBegin = seenTouchUpdate = seenTouchEnd = false; acceptTouchBegin = acceptTouchUpdate = acceptTouchEnd = true; + deleteInTouchBegin = deleteInTouchUpdate = deleteInTouchEnd = false; } QRectF boundingRect() const { return QRectF(0, 0, 10, 10); } @@ -131,6 +148,8 @@ public: seenTouchBegin = !seenTouchBegin && !seenTouchUpdate && !seenTouchEnd; touchBeginPoints = static_cast<QTouchEvent *>(event)->touchPoints(); event->setAccepted(acceptTouchBegin); + if (deleteInTouchBegin) + delete this; break; case QEvent::TouchUpdate: if (!seenTouchBegin) qWarning("TouchUpdate: have not seen TouchBegin"); @@ -138,6 +157,8 @@ public: seenTouchUpdate = seenTouchBegin && !seenTouchEnd; touchUpdatePoints = static_cast<QTouchEvent *>(event)->touchPoints(); event->setAccepted(acceptTouchUpdate); + if (deleteInTouchUpdate) + delete this; break; case QEvent::TouchEnd: if (!seenTouchBegin) qWarning("TouchEnd: have not seen TouchBegin"); @@ -145,6 +166,8 @@ public: seenTouchEnd = seenTouchBegin && !seenTouchEnd; touchEndPoints = static_cast<QTouchEvent *>(event)->touchPoints(); event->setAccepted(acceptTouchEnd); + if (deleteInTouchEnd) + delete this; break; default: return QGraphicsItem::sceneEvent(event); @@ -168,6 +191,8 @@ private slots: void basicRawEventTranslation(); void multiPointRawEventTranslationOnTouchScreen(); void multiPointRawEventTranslationOnTouchPad(); + void deleteInEventHandler(); + void deleteInRawEventTranslation(); }; void tst_QTouchEvent::touchDisabledByDefault() @@ -496,7 +521,7 @@ void tst_QTouchEvent::touchUpdateAndEndNeverPropagate() res = QApplication::sendEvent(view.viewport(), &touchUpdateEvent); QVERIFY(res); // the scene accepts the event, since it found an item to send the event to - QVERIFY(touchUpdateEvent.isAccepted()); + QVERIFY(!touchUpdateEvent.isAccepted()); QVERIFY(child.seenTouchUpdate); QVERIFY(!root.seenTouchUpdate); @@ -510,7 +535,7 @@ void tst_QTouchEvent::touchUpdateAndEndNeverPropagate() res = QApplication::sendEvent(view.viewport(), &touchEndEvent); QVERIFY(res); // the scene accepts the event, since it found an item to send the event to - QVERIFY(touchEndEvent.isAccepted()); + QVERIFY(!touchEndEvent.isAccepted()); QVERIFY(child.seenTouchEnd); QVERIFY(!root.seenTouchEnd); } @@ -1059,6 +1084,225 @@ void tst_QTouchEvent::multiPointRawEventTranslationOnTouchPad() } } +void tst_QTouchEvent::deleteInEventHandler() +{ + // QWidget + { + QWidget window; + tst_QTouchEventWidget *child1, *child2, *child3; + child1 = new tst_QTouchEventWidget; + child2 = new tst_QTouchEventWidget; + child3 = new tst_QTouchEventWidget; + child1->setParent(&window); + child2->setParent(&window); + child3->setParent(&window); + child1->setAttribute(Qt::WA_AcceptTouchEvents); + child2->setAttribute(Qt::WA_AcceptTouchEvents); + child3->setAttribute(Qt::WA_AcceptTouchEvents); + child1->deleteInTouchBegin = true; + child2->deleteInTouchUpdate = true; + child3->deleteInTouchEnd = true; + + QList<QTouchEvent::TouchPoint> touchPoints; + touchPoints.append(QTouchEvent::TouchPoint(0)); + QTouchEvent touchBeginEvent(QEvent::TouchBegin, + QTouchEvent::TouchScreen, + Qt::NoModifier, + Qt::TouchPointPressed, + touchPoints); + QTouchEvent touchUpdateEvent(QEvent::TouchUpdate, + QTouchEvent::TouchScreen, + Qt::NoModifier, + Qt::TouchPointStationary, + touchPoints); + QTouchEvent touchEndEvent(QEvent::TouchEnd, + QTouchEvent::TouchScreen, + Qt::NoModifier, + Qt::TouchPointReleased, + touchPoints); + QWeakPointer<QWidget> p; + bool res; + + touchBeginEvent.ignore(); + p = child1; + res = QApplication::sendEvent(child1, &touchBeginEvent); + // event is handled, but widget should be deleted + QVERIFY(res && touchBeginEvent.isAccepted() && p.isNull()); + + touchBeginEvent.ignore(); + p = child2; + res = QApplication::sendEvent(child2, &touchBeginEvent); + QVERIFY(res && touchBeginEvent.isAccepted() && !p.isNull()); + touchUpdateEvent.ignore(); + res = QApplication::sendEvent(child2, &touchUpdateEvent); + QVERIFY(res && touchUpdateEvent.isAccepted() && p.isNull()); + + touchBeginEvent.ignore(); + p = child3; + res = QApplication::sendEvent(child3, &touchBeginEvent); + QVERIFY(res && touchBeginEvent.isAccepted() && !p.isNull()); + touchUpdateEvent.ignore(); + res = QApplication::sendEvent(child3, &touchUpdateEvent); + QVERIFY(res && touchUpdateEvent.isAccepted() && !p.isNull()); + touchEndEvent.ignore(); + res = QApplication::sendEvent(child3, &touchEndEvent); + QVERIFY(res && touchEndEvent.isAccepted() && p.isNull()); + } + + // QGraphicsView + { + QGraphicsScene scene; + QGraphicsView view(&scene); + tst_QTouchEventGraphicsItem *root, *child1, *child2, *child3; + root = new tst_QTouchEventGraphicsItem; + child1 = new tst_QTouchEventGraphicsItem; + child2 = new tst_QTouchEventGraphicsItem; + child3 = new tst_QTouchEventGraphicsItem; + child1->setParentItem(root); + child2->setParentItem(root); + child3->setParentItem(root); + child1->setZValue(1.); + child2->setZValue(0.); + child3->setZValue(-1.); + child1->setAcceptTouchEvents(true); + child2->setAcceptTouchEvents(true); + child3->setAcceptTouchEvents(true); + child1->deleteInTouchBegin = true; + child2->deleteInTouchUpdate = true; + child3->deleteInTouchEnd = true; + + scene.addItem(root); + view.resize(200, 200); + view.fitInView(scene.sceneRect()); + + QTouchEvent::TouchPoint touchPoint(0); + touchPoint.setState(Qt::TouchPointPressed); + touchPoint.setPos(view.mapFromScene(child1->mapToScene(child1->boundingRect().center()))); + touchPoint.setScreenPos(view.mapToGlobal(touchPoint.pos().toPoint())); + touchPoint.setScenePos(view.mapToScene(touchPoint.pos().toPoint())); + QList<QTouchEvent::TouchPoint> touchPoints; + touchPoints.append(touchPoint); + QTouchEvent touchBeginEvent(QEvent::TouchBegin, + QTouchEvent::TouchScreen, + Qt::NoModifier, + Qt::TouchPointPressed, + touchPoints); + touchPoints[0].setState(Qt::TouchPointMoved); + QTouchEvent touchUpdateEvent(QEvent::TouchUpdate, + QTouchEvent::TouchScreen, + Qt::NoModifier, + Qt::TouchPointMoved, + touchPoints); + touchPoints[0].setState(Qt::TouchPointReleased); + QTouchEvent touchEndEvent(QEvent::TouchEnd, + QTouchEvent::TouchScreen, + Qt::NoModifier, + Qt::TouchPointReleased, + touchPoints); + bool res; + + child1->weakpointer = &child1; + touchBeginEvent.ignore(); + res = QApplication::sendEvent(view.viewport(), &touchBeginEvent); + QVERIFY(res && touchBeginEvent.isAccepted() && !child1); + touchUpdateEvent.ignore(); + res = QApplication::sendEvent(view.viewport(), &touchUpdateEvent); + QVERIFY(res && touchUpdateEvent.isAccepted() && !child1); + touchEndEvent.ignore(); + res = QApplication::sendEvent(view.viewport(), &touchEndEvent); + QVERIFY(res && touchUpdateEvent.isAccepted() && !child1); + + child2->weakpointer = &child2; + touchBeginEvent.ignore(); + res = QApplication::sendEvent(view.viewport(), &touchBeginEvent); + QVERIFY(res && touchBeginEvent.isAccepted() && child2); + touchUpdateEvent.ignore(); + res = QApplication::sendEvent(view.viewport(), &touchUpdateEvent); + QVERIFY(res && !touchUpdateEvent.isAccepted() && !child2); + touchEndEvent.ignore(); + res = QApplication::sendEvent(view.viewport(), &touchEndEvent); + QVERIFY(res && !touchUpdateEvent.isAccepted() && !child2); + + child3->weakpointer = &child3; + res = QApplication::sendEvent(view.viewport(), &touchBeginEvent); + QVERIFY(res && touchBeginEvent.isAccepted() && child3); + res = QApplication::sendEvent(view.viewport(), &touchUpdateEvent); + QVERIFY(res && !touchUpdateEvent.isAccepted() && child3); + res = QApplication::sendEvent(view.viewport(), &touchEndEvent); + QVERIFY(res && !touchEndEvent.isAccepted() && !child3); + + delete root; + } +} + +void tst_QTouchEvent::deleteInRawEventTranslation() +{ + tst_QTouchEventWidget touchWidget; + touchWidget.setAttribute(Qt::WA_AcceptTouchEvents); + touchWidget.setGeometry(100, 100, 300, 300); + + tst_QTouchEventWidget *leftWidget = new tst_QTouchEventWidget; + leftWidget->setParent(&touchWidget); + leftWidget->setAttribute(Qt::WA_AcceptTouchEvents); + leftWidget->setGeometry(0, 100, 100, 100); + leftWidget->deleteInTouchBegin = true; + leftWidget->show(); + + tst_QTouchEventWidget *centerWidget = new tst_QTouchEventWidget; + centerWidget->setParent(&touchWidget); + centerWidget->setAttribute(Qt::WA_AcceptTouchEvents); + centerWidget->setGeometry(100, 100, 100, 100); + centerWidget->deleteInTouchUpdate = true; + centerWidget->show(); + + tst_QTouchEventWidget *rightWidget = new tst_QTouchEventWidget; + rightWidget->setParent(&touchWidget); + rightWidget->setAttribute(Qt::WA_AcceptTouchEvents); + rightWidget->setGeometry(200, 100, 100, 100); + rightWidget->deleteInTouchEnd = true; + rightWidget->show(); + + QPointF leftPos = leftWidget->rect().center(); + QPointF centerPos = centerWidget->rect().center(); + QPointF rightPos = rightWidget->rect().center(); + QPointF leftScreenPos = leftWidget->mapToGlobal(leftPos.toPoint()); + QPointF centerScreenPos = centerWidget->mapToGlobal(centerPos.toPoint()); + QPointF rightScreenPos = rightWidget->mapToGlobal(rightPos.toPoint()); + QRectF screenGeometry = qApp->desktop()->screenGeometry(&touchWidget); + + QWeakPointer<QWidget> pl = leftWidget, pc = centerWidget, pr = rightWidget; + + QList<QTouchEvent::TouchPoint> rawTouchPoints; + rawTouchPoints.append(QTouchEvent::TouchPoint(0)); + rawTouchPoints.append(QTouchEvent::TouchPoint(1)); + rawTouchPoints.append(QTouchEvent::TouchPoint(2)); + rawTouchPoints[0].setState(Qt::TouchPointPressed); + rawTouchPoints[0].setScreenPos(leftScreenPos); + rawTouchPoints[0].setNormalizedPos(normalized(rawTouchPoints[0].pos(), screenGeometry)); + rawTouchPoints[1].setState(Qt::TouchPointPressed); + rawTouchPoints[1].setScreenPos(centerScreenPos); + rawTouchPoints[1].setNormalizedPos(normalized(rawTouchPoints[1].pos(), screenGeometry)); + rawTouchPoints[2].setState(Qt::TouchPointPressed); + rawTouchPoints[2].setScreenPos(rightScreenPos); + rawTouchPoints[2].setNormalizedPos(normalized(rawTouchPoints[2].pos(), screenGeometry)); + + // generate begin events on all widgets, the left widget should die + qt_translateRawTouchEvent(&touchWidget, QTouchEvent::TouchScreen, rawTouchPoints); + QVERIFY(pl.isNull() && !pc.isNull() && !pr.isNull()); + + // generate update events on all widget, the center widget should die + rawTouchPoints[0].setState(Qt::TouchPointMoved); + rawTouchPoints[1].setState(Qt::TouchPointMoved); + rawTouchPoints[2].setState(Qt::TouchPointMoved); + qt_translateRawTouchEvent(&touchWidget, QTouchEvent::TouchScreen, rawTouchPoints); + + // generate end events on all widget, the right widget should die + rawTouchPoints[0].setState(Qt::TouchPointReleased); + rawTouchPoints[1].setState(Qt::TouchPointReleased); + rawTouchPoints[2].setState(Qt::TouchPointReleased); + qt_translateRawTouchEvent(&touchWidget, QTouchEvent::TouchScreen, rawTouchPoints); +} + QTEST_MAIN(tst_QTouchEvent) #include "tst_qtouchevent.moc" diff --git a/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp b/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp index 8d5f6e6..1c787e9 100644 --- a/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp +++ b/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp @@ -72,6 +72,8 @@ private slots: void toStringHandle(); void castValueToQreal(); void nativeCall(); + void translation_data(); + void translation(); }; tst_QScriptEngine::tst_QScriptEngine() @@ -259,5 +261,24 @@ void tst_QScriptEngine::nativeCall() } } +void tst_QScriptEngine::translation_data() +{ + QTest::addColumn<QString>("text"); + QTest::newRow("no translation") << "\"hello world\""; + QTest::newRow("qsTr") << "qsTr(\"hello world\")"; + QTest::newRow("qsTranslate") << "qsTranslate(\"\", \"hello world\")"; +} + +void tst_QScriptEngine::translation() +{ + QFETCH(QString, text); + QScriptEngine engine; + engine.installTranslatorFunctions(); + + QBENCHMARK { + (void)engine.evaluate(text); + } +} + QTEST_MAIN(tst_QScriptEngine) #include "tst_qscriptengine.moc" diff --git a/tests/manual/qwidget_zorder/main.cpp b/tests/manual/qwidget_zorder/main.cpp new file mode 100644 index 0000000..fe8e0a2 --- /dev/null +++ b/tests/manual/qwidget_zorder/main.cpp @@ -0,0 +1,118 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite 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 <QtGui> + +class Widget : public QWidget +{ + Q_OBJECT +public: + Widget() + { + QWidget *stackWidget = new QWidget; + stackWidget->setFixedSize(400, 300); + button = new QPushButton("pushbutton", stackWidget); + plainTextEdit = new QPlainTextEdit(stackWidget); + plainTextEdit->setWordWrapMode(QTextOption::NoWrap); + QString s = "foo bar bar foo foo bar bar foo"; + for (int i = 0; i < 10; ++i) { + plainTextEdit->appendPlainText(s); + s.remove(1, 2); + } + calendar = new QCalendarWidget(stackWidget); + button->move(10, 10); + button->resize(100, 100); + plainTextEdit->move(30, 70); + plainTextEdit->resize(100, 100); + calendar->move(80, 40); + + QWidget *buttonOps = new QWidget; + QVBoxLayout *l = new QVBoxLayout(buttonOps); + QPushButton *lower = new QPushButton("button: lower"); + connect(lower, SIGNAL(clicked()), button, SLOT(lower())); + l->addWidget(lower); + QPushButton *raise = new QPushButton("button: raise"); + connect(raise, SIGNAL(clicked()), button, SLOT(raise())); + l->addWidget(raise); + + lower = new QPushButton("calendar: lower"); + connect(lower, SIGNAL(clicked()), calendar, SLOT(lower())); + l->addWidget(lower); + raise = new QPushButton("calendar: raise"); + connect(raise, SIGNAL(clicked()), calendar, SLOT(raise())); + l->addWidget(raise); + QPushButton *stackUnder = new QPushButton("calendar: stack under textedit"); + connect(stackUnder, SIGNAL(clicked()), this, SLOT(stackCalendarUnderTextEdit())); + l->addWidget(stackUnder); + + lower = new QPushButton("lower textedit"); + connect(lower, SIGNAL(clicked()), plainTextEdit, SLOT(lower())); + l->addWidget(lower); + raise = new QPushButton("raise textedit"); + connect(raise, SIGNAL(clicked()), plainTextEdit, SLOT(raise())); + l->addWidget(raise); + + QHBoxLayout *mainLayout = new QHBoxLayout(this); + mainLayout->addWidget(buttonOps); + mainLayout->addWidget(stackWidget); + } + +private Q_SLOTS: + void stackCalendarUnderTextEdit() + { + calendar->stackUnder(plainTextEdit); + } + +private: + QPushButton *button; + QPlainTextEdit *plainTextEdit; + QCalendarWidget *calendar; +}; + +int main(int argc, char **argv) +{ + QApplication app(argc, argv); + Widget w; + w.show(); + return app.exec(); +} + +#include "main.moc" diff --git a/tests/manual/qwidget_zorder/qwidget_zorder.pro b/tests/manual/qwidget_zorder/qwidget_zorder.pro new file mode 100644 index 0000000..5526f91 --- /dev/null +++ b/tests/manual/qwidget_zorder/qwidget_zorder.pro @@ -0,0 +1,6 @@ +TEMPLATE = app +DEPENDPATH += . +INCLUDEPATH += . + +# Input +SOURCES += main.cpp diff --git a/tools/assistant/lib/qhelpindexwidget.cpp b/tools/assistant/lib/qhelpindexwidget.cpp index 475a1fe..6cf1a72 100644 --- a/tools/assistant/lib/qhelpindexwidget.cpp +++ b/tools/assistant/lib/qhelpindexwidget.cpp @@ -130,6 +130,7 @@ void QHelpIndexProvider::stopCollecting() m_abort = true; m_mutex.unlock(); wait(); + m_abort = false; } QStringList QHelpIndexProvider::indices() const @@ -164,7 +165,6 @@ void QHelpIndexProvider::run() foreach (QString dbFileName, m_helpEngine->fileNameReaderMap.keys()) { m_mutex.lock(); if (m_abort) { - m_abort = false; m_mutex.unlock(); return; } @@ -181,7 +181,6 @@ void QHelpIndexProvider::run() foreach (QString s, lst) indicesSet.insert(s); if (m_abort) { - m_abort = false; m_mutex.unlock(); return; } @@ -194,7 +193,6 @@ void QHelpIndexProvider::run() m_mutex.lock(); m_indices = indicesSet.values(); qSort(m_indices.begin(), m_indices.end(), caseInsensitiveLessThan); - m_abort = false; m_mutex.unlock(); } diff --git a/tools/assistant/tools/assistant/bookmarkmanager.cpp b/tools/assistant/tools/assistant/bookmarkmanager.cpp index 70f3157..523525e 100644 --- a/tools/assistant/tools/assistant/bookmarkmanager.cpp +++ b/tools/assistant/tools/assistant/bookmarkmanager.cpp @@ -69,9 +69,12 @@ BookmarkDialog::BookmarkDialog(BookmarkManager *manager, const QString &title, , m_title(title) , bookmarkManager(manager) { + ui.setupUi(this); + installEventFilter(this); + ui.treeView->installEventFilter(this); + ui.treeView->viewport()->installEventFilter(this); - ui.setupUi(this); ui.bookmarkEdit->setText(title); ui.newFolderButton->setVisible(false); ui.buttonBox->button(QDialogButtonBox::Ok)->setDefault(true); @@ -264,12 +267,14 @@ void BookmarkDialog::currentChanged(const QModelIndex ¤t) bool BookmarkDialog::eventFilter(QObject *object, QEvent *e) { - if (object == this && e->type() == QEvent::KeyPress) { - QKeyEvent *ke = static_cast<QKeyEvent*>(e); + if (object != ui.treeView && object != ui.treeView->viewport()) + return QWidget::eventFilter(object, e); - QModelIndex index = ui.treeView->currentIndex(); + if (e->type() == QEvent::KeyPress) { + QKeyEvent *ke = static_cast<QKeyEvent*>(e); switch (ke->key()) { case Qt::Key_F2: { + const QModelIndex &index = ui.treeView->currentIndex(); const QModelIndex &source = proxyModel->mapToSource(index); QStandardItem *item = bookmarkManager->treeBookmarkModel()->itemFromIndex(source); @@ -281,13 +286,13 @@ bool BookmarkDialog::eventFilter(QObject *object, QEvent *e) } break; case Qt::Key_Delete: { + const QModelIndex &index = ui.treeView->currentIndex(); bookmarkManager->removeBookmarkItem(ui.treeView, proxyModel->mapToSource(index)); ui.bookmarkFolders->clear(); ui.bookmarkFolders->addItems(bookmarkManager->bookmarkFolders()); QString name = tr("Bookmarks"); - index = ui.treeView->currentIndex(); if (index.isValid()) name = index.data().toString(); ui.bookmarkFolders->setCurrentIndex(ui.bookmarkFolders->findText(name)); @@ -297,6 +302,7 @@ bool BookmarkDialog::eventFilter(QObject *object, QEvent *e) break; } } + return QObject::eventFilter(object, e); } @@ -312,7 +318,10 @@ BookmarkWidget::BookmarkWidget(BookmarkManager *manager, QWidget *parent, , bookmarkManager(manager) { setup(showButtons); + installEventFilter(this); + treeView->installEventFilter(this); + treeView->viewport()->installEventFilter(this); } BookmarkWidget::~BookmarkWidget() @@ -484,7 +493,6 @@ void BookmarkWidget::setup(bool showButtons) treeView->setAutoExpandDelay(1000); treeView->setDropIndicatorShown(true); treeView->header()->setVisible(false); - treeView->viewport()->installEventFilter(this); treeView->setContextMenuPolicy(Qt::CustomContextMenu); connect(treeView, SIGNAL(expanded(QModelIndex)), this, @@ -530,59 +538,71 @@ void BookmarkWidget::focusInEvent(QFocusEvent *e) bool BookmarkWidget::eventFilter(QObject *object, QEvent *e) { - if ((object == this) || (object == treeView->viewport())) { - QModelIndex index = treeView->currentIndex(); - if (e->type() == QEvent::KeyPress) { - QKeyEvent *ke = static_cast<QKeyEvent*>(e); - if (index.isValid() && searchField->text().isEmpty()) { + if (object != this && object != treeView + && object != treeView->viewport()) { + return QWidget::eventFilter(object, e); + } + + if (e->type() == QEvent::KeyPress) { + QKeyEvent *ke = static_cast<QKeyEvent*>(e); + const bool tree = object == treeView || object == treeView->viewport(); + switch (ke->key()) { + case Qt::Key_F2: { + const QModelIndex &index = treeView->currentIndex(); const QModelIndex &src = filterBookmarkModel->mapToSource(index); - if (ke->key() == Qt::Key_F2) { - QStandardItem *item = - bookmarkManager->treeBookmarkModel()->itemFromIndex(src); - if (item) { + if (tree && searchField->text().isEmpty()) { + if (QStandardItem *item = bookmarkManager->treeBookmarkModel() + ->itemFromIndex(src)) { item->setEditable(true); treeView->edit(index); item->setEditable(false); } - } else if (ke->key() == Qt::Key_Delete) { - bookmarkManager->removeBookmarkItem(treeView, src); } - } + } break; + + case Qt::Key_Enter: { + case Qt::Key_Return: + if (tree) { + const QString &data = treeView->selectionModel()->currentIndex() + .data(Qt::UserRole + 10).toString(); + if (!data.isEmpty() && data != QLatin1String("Folder")) + emit requestShowLink(data); + } + } break; - switch (ke->key()) { - default: break; - case Qt::Key_Up: { - case Qt::Key_Down: + case Qt::Key_Delete: { + const QModelIndex &index = treeView->currentIndex(); + const QModelIndex &src = filterBookmarkModel->mapToSource(index); + if (tree && searchField->text().isEmpty()) + bookmarkManager->removeBookmarkItem(treeView, src); + } break; + + case Qt::Key_Up: { + case Qt::Key_Down: + if (!tree) treeView->subclassKeyPressEvent(ke); - } break; - - case Qt::Key_Enter: { - case Qt::Key_Return: - index = treeView->selectionModel()->currentIndex(); - if (index.isValid()) { - QString data = index.data(Qt::UserRole + 10).toString(); - if (!data.isEmpty() && data != QLatin1String("Folder")) - emit requestShowLink(data); - } - } break; + } break; - case Qt::Key_Escape: { - emit escapePressed(); - } break; - } - } else if (e->type() == QEvent::MouseButtonRelease) { - if (index.isValid()) { - QMouseEvent *me = static_cast<QMouseEvent*>(e); - bool controlPressed = me->modifiers() & Qt::ControlModifier; - if(((me->button() == Qt::LeftButton) && controlPressed) - || (me->button() == Qt::MidButton)) { - QString data = index.data(Qt::UserRole + 10).toString(); - if (!data.isEmpty() && data != QLatin1String("Folder")) - CentralWidget::instance()->setSourceInNewTab(data); - } - } + case Qt::Key_Escape: { + emit escapePressed(); + } break; + + default: break; } } + + if (e->type() == QEvent::MouseButtonRelease) { + QMouseEvent *me = static_cast<QMouseEvent*>(e); + bool controlPressed = me->modifiers() & Qt::ControlModifier; + if(((me->button() == Qt::LeftButton) && controlPressed) + || (me->button() == Qt::MidButton)) { + const QModelIndex &index = treeView->currentIndex(); + const QString &data = index.data(Qt::UserRole + 10).toString(); + if (!data.isEmpty() && data != QLatin1String("Folder")) + CentralWidget::instance()->setSourceInNewTab(data); + } + } + return QWidget::eventFilter(object, e); } diff --git a/tools/designer/src/components/formeditor/itemview_propertysheet.cpp b/tools/designer/src/components/formeditor/itemview_propertysheet.cpp index 38f73e7..96d159a 100644 --- a/tools/designer/src/components/formeditor/itemview_propertysheet.cpp +++ b/tools/designer/src/components/formeditor/itemview_propertysheet.cpp @@ -45,6 +45,7 @@ #include <QtGui/QAbstractItemView> #include <QtGui/QHeaderView> +#include <QtCore/QDebug> QT_BEGIN_NAMESPACE @@ -54,41 +55,27 @@ struct Property { Property() : m_sheet(0),m_id(-1) {} Property(QDesignerPropertySheetExtension *sheet, int id) : m_sheet(sheet), m_id(id) {} - bool operator==(const Property &p) { return m_sheet == p.m_sheet && m_id == p.m_id; } - uint qHash() { - return ((int)(m_sheet-(QDesignerPropertySheetExtension*)(0))) & m_id; - } QDesignerPropertySheetExtension *m_sheet; int m_id; }; -class ItemViewPropertySheetPrivate { +typedef QMap<int, Property> FakePropertyMap; -public: - ItemViewPropertySheetPrivate(QHeaderView *horizontalHeader, - QHeaderView *verticalHeader, - QObject *parent); +struct ItemViewPropertySheetPrivate { + ItemViewPropertySheetPrivate(QDesignerFormEditorInterface *core, + QHeaderView *horizontalHeader, + QHeaderView *verticalHeader); - inline void createMapping(int fakeId, QHeaderView *header, const QString &headerName); inline QStringList realPropertyNames(); inline QString fakePropertyName(const QString &prefix, const QString &realName); - QDesignerFormEditorInterface *m_core; - - // Maps index of fake property - // to index of real property in respective sheet - QHash<int, Property> m_propertyIdMap; + // Maps index of fake property to index of real property in respective sheet + FakePropertyMap m_propertyIdMap; - // Maps name of fake property - // to name of real property + // Maps name of fake property to name of real property QHash<QString, QString> m_propertyNameMap; -private: - static QDesignerFormEditorInterface *formEditorForObject(QObject *o); - - QHeaderView *m_hHeader; - QHeaderView *m_vHeader; QHash<QHeaderView *, QDesignerPropertySheetExtension *> m_propertySheet; QStringList m_realPropertyNames; }; @@ -111,43 +98,18 @@ using namespace qdesigner_internal; /***************** ItemViewPropertySheetPrivate *********************/ -ItemViewPropertySheetPrivate::ItemViewPropertySheetPrivate(QHeaderView *horizontalHeader, - QHeaderView *verticalHeader, - QObject *parent) - : m_core(formEditorForObject(parent)), - m_hHeader(horizontalHeader), - m_vHeader(verticalHeader) +ItemViewPropertySheetPrivate::ItemViewPropertySheetPrivate(QDesignerFormEditorInterface *core, + QHeaderView *horizontalHeader, + QHeaderView *verticalHeader) { if (horizontalHeader) m_propertySheet.insert(horizontalHeader, qt_extension<QDesignerPropertySheetExtension*> - (m_core->extensionManager(), horizontalHeader)); + (core->extensionManager(), horizontalHeader)); if (verticalHeader) m_propertySheet.insert(verticalHeader, qt_extension<QDesignerPropertySheetExtension*> - (m_core->extensionManager(), verticalHeader)); -} - -// Find the form editor in the hierarchy. -// We know that the parent of the sheet is the extension manager -// whose parent is the core. -QDesignerFormEditorInterface *ItemViewPropertySheetPrivate::formEditorForObject(QObject *o) -{ - do { - if (QDesignerFormEditorInterface* core = qobject_cast<QDesignerFormEditorInterface*>(o)) - return core; - o = o->parent(); - } while(o); - Q_ASSERT(o); - return 0; -} - -void ItemViewPropertySheetPrivate::createMapping(int fakeId, QHeaderView *header, - const QString &headerName) -{ - const int realPropertyId = m_propertySheet.value(header)->indexOf(headerName); - QDesignerPropertySheetExtension *propertySheet = m_propertySheet.value(header); - m_propertyIdMap.insert(fakeId, Property(propertySheet, realPropertyId)); + (core->extensionManager(), verticalHeader)); } QStringList ItemViewPropertySheetPrivate::realPropertyNames() @@ -194,46 +156,19 @@ QString ItemViewPropertySheetPrivate::fakePropertyName(const QString &prefix, ItemViewPropertySheet::ItemViewPropertySheet(QTreeView *treeViewObject, QObject *parent) : QDesignerPropertySheet(treeViewObject, parent), - d(new ItemViewPropertySheetPrivate(treeViewObject->header(), 0, parent)) + d(new ItemViewPropertySheetPrivate(core(), treeViewObject->header(), 0)) { - QHeaderView *hHeader = treeViewObject->header(); - - foreach (const QString &realPropertyName, d->realPropertyNames()) { - const QString fakePropertyName - = d->fakePropertyName(QLatin1String("header"), realPropertyName); - d->createMapping(createFakeProperty(fakePropertyName, 0), hHeader, realPropertyName); - } - - foreach (int id, d->m_propertyIdMap.keys()) { - setAttribute(id, true); - setPropertyGroup(id, QLatin1String(headerGroup)); - } + initHeaderProperties(treeViewObject->header(), QLatin1String("header")); } - ItemViewPropertySheet::ItemViewPropertySheet(QTableView *tableViewObject, QObject *parent) : QDesignerPropertySheet(tableViewObject, parent), - d(new ItemViewPropertySheetPrivate(tableViewObject->horizontalHeader(), - tableViewObject->verticalHeader(), parent)) + d(new ItemViewPropertySheetPrivate(core(), + tableViewObject->horizontalHeader(), + tableViewObject->verticalHeader())) { - QHeaderView *hHeader = tableViewObject->horizontalHeader(); - QHeaderView *vHeader = tableViewObject->verticalHeader(); - - foreach (const QString &realPropertyName, d->realPropertyNames()) { - const QString fakePropertyName - = d->fakePropertyName(QLatin1String("horizontalHeader"), realPropertyName); - d->createMapping(createFakeProperty(fakePropertyName, 0), hHeader, realPropertyName); - } - foreach (const QString &realPropertyName, d->realPropertyNames()) { - const QString fakePropertyName - = d->fakePropertyName(QLatin1String("verticalHeader"), realPropertyName); - d->createMapping(createFakeProperty(fakePropertyName, 0), vHeader, realPropertyName); - } - - foreach (int id, d->m_propertyIdMap.keys()) { - setAttribute(id, true); - setPropertyGroup(id, QLatin1String(headerGroup)); - } + initHeaderProperties(tableViewObject->horizontalHeader(), QLatin1String("horizontalHeader")); + initHeaderProperties(tableViewObject->verticalHeader(), QLatin1String("verticalHeader")); } ItemViewPropertySheet::~ItemViewPropertySheet() @@ -241,6 +176,24 @@ ItemViewPropertySheet::~ItemViewPropertySheet() delete d; } +void ItemViewPropertySheet::initHeaderProperties(QHeaderView *hv, const QString &prefix) +{ + QDesignerPropertySheetExtension *headerSheet = d->m_propertySheet.value(hv); + Q_ASSERT(headerSheet); + const QString headerGroupS = QLatin1String(headerGroup); + foreach (const QString &realPropertyName, d->realPropertyNames()) { + const int headerIndex = headerSheet->indexOf(realPropertyName); + Q_ASSERT(headerIndex != -1); + const QVariant defaultValue = realPropertyName == QLatin1String(visibleProperty) ? + QVariant(true) : headerSheet->property(headerIndex); + const QString fakePropertyName = d->fakePropertyName(prefix, realPropertyName); + const int fakeIndex = createFakeProperty(fakePropertyName, defaultValue); + d->m_propertyIdMap.insert(fakeIndex, Property(headerSheet, headerIndex)); + setAttribute(fakeIndex, true); + setPropertyGroup(fakeIndex, headerGroupS); + } +} + /*! Returns the mapping of fake property names to real property names */ @@ -251,19 +204,17 @@ QHash<QString,QString> ItemViewPropertySheet::propertyNameMap() const QVariant ItemViewPropertySheet::property(int index) const { - if (d->m_propertyIdMap.contains(index)) { - Property realProperty = d->m_propertyIdMap.value(index); - return realProperty.m_sheet->property(realProperty.m_id); - } else { - return QDesignerPropertySheet::property(index); - } + const FakePropertyMap::const_iterator it = d->m_propertyIdMap.constFind(index); + if (it != d->m_propertyIdMap.constEnd()) + return it.value().m_sheet->property(it.value().m_id); + return QDesignerPropertySheet::property(index); } void ItemViewPropertySheet::setProperty(int index, const QVariant &value) { - if (d->m_propertyIdMap.contains(index)) { - Property realProperty = d->m_propertyIdMap.value(index); - realProperty.m_sheet->setProperty(realProperty.m_id, value); + const FakePropertyMap::iterator it = d->m_propertyIdMap.find(index); + if (it != d->m_propertyIdMap.end()) { + it.value().m_sheet->setProperty(it.value().m_id, value); } else { QDesignerPropertySheet::setProperty(index, value); } @@ -271,18 +222,46 @@ void ItemViewPropertySheet::setProperty(int index, const QVariant &value) void ItemViewPropertySheet::setChanged(int index, bool changed) { - if (d->m_propertyIdMap.contains(index)) { - Property realProperty = d->m_propertyIdMap.value(index); - realProperty.m_sheet->setChanged(realProperty.m_id, changed); + const FakePropertyMap::iterator it = d->m_propertyIdMap.find(index); + if (it != d->m_propertyIdMap.end()) { + it.value().m_sheet->setChanged(it.value().m_id, changed); + } else { + QDesignerPropertySheet::setChanged(index, changed); } - QDesignerPropertySheet::setChanged(index, changed); +} + +bool ItemViewPropertySheet::isChanged(int index) const +{ + const FakePropertyMap::const_iterator it = d->m_propertyIdMap.constFind(index); + if (it != d->m_propertyIdMap.constEnd()) + return it.value().m_sheet->isChanged(it.value().m_id); + return QDesignerPropertySheet::isChanged(index); +} + +bool ItemViewPropertySheet::hasReset(int index) const +{ + const FakePropertyMap::const_iterator it = d->m_propertyIdMap.constFind(index); + if (it != d->m_propertyIdMap.constEnd()) + return it.value().m_sheet->hasReset(it.value().m_id); + return QDesignerPropertySheet::hasReset(index); } bool ItemViewPropertySheet::reset(int index) { - if (d->m_propertyIdMap.contains(index)) { - Property realProperty = d->m_propertyIdMap.value(index); - return realProperty.m_sheet->reset(realProperty.m_id); + const FakePropertyMap::iterator it = d->m_propertyIdMap.find(index); + if (it != d->m_propertyIdMap.end()) { + QDesignerPropertySheetExtension *headerSheet = it.value().m_sheet; + const int headerIndex = it.value().m_id; + const bool resetRC = headerSheet->reset(headerIndex); + // Resetting for "visible" might fail and the stored default + // of the Widget database is "false" due to the widget not being + // visible at the time it was determined. Reset to "true" manually. + if (!resetRC && headerSheet->propertyName(headerIndex) == QLatin1String(visibleProperty)) { + headerSheet->setProperty(headerIndex, QVariant(true)); + headerSheet->setChanged(headerIndex, false); + return true; + } + return resetRC; } else { return QDesignerPropertySheet::reset(index); } diff --git a/tools/designer/src/components/formeditor/itemview_propertysheet.h b/tools/designer/src/components/formeditor/itemview_propertysheet.h index a926339..dbcd63d 100644 --- a/tools/designer/src/components/formeditor/itemview_propertysheet.h +++ b/tools/designer/src/components/formeditor/itemview_propertysheet.h @@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE namespace qdesigner_internal { -class ItemViewPropertySheetPrivate; +struct ItemViewPropertySheetPrivate; class ItemViewPropertySheet: public QDesignerPropertySheet { @@ -69,11 +69,15 @@ public: QVariant property(int index) const; void setProperty(int index, const QVariant &value); - void setChanged(int index, bool changed); + virtual void setChanged(int index, bool changed); + virtual bool isChanged(int index) const; - bool reset(int index); + virtual bool hasReset(int index) const; + virtual bool reset(int index); private: + void initHeaderProperties(QHeaderView *hv, const QString &prefix); + ItemViewPropertySheetPrivate *d; }; diff --git a/translations/assistant_pl.ts b/translations/assistant_pl.ts index 069b5a0..0ef3251 100644 --- a/translations/assistant_pl.ts +++ b/translations/assistant_pl.ts @@ -78,7 +78,7 @@ <context> <name>BookmarkManager</name> <message> - <location line="+434"/> + <location line="+435"/> <source>Bookmarks</source> <translation>Zakładki</translation> </message> @@ -102,7 +102,7 @@ <context> <name>BookmarkWidget</name> <message> - <location line="-416"/> + <location line="-417"/> <source>Filter:</source> <translation>Filtr:</translation> </message> @@ -150,7 +150,7 @@ <context> <name>CentralWidget</name> <message> - <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+238"/> + <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="+239"/> <source>Add new page</source> <translation>Dodaj nową stronę</translation> </message> @@ -165,7 +165,7 @@ <translation>Wydrukuj dokument</translation> </message> <message> - <location line="+148"/> + <location line="+130"/> <location line="+2"/> <source>unknown</source> <translation>nieznany</translation> @@ -191,7 +191,7 @@ <translation>Dodaj zakładkę dla tej strony...</translation> </message> <message> - <location line="+255"/> + <location line="+235"/> <source>Search</source> <translation>Wyszukaj</translation> </message> @@ -225,7 +225,7 @@ <context> <name>FindWidget</name> <message> - <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-955"/> + <location filename="../tools/assistant/tools/assistant/centralwidget.cpp" line="-918"/> <source>Previous</source> <translation>Poprzedni</translation> </message> @@ -281,7 +281,7 @@ <context> <name>HelpViewer</name> <message> - <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+492"/> + <location filename="../tools/assistant/tools/assistant/helpviewer.cpp" line="+489"/> <source>Help</source> <translation>Pomoc</translation> </message> @@ -326,7 +326,7 @@ <translation>Wy&szukaj:</translation> </message> <message> - <location line="+68"/> + <location line="+72"/> <source>Open Link</source> <translation>Otwórz odsyłacz</translation> </message> @@ -440,19 +440,19 @@ <name>MainWindow</name> <message> <location filename="../tools/assistant/tools/assistant/mainwindow.cpp" line="+110"/> - <location line="+391"/> + <location line="+383"/> <source>Index</source> <translation>Indeks</translation> </message> <message> - <location line="-385"/> - <location line="+383"/> + <location line="-377"/> + <location line="+375"/> <source>Contents</source> <translation>Spis treści</translation> </message> <message> - <location line="-378"/> - <location line="+382"/> + <location line="-370"/> + <location line="+374"/> <source>Bookmarks</source> <translation>Zakładki</translation> </message> @@ -462,14 +462,14 @@ <translation>Wyszukaj</translation> </message> <message> - <location line="-372"/> - <location line="+215"/> - <location line="+512"/> + <location line="-364"/> + <location line="+207"/> + <location line="+514"/> <source>Qt Assistant</source> <translation>Qt Assistant</translation> </message> <message> - <location line="-544"/> + <location line="-546"/> <location line="+5"/> <source>Unfiltered</source> <translation>Nieprzefiltrowany</translation> @@ -515,7 +515,12 @@ <translation>Znajdź w &tekście...</translation> </message> <message> - <location line="+6"/> + <location line="+2"/> + <source>&Find</source> + <translation>&Znajdź</translation> + </message> + <message> + <location line="+4"/> <source>Find &Next</source> <translation>Znajdź &następny</translation> </message> @@ -585,7 +590,12 @@ <translation>Znajdź bieżącą stronę w spisie treści</translation> </message> <message> - <location line="+7"/> + <location line="+2"/> + <source>Sync</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+5"/> <source>Next Page</source> <translation>Następna strona</translation> </message> @@ -635,7 +645,7 @@ <translation>Przefiltrowane przez:</translation> </message> <message> - <location line="+23"/> + <location line="+25"/> <source>Address Toolbar</source> <translation>Pasek adresu</translation> </message> @@ -660,7 +670,7 @@ <translation>Uaktualnianie indeksu wyszukiwawczego</translation> </message> <message> - <location line="-638"/> + <location line="-640"/> <source>Looking for Qt Documentation...</source> <translation>Szukanie dokumentacji Qt...</translation> </message> @@ -962,7 +972,7 @@ <translation>Qt Assistant</translation> </message> <message> - <location filename="../tools/assistant/tools/assistant/main.cpp" line="+217"/> + <location filename="../tools/assistant/tools/assistant/main.cpp" line="+228"/> <source>Could not register documentation file %1 @@ -1024,7 +1034,7 @@ Powód: <context> <name>SearchWidget</name> <message> - <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+195"/> + <location filename="../tools/assistant/tools/assistant/searchwidget.cpp" line="+196"/> <source>&Copy</source> <translation>S&kopiuj</translation> </message> diff --git a/translations/designer_pl.ts b/translations/designer_pl.ts index f9c6dd0..acd1827 100644 --- a/translations/designer_pl.ts +++ b/translations/designer_pl.ts @@ -517,12 +517,12 @@ </message> <message> <location line="+89"/> - <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+907"/> + <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="+915"/> <source>Move action</source> <translation>Przenieś akcję</translation> </message> <message> - <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-424"/> + <location filename="../tools/designer/src/lib/shared/qdesigner_menubar.cpp" line="-432"/> <source>Change Title</source> <translation>Zmień tytuł</translation> </message> @@ -703,7 +703,7 @@ <context> <name>ConnectionDelegate</name> <message> - <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+643"/> + <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditorwindow.cpp" line="+644"/> <source><object></source> <translation><obiekt></translation> </message> @@ -1028,7 +1028,7 @@ <context> <name>FormBuilder</name> <message> - <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+359"/> + <location filename="../tools/designer/src/lib/uilib/formbuilderextra.cpp" line="+375"/> <source>Invalid stretch value for '%1': '%2'</source> <extracomment>Parsing layout stretch values</extracomment> <translation>Niepoprawna wartość rozciągniecia dla '%1': '%2'</translation> @@ -1050,7 +1050,7 @@ <message> <location line="+4"/> <source>Preview Zoom</source> - <translation>Powiększenie podglądu</translation> + <translation>Powiększanie podglądu</translation> </message> <message> <location line="+2"/> @@ -1259,7 +1259,7 @@ <message> <location line="-34"/> <source>Show this Dialog on Startup</source> - <translation>Pokaż to okno przy uruchamianiu</translation> + <translation>Pokazuj to okno przy uruchamianiu</translation> </message> <message> <location line="+2"/> @@ -1413,7 +1413,7 @@ <translation>Niepoprawny plik UI: brak głównego elementu <ui>.</translation> </message> <message> - <location line="+119"/> + <location line="+104"/> <source>The creation of a widget of the class '%1' failed.</source> <translation>Utworzenie widżetu klasy '%1' nie powiodło się.</translation> </message> @@ -1594,7 +1594,7 @@ Skrypt: %3</translation> <message> <location line="-10"/> <source>Edit Widgets</source> - <translation>Edytuj widżety</translation> + <translation>Modyfikuj widżety</translation> </message> <message> <location line="+195"/> @@ -1803,7 +1803,7 @@ Czy chcesz zaktualizować położenie pliku lub wygenerować nowy formularz?</tr <message> <location line="+1"/> <source>&Print...</source> - <translation>Wy&drukuj...</translation> + <translation>&Drukuj...</translation> </message> <message> <location line="+3"/> @@ -2277,7 +2277,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w <context> <name>QFormBuilder</name> <message> - <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+163"/> + <location filename="../tools/designer/src/lib/uilib/formbuilder.cpp" line="+168"/> <source>An empty class name was passed on to %1 (object name: '%2').</source> <extracomment>Empty class name passed to widget factory method</extracomment> <translation>Pusta nazwa klasy została przekazana do %1 (nazwa obiektu: '%2').</translation> @@ -2669,7 +2669,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w <message> <location filename="../tools/shared/qtgradienteditor/qtgradientdialog.ui"/> <source>Edit Gradient</source> - <translation>Edytuj gradient</translation> + <translation>Modyfikuj gradient</translation> </message> </context> <context> @@ -3042,7 +3042,7 @@ Strony pojemników powinny być dodawane jedynie poprzez wyspecyfikowanie ich w <location/> <location filename="../tools/shared/qtgradienteditor/qtgradientview.cpp" line="+1"/> <source>Edit...</source> - <translation>Edytuj...</translation> + <translation>Modyfikuj...</translation> </message> <message> <location/> @@ -3499,7 +3499,7 @@ jako: <message> <location line="+20"/> <source>Edit Resources...</source> - <translation>Edytuj zasoby...</translation> + <translation>Modyfikuj zasoby...</translation> </message> <message> <location line="+6"/> @@ -3961,12 +3961,12 @@ Czy chcesz nadpisać szablon?</translation> <message> <location line="+98"/> <source>Edit action</source> - <translation>Edytuj akcję</translation> + <translation>Modyfikuj akcję</translation> </message> <message> <location line="-417"/> <source>Edit...</source> - <translation>Edytuj...</translation> + <translation>Modyfikuj...</translation> </message> <message> <location line="+1"/> @@ -4126,7 +4126,7 @@ Czy chcesz nadpisać szablon?</translation> <message> <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_plugin.cpp" line="+73"/> <source>Edit Buddies</source> - <translation>Edytuj skojarzone etykiety</translation> + <translation>Modyfikuj skojarzone etykiety</translation> </message> </context> <context> @@ -4134,7 +4134,7 @@ Czy chcesz nadpisać szablon?</translation> <message> <location filename="../tools/designer/src/components/buddyeditor/buddyeditor_tool.cpp" line="+56"/> <source>Edit Buddies</source> - <translation>Edytuj skojarzone etykiety</translation> + <translation>Modyfikuj skojarzone etykiety</translation> </message> </context> <context> @@ -4254,7 +4254,7 @@ Czy chcesz nadpisać szablon?</translation> <message> <location filename="../tools/designer/src/components/taskmenu/combobox_taskmenu.cpp" line="+68"/> <source>Edit Items...</source> - <translation>Edytuj elementy...</translation> + <translation>Modyfikuj elementy...</translation> </message> <message> <location line="+38"/> @@ -4653,7 +4653,7 @@ Czy chcesz nadpisać szablon?</translation> <message> <location line="+6"/> <source>Edit the selected profile</source> - <translation>Edytuj zaznaczony profil</translation> + <translation>Modyfikuj zaznaczony profil</translation> </message> <message> <location line="+4"/> @@ -4673,7 +4673,7 @@ Czy chcesz nadpisać szablon?</translation> <message> <location line="+35"/> <source>Edit Profile</source> - <translation>Edytuj profil</translation> + <translation>Modyfikuj profil</translation> </message> <message> <location line="+26"/> @@ -4709,7 +4709,7 @@ Czy chcesz nadpisać szablon?</translation> <message> <location line="+1"/> <source>The file "%1" has changed outside Designer. Do you want to reload it?</source> - <translation type="unfinished">Plik "%1" zmienił się na zewnątrz Designera. Czy chcesz go ponownie załadować?</translation> + <translation>Plik "%1" zmienił się na zewnątrz Designera. Czy chcesz go ponownie załadować?</translation> </message> </context> <context> @@ -4725,7 +4725,7 @@ Czy chcesz nadpisać szablon?</translation> <message> <location filename="../tools/designer/src/components/formeditor/formwindow.cpp" line="-1267"/> <source>Edit contents</source> - <translation>Edytuj zawartość</translation> + <translation>Modyfikuj zawartość</translation> </message> <message> <location line="+1"/> @@ -4834,7 +4834,7 @@ Czy chcesz nadpisać szablon?</translation> <context> <name>qdesigner_internal::FormWindowManager</name> <message> - <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+364"/> + <location filename="../tools/designer/src/components/formeditor/formwindowmanager.cpp" line="+365"/> <source>Cu&t</source> <translation>Wy&tnij</translation> </message> @@ -5290,12 +5290,12 @@ Czy chcesz nadpisać szablon?</translation> <message> <location line="+32"/> <source>Edit List Widget</source> - <translation>Edytuj listę</translation> + <translation>Modyfikuj listę</translation> </message> <message> <location line="+19"/> <source>Edit Combobox</source> - <translation>Edytuj combobox</translation> + <translation>Modyfikuj combobox</translation> </message> </context> <context> @@ -5303,7 +5303,7 @@ Czy chcesz nadpisać szablon?</translation> <message> <location filename="../tools/designer/src/components/taskmenu/listwidget_taskmenu.cpp" line="+67"/> <source>Edit Items...</source> - <translation>Edytuj elementy...</translation> + <translation>Modyfikuj elementy...</translation> </message> <message> <location line="+38"/> @@ -5560,18 +5560,15 @@ Wybierz inną nazwę.</translation> <context> <name>qdesigner_internal::ObjectInspector</name> <message> - <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+754"/> - <source>&Find in Text...</source> - <translation>Z&najdź w tekście...</translation> - </message> -</context> -<context> - <name>qdesigner_internal::ObjectInspector::ObjectInspectorPrivate</name> - <message> - <location line="-438"/> + <location filename="../tools/designer/src/components/objectinspector/objectinspector.cpp" line="+316"/> <source>Change Current Page</source> <translation>Zmień bieżącą stronę</translation> </message> + <message> + <location line="+438"/> + <source>&Find in Text...</source> + <translation>Z&najdź w tekście...</translation> + </message> </context> <context> <name>qdesigner_internal::OrderDialog</name> @@ -5611,7 +5608,7 @@ Wybierz inną nazwę.</translation> <message> <location filename="../tools/designer/src/components/propertyeditor/paletteeditor.ui"/> <source>Edit Palette</source> - <translation>Edytuj paletę</translation> + <translation>Modyfikuj paletę</translation> </message> <message> <location/> @@ -5719,7 +5716,7 @@ Wybierz inną nazwę.</translation> <message> <location filename="../tools/designer/src/lib/shared/plaintexteditor.cpp" line="+65"/> <source>Edit text</source> - <translation>Edytuj tekst</translation> + <translation>Modyfikuj tekst</translation> </message> </context> <context> @@ -5785,9 +5782,6 @@ Wybierz inną nazwę.</translation> <source>Browse...</source> <translation>Przeglądaj...</translation> </message> -</context> -<context> - <name>qdesigner_internal::PreviewConfigurationWidget::PreviewConfigurationWidgetPrivate</name> <message> <location line="+118"/> <source>Load Custom Device Skin</source> @@ -6202,12 +6196,12 @@ Klasa: %2</translation> <message> <location line="+235"/> <source>Edit ToolTip</source> - <translation>Edytuj podpowiedź</translation> + <translation>Modyfikuj podpowiedź</translation> </message> <message> <location line="+5"/> <source>Edit WhatsThis</source> - <translation>Edytuj "Co to jest"</translation> + <translation>Modyfikuj "Co to jest"</translation> </message> </context> <context> @@ -6332,7 +6326,7 @@ Klasa: %2</translation> <message> <location filename="../tools/designer/src/lib/shared/richtexteditor.cpp" line="+436"/> <source>Edit text</source> - <translation>Edytuj tekst</translation> + <translation>Modyfikuj tekst</translation> </message> <message> <location line="+32"/> @@ -6433,7 +6427,7 @@ Klasa: %2</translation> <message> <location filename="../tools/designer/src/lib/shared/scriptdialog.cpp" line="+66"/> <source>Edit script</source> - <translation>Edytuj skrypt</translation> + <translation>Modyfikuj skrypt</translation> </message> <message> <location line="+56"/> @@ -6483,7 +6477,7 @@ Klasa: %2</translation> <message> <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_plugin.cpp" line="+72"/> <source>Edit Signals/Slots</source> - <translation>Edytuj sygnały/sloty</translation> + <translation>Modyfikuj sygnały/sloty</translation> </message> <message> <location line="+2"/> @@ -6496,7 +6490,7 @@ Klasa: %2</translation> <message> <location filename="../tools/designer/src/components/signalsloteditor/signalsloteditor_tool.cpp" line="+58"/> <source>Edit Signals/Slots</source> - <translation>Edytuj sygnały/sloty</translation> + <translation>Modyfikuj sygnały/sloty</translation> </message> </context> <context> @@ -6520,7 +6514,7 @@ Klasa: %2</translation> <message> <location filename="../tools/designer/src/lib/shared/stylesheeteditor.cpp" line="+97"/> <source>Edit Style Sheet</source> - <translation>Edytuj arkusz stylu</translation> + <translation>Modyfikuj arkusz stylu</translation> </message> <message> <location line="-7"/> @@ -6587,7 +6581,7 @@ Klasa: %2</translation> <message> <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_plugin.cpp" line="+73"/> <source>Edit Tab Order</source> - <translation>Edytuj kolejność tabulacji</translation> + <translation>Modyfikuj kolejność tabulacji</translation> </message> </context> <context> @@ -6595,7 +6589,7 @@ Klasa: %2</translation> <message> <location filename="../tools/designer/src/components/tabordereditor/tabordereditor_tool.cpp" line="+57"/> <source>Edit Tab Order</source> - <translation>Edytuj kolejność tabulacji</translation> + <translation>Modyfikuj kolejność tabulacji</translation> </message> </context> <context> @@ -6603,7 +6597,7 @@ Klasa: %2</translation> <message> <location filename="../tools/designer/src/components/taskmenu/tablewidgeteditor.ui"/> <source>Edit Table Widget</source> - <translation>Edytuj tablę</translation> + <translation>Modyfikuj tablę</translation> </message> <message> <location/> @@ -6652,7 +6646,7 @@ Klasa: %2</translation> <message> <location filename="../tools/designer/src/components/taskmenu/tablewidget_taskmenu.cpp" line="+64"/> <source>Edit Items...</source> - <translation>Edytuj elementy...</translation> + <translation>Modyfikuj elementy...</translation> </message> </context> <context> @@ -6688,12 +6682,12 @@ Klasa: %2</translation> <message> <location line="-1"/> <source>Edit HTML</source> - <translation>Edytuj HTML</translation> + <translation>Modyfikuj HTML</translation> </message> <message> <location line="+10"/> <source>Edit Text</source> - <translation>Edytuj tekst</translation> + <translation>Modyfikuj tekst</translation> </message> <message> <location line="+1"/> @@ -6757,7 +6751,7 @@ Klasa: %2</translation> <message> <location filename="../tools/designer/src/components/taskmenu/treewidgeteditor.ui"/> <source>Edit Tree Widget</source> - <translation>Edytuj drzewo</translation> + <translation>Modyfikuj drzewo</translation> </message> <message> <location/> @@ -6883,7 +6877,7 @@ Klasa: %2</translation> <message> <location filename="../tools/designer/src/components/taskmenu/treewidget_taskmenu.cpp" line="+63"/> <source>Edit Items...</source> - <translation>Edytuj elementy...</translation> + <translation>Modyfikujj elementy...</translation> </message> </context> <context> @@ -6934,7 +6928,7 @@ Klasa: %2</translation> <message> <location line="+2"/> <source>Edit name</source> - <translation>Edytuj nazwę</translation> + <translation>Modyfikuj nazwę</translation> </message> </context> <context> @@ -6950,7 +6944,7 @@ Klasa: %2</translation> <message> <location filename="../tools/designer/src/components/formeditor/tool_widgeteditor.cpp" line="+67"/> <source>Edit Widgets</source> - <translation>Edytuj widżety</translation> + <translation>Modyfikuj widżety</translation> </message> </context> <context> diff --git a/translations/linguist_pl.ts b/translations/linguist_pl.ts index cdff54b..963c39b 100644 --- a/translations/linguist_pl.ts +++ b/translations/linguist_pl.ts @@ -4,7 +4,7 @@ <context> <name>AboutDialog</name> <message> - <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1357"/> + <location filename="../tools/linguist/linguist/mainwindow.cpp" line="+1364"/> <source>Qt Linguist</source> <translation>Qt Linguist</translation> </message> @@ -110,11 +110,17 @@ </message> <message> <location line="+4"/> + <location line="+8"/> <source><p>[more duplicates omitted]</source> <translation><p>[pominięto resztę powtórzeń]</translation> </message> <message> - <location line="+3"/> + <location line="-5"/> + <source><p>* ID: %1</source> + <translation><p>* identyfikator: %1</translation> + </message> + <message> + <location line="+8"/> <source><p>* Context: %1<br>* Source: %2</source> <translation><p>* Kontekst: %1<br>* Źródło: %2</translation> </message> @@ -124,7 +130,7 @@ <translation><br>* Komentarz: %3</translation> </message> <message> - <location line="+70"/> + <location line="+71"/> <source>Linguist does not know the plural rules for '%1'. Will assume a single universal form.</source> <translation>Linguist nie zna reguł liczby mnogiej dla "%1". @@ -312,7 +318,7 @@ Przyjmie on uniwersalną formę liczby pojedynczej.</translation> <context> <name>LRelease</name> <message numerus="yes"> - <location filename="../tools/linguist/shared/qm.cpp" line="+748"/> + <location filename="../tools/linguist/shared/qm.cpp" line="+763"/> <source>Dropped %n message(s) which had no ID.</source> <translation> <numerusform>Opuszczono %n wyrażenie które nie miało identyfikatora.</numerusform> @@ -714,7 +720,7 @@ Przyjmie on uniwersalną formę liczby pojedynczej.</translation> <translation>Zamienia tłumaczenia we wszystkich pasujących do wzorca wpisach.</translation> </message> <message> - <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2004"/> + <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-2011"/> <source></source> <comment>This is the application's main window.</comment> <translation></translation> @@ -732,27 +738,27 @@ Przyjmie on uniwersalną formę liczby pojedynczej.</translation> </message> <message> <location line="-2"/> - <location line="+62"/> + <location line="+63"/> <source>Context</source> <translation>Kontekst</translation> </message> <message> - <location line="-61"/> + <location line="-62"/> <source>Items</source> <translation>Elementy</translation> </message> <message> - <location line="+78"/> + <location line="+79"/> <source>This panel lists the source contexts.</source> <translation>Ten panel pokazuje listę kontekstów.</translation> </message> <message> - <location line="+15"/> + <location line="+13"/> <source>Strings</source> <translation>Tłumaczenia</translation> </message> <message> - <location line="+39"/> + <location line="+37"/> <source>Phrases and guesses</source> <translation>Wyrażenia i podpowiedzi</translation> </message> @@ -773,7 +779,7 @@ Przyjmie on uniwersalną formę liczby pojedynczej.</translation> <translation> MOD </translation> </message> <message> - <location line="+130"/> + <location line="+139"/> <source>Loading...</source> <translation>Ładowanie...</translation> </message> @@ -811,7 +817,7 @@ Czy chcesz pominąć pierwszy plik?</translation> </translation> </message> <message> - <location line="+93"/> + <location line="+94"/> <source>Related files (%1);;</source> <translation>Związane pliki (%1);;</translation> </message> @@ -1176,7 +1182,7 @@ Wszystkie pliki (*)</translation> <translation>Czy chcesz zachować książke wyrażeń '%1'?</translation> </message> <message> - <location line="+323"/> + <location line="+334"/> <source>All</source> <translation>Wszystko</translation> </message> @@ -1242,7 +1248,7 @@ Wszystkie pliki (*)</translation> </message> <message> <location/> - <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-470"/> + <location filename="../tools/linguist/linguist/mainwindow.cpp" line="-481"/> <source>Translation</source> <translation>Tłumaczenie</translation> </message> @@ -1579,7 +1585,7 @@ Wszystkie pliki (*)</translation> <translation>Tutaj można wprowadzić komentarze na własny użytek. One nie mają wpływu na przetłumaczoną aplikację.</translation> </message> <message> - <location line="+232"/> + <location line="+234"/> <source>%1 translation (%2)</source> <translation>Tłumaczenie na język %1 (%2)</translation> </message> @@ -1609,7 +1615,7 @@ Linia: %2</translation> <context> <name>MessageModel</name> <message> - <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+832"/> + <location filename="../tools/linguist/linguist/messagemodel.cpp" line="+825"/> <source>Completion status for %1</source> <translation>Stan ukończenia dla %1</translation> </message> @@ -1632,7 +1638,7 @@ Linia: %2</translation> <context> <name>MsgEdit</name> <message> - <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-612"/> + <location filename="../tools/linguist/linguist/messageeditor.cpp" line="-614"/> <source></source> <comment>This is the right panel of the main window.</comment> <translation></translation> @@ -1811,8 +1817,8 @@ Linia: %2</translation> <translation>Wszystkie pliki (*)</translation> </message> <message> - <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1118"/> - <location line="+18"/> + <location filename="../tools/linguist/linguist/messagemodel.cpp" line="-1120"/> + <location line="+27"/> <location line="+67"/> <location line="+39"/> <location line="+17"/> @@ -1847,7 +1853,7 @@ Linia: %2</translation> <translation>Pliki XLIFF</translation> </message> <message> - <location filename="../tools/linguist/shared/qph.cpp" line="+183"/> + <location filename="../tools/linguist/shared/qph.cpp" line="+195"/> <source>Qt Linguist 'Phrase Book'</source> <translation>Qt Linguist "Książka wyrażeń"</translation> </message> @@ -1998,12 +2004,12 @@ Linia: %2</translation> <context> <name>TranslationSettingsDialog</name> <message> - <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+68"/> + <location filename="../tools/linguist/linguist/translationsettingsdialog.cpp" line="+93"/> <source>Any Country</source> <translation>Dowolny kraj</translation> </message> <message> - <location line="+11"/> + <location line="-22"/> <location line="+8"/> <source>Settings for '%1' - Qt Linguist</source> <translation>Ustawienia dla '%1' - Qt Linguist</translation> diff --git a/translations/qt_help_pl.ts b/translations/qt_help_pl.ts index 220f70c..f2eb6c9 100644 --- a/translations/qt_help_pl.ts +++ b/translations/qt_help_pl.ts @@ -32,13 +32,9 @@ <context> <name>QHelpCollectionHandler</name> <message> - <source>The collection file is not set up yet!</source> - <translation type="obsolete">Plik z kolekcją nie jest jeszcze ustawiony!</translation> - </message> - <message> <location filename="../tools/assistant/lib/qhelpcollectionhandler.cpp" line="+79"/> <source>The collection file '%1' is not set up yet!</source> - <translation type="unfinished"></translation> + <translation>Plik z kolekcją "%1" nie jest jeszcze ustawiony!</translation> </message> <message> <location line="+23"/> @@ -59,31 +55,27 @@ <message> <location line="+16"/> <source>The collection file '%1' already exists!</source> - <translation type="unfinished"></translation> + <translation>Plik z kolekcją "%1" już istnieje!</translation> </message> <message> <location line="+148"/> <source>Unknown filter '%1'!</source> - <translation type="unfinished"></translation> + <translation>Nieznany filtr "%1"!</translation> </message> <message> <location line="+105"/> <source>Invalid documentation file '%1'!</source> - <translation type="unfinished"></translation> + <translation>Niepoprawny plik z dokumentacją "%1"!</translation> </message> <message> <location line="+167"/> <source>Cannot register namespace '%1'!</source> - <translation type="unfinished"></translation> + <translation>Nie można zarejestrować przestrzeni nazw "%1"!</translation> </message> <message> <location line="+24"/> <source>Cannot open database '%1' to optimize!</source> - <translation type="unfinished"></translation> - </message> - <message> - <source>The specified collection file already exists!</source> - <translation type="obsolete">Podany plik z kolekcją już istnieje!</translation> + <translation>Nie można otworzyć bazy danych "%1" do zoptymalizowania!</translation> </message> <message> <location line="-438"/> @@ -96,10 +88,6 @@ <translation>Nie można skopiować pliku z kolekcją: %1</translation> </message> <message> - <source>Unknown filter!</source> - <translation type="obsolete">Nieznany filtr!</translation> - </message> - <message> <location line="+174"/> <source>Cannot register filter %1!</source> <translation>Nie można zarejestrować pliku %1!</translation> @@ -110,10 +98,6 @@ <translation>Nie można otworzyć pliku z dokumentacją %1!</translation> </message> <message> - <source>Invalid documentation file!</source> - <translation type="obsolete">Niepoprawny plik z dokumentacją!</translation> - </message> - <message> <location line="+40"/> <source>The namespace %1 was not registered!</source> <translation>Przestrzeń nazw %1 nie została zarejestrowana!</translation> @@ -123,14 +107,6 @@ <source>Namespace %1 already exists!</source> <translation>Przestrzeń nazw %1 już istnieje!</translation> </message> - <message> - <source>Cannot register namespace!</source> - <translation type="obsolete">Nie można zarejestrować przestrzeni nazw!</translation> - </message> - <message> - <source>Cannot open database to optimize!</source> - <translation type="obsolete">Nie można otworzyć bazy danych do zoptymalizowania!</translation> - </message> </context> <context> <name>QHelpDBReader</name> @@ -144,7 +120,7 @@ <context> <name>QHelpEngineCore</name> <message> - <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+524"/> + <location filename="../tools/assistant/lib/qhelpenginecore.cpp" line="+525"/> <source>The specified namespace does not exist!</source> <translation>Podana przestrzeń nazw nie istnieje!</translation> </message> @@ -152,7 +128,7 @@ <context> <name>QHelpEngineCorePrivate</name> <message> - <location line="-402"/> + <location line="-403"/> <source>Cannot open documentation file %1: %2!</source> <translation>Nie można otworzyć pliku z dokumentacją %1: %2!</translation> </message> @@ -342,11 +318,6 @@ <context> <name>QObject</name> <message> - <location filename="../tools/assistant/lib/qhelp_global.h" line="+83"/> - <source>Untitled</source> - <translation>Nienazwany</translation> - </message> - <message> <location filename="../tools/assistant/lib/qhelpprojectdata.cpp" line="+85"/> <source>Unknown token.</source> <translation>Nieznany znak.</translation> diff --git a/translations/qt_pl.ts b/translations/qt_pl.ts index f79ecb0..fabec70 100644 --- a/translations/qt_pl.ts +++ b/translations/qt_pl.ts @@ -4,7 +4,7 @@ <context> <name>CloseButton</name> <message> - <location filename="../src/gui/widgets/qtabbar.cpp" line="+2245"/> + <location filename="../src/gui/widgets/qtabbar.cpp" line="+2264"/> <source>Close Tab</source> <translation>Zamknij kartę</translation> </message> @@ -12,7 +12,7 @@ <context> <name>FakeReply</name> <message> - <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2193"/> + <location filename="../src/3rdparty/webkit/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp" line="+2199"/> <source>Fake error !</source> <translation type="unfinished"></translation> </message> @@ -58,7 +58,7 @@ <context> <name>Phonon::AudioOutput</name> <message> - <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+377"/> + <location filename="../src/3rdparty/phonon/phonon/audiooutput.cpp" line="+385"/> <source><html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html></source> <translation><html>Urządzenie dźwiękowe <b>%1</b> nie działa.<br/>Przywracanie do <b>%2</b>.</html></translation> </message> @@ -76,7 +76,7 @@ <context> <name>Phonon::Gstreamer::Backend</name> <message> - <location filename="../src/3rdparty/phonon/gstreamer/backend.cpp" line="+171"/> + <location filename="../src/3rdparty/phonon/gstreamer/backend.cpp" line="+182"/> <source>Warning: You do not seem to have the package gstreamer0.10-plugins-good installed. Some video features have been disabled.</source> <translation>Ostrzeżenie: Wygląda na to, że pakiet gstreamer0.10-plugins-good nie jest zainstalowany w tym systemie. @@ -96,7 +96,7 @@ Obsługa dźwięku i wideo została wyłączona</translation> <location filename="../src/3rdparty/phonon/gstreamer/mediaobject.cpp" line="+90"/> <source>Cannot start playback. -Check your Gstreamer installation and make sure you +Check your GStreamer installation and make sure you have libgstreamer-plugins-base installed.</source> <translation>Nie można rozpocząć odtwarzania. @@ -109,10 +109,10 @@ zainstalowałeś libgstreamer-plugins-base.</translation> <translation>Brak wymaganego kodeka. Aby odtworzyć zawartość musisz zainstalować poniższy kodek: %0</translation> </message> <message> - <location line="+681"/> + <location line="+702"/> <location line="+8"/> <location line="+15"/> - <location line="+22"/> + <location line="+26"/> <location line="+6"/> <location line="+19"/> <location line="+339"/> @@ -121,12 +121,12 @@ zainstalowałeś libgstreamer-plugins-base.</translation> <translation>Nie można otworzyć źródła mediów.</translation> </message> <message> - <location line="-420"/> + <location line="-424"/> <source>Invalid source type.</source> <translation>Niepoprawny typ źródła.</translation> </message> <message> - <location line="+394"/> + <location line="+398"/> <source>Could not locate media source.</source> <translation>Nie można znaleźć źródła mediów.</translation> </message> @@ -144,7 +144,7 @@ zainstalowałeś libgstreamer-plugins-base.</translation> <context> <name>Phonon::MMF</name> <message> - <location filename="../src/3rdparty/phonon/mmf/audiooutput.cpp" line="+108"/> + <location filename="../src/3rdparty/phonon/mmf/audiooutput.cpp" line="+98"/> <source>Audio Output</source> <translation>Wyjście dźwięku</translation> </message> @@ -166,12 +166,12 @@ zainstalowałeś libgstreamer-plugins-base.</translation> <name>Phonon::MMF::EffectFactory</name> <message> <location filename="../src/3rdparty/phonon/mmf/effectfactory.cpp" line="+65"/> - <source>audio equalizer</source> + <source>Audio Equalizer</source> <translation>Korektor graficzny</translation> </message> <message> <location line="+2"/> - <source>Bass boost</source> + <source>Bass Boost</source> <translation>Wzmocnienie basów</translation> </message> <message> @@ -202,6 +202,14 @@ zainstalowałeś libgstreamer-plugins-base.</translation> </message> </context> <context> + <name>Phonon::MMF::MediaObject</name> + <message> + <location filename="../src/3rdparty/phonon/mmf/mediaobject.cpp" line="+291"/> + <source>Media type could not be determined</source> + <translation>Nie można określić typu mediów</translation> + </message> +</context> +<context> <name>Phonon::VolumeSlider</name> <message> <location filename="../src/3rdparty/phonon/phonon/volumeslider.cpp" line="+42"/> @@ -268,7 +276,7 @@ zainstalowałeś libgstreamer-plugins-base.</translation> <context> <name>Q3FileDialog</name> <message> - <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+4495"/> + <location filename="../src/qt3support/dialogs/q3filedialog.cpp" line="+4493"/> <source>%1 File not found. Check path and filename.</source> @@ -285,7 +293,7 @@ Sprawdź ścieżkę i nazwę pliku.</translation> <location line="-1924"/> <location line="+49"/> <location line="+2149"/> - <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+112"/> + <location filename="../src/qt3support/dialogs/q3filedialog_mac.cpp" line="+133"/> <source>All Files (*)</source> <translation>Wszystkie pliki (*)</translation> </message> @@ -905,8 +913,8 @@ na <context> <name>QAbstractSocket</name> <message> - <location filename="../src/network/socket/qabstractsocket.cpp" line="+940"/> - <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+636"/> + <location filename="../src/network/socket/qabstractsocket.cpp" line="+949"/> + <location filename="../src/network/socket/qhttpsocketengine.cpp" line="+646"/> <location filename="../src/network/socket/qsocks5socketengine.cpp" line="+691"/> <source>Connection refused</source> <translation>Połączenie odrzucone</translation> @@ -925,8 +933,8 @@ na <translation>Przekroczony czas połączenia</translation> </message> <message> - <location line="-548"/> - <location line="+789"/> + <location line="-555"/> + <location line="+805"/> <location line="+208"/> <source>Operation on socket is not supported</source> <translation>Operacja na gnieździe nieobsługiwana</translation> @@ -970,7 +978,7 @@ na <message> <location filename="../src/plugins/accessible/widgets/simplewidgets.cpp" line="+250"/> <source>Press</source> - <translation type="unfinished">Wciśnij</translation> + <translation>Wciśnij</translation> </message> </context> <context> @@ -996,7 +1004,7 @@ na <translation>Niekompatybilność biblioteki Qt</translation> </message> <message> - <location filename="../src/gui/kernel/qapplication.cpp" line="+2290"/> + <location filename="../src/gui/kernel/qapplication.cpp" line="+2280"/> <source>QT_LAYOUT_DIRECTION</source> <comment>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.</comment> <translation>LTR</translation> @@ -1173,7 +1181,7 @@ na <context> <name>QDB2Driver</name> <message> - <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1254"/> + <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+1253"/> <source>Unable to connect</source> <translation>Nie można nawiązać połączenia</translation> </message> @@ -1196,7 +1204,7 @@ na <context> <name>QDB2Result</name> <message> - <location line="-1031"/> + <location line="-1030"/> <location line="+240"/> <source>Unable to execute statement</source> <translation>Nie można wykonać polecenia</translation> @@ -1284,7 +1292,7 @@ na <context> <name>QDialogButtonBox</name> <message> - <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+653"/> + <location filename="../src/gui/widgets/qdialogbuttonbox.cpp" line="+669"/> <source>Abort</source> <translation>Przerwij</translation> </message> @@ -1511,7 +1519,7 @@ na <message> <location line="+23"/> <source>Cannot remove source file</source> - <translation>Nie można usunąć oryginalnego pilku</translation> + <translation>Nie można usunąć oryginalnego pliku</translation> </message> <message> <location line="+130"/> @@ -1575,7 +1583,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <translation>Czy na pewno chcesz skasować '%1'?</translation> </message> <message> - <location line="+425"/> + <location line="+419"/> <source>Recent Places</source> <translation>Ostatnie miejsca</translation> </message> @@ -1586,7 +1594,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <translation>Powrót</translation> </message> <message> - <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-410"/> + <location filename="../src/gui/dialogs/qfiledialog.cpp" line="-404"/> <source>Could not delete directory.</source> <translation>Nie można skasować katalogu.</translation> </message> @@ -1803,9 +1811,8 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> </message> <message> <location line="+1"/> - <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+1"/> <source>%1 bytes</source> - <translation>%1 b</translation> + <translation>%1 bajtów</translation> </message> <message> <location line="+77"/> @@ -1854,62 +1861,67 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <source>Computer</source> <translation>Komputer</translation> </message> + <message> + <location filename="../src/gui/itemviews/qdirmodel.cpp" line="+1"/> + <source>%1 byte(s)</source> + <translation>%1 bajt(ów)</translation> + </message> </context> <context> <name>QFontDatabase</name> <message> <location filename="../src/gui/text/qfontdatabase.cpp" line="+102"/> - <location line="+1335"/> + <location line="+1342"/> <source>Normal</source> <translation>Normalny</translation> </message> <message> - <location line="-1332"/> + <location line="-1339"/> <location line="+12"/> - <location line="+1308"/> + <location line="+1315"/> <source>Bold</source> <translation>Pogrubiony</translation> </message> <message> - <location line="-1317"/> - <location line="+1319"/> + <location line="-1324"/> + <location line="+1326"/> <source>Demi Bold</source> <translation>Na wpół pogrubiony</translation> </message> <message> - <location line="-1316"/> + <location line="-1323"/> <location line="+18"/> - <location line="+1294"/> + <location line="+1301"/> <source>Black</source> <translatorcomment>it's about font weight</translatorcomment> <translation>Bardzo gruby</translation> </message> <message> - <location line="-1304"/> + <location line="-1311"/> <source>Demi</source> <translation>Na wpół</translation> </message> <message> <location line="+6"/> - <location line="+1304"/> + <location line="+1311"/> <source>Light</source> <translatorcomment>it's about font weight</translatorcomment> <translation>Cienki</translation> </message> <message> - <location line="-1158"/> - <location line="+1161"/> + <location line="-1165"/> + <location line="+1168"/> <source>Italic</source> <translation>Kursywa</translation> </message> <message> - <location line="-1158"/> - <location line="+1160"/> + <location line="-1165"/> + <location line="+1167"/> <source>Oblique</source> <translation>Pochyły</translation> </message> <message> - <location line="+703"/> + <location line="+704"/> <source>Any</source> <translation>Każdy</translation> </message> @@ -2073,6 +2085,11 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <source>Runic</source> <translation>Runiczny</translation> </message> + <message> + <location line="+3"/> + <source>N'Ko</source> + <translation>N'Ko</translation> + </message> </context> <context> <name>QFontDialog</name> @@ -2272,7 +2289,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <context> <name>QHostInfo</name> <message> - <location filename="../src/network/kernel/qhostinfo_p.h" line="+183"/> + <location filename="../src/network/kernel/qhostinfo_p.h" line="+185"/> <source>Unknown error</source> <translation>Nieznany błąd</translation> </message> @@ -2326,7 +2343,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <translation>Podłączony do hosta %1</translation> </message> <message> - <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+572"/> + <location filename="../src/network/access/qhttpnetworkconnection.cpp" line="+581"/> <location filename="../src/qt3support/network/q3http.cpp" line="+17"/> <source>Connection closed</source> <translation>Połączenie zakończone</translation> @@ -2633,7 +2650,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <context> <name>QIODevice</name> <message> - <location filename="../src/corelib/global/qglobal.cpp" line="+2067"/> + <location filename="../src/corelib/global/qglobal.cpp" line="+2081"/> <source>No space left on device</source> <translation>Brak wolnego miejsca na urządzeniu</translation> </message> @@ -2653,7 +2670,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <translation>Zbyt wiele otwartych plików</translation> </message> <message> - <location filename="../src/corelib/io/qiodevice.cpp" line="+1561"/> + <location filename="../src/corelib/io/qiodevice.cpp" line="+1556"/> <source>Unknown error</source> <translation>Nieznany błąd</translation> </message> @@ -2717,7 +2734,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <translation>Błąd podczas weryfikacji danych we wtyczce '%1'</translation> </message> <message> - <location line="+347"/> + <location line="+350"/> <source>The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]</source> <translation>Wtyczka '%1' używa niepoprawnej wersji biblioteki QT. (%2.%3.%4) [%5]</translation> </message> @@ -2769,37 +2786,37 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <context> <name>QLineEdit</name> <message> - <location filename="../src/gui/widgets/qlineedit.cpp" line="+1996"/> + <location filename="../src/gui/widgets/qlineedit.cpp" line="+2033"/> <source>&Copy</source> <translation>S&kopiuj</translation> </message> <message> - <location line="-5"/> + <location line="-6"/> <source>Cu&t</source> <translation>W&ytnij</translation> </message> <message> - <location line="+15"/> + <location line="+19"/> <source>Delete</source> <translation>Skasuj</translation> </message> <message> - <location line="-5"/> + <location line="-7"/> <source>&Paste</source> <translation>&Wklej</translation> </message> <message> - <location line="-17"/> + <location line="-21"/> <source>&Redo</source> <translation>&Przywróć</translation> </message> <message> - <location line="+28"/> + <location line="+36"/> <source>Select All</source> <translation>Zaznacz wszystko</translation> </message> <message> - <location line="-32"/> + <location line="-40"/> <source>&Undo</source> <translation>&Cofnij</translation> </message> @@ -2808,7 +2825,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <name>QLocalServer</name> <message> <location filename="../src/network/socket/qlocalserver.cpp" line="+224"/> - <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+256"/> + <location filename="../src/network/socket/qlocalserver_unix.cpp" line="+246"/> <source>%1: Name error</source> <translation>%1: Błąd nazwy</translation> </message> @@ -2902,7 +2919,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <context> <name>QMYSQLDriver</name> <message> - <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1423"/> + <location filename="../src/sql/drivers/mysql/qsql_mysql.cpp" line="+1431"/> <source>Unable to begin transaction</source> <translation>Nie można rozpocząć transakcji</translation> </message> @@ -2912,7 +2929,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <translation>Nie można potwierdzić transakcji</translation> </message> <message> - <location line="-168"/> + <location line="-167"/> <source>Unable to connect</source> <translation>Nie można nawiązać połączenia</translation> </message> @@ -2922,7 +2939,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <translation>Nie można otworzyć bazy danych '</translation> </message> <message> - <location line="+196"/> + <location line="+195"/> <source>Unable to rollback transaction</source> <translation>Nie można wycofać transakcji</translation> </message> @@ -2930,7 +2947,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <context> <name>QMYSQLResult</name> <message> - <location line="-433"/> + <location line="-432"/> <location line="+21"/> <source>Unable to bind outvalues</source> <translation>Nie można powiązać wartości zewnętrznych</translation> @@ -2951,12 +2968,13 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <translation>Nie można wykonać polecenia</translation> </message> <message> - <location line="-522"/> + <location line="-531"/> + <location line="+31"/> <source>Unable to fetch data</source> <translation>Nie można pobrać danych</translation> </message> <message> - <location line="+380"/> + <location line="+358"/> <location line="+8"/> <source>Unable to prepare statement</source> <translation>Nie można przygotować polecenia</translation> @@ -3332,27 +3350,30 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <context> <name>QNetworkAccessFileBackend</name> <message> + <location filename="../src/network/access/qfilenetworkreply.cpp" line="+83"/> <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+100"/> <source>Request for opening non-local file %1</source> <translation>Żądanie otwarcia zdalnego pliku %1</translation> </message> <message> - <location line="+45"/> + <location line="+31"/> + <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+45"/> <source>Error opening %1: %2</source> <translation>Błąd otwierania %1: %2</translation> </message> <message> - <location line="+38"/> + <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+38"/> <source>Write error writing to %1: %2</source> <translation>Błąd w trakcie zapisywania do %1: %2</translation> </message> <message> - <location line="+48"/> + <location filename="../src/network/access/qfilenetworkreply.cpp" line="-11"/> + <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+48"/> <source>Cannot open %1: Path is a directory</source> <translation>Nie można otworzyć %1: Ścieżka jest katalogiem</translation> </message> <message> - <location line="+21"/> + <location filename="../src/network/access/qnetworkaccessfilebackend.cpp" line="+21"/> <source>Read error reading from %1: %2</source> <translation>Błąd w trakcie czytania z %1: %2</translation> </message> @@ -3418,7 +3439,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <context> <name>QOCIDriver</name> <message> - <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+1932"/> + <location filename="../src/sql/drivers/oci/qsql_oci.cpp" line="+1939"/> <source>Unable to initialize</source> <comment>QOCIDriver</comment> <translation>Nie można dokonać inicjalizacji</translation> @@ -3447,8 +3468,8 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <context> <name>QOCIResult</name> <message> - <location line="-972"/> - <location line="+161"/> + <location line="-979"/> + <location line="+168"/> <location line="+15"/> <source>Unable to bind column for batch execute</source> <translation>Nie można powiązać kolumny dla wykonania zestawu poleceń</translation> @@ -3552,7 +3573,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <translation>Nie można przygotować polecenia</translation> </message> <message> - <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+190"/> + <location filename="../src/sql/drivers/db2/qsql_db2.cpp" line="+189"/> <location filename="../src/sql/drivers/odbc/qsql_odbc.cpp" line="-199"/> <location line="+576"/> <source>Unable to fetch last</source> @@ -3611,7 +3632,7 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <context> <name>QPPDOptionsModel</name> <message> - <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1198"/> + <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="+1197"/> <source>Name</source> <translation>Nazwa</translation> </message> @@ -3919,15 +3940,15 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <message> <location filename="../src/gui/dialogs/qprintdialog_qws.cpp" line="+24"/> <source>Print all</source> - <translation>Wydrukuj wszystko</translation> + <translation>Drukuj wszystko</translation> </message> <message> <location line="+2"/> <source>Print range</source> - <translation>Wydrukuj zakres</translation> + <translation>Drukuj zakres</translation> </message> <message> - <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+471"/> + <location filename="../src/gui/painting/qprinterinfo_unix.cpp" line="+473"/> <location line="+199"/> <source>unknown</source> <translation>nieznany</translation> @@ -3972,15 +3993,15 @@ Proszę o sprawdzenie podanej nazwy pliku.</translation> <location line="+13"/> <location filename="../src/gui/dialogs/qprintdialog_win.cpp" line="-2"/> <source>Print</source> - <translation>Wydrukuj</translation> + <translation>Drukowanie</translation> </message> <message> - <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-357"/> + <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-359"/> <source>Print To File ...</source> - <translation>Wydrukuj do pliku ...</translation> + <translation>Drukuj do pliku ...</translation> </message> <message> - <location line="+80"/> + <location line="+82"/> <source>File %1 is not writable. Please choose a different file name.</source> <translation>Plik %1 jest plikiem tylko do odczytu. @@ -4013,7 +4034,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+227"/> <source>Print selection</source> - <translation>Wydrukuj zaznaczone</translation> + <translation>Drukuj zaznaczone</translation> </message> <message> <location filename="../src/gui/dialogs/qpagesetupdialog_unix.cpp" line="-232"/> @@ -4171,7 +4192,7 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Niestandardowy</translation> </message> <message> - <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-524"/> + <location filename="../src/gui/dialogs/qprintdialog_unix.cpp" line="-523"/> <location line="+68"/> <source>&Options >></source> <translation>&Opcje >></translation> @@ -4179,7 +4200,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="-63"/> <source>&Print</source> - <translation>&Drukuj</translation> + <translation>Wy&drukuj</translation> </message> <message> <location line="+67"/> @@ -4189,12 +4210,12 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+253"/> <source>Print to File (PDF)</source> - <translation>Wydrukuj do pliku (PDF)</translation> + <translation>Drukuj do pliku (PDF)</translation> </message> <message> <location line="+1"/> <source>Print to File (Postscript)</source> - <translation>Wydrukuj do pliku (Postscript)</translation> + <translation>Drukuj do pliku (Postscript)</translation> </message> <message> <location line="+47"/> @@ -4222,7 +4243,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+68"/> <source>Print Preview</source> - <translation>Wydrukuj podgląd</translation> + <translation>Podgląd wydruku</translation> </message> <message> <location line="+30"/> @@ -4349,12 +4370,12 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location/> <source>Print range</source> - <translation>Wydrukuj zakres</translation> + <translation>Zakres wydruku</translation> </message> <message> <location/> <source>Print all</source> - <translation>Wydrukuj wszystko</translation> + <translation>Drukuj wszystko</translation> </message> <message> <location/> @@ -4483,7 +4504,7 @@ Proszę wybrać inną nazwę pliku.</translation> <context> <name>QProcess</name> <message> - <location filename="../src/corelib/io/qprocess_unix.cpp" line="+402"/> + <location filename="../src/corelib/io/qprocess_unix.cpp" line="+406"/> <location filename="../src/corelib/io/qprocess_win.cpp" line="+137"/> <source>Could not open input redirection for reading</source> <translation>Nie można otworzyć wejściowego przekierowania do odczytu</translation> @@ -4500,7 +4521,7 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Błąd zasobów (błąd forkowania): %1</translation> </message> <message> - <location line="+252"/> + <location line="+258"/> <location line="+52"/> <location line="+74"/> <location line="+66"/> @@ -4664,7 +4685,7 @@ Proszę wybrać inną nazwę pliku.</translation> <context> <name>QSQLiteDriver</name> <message> - <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+555"/> + <location filename="../src/sql/drivers/sqlite/qsql_sqlite.cpp" line="+551"/> <source>Error closing database</source> <translation>Błąd zamykania bazy danych</translation> </message> @@ -4707,8 +4728,8 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Nie można wykonać polecenia</translation> </message> <message> - <location line="-133"/> - <location line="+66"/> + <location line="-129"/> + <location line="+62"/> <location line="+8"/> <source>Unable to fetch row</source> <translation>Nie można pobrać wiersza danych</translation> @@ -4719,7 +4740,7 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Nie można skasować polecenia</translation> </message> <message> - <location line="-152"/> + <location line="-148"/> <source>No query</source> <translation>Brak zapytania</translation> </message> @@ -4744,7 +4765,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+2"/> <source>Ignore-count</source> - <translation type="unfinished"></translation> + <translation>Licznik pominięć</translation> </message> <message> <location line="+2"/> @@ -4754,7 +4775,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+2"/> <source>Hit-count</source> - <translation>Ilość trafień</translation> + <translation>Licznik trafień</translation> </message> </context> <context> @@ -5031,7 +5052,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+6"/> <source>Debug Output</source> - <translation>Wyjscie debuggera</translation> + <translation>Wyjście debuggera</translation> </message> <message> <location line="+6"/> @@ -5167,7 +5188,7 @@ Proszę wybrać inną nazwę pliku.</translation> </message> <message> <location filename="../src/corelib/kernel/qsharedmemory_symbian.cpp" line="+83"/> - <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+80"/> + <location filename="../src/corelib/kernel/qsharedmemory_unix.cpp" line="+81"/> <location filename="../src/corelib/kernel/qsharedmemory_win.cpp" line="+87"/> <source>%1: permission denied</source> <translation>%1: brak dostępu</translation> @@ -5262,7 +5283,7 @@ Proszę wybrać inną nazwę pliku.</translation> <context> <name>QShortcut</name> <message> - <location filename="../src/gui/kernel/qkeysequence.cpp" line="+1143"/> + <location filename="../src/gui/kernel/qkeysequence.cpp" line="+1249"/> <source>+</source> <translation>+</translation> </message> @@ -5273,12 +5294,12 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Alt</translation> </message> <message> - <location line="-767"/> + <location line="-871"/> <source>Back</source> <translation>Back</translation> </message> <message> - <location line="-23"/> + <location line="-25"/> <source>Backspace</source> <translation>Backspace</translation> </message> @@ -5288,7 +5309,7 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Backtab</translation> </message> <message> - <location line="+31"/> + <location line="+33"/> <source>Bass Boost</source> <translation>Wzmocnienie basów</translation> </message> @@ -5303,7 +5324,7 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Basy w górę</translation> </message> <message> - <location line="+59"/> + <location line="+149"/> <source>Call</source> <translation>Wywołaj</translation> </message> @@ -5313,12 +5334,457 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Caps Lock</translation> </message> <message> - <location line="-53"/> + <location line="-145"/> <source>CapsLock</source> <translation>CapsLock</translation> </message> <message> - <location line="+70"/> + <location line="+49"/> + <source>Monitor Brightness Up</source> + <translation>Zwiększ jasność monitora</translation> + </message> + <message> + <location line="+1"/> + <source>Monitor Brightness Down</source> + <translation>Zmniejsz jasność monitora</translation> + </message> + <message> + <location line="+1"/> + <source>Keyboard Light On/Off</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Keyboard Brightness Up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Keyboard Brightness Down</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Power Off</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Wake Up</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Eject</source> + <translation>Wysuń</translation> + </message> + <message> + <location line="+1"/> + <source>Screensaver</source> + <translation>Wygaszacz ekranu</translation> + </message> + <message> + <location line="+1"/> + <source>WWW</source> + <translation>WWW</translation> + </message> + <message> + <location line="+1"/> + <source>Sleep</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>LightBulb</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Shop</source> + <translation>Sklep</translation> + </message> + <message> + <location line="+1"/> + <source>History</source> + <translation>Historia</translation> + </message> + <message> + <location line="+1"/> + <source>Add Favorite</source> + <translation>Dodaj do ulubionych</translation> + </message> + <message> + <location line="+1"/> + <source>Hot Links</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Adjust Brightness</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Finance</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Community</source> + <translation>Społeczność</translation> + </message> + <message> + <location line="+1"/> + <source>Audio Rewind</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Back Forward</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Application Left</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Application Right</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Book</source> + <translation>Książka</translation> + </message> + <message> + <location line="+1"/> + <source>CD</source> + <translation>CD</translation> + </message> + <message> + <location line="+1"/> + <source>Calculator</source> + <translation>Kalkulator</translation> + </message> + <message> + <location line="+1"/> + <source>Clear</source> + <translation>Wyczyść</translation> + </message> + <message> + <location line="+1"/> + <source>Clear Grab</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Close</source> + <translation>Zamknij</translation> + </message> + <message> + <location line="+1"/> + <source>Copy</source> + <translation>Skopiuj</translation> + </message> + <message> + <location line="+1"/> + <source>Cut</source> + <translation>Wytnij</translation> + </message> + <message> + <location line="+1"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>DOS</source> + <translation>DOS</translation> + </message> + <message> + <location line="+1"/> + <source>Documents</source> + <translation>Dokumenty</translation> + </message> + <message> + <location line="+1"/> + <source>Spreadsheet</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Browser</source> + <translation>Przeglądarka</translation> + </message> + <message> + <location line="+1"/> + <source>Game</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Go</source> + <translation>Przejdź</translation> + </message> + <message> + <location line="+1"/> + <source>iTouch</source> + <translation>iTouch</translation> + </message> + <message> + <location line="+1"/> + <source>Logoff</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Market</source> + <translation>Rynek</translation> + </message> + <message> + <location line="+1"/> + <source>Meeting</source> + <translation>Spotkanie</translation> + </message> + <message> + <location line="+1"/> + <source>Keyboard Menu</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Menu PB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>My Sites</source> + <translation>Moje strony</translation> + </message> + <message> + <location line="+1"/> + <source>News</source> + <translation>Wiadomości</translation> + </message> + <message> + <location line="+1"/> + <source>Home Office</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Option</source> + <translation>Opcje</translation> + </message> + <message> + <location line="+1"/> + <source>Paste</source> + <translation>Wklej</translation> + </message> + <message> + <location line="+1"/> + <source>Phone</source> + <translation>Telefon</translation> + </message> + <message> + <location line="+1"/> + <source>Reply</source> + <translation>Odpowiedz</translation> + </message> + <message> + <location line="+1"/> + <source>Reload</source> + <translation>Przeładuj</translation> + </message> + <message> + <location line="+1"/> + <source>Rotate Windows</source> + <translation>Obróć okna</translation> + </message> + <message> + <location line="+1"/> + <source>Rotation PB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Rotation KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Save</source> + <translation>Zachowaj</translation> + </message> + <message> + <location line="+1"/> + <source>Send</source> + <translation>Wyślij</translation> + </message> + <message> + <location line="+1"/> + <source>Spellchecker</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Split Screen</source> + <translation>Podziel ekran</translation> + </message> + <message> + <location line="+1"/> + <source>Support</source> + <translation>Pomoc techniczna</translation> + </message> + <message> + <location line="+1"/> + <source>Task Panel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Terminal</source> + <translation>Terminal</translation> + </message> + <message> + <location line="+1"/> + <source>Tools</source> + <translation>Narzędzia</translation> + </message> + <message> + <location line="+1"/> + <source>Travel</source> + <translation>Podróże</translation> + </message> + <message> + <location line="+1"/> + <source>Video</source> + <translation>Wideo</translation> + </message> + <message> + <location line="+1"/> + <source>Word Processor</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>XFer</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Zoom In</source> + <translation>Powiększ</translation> + </message> + <message> + <location line="+1"/> + <source>Zoom Out</source> + <translation>Pomniejsz</translation> + </message> + <message> + <location line="+1"/> + <source>Away</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Messenger</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>WebCam</source> + <translation>WebCam</translation> + </message> + <message> + <location line="+1"/> + <source>Mail Forward</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Pictures</source> + <translation>Zdjęcia</translation> + </message> + <message> + <location line="+1"/> + <source>Music</source> + <translation>Muzyka</translation> + </message> + <message> + <location line="+1"/> + <source>Battery</source> + <translation>Bateria</translation> + </message> + <message> + <location line="+1"/> + <source>Bluetooth</source> + <translation>Bluetooth</translation> + </message> + <message> + <location line="+1"/> + <source>Wireless</source> + <translation>Bezprzewodowy</translation> + </message> + <message> + <location line="+1"/> + <source>Ultra Wide Band</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Audio Forward</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Audio Repeat</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Audio Random Play</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Subtitle</source> + <translation>Napisy</translation> + </message> + <message> + <location line="+1"/> + <source>Audio Cycle Track</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Time</source> + <translation>Czas</translation> + </message> + <message> + <location line="+2"/> + <source>View</source> + <translation>Widok</translation> + </message> + <message> + <location line="+1"/> + <source>Top Menu</source> + <translation>Menu główne</translation> + </message> + <message> + <location line="+1"/> + <source>Suspend</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Hibernate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+24"/> <source>Context1</source> <translation>Kontekst1</translation> </message> @@ -5338,23 +5804,23 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Kontekst4</translation> </message> <message> - <location line="+564"/> + <location line="+578"/> <location line="+135"/> <source>Ctrl</source> <translation>Ctrl</translation> </message> <message> - <location line="-784"/> + <location line="-890"/> <source>Del</source> <translation>Del</translation> </message> <message> - <location line="+70"/> + <location line="+162"/> <source>Delete</source> <translation>Delete</translation> </message> <message> - <location line="-61"/> + <location line="-153"/> <source>Down</source> <translation>Dół</translation> </message> @@ -5374,37 +5840,37 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Esc</translation> </message> <message> - <location line="+78"/> + <location line="+170"/> <source>Escape</source> <translation>Escape</translation> </message> <message> - <location line="+732"/> + <location line="+746"/> <source>F%1</source> <translation>F%1</translation> </message> <message> - <location line="-766"/> + <location line="-870"/> <source>Favorites</source> <translation>Ulubione</translation> </message> <message> - <location line="+51"/> + <location line="+141"/> <source>Flip</source> <translation>Odwróć</translation> </message> <message> - <location line="-68"/> + <location line="-158"/> <source>Forward</source> <translation>Do przodu</translation> </message> <message> - <location line="+67"/> + <location line="+157"/> <source>Hangup</source> <translation>Zawieś</translation> </message> <message> - <location line="-71"/> + <location line="-163"/> <source>Help</source> <translation>Pomoc</translation> </message> @@ -5414,22 +5880,22 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Home</translation> </message> <message> - <location line="+32"/> + <location line="+34"/> <source>Home Page</source> <translation>Strona startowa</translation> </message> <message> - <location line="-37"/> + <location line="-39"/> <source>Ins</source> <translation>Ins</translation> </message> <message> - <location line="+70"/> + <location line="+162"/> <source>Insert</source> <translation>Insert</translation> </message> <message> - <location line="-26"/> + <location line="-116"/> <source>Launch (0)</source> <translation>Uruchom (0)</translation> </message> @@ -5519,14 +5985,14 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Uruchom przeglądarkę mediów</translation> </message> <message> - <location line="-36"/> + <location line="-38"/> <source>Left</source> <translation>Lewo</translation> </message> <message> - <location line="+28"/> + <location line="+30"/> <source>Media Next</source> - <translation>Następna ścieżka </translation> + <translation>Następna ścieżka</translation> </message> <message> <location line="-3"/> @@ -5549,18 +6015,18 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Zatrzymaj</translation> </message> <message> - <location line="-17"/> + <location line="-19"/> <source>Menu</source> <translation>Menu</translation> </message> <message> - <location line="+637"/> + <location line="+743"/> <location line="+130"/> <source>Meta</source> <translation>Meta</translation> </message> <message> - <location line="-704"/> + <location line="-718"/> <source>No</source> <translation>Nie</translation> </message> @@ -5575,17 +6041,17 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Number Lock</translation> </message> <message> - <location line="-54"/> + <location line="-146"/> <source>NumLock</source> <translation>NumLock</translation> </message> <message> - <location line="+27"/> + <location line="+29"/> <source>Open URL</source> <translation>Otwórz adres</translation> </message> <message> - <location line="+24"/> + <location line="+114"/> <source>Page Down</source> <translation>Strona do góry</translation> </message> @@ -5595,7 +6061,7 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Strona w dół</translation> </message> <message> - <location line="-62"/> + <location line="-154"/> <source>Pause</source> <translation>Pauza</translation> </message> @@ -5612,20 +6078,20 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="-8"/> <source>Print</source> - <translation>Print</translation> + <translation>Wydrukuj</translation> </message> <message> - <location line="+60"/> + <location line="+152"/> <source>Print Screen</source> <translation>Wydrukuj zawartość ekranu</translation> </message> <message> - <location line="-40"/> + <location line="-130"/> <source>Refresh</source> <translation>Odśwież</translation> </message> <message> - <location line="-25"/> + <location line="-27"/> <source>Return</source> <translation>Powrót</translation> </message> @@ -5635,38 +6101,39 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Prawo</translation> </message> <message> - <location line="+60"/> + <location line="+152"/> <source>Scroll Lock</source> <translation>Scroll Lock</translation> </message> <message> - <location line="-54"/> + <location line="-146"/> <source>ScrollLock</source> <translation>ScrollLock</translation> </message> <message> - <location line="+24"/> + <location line="+26"/> <source>Search</source> <translation>Szukaj</translation> </message> <message> - <location line="+38"/> + <location line="+106"/> + <location line="+22"/> <source>Select</source> <translation>Wybierz</translation> </message> <message> - <location line="+574"/> + <location line="+588"/> <location line="+138"/> <source>Shift</source> <translation>Shift</translation> </message> <message> - <location line="-796"/> + <location line="-902"/> <source>Space</source> <translation>Spacja</translation> </message> <message> - <location line="+47"/> + <location line="+49"/> <source>Standby</source> <translation>Tryb oczekiwania</translation> </message> @@ -5676,22 +6143,22 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Zatrzymaj</translation> </message> <message> - <location line="-18"/> + <location line="-20"/> <source>SysReq</source> <translation>SysReq</translation> </message> <message> - <location line="+69"/> + <location line="+161"/> <source>System Request</source> <translation>Żądanie systemu</translation> </message> <message> - <location line="-78"/> + <location line="-170"/> <source>Tab</source> <translation>Tabulator</translation> </message> <message> - <location line="+36"/> + <location line="+38"/> <source>Treble Down</source> <translation>Soprany w dół</translation> </message> @@ -5701,12 +6168,12 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Soprany w górę</translation> </message> <message> - <location line="-22"/> + <location line="-24"/> <source>Up</source> <translation>Góra</translation> </message> <message> - <location line="+16"/> + <location line="+18"/> <source>Volume Down</source> <translation>Przycisz</translation> </message> @@ -5721,7 +6188,7 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Zrób głośniej</translation> </message> <message> - <location line="+52"/> + <location line="+142"/> <source>Yes</source> <translation>Tak</translation> </message> @@ -5822,7 +6289,7 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Nieznany kod błędu (0x%1) pośrednika SOCKS wersji 5</translation> </message> <message> - <location line="+685"/> + <location line="+689"/> <source>Network operation timed out</source> <translation>Przekroczony czas operacji sieciowej</translation> </message> @@ -5830,7 +6297,7 @@ Proszę wybrać inną nazwę pliku.</translation> <context> <name>QSoftKeyManager</name> <message> - <location filename="../src/gui/kernel/qsoftkeymanager.cpp" line="+78"/> + <location filename="../src/gui/kernel/qsoftkeymanager.cpp" line="+79"/> <source>Ok</source> <translation>OK</translation> </message> @@ -5855,7 +6322,7 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Anuluj</translation> </message> <message> - <location line="+151"/> + <location line="+176"/> <source>Exit</source> <translation>Wyjście</translation> </message> @@ -5958,7 +6425,12 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Niepoprawna lub pusta lista szyfrów (%1)</translation> </message> <message> - <location line="+62"/> + <location line="+42"/> + <source>Private key does not certify public key, %1</source> + <translation>Prywatny klucz nie uwiarygodnia publicznego, %1</translation> + </message> + <message> + <location line="+20"/> <source>Error creating SSL session, %1</source> <translation>Błąd tworzenia sesji SSL, %1</translation> </message> @@ -5983,15 +6455,125 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Błąd ładowania prywatnego klucza, %1</translation> </message> <message> - <location line="+7"/> - <source>Private key does not certificate public key, %1</source> - <translation>Prywatny klucz nie uwiarygodnia publicznego, %1</translation> + <location filename="../src/network/ssl/qsslerror.cpp" line="+213"/> + <source>No error</source> + <translation>Brak błędu</translation> + </message> + <message> + <location line="+3"/> + <source>The issuer certificate could not be found</source> + <translation>Nie można odnaleźć wydawcy certyfikatu</translation> + </message> + <message> + <location line="+3"/> + <source>The certificate signature could not be decrypted</source> + <translation>Nie można odszyfrować podpisu certyfikatu</translation> + </message> + <message> + <location line="+3"/> + <source>The public key in the certificate could not be read</source> + <translation>Nie można odczytać publicznego klucza w certyfikacie</translation> + </message> + <message> + <location line="+3"/> + <source>The signature of the certificate is invalid</source> + <translation>Niepoprawny podpis certyfikatu</translation> + </message> + <message> + <location line="+3"/> + <source>The certificate is not yet valid</source> + <translation>Certyfikat nie jest jeszcze ważny</translation> + </message> + <message> + <location line="+3"/> + <source>The certificate has expired</source> + <translation>Certyfikat utracił ważność</translation> + </message> + <message> + <location line="+3"/> + <source>The certificate's notBefore field contains an invalid time</source> + <translation>Pole "notBefore" certyfikatu zawiera niepoprawną datę</translation> + </message> + <message> + <location line="+3"/> + <source>The certificate's notAfter field contains an invalid time</source> + <translation>Pole "notAfter" certyfikatu zawiera niepoprawną datę</translation> + </message> + <message> + <location line="+3"/> + <source>The certificate is self-signed, and untrusted</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> + <source>The root certificate of the certificate chain is self-signed, and untrusted</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> + <source>The issuer certificate of a locally looked up certificate could not be found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> + <source>No certificates could be verified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> + <source>One of the CA certificates is invalid</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> + <source>The basicConstraints path length parameter has been exceeded</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> + <source>The supplied certificate is unsuitable for this purpose</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> + <source>The root CA certificate is not trusted for this purpose</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> + <source>The root CA certificate is marked to reject the specified purpose</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> + <source>The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+4"/> + <source>The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+5"/> + <source>The peer did not present any certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> + <source>The host name did not match any of the valid hosts for this certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>Unknown error</source> + <translation>Nieznany błąd</translation> </message> </context> <context> <name>QStateMachine</name> <message> - <location filename="../src/corelib/statemachine/qstatemachine.cpp" line="+998"/> + <location filename="../src/corelib/statemachine/qstatemachine.cpp" line="+1028"/> <source>Missing initial state in compound state '%1'</source> <translation>Brak stanu początkowego w stanie złożonym '%1'</translation> </message> @@ -6045,7 +6627,7 @@ Proszę wybrać inną nazwę pliku.</translation> <context> <name>QTDSDriver</name> <message> - <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+584"/> + <location filename="../src/sql/drivers/tds/qsql_tds.cpp" line="+595"/> <source>Unable to open connection</source> <translation>Nie można otworzyć połączenia</translation> </message> @@ -6079,7 +6661,7 @@ Proszę wybrać inną nazwę pliku.</translation> <context> <name>QTextControl</name> <message> - <location filename="../src/gui/text/qtextcontrol.cpp" line="+2018"/> + <location filename="../src/gui/text/qtextcontrol.cpp" line="+2034"/> <source>&Copy</source> <translation>S&kopiuj</translation> </message> @@ -6179,7 +6761,7 @@ Proszę wybrać inną nazwę pliku.</translation> <context> <name>QUnicodeControlCharacterMenu</name> <message> - <location filename="../src/gui/text/qtextcontrol.cpp" line="+933"/> + <location filename="../src/gui/text/qtextcontrol.cpp" line="+948"/> <source>Insert Unicode control character</source> <translation>Wstaw znak kontroli Unicode</translation> </message> @@ -6237,7 +6819,7 @@ Proszę wybrać inną nazwę pliku.</translation> <context> <name>QWebFrame</name> <message> - <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+711"/> + <location filename="../src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp" line="+712"/> <source>Request cancelled</source> <translation>Prośba anulowana</translation> </message> @@ -6657,13 +7239,13 @@ Proszę wybrać inną nazwę pliku.</translation> <location line="+2"/> <source>Movie time scrubber</source> <comment>Media controller element</comment> - <translation type="unfinished"></translation> + <translation>Suwak czasu</translation> </message> <message> <location line="+2"/> <source>Movie time scrubber thumb</source> <comment>Media controller element</comment> - <translation type="unfinished"></translation> + <translation>Uchwyt suwaka czasu</translation> </message> <message> <location line="+2"/> @@ -6779,7 +7361,7 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Wizytator sieciowy - %2</translation> </message> <message> - <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+406"/> + <location filename="../src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp" line="+416"/> <source>Bad HTTP request</source> <translation>Niepoprawna komenda HTTP</translation> </message> @@ -6883,7 +7465,7 @@ Proszę wybrać inną nazwę pliku.</translation> </translation> </message> <message> - <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1708"/> + <location filename="../src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp" line="+1827"/> <source>JavaScript Alert - %1</source> <translation>Ostrzeżenie JavaScript - %1</translation> </message> @@ -6908,9 +7490,9 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Skrypt na tej stronie nie działa poprawnie. Czy chcesz przerwać ten skrypt?</translation> </message> <message> - <location line="+383"/> + <location line="+381"/> <source>Move the cursor to the next character</source> - <translation>Przesuń kursor do nastepnego znaku</translation> + <translation>Przesuń kursor do następnego znaku</translation> </message> <message> <location line="+3"/> @@ -6920,7 +7502,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+3"/> <source>Move the cursor to the next word</source> - <translation>Przesuń kursor do nastepnego słowa</translation> + <translation>Przesuń kursor do następnego słowa</translation> </message> <message> <location line="+3"/> @@ -6930,7 +7512,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+3"/> <source>Move the cursor to the next line</source> - <translation>Przesuń kursor do nastepnej linii</translation> + <translation>Przesuń kursor do następnej linii</translation> </message> <message> <location line="+3"/> @@ -7080,7 +7662,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+4"/> <source>Insert Bulleted List</source> - <translation>Wstaw listę wypunktową</translation> + <translation>Wstaw listę wypunktowaną</translation> </message> <message> <location line="+4"/> @@ -7129,7 +7711,7 @@ Proszę wybrać inną nazwę pliku.</translation> <context> <name>QWidget</name> <message> - <location filename="../src/gui/kernel/qwidget.cpp" line="+5672"/> + <location filename="../src/gui/kernel/qwidget.cpp" line="+5723"/> <source>*</source> <translation>*</translation> </message> @@ -7557,7 +8139,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+274"/> <source>The standalone pseudo attribute must appear after the encoding.</source> - <translation>Pseudo atrybut "standalone" musi pojawić sie po "encoding".</translation> + <translation>Pseudo atrybut "standalone" musi pojawić się po "encoding".</translation> </message> <message> <location filename="../src/corelib/xml/qxmlstream_p.h" line="+562"/> @@ -7752,17 +8334,22 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+32"/> <source>A positional predicate must evaluate to a single numeric value.</source> - <translation>Wynikiem predykatu pozycyjnego musi być pojedyńcza wartość liczbowa.</translation> + <translation>Wynikiem predykatu pozycyjnego musi być pojedyncza wartość liczbowa.</translation> </message> <message> - <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+137"/> + <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="+113"/> + <source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, %2 is invalid.</source> + <translation>Docelowa nazwa w instrukcji przetwarzania nie może być %1 w żadnej kombinacji wielkich i małych liter. Dlatego nazwa %2 jest niepoprawna.</translation> + </message> + <message> + <location line="+24"/> <source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source> <translation>%1 nie jest poprawną nazwą docelową w instrukcji przetwarzania. Nazwa musi być wartością %2, np. %3.</translation> </message> <message> <location filename="../src/xmlpatterns/expr/qpath.cpp" line="+109"/> <source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source> - <translation>Ostatni krok w ścieżce musi zawierać albo wezły albo wartości atomowe. Nie może zawierać obu jednocześnie.</translation> + <translation>Ostatni krok w ścieżce musi zawierać albo węzły albo wartości atomowe. Nie może zawierać obu jednocześnie.</translation> </message> <message> <location filename="../src/xmlpatterns/expr/qprocessinginstructionconstructor.cpp" line="+84"/> @@ -7818,7 +8405,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location filename="../src/xmlpatterns/functions/qpatternmatchingfns.cpp" line="+94"/> <source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source> - <translation>Po %1 musi następowac %2 lub %3, lecz nie na końcu zastępczego ciągu.</translation> + <translation>Po %1 musi następować %2 lub %3, lecz nie na końcu zastępczego ciągu.</translation> </message> <message> <location line="+39"/> @@ -7907,7 +8494,12 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>%1 jest nieznanym typem schematu.</translation> </message> <message> - <location line="-7041"/> + <location line="-7254"/> + <source>A template with name %1 has already been declared.</source> + <translation>Szablon o nazwie %1 został już zadeklarowany.</translation> + </message> + <message> + <location line="+213"/> <source>Only one %1 declaration can occur in the query prolog.</source> <translation>Tylko jedna deklaracja %1 może się pojawić w prologu zapytania.</translation> </message> @@ -7962,12 +8554,7 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Cecha "Import modułu" nie jest obsługiwana</translation> </message> <message> - <location line="+52"/> - <source>No value is available for the external variable by name %1.</source> - <translation>Brak wartości dla zewnętrznej zmiennej o nazwie %1.</translation> - </message> - <message> - <location line="+114"/> + <location line="+166"/> <source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source> <translation>Przestrzeń nazw %1 jest zarezerwowana, dlatego funkcje zdefiniowane przez użytkownika nie mogą jej użyć. Spróbuj predefiniowany przedrostek %2, który istnieje w takich przypadkach.</translation> </message> @@ -7987,12 +8574,7 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Zewnętrzne funkcje nie są obsługiwane. Wszystkie obsługiwane funkcje mogą być używane bezpośrednio, bez ich uprzedniego deklarowania jako zewnętrzne</translation> </message> <message> - <location line="+37"/> - <source>An argument by name %1 has already been declared. Every argument name must be unique.</source> - <translation>Argument o nazwie %1 został już zadeklarowany. Każda nazwa argumentu musi być unikatowa.</translation> - </message> - <message> - <location line="+456"/> + <location line="+493"/> <source>The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide.</source> <translation>Nazwa zmiennej powiązanej w wyrażeniu "for" musi być inna od zmiennej pozycjonującej. W związku z tym dwie zmienne o nazwie %1 kolidują ze sobą.</translation> </message> @@ -8019,12 +8601,12 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="-152"/> <source>W3C XML Schema identity constraint selector</source> - <translation>Selektor ograniczenia jednostki W3C XML Schema</translation> + <translation>Selektor narzucenia niepowtarzalności W3C XML Schema</translation> </message> <message> <location line="+3"/> <source>W3C XML Schema identity constraint field</source> - <translation>Pole ograniczenia jednostki W3C XML Schema</translation> + <translation>Pole narzucenia niepowtarzalności W3C XML Schema</translation> </message> <message> <location line="+4"/> @@ -8032,37 +8614,37 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Wystąpiła konstrukcja która jest niedozwolona w bieżącym języku (%1).</translation> </message> <message> - <location line="+583"/> - <source>No variable by name %1 exists</source> - <translation>Zmienna o nazwie %1 nie istnieje</translation> - </message> - <message> - <location line="-464"/> - <source>A template by name %1 has already been declared.</source> - <translation>Szablon o nazwie %1 został już zadeklarowany.</translation> + <location line="+3700"/> + <source>The keyword %1 cannot occur with any other mode name.</source> + <translation>Słowo kluczowe %1 nie może wystąpić z inną nazwą trybu.</translation> </message> <message> - <location line="+3581"/> - <source>The keyword %1 cannot occur with any other mode name.</source> - <translation>Słowo kluczowe %1 nie może wystapić z inną nazwą trybu.</translation> + <location line="-3117"/> + <source>No variable with name %1 exists</source> + <translation>Zmienna o nazwie %1 nie istnieje</translation> </message> <message> - <location line="+29"/> - <source>The value of attribute %1 must of type %2, which %3 isn't.</source> + <location line="+3146"/> + <source>The value of attribute %1 must be of type %2, which %3 isn't.</source> <translation>Wartość atrybutu %1 musi być typu %2, którym nie jest %3.</translation> </message> <message> <location line="+75"/> - <source>The prefix %1 can not be bound. By default, it is already bound to the namespace %2.</source> + <source>The prefix %1 cannot be bound. By default, it is already bound to the namespace %2.</source> <translation>Przedrostek %1 nie może być powiązany. Jest on domyślnie powiązany z przestrzenią nazw %2.</translation> </message> <message> <location line="+312"/> - <source>A variable by name %1 has already been declared.</source> + <source>A variable with name %1 has already been declared.</source> <translation>Zmienna o nazwie %1 została już zadeklarowana.</translation> </message> <message> - <location line="+135"/> + <location line="+39"/> + <source>No value is available for the external variable with name %1.</source> + <translation>Brak wartości dla zewnętrznej zmiennej o nazwie %1.</translation> + </message> + <message> + <location line="+96"/> <source>A stylesheet function must have a prefixed name.</source> <translation>Funkcja arkusza stylu musi zawierać nazwę z przedrostkiem.</translation> </message> @@ -8072,7 +8654,12 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Przestrzeń nazw dla funkcji zdefiniowanej przez użytkownika nie może być pusta (spróbuj predefiniowany przedrostek %1, który stworzono specjalnie do takich sytuacji)</translation> </message> <message> - <location line="+294"/> + <location line="+115"/> + <source>An argument with name %1 has already been declared. Every argument name must be unique.</source> + <translation>Argument o nazwie %1 został już zadeklarowany. Każda nazwa argumentu musi być unikatowa.</translation> + </message> + <message> + <location line="+179"/> <source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source> <translation>Gdy funkcja %1 jest wykorzystana do dopasowania wewnątrz wzorca, jej argument musi być referencją do zmiennej lub napisem.</translation> </message> @@ -8113,11 +8700,16 @@ Proszę wybrać inną nazwę pliku.</translation> </message> <message> <location line="+462"/> - <source>No function by name %1 is available.</source> + <source>No function with name %1 is available.</source> <translation>Żadna funkcja o nazwie %1 nie jest dostępna.</translation> </message> <message> - <location line="+102"/> + <location line="+250"/> + <source>An attribute with name %1 has already appeared on this element.</source> + <translation>Atrybut o nazwie %1 już się pojawił w tym elemencie.</translation> + </message> + <message> + <location line="-148"/> <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source> <translation>Przestrzeń nazw URI nie może być pustym ciągiem w powiązaniu z przedrostkiem, %1.</translation> </message> @@ -8152,12 +8744,7 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Przestrzeń nazw URI nie może być stałą i nie może używać zawartych w niej wyrażeń.</translation> </message> <message> - <location line="+16"/> - <source>An attribute by name %1 has already appeared on this element.</source> - <translation>Atrybut o nazwie %1 już się pojawił w tym elemencie.</translation> - </message> - <message> - <location line="+61"/> + <location line="+77"/> <source>A direct element constructor is not well-formed. %1 is ended with %2.</source> <translation>Konstruktor elementu bezpośredniego nie jest dobrze sformatowany. %1 jest zakończony %2.</translation> </message> @@ -8262,11 +8849,6 @@ Proszę wybrać inną nazwę pliku.</translation> <source>Modulus division (%1) by zero (%2) is undefined.</source> <translation>Dzielenie modulo (%1) przez zero (%2) jest niezdefiniowane.</translation> </message> - <message> - <location filename="../src/xmlpatterns/expr/qncnameconstructor_p.h" line="-24"/> - <source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source> - <translation>Docelowa nazwa w instrukcji przetwarzania nie może być %1 w żadnej kombinacji wielkich i małych liter. Dlatego nazwa %2 jest niepoprawna.</translation> - </message> <message numerus="yes"> <location filename="../src/xmlpatterns/functions/qabstractfunctionfactory.cpp" line="+77"/> <source>%1 takes at most %n argument(s). %2 is therefore invalid.</source> @@ -8409,7 +8991,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+166"/> <source>In a simplified stylesheet module, attribute %1 must be present.</source> - <translation>W uproszczonym module arkuszu stylu musi wystapić atrybut %1.</translation> + <translation>W uproszczonym module arkuszu stylu musi wystąpić atrybut %1.</translation> </message> <message> <location line="+72"/> @@ -8419,7 +9001,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+9"/> <source>Element %1 must have at least one of the attributes %2 or %3.</source> - <translation>Element %1 musi posiadać przynajmiej jeden z atrybutów: %2 lub %3.</translation> + <translation>Element %1 musi posiadać przynajmniej jeden z atrybutów: %2 lub %3.</translation> </message> <message> <location line="+28"/> @@ -8531,12 +9113,12 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+25"/> <source>%1 is not allowed to derive from %2 by restriction as the latter defines it as final.</source> - <translation>Nie można wywieść %1 z %2 ograniczając go ponieważ jest on zdefiniowany jako ostateczny.</translation> + <translation>Nie można wywieść %1 z %2 ograniczając go ponieważ jest on zdefiniowany jako końcowy.</translation> </message> <message> <location line="+5"/> <source>%1 is not allowed to derive from %2 by extension as the latter defines it as final.</source> - <translation>Nie można wywieść %1 z %2 rozszerzając go ponieważ jest on zdefiniowany jako ostateczny.</translation> + <translation>Nie można wywieść %1 z %2 rozszerzając go ponieważ jest on zdefiniowany jako końcowy.</translation> </message> <message> <location line="+31"/> @@ -8562,13 +9144,13 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+6"/> <source>Simple type %1 cannot derive from %2 as the latter defines restriction as final.</source> - <translation>Typ prosty %1 nie może wywodzić się z %2 ponieważ ten ostatni jest zdefiniowany jako ostateczny.</translation> + <translation>Typ prosty %1 nie może wywodzić się z %2 ponieważ ten ostatni jest zdefiniowany jako końcowy.</translation> </message> <message> <location line="+13"/> <location line="+484"/> <source>Variety of item type of %1 must be either atomic or union.</source> - <translation>Typem elementu %1 musi być albo typ atomowy albo unia.</translation> + <translation>Typem elementów listy %1 musi być albo typ atomowy albo unia.</translation> </message> <message> <location line="-474"/> @@ -8595,12 +9177,12 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+6"/> <source>Base type of simple type %1 has defined derivation by restriction as final.</source> - <translation>Typ podstawowy dla typu prostego %1 ma zdefiniowane wywodzenie poprzez ograniczenie jako ostateczne.</translation> + <translation>Typ podstawowy dla typu prostego %1 ma zdefiniowane wywodzenie poprzez ograniczenie jako końcowe.</translation> </message> <message> <location line="+6"/> <source>Item type of base type does not match item type of %1.</source> - <translation>Typ elementu w podstawowym typie nie pasuje do typu %1.</translation> + <translation>Typ elementów listy typu podstawowego nie pasuje do typu elementów listy %1.</translation> </message> <message> <location line="+26"/> @@ -8657,7 +9239,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+37"/> <source>Content model of complex type %1 is not a valid extension of content model of %2.</source> - <translation>Model zawartości typu złożonego %1 nie jest poprawnym rozszerzenien modelu zawartości %2.</translation> + <translation>Model zawartości typu złożonego %1 nie jest poprawnym rozszerzeniem modelu zawartości %2.</translation> </message> <message> <location line="+10"/> @@ -8687,7 +9269,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+35"/> <source>Item type of simple type %1 cannot be a complex type.</source> - <translation>Typ elementu w prostym typie %1 nie może być typem złożonym.</translation> + <translation>Typ elementów listy w prostym typie %1 nie może być typem złożonym.</translation> </message> <message> <location line="+44"/> @@ -8731,7 +9313,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="-389"/> <source>%1 facet contains invalid regular expression</source> - <translation>Aspekt %1 zawiera niepoprawe wyrażenie regularne</translation> + <translation>Aspekt %1 zawiera niepoprawne wyrażenie regularne</translation> </message> <message> <location line="+15"/> @@ -8902,7 +9484,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+18"/> <source>processContent of base wildcard must be weaker than derived wildcard.</source> - <translation>"processContent" podstawowego znacznika musi być słabszy od wywiedzionego znacznika.</translation> + <translation>"processContent" podstawowego dżokera musi być słabszy od wywiedzionego dżokera.</translation> </message> <message> <location line="+39"/> @@ -8913,7 +9495,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+28"/> <source>Particle contains non-deterministic wildcards.</source> - <translation>Element zawiera nieokreślone znaczniki.</translation> + <translation>Element zawiera nieokreślone dżokery.</translation> </message> <message> <location filename="../src/xmlpatterns/schema/qxsdschemahelper.cpp" line="+691"/> @@ -8933,13 +9515,13 @@ Proszę wybrać inną nazwę pliku.</translation> </message> <message> <location line="+5"/> - <source>Derived attribute %1 does not exists in the base definition.</source> - <translation>Wywyiedziony atrybut %1 nie istnieje w podstawowej definicji.</translation> + <source>Derived attribute %1 does not exist in the base definition.</source> + <translation>Wywiedziony atrybut %1 nie istnieje w podstawowej definicji.</translation> </message> <message> <location line="+11"/> <source>Derived attribute %1 does not match the wildcard in the base definition.</source> - <translation>Wywiedziony atrybut %1 nie pasuje do znacznika w podstawowej definicji.</translation> + <translation>Wywiedziony atrybut %1 nie pasuje do dżokera w podstawowej definicji.</translation> </message> <message> <location line="+17"/> @@ -8954,12 +9536,12 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+5"/> <source>Derived wildcard is not a subset of the base wildcard.</source> - <translation>Wywiedziony znacznik nie jest podzbiorem podstawowego znacznika.</translation> + <translation>Wywiedziony dżoker nie jest podzbiorem podstawowego dżokera.</translation> </message> <message> <location line="+5"/> <source>%1 of derived wildcard is not a valid restriction of %2 of base wildcard</source> - <translation>%1 wywiedzionego znacznika nie jest poprawnym ograniczeniem %2 podstawowego znacznika</translation> + <translation>%1 wywiedzionego dżokera nie jest poprawnym ograniczeniem %2 podstawowego dżokera</translation> </message> <message> <location line="+23"/> @@ -8984,12 +9566,12 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+10"/> <source>%1 references identity constraint %2 that is no %3 or %4 element.</source> - <translation>%1 odwołuje się do ograniczenia jednostki %2 które nie jest elementem %3 ani %4.</translation> + <translation>%1 odwołuje się do narzucenia niepowtarzalności %2 które nie jest elementem %3 ani %4.</translation> </message> <message> <location line="+10"/> <source>%1 has a different number of fields from the identity constraint %2 that it references.</source> - <translation>%1 posiada inna liczbę pól od ograniczenia jednostki %2 które się do niego odwołuje.</translation> + <translation>%1 posiada inna liczbę pól od narzucenia niepowtarzalności %2 które się do niego odwołuje.</translation> </message> <message> <location line="+23"/> @@ -8999,7 +9581,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+84"/> <source>Item type %1 of %2 element cannot be resolved.</source> - <translation>Nie można rozwiązać typu elementu %1 w elemencie %2.</translation> + <translation>Nie można rozwiązać typu elementów listy %1 w elemencie %2.</translation> </message> <message> <location line="+31"/> @@ -9100,17 +9682,17 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+52"/> <source>Attribute wildcard of %1 is not a valid restriction of attribute wildcard of base type %2.</source> - <translation>Znacznik atrybutu %1 nie jest poprawnym ograniczeniem znacznika atrybutu typu podstawowego %2.</translation> + <translation>Atrybut dżokera %1 nie jest poprawnym ograniczeniem atrybutu dżokera typu podstawowego %2.</translation> </message> <message> <location line="+7"/> <source>%1 has attribute wildcard but its base type %2 has not.</source> - <translation>%1 posiada znacznik atrybutu lecz jego typ podstawowy %2 go nie posiada.</translation> + <translation>%1 posiada atrybut dżokera lecz jego typ podstawowy %2 go nie posiada.</translation> </message> <message> <location line="+26"/> <source>Union of attribute wildcard of type %1 and attribute wildcard of its base type %2 is not expressible.</source> - <translation>Nie można wyrazić unii znacznika atrybutu typu %1 i znacznika atrybutu jego typu podstawowego %2.</translation> + <translation>Nie można wyrazić unii atrybutu dżokera typu %1 i atrybutu dżokera jego typu podstawowego %2.</translation> </message> <message> <location line="+48"/> @@ -9181,17 +9763,17 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+18"/> <source>Element %1 does not match namespace constraint of wildcard in base particle.</source> - <translation>Element %1 nie pasuje do znacznika w ograniczeniu przestrzeni nazw w elemencie podstawowym.</translation> + <translation>Element %1 nie pasuje do ograniczenia przestrzeni nazw dżokera w elemencie podstawowym.</translation> </message> <message> <location line="+11"/> <source>Wildcard in derived particle is not a valid subset of wildcard in base particle.</source> - <translation>Znacznik w wywiedzionym elemencie nie jest poprawnym podzbiorem znacznika w elemencie podstawowym.</translation> + <translation>Dżoker w wywiedzionym elemencie nie jest poprawnym podzbiorem dżokera w elemencie podstawowym.</translation> </message> <message> <location line="+5"/> <source>processContent of wildcard in derived particle is weaker than wildcard in base particle.</source> - <translation>"processContent" znacznika w wywiedzionym elemencie jest słabszy od znacznika w podstawowym elemencie.</translation> + <translation>"processContent" dżokera w wywiedzionym elemencie jest słabszy od dżokera w podstawowym elemencie.</translation> </message> <message> <location line="+240"/> @@ -9385,7 +9967,7 @@ Proszę wybrać inną nazwę pliku.</translation> </message> <message> <location line="+131"/> - <source>Component with id %1 has been defined previously.</source> + <source>Component with ID %1 has been defined previously.</source> <translation>Komponent o identyfikatorze %1 został uprzednio zdefiniowany.</translation> </message> <message> @@ -9421,7 +10003,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+11"/> <source>Identity constraint %1 already defined.</source> - <translation>Ograniczenie jednostki %1 jest już zdefiniowane.</translation> + <translation>Narzucenie niepowtarzalności %1 jest już zdefiniowane.</translation> </message> <message> <location line="+11"/> @@ -9800,11 +10382,16 @@ Proszę wybrać inną nazwę pliku.</translation> </message> <message> <location line="+6"/> - <source>Fixed value constrained not allowed if element is nillable.</source> + <source>Fixed value constraint not allowed if element is nillable.</source> <translation>Ograniczenie stałej wartości jest niedozwolone gdy element jest zerowalny.</translation> </message> <message> - <location line="+32"/> + <location line="+230"/> + <source>Element %1 cannot contain other elements, as it has a fixed content.</source> + <translation>Element %1 nie może zawierać innych elementów ponieważ posiada on stałą zawartość.</translation> + </message> + <message> + <location line="-198"/> <source>Specified type %1 is not validly substitutable with element type %2.</source> <translation>Podany typ %1 nie jest poprawnie zastępowalny typem elementu %2.</translation> </message> @@ -9848,19 +10435,14 @@ Proszę wybrać inną nazwę pliku.</translation> <translation>Element %1 zawiera niedozwolony text.</translation> </message> <message> - <location line="+18"/> - <source>Element %1 can not contain other elements, as it has a fixed content.</source> - <translation>Element %1 nie może zawierać innych elementów ponieważ posiada on stałą zawartość.</translation> - </message> - <message> - <location line="+43"/> + <location line="+61"/> <source>Element %1 is missing required attribute %2.</source> <translation>Brak wymaganego atrybutu %2 w elemencie %1.</translation> </message> <message> <location line="+29"/> <source>Attribute %1 does not match the attribute wildcard.</source> - <translation>Atrybut %1 nie pasuje do znacznika atrybutu.</translation> + <translation>Atrybut %1 nie pasuje do atrybutu dżokera.</translation> </message> <message> <location line="+9"/> @@ -9912,7 +10494,7 @@ Proszę wybrać inną nazwę pliku.</translation> <message> <location line="+40"/> <source>No referenced value found for key reference %1.</source> - <translation>Brak wartości do której odwołuje sie klucz %1.</translation> + <translation>Brak wartości do której odwołuje się klucz %1.</translation> </message> <message> <location line="+64"/> diff --git a/translations/qvfb_pl.ts b/translations/qvfb_pl.ts index bc3313e..9b85ad9 100644 --- a/translations/qvfb_pl.ts +++ b/translations/qvfb_pl.ts @@ -4,7 +4,7 @@ <context> <name>AnimationSaveWidget</name> <message> - <location filename="../tools/qvfb/qvfb.cpp" line="+865"/> + <location filename="../tools/qvfb/qvfb.cpp" line="+868"/> <location line="+204"/> <source>Record</source> <translation>Nagraj</translation> @@ -260,6 +260,11 @@ <source>BGR format</source> <translation>format BGR</translation> </message> + <message> + <location/> + <source>800x480</source> + <translation>800x480</translation> + </message> </context> <context> <name>DeviceSkin</name> @@ -322,12 +327,12 @@ <context> <name>QVFb</name> <message> - <location filename="../tools/qvfb/qvfb.cpp" line="-501"/> + <location filename="../tools/qvfb/qvfb.cpp" line="-504"/> <source>Browse...</source> <translation>Przeglądaj...</translation> </message> <message> - <location line="+140"/> + <location line="+143"/> <source>Load Custom Skin...</source> <translation>Załaduj skórki użytkownika...</translation> </message> |