ELF(44Q 4 (444444` ` Pi Py Py 4y   @@QtdpYYYRtdPi Py Py /system/bin/linker4;RXh@"e&H`gl(_p 2Vo*o@XzS(S X ~    ( S     B q    ! L |    ? r    $i?\v+h$7h*;L\p #:_z F6Us"4Nn2iz!.Vo(BSg<Km1Di  <n 9c!Rb * D c     !@!T!!!!!!!"-"I"l"""""""#5#B#a#s######$*$9$`$}$} $$$$$$'%f%%%%%&\"(&E&w&&&&&&''5'Z'|''''.(X(((()@)i)))))*5*m*****$+5+L+Y+o++++ + + __cxa_finalize__cxa_atexit__aeabi_unwind_cpp_pr0_ZdlPv__aeabi_unwind_cpp_pr1_Znwj_ZN7QObjectD2Ev_ZN19QQuickImageProviderD2Ev_ZN11QQmlPrivate30qdeclarativeelement_destructorEP7QObject_ZN9QListData7disposeEPNS_4DataE_ZN10QArrayData10deallocateEPS_jj_ZN10QByteArray7reserveEi_ZN10QByteArray11reallocDataEj6QFlagsIN10QArrayData16AllocationOptionEE_ZNK7QString11lastIndexOfE5QChariN2Qt15CaseSensitivityE_ZNK7QString5rightEi_ZN5QIconC1Ev_ZN5QIcon9fromThemeERK7QStringRKS__ZNK5QIcon6pixmapERK5QSizeNS_4ModeENS_5StateE_ZN5QIconD1Evstrlen_ZN7QString15fromUtf8_helperEPKci_ZN7QString6appendERKS_mallocfree_ZNK11QMetaObject9classNameEvmemcpymemset_ZN10QByteArrayC1EPKci_ZN9QMetaType22registerNormalizedTypeERK10QByteArrayPFvPvEPFS3_PKvES5_PFS3_S3_S7_Ei6QFlagsINS_8TypeFlagEEPK11QMetaObject_ZN11QQmlPrivate11qmlregisterENS_16RegistrationTypeEPv__stack_chk_fail__stack_chk_guard_ZN10QByteArray6appendEPKc_ZN10QByteArray6appendEc_ZN10QArrayData11shared_nullE_ZN9QMetaType25registerNormalizedTypedefERK10QByteArrayi_ZN11QMetaObject14normalizedTypeEPKc_ZNK19QQmlExtensionPlugin7baseUrlEv_ZNK4QUrl11toLocalFileEv_ZN5QFileC1ERK7QString_ZN4QUrlD1Ev_ZNK5QFile6existsEv_ZN5QFileD1Ev_ZN7QString16fromAscii_helperEPKci_ZN19QQuickImageProviderC2EN21QQmlImageProviderBase9ImageTypeE6QFlagsINS0_4FlagEE_ZN10QQmlEngine16addImageProviderERK7QStringP21QQmlImageProviderBase_ZN10QQmlEngine13addImportPathERK7QString_ZNK4QUrl8toStringE12QUrlTwoFlagsINS_19UrlFormattingOptionENS_25ComponentFormattingOptionEE_ZN7QString17fromLatin1_helperEPKci_ZN4QUrlC1ERK7QStringNS_11ParsingModeE_ZNK4QUrl10isRelativeEv_ZNK14QMessageLogger7warningEPKcz_ZN4QUrlC1ERKS__ZTVN10__cxxabiv120__si_class_type_infoE_ZTI19QQuickImageProvider_ZNK19QQuickImageProvider9imageTypeEv_ZNK19QQuickImageProvider5flagsEv_ZN19QQuickImageProvider12requestImageERK7QStringP5QSizeRKS3__ZN19QQuickImageProvider14requestTextureERK7QStringP5QSizeRKS3__ZN7QObject11eventFilterEPS_P6QEvent_ZN7QObject10timerEventEP11QTimerEvent_ZN7QObject10childEventEP11QChildEvent_ZN7QObject11customEventEP6QEvent_ZN7QObject13connectNotifyERK11QMetaMethod_ZN7QObject16disconnectNotifyERK11QMetaMethod_ZN7QObject5eventEP6QEvent_ZN10QQuickItem5eventEP6QEvent_ZNK10QQuickItem12boundingRectEv_ZNK10QQuickItem8clipRectEv_ZNK10QQuickItem8containsERK7QPointF_ZNK10QQuickItem16inputMethodQueryEN2Qt16InputMethodQueryE_ZNK10QQuickItem17isTextureProviderEv_ZNK10QQuickItem15textureProviderEv_ZN10QQuickItem10itemChangeENS_10ItemChangeERKNS_14ItemChangeDataE_ZN10QQuickItem10classBeginEv_ZN10QQuickItem17componentCompleteEv_ZN10QQuickItem13keyPressEventEP9QKeyEvent_ZN10QQuickItem15keyReleaseEventEP9QKeyEvent_ZN10QQuickItem16inputMethodEventEP17QInputMethodEvent_ZN10QQuickItem12focusInEventEP11QFocusEvent_ZN10QQuickItem13focusOutEventEP11QFocusEvent_ZN10QQuickItem15mousePressEventEP11QMouseEvent_ZN10QQuickItem14mouseMoveEventEP11QMouseEvent_ZN10QQuickItem17mouseReleaseEventEP11QMouseEvent_ZN10QQuickItem21mouseDoubleClickEventEP11QMouseEvent_ZN10QQuickItem16mouseUngrabEventEv_ZN10QQuickItem16touchUngrabEventEv_ZN10QQuickItem10touchEventEP11QTouchEvent_ZN10QQuickItem15hoverEnterEventEP11QHoverEvent_ZN10QQuickItem14hoverMoveEventEP11QHoverEvent_ZN10QQuickItem15hoverLeaveEventEP11QHoverEvent_ZN10QQuickItem14dragEnterEventEP15QDragEnterEvent_ZN10QQuickItem13dragMoveEventEP14QDragMoveEvent_ZN10QQuickItem14dragLeaveEventEP15QDragLeaveEvent_ZN10QQuickItem9dropEventEP10QDropEvent_ZN10QQuickItem21childMouseEventFilterEPS_P6QEvent_ZN10QQuickItem21windowDeactivateEventEv_ZN10QQuickItem15geometryChangedERK6QRectFS2__ZN10QQuickItem15updatePaintNodeEP7QSGNodePNS_19UpdatePaintNodeDataE_ZN10QQuickItem16releaseResourcesEv_ZN10QQuickItem12updatePolishEv_ZThn8_N10QQuickItem10classBeginEv_ZThn8_N10QQuickItem17componentCompleteEv_ZNK11QMetaObject4castEP7QObject_ZN15QGuiApplication11focusWindowEv_ZNK10QQuickItem9isVisibleEv_ZNK10QQuickItem6windowEv_ZN10QQuickItem16staticMetaObjectE_ZN7QObjectC2EPS__ZN4QUrlC1Ev_ZN12QKeySequenceC1Ev_ZN12QKeySequence8mnemonicERK7QString_ZNK12QKeySequenceeqERKS__ZNK12QKeySequence7isEmptyEv_ZN12QShortcutMap14removeShortcutEiP7QObjectRK12QKeySequence_ZN12QKeySequenceaSERKS__ZN12QShortcutMap11addShortcutEP7QObjectRK12QKeySequenceN2Qt15ShortcutContextEPFbS1_S6_E_ZN12QKeySequenceD1Ev_ZN22QGuiApplicationPrivate4selfE_ZeqRK7QStringS1__ZN7QStringaSERKS__ZNK12QKeySequence8toStringENS_14SequenceFormatE_ZN8QVariantC1ERK7QString_ZNK8QVariant4typeEv_ZNK8QVariant5toIntEPb_ZN12QKeySequenceC1ENS_11StandardKeyE_ZNK8QVariant8toStringEv_ZN12QKeySequence10fromStringERK7QStringNS_14SequenceFormatE_ZN8QVariantD1Ev_ZNK4QUrleqERKS__ZN4QUrlaSERKS__ZNK5QIcon6isNullEv_ZN8QQmlFile19urlToLocalFileOrQrcERK4QUrl_ZN5QIconC1ERK7QString_ZNK7QString8toLatin1Ev_ZN15QtSharedPointer20ExternalRefCountData9getAndRefEPK7QObject_ZNK7QObject8propertyEPKc_ZNK8QVariant6toBoolEv_ZNK11QMetaObject13indexOfMethodEPKc_ZNK11QMetaObject6methodEi_ZN8QVariantC1Eb_ZN7QObject11setPropertyEPKcRK8QVariant_ZNK7QObject6senderEv_ZNK11QMetaObject13indexOfSignalEPKc_ZN7QObject10disconnectEPKS_RK11QMetaMethodS1_S4__ZN7QObject10disconnectEPKS_PKcS1_S3__Z17qt_message_output9QtMsgTypeRK18QMessageLogContextRK7QString_ZN11QTextStreamD1Ev_ZN7QObject7connectEPKS_RK11QMetaMethodS1_S4_N2Qt14ConnectionTypeE_ZN11QMetaObject10ConnectionD1Ev_ZN7QObject7connectEPKS_PKcS1_S3_N2Qt14ConnectionTypeE_ZNK14QMessageLogger7warningEv_ZN11QTextStreamlsERK7QString_ZN11QTextStreamlsEc_Zls6QDebugPK7QObject_ZN5QFontC1Ev_ZN5QFontaSERKS__ZN9QListData11shared_nullE_ZN9QHashData11shared_nullE_ZN22QGuiApplicationPrivate14platform_themeE_ZNK5QFonteqERKS__ZN7QWindow10setVisibleEb_ZNK7QWindow15transientParentEv_ZN7QWindow19setMouseGrabEnabledEb_ZN7QWindow22setKeyboardGrabEnabledEb_ZN7QObject11deleteLaterEv_ZN9QHashData11free_helperEPFvPNS_4NodeEE_ZN9QListData11detach_growEPii_ZN9QListData6insertEi_ZN9QHashData13detach_helperEPFvPNS_4NodeEPvEPFvS1_Eii__aeabi_uidivmod_ZN9QHashData12allocateNodeEi_ZN9QHashData6rehashEi_ZN9QListData6appendEv_ZN9QListData6detachEi__aeabi_dadd__aeabi_i2d__aeabi_dcmplt__aeabi_dsub__aeabi_dcmpge__aeabi_d2iz_ZN15QGuiApplication15layoutDirectionEv_ZNK10QQuickItem5widthEv_ZNK10QQuickItem10mapToSceneERK7QPointF_ZN7QWindow11setPositionEii_ZN7QCursor3posEv_ZNK7QWindow13mapFromGlobalERK6QPoint_ZN9QListData6removeEi_ZN9QListData5eraseEPPv_ZN5QFontD1Ev_ZN7QObject9setParentEPS__ZN5QIconC1ERKS__ZNK4QUrl7isEmptyEv_ZNK7QWindow8geometryEv_ZNK10QQuickItem8positionEv_ZN7QWindow18setTransientParentEPS__ZNK7QWindow6screenEv_ZNK7QScreen24availableVirtualGeometryEv_ZN7QWindow11setGeometryEiiii_ZN10QQuickItem12childrenRectEv__aeabi_dcmpgt_ZNK12QQuickWindow11contentItemEv_ZNK10QQuickItem9mapToItemEPKS_RK7QPointF_ZNK7QWindow6parentEv_ZNK7QWindow11mapToGlobalERK6QPoint_ZNK10QQuickItem6heightEv_ZNK12QQuickWindow16mouseGrabberItemEv_ZN10QQuickItem11ungrabMouseEv_ZN7QWindow4showEv_ZN12QQuickWindow16staticMetaObjectE_ZN12QQuickWindowC2EP7QWindow_ZN7QWindow8setFlagsE6QFlagsIN2Qt10WindowTypeEE_ZN7QWindow11setModalityEN2Qt14WindowModalityE_ZN10QQuickItem13setParentItemEPS__ZN7QWindow5closeEv_ZN11QMouseEventC1EN6QEvent4TypeERK7QPointFN2Qt11MouseButtonE6QFlagsIS6_ES7_INS5_16KeyboardModifierEE_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent_ZN11QMouseEventD1Ev_ZN16QCoreApplication4selfE_ZNK5QRect8containsERK6QPointb_ZN12QQuickWindow14mouseMoveEventEP11QMouseEvent_ZN12QQuickWindow15mousePressEventEP11QMouseEvent_ZN12QQuickWindow17mouseReleaseEventEP11QMouseEvent_ZNK7QWindow9isExposedEv_ZN22QWindowSystemInterface21handleWindowActivatedEP7QWindowN2Qt11FocusReasonE_ZN12QQuickWindow11exposeEventEP12QExposeEvent_ZN12QQuickWindow9hideEventEP10QHideEvent_ZN10QValidatorC2EP7QObject_ZN16QQmlParserStatusC2Ev_ZN16QDoubleValidatorC1EP7QObject_ZN16QDoubleValidator6setTopEd_ZN16QDoubleValidator9setBottomEd_ZN16QDoubleValidator11setDecimalsEi_ZN16QDoubleValidator11setNotationENS_8NotationE_ZN7QLocaleC1Ev_ZN7QLocale16setNumberOptionsE6QFlagsINS_12NumberOptionEE_ZN10QValidator9setLocaleERK7QLocale_ZN7QLocaleD1Ev__aeabi_dcmpeq_ZN7QString6numberEdci_ZNK7QString8toDoubleEPb_ZNK10QValidator6localeEv_ZNK7QLocale8toStringEdci_ZNK7QLocale14groupSeparatorEv_ZN7QString6removeE5QCharN2Qt15CaseSensitivityE_ZN16QDoubleValidatorD1Ev_ZN16QQmlParserStatusD2Ev_ZN10QValidatorD2Ev_ZNK7QString10startsWithERKS_N2Qt15CaseSensitivityE_ZNK7QString8endsWithERKS_N2Qt15CaseSensitivityE_ZNK7QString3midEii_ZNK16QDoubleValidator8validateER7QStringRi_ZNK7QLocale8toDoubleERK7QStringPb_ZNK7QLocale12decimalPointEv_ZN7QString6insertEiPK5QChari__aeabi_dmul__aeabi_dcmple__aeabi_ddiv_ZTVN10__cxxabiv117__class_type_infoE_ZN7QString11reallocDataEjb_ZN4QUrl13fromLocalFileERK7QString_Z14qt_defaultDpiXv_Z7qgetenvPKc_ZN9QFileInfoC1ERK7QString_ZNK9QFileInfo10isRelativeEv_ZNK10QQmlEngine14importPathListEv_ZN4QDirC1ERK7QString_ZNK4QDir6existsERK7QString_ZNK4QDir12absolutePathEv_ZN4QDirD1Ev_ZNK9QFileInfo12absolutePathEv_ZN9QFileInfoD1Ev_ZNK9QFileInfo8fileNameEv_ZN7QString6removeEii_ZNK4QDir6existsEv_ZN10QQuickItemD2Ev_ZN10QQuickItemC2EPS__Z21qRegisterResourceDataiPKhS0_S0__Z23qUnregisterResourceDataiPKhS0_S0___aeabi_atexit_ZNK11QObjectData17dynamicMetaObjectEv_ZN19QQmlExtensionPluginD2Evqt_plugin_query_metadataqt_plugin_instance__cxa_guard_acquire__cxa_guard_release_ZN19QQmlExtensionPluginC2EP7QObjectstrcmp_ZN19QQmlExtensionPlugin11qt_metacastEPKc_ZN19QQmlExtensionPlugin11qt_metacallEN11QMetaObject4CallEiPPv_ZN19QQmlExtensionPlugin16staticMetaObjectE_ZTI19QQmlExtensionPlugin_ZN11QMetaObject8activateEP7QObjectPKS_iPPv__gnu_thumb1_case_uqi_ZN8QVariantC1ERKS__ZSt4swapIN8QVariant7PrivateEEvRT_S3__ZN7QObject11qt_metacastEPKc_ZN7QObject11qt_metacallEN11QMetaObject4CallEiPPv_ZNK5QIconcv8QVariantEv_ZN7QObject16staticMetaObjectE_ZTI7QObject_ZN5QFontC1ERKS__ZN12QQuickWindowD2Ev_ZN12QQuickWindow5eventEP6QEvent_ZNK7QWindow11surfaceTypeEv_ZNK7QWindow6formatEv_ZNK12QQuickWindow14accessibleRootEv_ZNK12QQuickWindow11focusObjectEv_ZN12QQuickWindow11resizeEventEP12QResizeEvent_ZN7QWindow9moveEventEP10QMoveEvent_ZN12QQuickWindow12focusInEventEP11QFocusEvent_ZN12QQuickWindow13focusOutEventEP11QFocusEvent_ZN12QQuickWindow9showEventEP10QShowEvent_ZN12QQuickWindow13keyPressEventEP9QKeyEvent_ZN12QQuickWindow15keyReleaseEventEP9QKeyEvent_ZN12QQuickWindow21mouseDoubleClickEventEP11QMouseEvent_ZN12QQuickWindow10wheelEventEP11QWheelEvent_ZN7QWindow10touchEventEP11QTouchEvent_ZN7QWindow11tabletEventEP12QTabletEvent_ZN7QWindow11nativeEventERK10QByteArrayPvPl_ZNK7QWindow13surfaceHandleEv_ZThn8_NK7QWindow6formatEv_ZThn8_NK7QWindow13surfaceHandleEv_ZThn8_NK7QWindow11surfaceTypeEv_ZN12QQuickWindow11qt_metacastEPKc_ZN12QQuickWindow11qt_metacallEN11QMetaObject4CallEiPPv_ZTI12QQuickWindow_ZN10QValidator11qt_metacastEPKc_ZN10QValidator11qt_metacallEN11QMetaObject4CallEiPPv_ZN10QValidator16staticMetaObjectE_ZTVN10__cxxabiv121__vmi_class_type_infoE_ZTI10QValidator_ZTI16QQmlParserStatus__aeabi_ui2d_ZN4QUrlaSERK7QString_ZN10QQuickItem11qt_metacastEPKc_ZN10QQuickItem11qt_metacallEN11QMetaObject4CallEiPPv_ZTI10QQuickItem_edata__bss_start_endlibQt5Quick.solibQt5Qml.solibQt5Network.solibQt5Gui.solibQt5Core.solibGLESv2.solibgnustl_shared.soliblog.solibz.solibdl.solibstdc++.solibm.solibc.so/work/build/______________________________PADDING______________________________/libV/S z?-pm&!F$?`[1P bO (,8.)SBF' II>3G2#J\ME"{0;+ i>7=Q:D2RYQhU0jANB4A9r MuZ 6%$KT T@|PkLU*4^H! y" *#3.@'V&G56]<RlctOHNg%E}oe-x ;1~d9s_(wX ,WLn8D=qJaCv7):fK+<C5/Py \y hy ty y y y y y y y y y y y z z z (z 4z @z Lz Xz dz pz |z z z z z z z z z z z z z { {  { { { { ${ ({ 0{ 4{ <{ @{ H{ L{ T{ X{ d{ h{ l{ |{ { { { { { { { { { { { { { { | | |  | | 0| 4| 8| <| @| D| H| L| P| T| \| `| d| h| l| p| | | | | | | | | | | | | | | | | | | | } } } (} ,} 0} <} @} D} H} L} P} t} x} |} } } } } } } } } } 0~ p~ t~ x~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~        $ ( , 0 P T \ ` d h l t                     4 @ D H L \ ` l p t x |           Ā ̀ Ѐ Ԁ        , 0 4 8 @ D H L X \ ` d p t x |        ā ȁ Ё ܁            8 < @ L P T X \ `                               $ ( , 0 4 8 X \ ` h l p t x |       ȃ ԃ       ( , 0 @ H L T X \ l p t x |    ̄ ؄ ܄        ( 4 8 < L P T X \ `                , 0 4 8 < @ ` d h l t x |           Ć Ȇ          < L P T d t x |     8 < @ T X \ l p t x |      ̈ Ј Ԉ ؈ ܈    \ ` d h p t x                Ċ Ԋ ؊ ܊                  l  | #z 6z 6z 6z 6{ 6{ 6 { 6,{ 68{ 6D{ 6P{ 6p 6 60 6X 6 6́ 6؁ 6 6 6d 6D 6$ 6 6 6 68 6` 6 6 6z 7p{ 8t{ 9x{ :{ ;{ <{ <| <x| <| <} <X} <} <} <~ <8 < < < < < < <h <Ȃ <@ < < <h <ȅ <H <І < < < < <{ ={ =| =|| =| =} =\} =} =} =~ =< = = = = = =$ =l =̂ =D = = =l =̅ =L =Ԇ =$ = = = ={ >{ > | >| >| >} >`} >} >} >~ >@ > > > > > >( >p >Ђ >H > > >p >Ѕ >P >؆ >( > > > >{ ?{ ?$| ?| ?| ?} ?d} ?} ?} ?~ ?D ? ?$ ? ? ? ?, ?t ?Ԃ ?L ? ? ?t ?ԅ ?T ?܆ ?, ? ? ? ?{ @{ @(| @| @| @ } @h} @} @} @~ @H @ @( @ @ @ @0 @x @؂ @P @ @ @x @؅ @X @ @0 @ @ @ @{ A{ A,| A| A| A$} Al} A} A} A~ AL A A, A A$ A A4 A| A܂ AT A A A| A܅ A\ A A4 A A A A{ B| Bt| B| B } BT} B} B~ B4 B B B B B Bd BĂ B< Bd Bą BD B̆ B B B B} C C} D D} E E} F F} G G} H H} I I} J J} Kć K~ Lȇ L~ Ṁ M~ NЇ N ~ Oԇ O~ P؇ P~ Q܇ Q~ R R~ S S ~ T T$~ U U(~ V V,~ W W4~ X X8~ Y Y<~ Z Z@~ [ [D~ \ \H~ ] ]L~ ^ ^P~ _ _T~ ` `X~ a a\~ b$ b`~ c( cd~ d, dh~ e0 e|~ fD f~ gH gH l l wȊ ̊ Њ P   ~  #x $ , ,Ȁ ,( ,0 , , , ,P , , -8 - -ԁ - - - -@ - - - 0 0 1 1ă 2 2̃ 3 3Ѓ 4 4؃ 5 5܃ 6 6 7 7 8Ą 8 9Ȅ 9 :Є : ;Ԅ ; < < = = > > ? ? @ @ A A4 B B8 C C< D D, G J K L Mh R( , 0 4 8 < @  D  H  L  P T X \ ` d h l p t x |        ! " $ % & ' ( ) * + ,ċ -ȋ .̋ /Ћ 0ԋ 1؋ 2܋ 3 4 5 8 9 : ; < = > ? @ A B C D E F$ G( H, I0 J4 K8 L< M@ ND OH PL QP RT SX T\ U` Vd Wh Xl Yp Zt [x \| ] ^ _ ` a b c d e f g h i j k m n oČ pȌ q̌ rЌ sԌ t، u܌ v x y z { | } ~          $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                  č ȍ ̍ Ѝ ԍ ؍ ܍                  $ ( , 0 4 8 < @ D H L P T X \ ` d h l p t x |                  Ď Ȏ ̎ Ў Ԏ ؎ ܎                       $ ( , 0 4 8 < @ D H L P T X \ `  d !h "l %p &t 'x )| * + . / 0 1 2 3 4 5 6 7 8 9 : ; < =ď >ȏ ?̏ @Џ Aԏ B؏ C܏ D E F H I O N P Q-\ Əʌ\ƏʌTƏʌLƏʌDƏʌ<Əʌ4Əʌ,Əʌ$ƏʌƏʌƏʌ ƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌ|ƏʌtƏʌlƏʌdƏʌ\ƏʌTƏʌLƏʌDƏʌ<Əʌ4Əʌ,Əʌ$ƏʌƏʌƏʌ ƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌ|ƏʌtƏʌlƏʌdƏʌ\ƏʌTƏʌLƏʌDƏʌ<Əʌ4Əʌ,Əʌ$ƏʌƏʌƏʌ ƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌ|ƏʌtƏʌlƏʌdƏʌ\ƏʌTƏʌLƏʌDƏʌ<Əʌ4Əʌ,Əʌ$ƏʌƏʌƏʌ ƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌ|ƏʌtƏʌlƏʌdƏʌ\ƏʌTƏʌLƏʌDƏʌ<Əʌ4Əʌ,Əʌ$ƏʌƏʌƏʌ ƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌ|ƏʌtƏʌlƏʌdƏʌ\ƏʌTƏʌLƏʌDƏʌ<Əʌ4Əʌ,Əʌ$ƏʌƏʌƏʌ ƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌ|ƏʌtƏʌlƏʌdƏʌ\ƏʌTƏʌLƏʌDƏʌ<Əʌ4Əʌ,Əʌ$ƏʌƏʌƏʌ ƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌ|ƏʌtƏʌlƏʌdƏʌ\ƏʌTƏʌLƏʌDƏʌ<Əʌ4Əʌ,Əʌ$ƏʌƏʌƏʌ ƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌ|ƏʌtƏʌlƏʌdƏʌ\ƏʌTƏʌLƏʌDƏʌ<Əʌ4Əʌ,Əʌ$ƏʌƏʌƏʌ ƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌ|ƏʌtƏʌlƏʌdƏʌ\ƏʌTƏʌLƏʌDƏʌ<Əʌ4Əʌ,Əʌ$ƏʌƏʌƏʌ ƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌƏʌ\  HIJxDyDzD     Kl iCApG@jpGjCApGpG @/pG)( h`pGpG)( h`pGpG)( h`pGpG)( h`pGpG)( h`pGpG)( h`pGpG)( h`pGpG)( h`pGpG)( h`pGpG)( h`pGpG)( h`pGpG)( h`pGpG)( h`pGpG)( h`pGpG)( h`pGpG)( h`pG)( h`                                8 ) 8 ! KJ{DX3`  @  o KJ{DX3` p  D  S KJ{DX3`^ X H  7 K{D3` D h  ! K{D3` 6  F   K{D3`  q Fh  K{D2P3`` v  @/   @/K{D23``   @/   @/K{D3`  F$  s K{D3`  F  Y K{D3` n  F  ? K{D3` T M F  % K{D3` :  Fl   , $h ` , $h ` , $h ` , $h ` , $h ` , $h ` , $h ` , $h ` , $h ` , $h ` , $h ` , {$h w` , n$h j` , a$h ]` , T$h P` , G$h C` , :$h 6`8 , -&&&& #`D```aDaaa88 , &&&& `D```aDaaa88 , &&&& `D```aDaaa88 , &&&& `D```aDaaa88 , &&&& `D```aDaaa88 , &&&& `D```aDaaa88 , &&&& `D```aDaaa88 , w&&&& m`D```aDaaa88 , ]&&&& S`D```aDaaa88 , C&&&& 9`D```aDaaa88 , )&&&& `D```aDaaa88 , &&&& `D```aDaaa88 , &&&& `D```aDaaa88 , &&&& `D```aDaaa88 , &&&& `D```aDaaa80) (4444 (`A```aAaaa00) (4444 (`A```aAaaa00) (4444 (`A```aAaaa00) (4444 (`A```aAaaa00) (4444 (`A```aAaaa00) (4444 (`A```aAaaa00) (4444 (`A```aAaaa00) (4444 (`A```aAaaa00) (4444 (`A```aAaaa00) (4444 (`A```aAaaa00) (4444 (`A```aAaaa00) (4444 (`A```aAaaa00) (4444 (`A```aAaaa00) (4444 (`A```aAaaa00) (4444 (`A```aAaaa0 !K{D2P3"`` !K{D23"``!K{D3#`FZ!K{D3#`FF!K{D3#`F!K{D3#`F!K{D3#`F"!K{D3#`F>!K{D3#`F!,K{D3#`FFh B 3  h"KAG(F8h B  3 h"KE)G((EA8F K J{DX3`j( j 0  w FL  Y K{D3` n  F  ? h( h!" a 8h1h,؝hjRBz"RB Cr ",z# CC K"8hr( h!" 3 "/!RB# 6+h)Zh  4(h 6*0! 91S`#8# 60 ;( 8 8 sh `.0 ."RB(1 -)  1( v8 a`0) +%``3`0#` 8h#3B 8 a`@) %``3`@#` 8h#3B  ɰ NSK SJ{D X%hGOJX8  "1"$ $*# U$!1]p2@I"4yD 41"0 4>" Zt4)t P" b'B$:0 0J#zD.I.J/KyDzD{D0 ``04:0 'K(I(J{D ##&KyDzD{D0 `0 h`a< a (aab!#bb%cgccc W6G  hB IFPTS1Acɰ NSK SJ{D X%hGOJX8 / "1"$ ($*# U$!1]p2@I"4yD 41"0 4>" Zt4)t P" b'B$:0 0J#zD.I.J/KyDzD{D0 ``04:0 'K(I(J{D ##&KyDzD{D0 `0 h`ax a (aab!#bb%cgccc rG  hB IFPX$sKGML}D.h|D0%KX jKX ;A 1  *! !IB" .` v0pz\`pM}D)C  x #.І#[ J KzD"XI J K yDzD{D 8p\csɰ PI PKyD X%hGLKX8  "1"$ $*# U$!1]p2" Zt4)t P" 0Kb'B{D$:0#a )"0p``04:0 %K%I&J{D ###KyDzD{D0 `0$#`K(X aca !b!abbb%cgccc a@G  hB IFP\k}`ML}D.h|D0%KX BKX A p1  k*! p!IB" .` N0pN*d`pM}D)C  P #.І#[ J KzD"XI J K yDzD{D pQd#7HIHKŰyDX%hCEKX8  1" *# U !1]p.5I"0yD 01"0 0>" Zt0)t P" b'B :0 )"0w``00:0 KIJ{D ##KzDyD{D0 `0K(X!bca%cgccc J)C  hB ELPdj7mW`𵉰!JzD) OD" Zt4)t P" >0Kb'B{D$:0#a ;)"0p``0E4:0 -%K%I&J{D ###KyDzD{D0 $`0+#`K(X aca !b!abbb%cgccc >G  hB IFtPl9`𵉰!JzD) OD" Zt4)t P" j0Kb'B{D$:0#a g)"0p``0q4:0 Y%K%I&J{D ###KyDzD{D0 P`0W$#`K(X aca !b!abbb%cgccc =jG  hB 3IFPxu_}`𵉰!JzD) OD%+ ɰ PI PKyD X%hGLKX8  "1"$ $*# U$!1]p2" Zt4)t P" 0Kb'B{D$:0#a )"0p``04:0 %K%I&J{D ###KyDzD{D0 `00#`K(X aca !b!abbb%cgccc }\G  hB IFPA`ML}D.h|D0%KX ^KX /A 1  *! !IB" .` j0pjb`pM}D)C  l #.І#[ J KzD"XI J K yDzD{D ,pa𵻰@" Zt&)t (" # `a`aa"!aRB8` ")8f b8! 0{Z9  hB ;F|P𵉰!JzD) OD" Zt4)t P" wb'B$:0 w)"0r``04:0 i#K#I$J{D ##!KyDzD{D0 ``0g h`a a (aab!#bb%cgccc N{ G  hB DIP]i𵉰) OD" Zt0)t P" z*Kb'B{D :0#a w)"0n``00:0 i)"0J`0s`#`K(Xaca!ba!#bbccb%ccc XC  hB NEP|=`ML}D.h|D0%KX KX A .1  )*! .!IB" e.`  0p`pM}D)C   #.І#[ J KzD"XI J K yDzD{D p2-9ɰ PI PKyD X%hGLKX8  a">1"$ $*# U$!1]p2J" Zt4)t P" f0Kb'B{D$:0#a c)"0p``0m4:0 U%K%I&J{D ###KyDzD{D0 L`0S#`K(X aca !b!abbb%cgccc 9fG  hB /IFP%%`ML}D.h|D`0%KX KX A 1  *! !IB" =.` 0pZV`pM}D)C   #.І#[ J KzD"XI J K yDzD{D po𵻰@" Zt&)t (" =# `a`aa"!aRB8` 1")8f b8;! 409  hB -;FpP𵉰) OD1"" "*# U"!1]p0J5I"2yD r21"0 l2>" Zt2)t P" f":0b g)"0``0q2:0 Y")0J`0c h`aaKa{Db!b(!bb#cgccc GtE  hB =GFP޿ML}D.h|Dx0%KX KX A 1  *! !IB" U.` 0p`pM}D)C   #.І#[ J KzD"XI J K yDzD{D p5gɰ PI PKyD X%hGLKX8 | Q".1"$ u$*# U$!1]p2:" Zt4)t P" V0Kb'B{D$:0#a S)"0p``0]4:0 E%K%I&J{D ###KyDzD{D0 <`0C,#`K(X aca !b!abbb%cgccc )VG  hB IFP1E-`𵉰) OD" Zt0)t P" P*Kb'B{D :0#a M)"0``0W0:0 ?)"0J`0I #`K(Xaca!b!abbb%cgccc /\C  hB %EFPt`𵉰) OD" Zt0)t P"^*Kb'B{D :0#a[)"0``0e0:0M)"0J`0WP#`K(Xaca!ba!#bbccb%ccc<iC  hB2EPhι`𵉰) OD" Zt0)t P"l*Kb'B{D :0#ai)"0``0s0:0[)"0J`0ep#`K(Xaca!b!abbb%cgcccKx C  hBAEFPp`𵇰(R0)VJzD819 R8@0=(Q V Z E@(1L1K|D"{D  !,K !"{D2)K !"{D'K !"{D$K !{D#K"{D!K" {D K!{D!H !xD !"K(!{D3;`: 0z( K(!{D ˷Էѷͷʷ @/D H!xD ` (9 )2( 𵑰 oK!"{D(mK!"{D(xjK!"{D(khK!"{D(eK"!{D(scH*! xDaK!"{D ( J\K"!{D(FYH&!xDXK"!{D (* 2SH#!xDQK"!{D (' !LH+!xDsKK! {D (v 1g!CJ8zDH@JzDX09<;J 18zD 49"0I0YhhG(##`/K/I c`/KyD{D`.K{D3`-K{D#a:1 =!a !e``` 08#[ 2BF &6 Ŷ @/N~~D-5)9KBYAIB @-hK!X(K!X( ,ch|Q,B E(8%(FsN~~D- )9KBYAIB @ch|QԜh K!X(,B%(v7MK}D X 03#`KX` %a0=##v #cvva#b$0 (0~b >F`O4((4r )Du(! xK2Xh#p0v )z g( K1"XhKp0{D#q(vPYp5)m( 1(o ) p~Bv"C~B Av#~+a~ ~BC~v+8(h*KD!G( DA8i ` 8(h*KD!G( DA87" $1(! (>8JzD(8(8!  9 " 7$7(9(.8KX2h;p08)8( K1X:h Kp0{D# 10!( ( #s 5)(((1#i[h+ 0(  hF1iF0ci0ba hFhs7 9K(()8M! 1()092ciba0(7  s,60 (!0 h}(! sh(( h( h+[h+@h0p~+C~+Ѕ~- 0( 12!i@ pp~ ,9 u*5 |)/в"2JzDJ 1(zDJ&zD")Ih yD(1"($ pFB&#3}B3(!=.05i~`B-(i(-(i(ja&b8BO(!s 'K'J{DX2`$J9X(=) (f8,) b($!  ,0 (0 $0 0 0 0  0 0   Fh`  KJ {DXh] NF0( JhF%zD?BhF@hF(0MQK}D X3#`#``#a IyD' 2(& `mh%apF@@LJ#`zDC```aCaaapG7h B!/ !hFI8jFyDhF`, !hFI jFyDhF(cFԯ8q((!8h B!N~D3h+(#h hG1h3#h hG8+ 9* 3(IK yD*{D6*0A8hh;`+hS}+i12%h- (0(( 8CO D:h*@#h hG9hzB4#h hG28M+ 3#!:0+0".K.J{D0+!zD0h+G (B(!=7##K`K0{D`K{D`K{D amI5"(yD)8j(p}+ !h9h(2`"e(^8[0X rbXڲnSpG)ChK`# `h`h`sM+j}D(h1[mG KXchh(h(hjkGs>lB )݉KJh{DXz(@kphhhpG"4N3K~D%X3#`0KXb/KXec%d#c#[Bc#P3edddp$K#Jee"fcf"h2ee#K#J!{DzD8#8KX0hhhGbBKJ8{DzD#8ziBhjlG0h!h[jG FFI68%FFClB Adj(hmG cph6 1s( 0!ej(h!mGpeepGfCfpGkBЁcJ#`zD`JC`azD`JazDaJzDBapGOQ {7Kl{D* JXChh ( ( d l>lBdP3xBp!l(!##d 7 Ll|D(KXD((s77M}D)рlKX*( Рl!l!l#d 7FNH#[BxD `%,"1h8,011`BjJXh 2X($0n$<-($0d` @B`O$%DB0,0HBj JhXb2X($05-54(dp h [k!Gj( "sh1RnGjihkGck3ccp8 h(`l`(8p $C@0B3hhh424B !h.hB0 @BpB +hh0`[hs`(k@5h0$(I hyD Fhh365B Ы2X/8v8=  $7i80ocjh*Dh"58]cj*h0Acjhh201:Yy0(0cj h6H(`j`(5`)8 5(`vhn`(=`!shh+ M I#}DyD*#b h0m( h)?&`sFwuphi)*i3h\@*`hi) AihhBZhB1hhBph!/(*h`C`?h`6h`(`#hh2` )2 h!h 2BhiB "^1 )2#*  2phh6#hh0A2O#hhh01Y>(((#hh0sh h+"1" " )`s𵅰 *5Cm,6+#ShhB00eh/)8"0  - ) 0) * , )9 (1" 7Ekh) )" (>p$ )(1"pAk7h h+ I"")"G"B `7cNcK~DXhѵ^KX ( (,0"(RBJ( z"RB)OK(,0X3#`LKX.cb!060<90"Y)khBhiB "^109"F0f`)h[kGkm3ke^hhx( Yhhh02hh1QB+ݛ#c`h2`h2`bh*ѣhhBY(hW !IB2O"(1RBh3` Fp'NHh ~D0j%J hhX 2X#ah$01a`B{jh'h(,07'`B"jJhX7X( #c`Cjh2Xq #[Bc`j"hh2X F+N ~D)&@kB#cm+jhm5X@+ ,0V(JjXh2XCjh5XY $ )j0IhqX2XCjh 2XhR2XpF𵓰P3x+!  j)Ѳ"ncnymmq ``(-m(`lpls09s(2;q *0n(1"Qj ;h)naK_Je(_J_K )%c\J]K )DZ'  )9RJRK K1(KKIJ9(IJIK(17FJGK(1. (1 dJ#`zD`JC`CazD`JaazDapGhCApGiBaCiBAah(hkG8 i)i*Аj(%a8hRkGj+Cj ,KJ{D#(1zD#(͗h mG!KIj 1+ Ijp Ij1 s(((#` j) 1  /( vs(((#` j)1  ( vj +hmG!MK}D&X&r`3#`##acaaa#bB KXhhhGa(h1mG ~i+ChhipG@ipGAapG8i-Ыj+ Ѓi+ (!Z(ШjihkG8zB ri(h[lG  i+[h+j7 M"K}DiX3#`(h!lG >FH4Mp2K}D0 X&3#`!,K,J9{Dgb(#zD(&K'Jaj{D(#zD(z!O"KajD{D:(#u(jaj:#(jO(^Daj:(#\(Q(aj:#Q(F FjϕѕÕԕhmG~@j@j@jpi- +hn(G  Opi.3h!kh(lG0)G(  ep"1M;0K0J}DXzD/J3#`#!b(zD#(j)aj%K&J({D#zD#(j)ajJ#zD(#(j)ajKJ&{D(zD#(iB KJ({DzD#( pF~ߓ~6K{D)fЂjB"b2JXY/I/K"yD{D8-K"({D1+I+K"yD{D())K"({D"&I'K"yD{D($I%K"yD{D("I#K"yD{D( K!N!O{D~D"D(1";(13N"(~D1";((1"3&ԓ#&3i!. hmG  j +hmG!hmG@~j +hmG!phmGB~#BЃ~j +hmG!i8i(h)mG ) 8hmGj +hmG!hmG!Kjh ` i.3h!kh(lG0)G(t T 𵅰0 MZh}D*#` KX j) KX#`0M F`i*A(!4(A((!B0F08)A09"D08 ihmG (7  _K_J&{DbzD(#(XJj#zD((SKSJj{DzD(#(NJj#zD((IKIJj{DzD(#(DKDJj{DzD(#(?K?Jj{DzD(#~(s:Jj#zD(r(g5O5KjD{D:(#b(W:j#(W+O(KDj:(#I(>#(j:>(3j[hhB#h [mG    VB zFؐۏǏߏΏ"8 jB) JhhB hiGq ) 8O(c JDXB#`j*Аh `D#`( F£`KJ{DX3`i(! !i(hiG#a 0  F   K J{DX3`@j(hiG  F   K J{DX3`ji(IK"yD{D'  Ԣ c  iB, i((i(Aa.bhF0FhF!Jcc( dad0pKJ (JK )JK )  )JKpF??hF08MK}D X32`#"`#bKJbb"ccccc"dcd8Ftj($M$I"}DyD+]"I j"yD+V&b.4(1vhhq8)bb$O"JD caczD1#(V(K J#(1zD#I(> ɌˌucaO DxB0!z,&KJ{D#!zD(3(K!X  J(#zD3(Fv*8 , (8-HxD( hi(G, '+B"( KXS(!   ? q1B BB(9гΟ𵏰8i8iyiiix) s2lslkk( 8!  )3 ) E@!0;d𵋰09~shjj :k{k09jn )hh09jZhh8kyk jj kk"+cc8lyl8dyd8-90,shh581# Aa)~ vHxD !y!p  iKX;Qci+ 8 hh( (# ) 7 ! )& ) 09i(77K6J(3I2Hi0K.J(,J*I90 2 +} 90)  KK X( >((  !3 !7F?FFphIhhh%``` p0 h`LhD` hh+;`IhSh;`08!Mj K}D X !23"``"#caa#wbww_ !c 8Fb #O XJD#!zD0+t0i J#0!zD+g0\aF𵍰0i0iqiiiP) K9009}8! #w:  2JzDi/KX( "3*++ C P(> K1 18+(!:*3ll``h:(  z"CrKXh(*(#F\#hk(!G*9#11(#w)"( 1 1h #hk(!G*911()"q( 1{ 1< #hk(!G *933(x )"C(+#+%j8`y`l``h!:(l )2+ 13(##w 1'8 *(c+ "( c+ #cw !) "8#cw 4(8C +)(#cw!) 87 MK}D X3#`#[B`#`#a>F8 ) 8hpGhBЁ`vhpGhB`XipGiBaX7MEK}D X3#`>F()*pG NM0MK}D&X1LO2P3"``BK@J"acaAJAKaaFKDX%05#bcb#(3p(:J;K(5K3J((11(! 1J!#(zD%(+J!#(zD(&J!#(zD (!J!#(zD(J!#(zD(J!#zD((s ?X@\`}|{vqAiipG(3x+.ЂkklCl"+u("+k(f#l8%8!)8 0iqi"+&( 4aua3(3x+0 (3"piCi @/kkpGpkk(0+00"0t3(3x+2isi0}pAllpGp2lsl(0+00"|0[3(3x+2isi0ZplpGlB00t M#(3x+"ici BiipGpii(Ѵaa0:pj `_ p 60 (0) *pHj `E p$60 (0) piiAii_  iiAiiy  𵉰0 Af#l18> j9$(`!$1(80(  iKi 2isihF11(("hF8U(hFXKJ{DX2P3``00 $0E  0A 0  F @/ 1  @/h *#j[h+ hXhBڈ! 1("ѵcj[h+ '$7(9"(Ѵ#jajZh+hIh[h[)#j0h[h 00 j+U#!$18L9(8#j[h3`++#hFv!8;88iF ~+ !8(9v8,"|Hh:R[Z!? B+h1hh9I[Z!'J BѢlWBWA/7 #jh[h(;#j1h[h3`<(9E 𵇰$K#J "+(р! kJKKJ09(р"KJ(! ]"+("+CAFFFmBK{D3`pGFRK{D3` @ K J{DX3`h(h[hG#`  FX  𵇰iiAjjK KJ#@3(x iai,hh)x&igihh4=$2; )p Z2;𵇰iEi@3xhh&/ )2;KJii(2;"jYj+' "+  )FFFKAd{D3`pG0K JLMaabbcccCc``aCabEb@0x"Cp0FFFX@𵏰 @3x#@iBihh +дhh4iuiii0jqj g|KzJ1(  )YrIqHjjoKnJ (;"+4( ), ( #( h[h2;( 2 );( 2hsh2;T(|2;802;*"+("+(09"+(4="+(09"+(&/KJ (р"09KJ "+(р! k(2;FFF𵍰 jjFKDJ+(jWj+09"F(4= 6 "ii+7(62hsh^ii2;0B(K i2; j]j ) ( 0J2; )2;(4="+ JK0 2("+2; F?7 M K}DH X3#`KDd{D3`` >}s NK~D(X`3#` vFhiipGhjYjpGhjjpGh -  hkCkhhhpGhiYipGh c  hkk@l  )]("+X 09P(2;[hhh;"ici 4()-( "acakk``  cac+(2;(("ici(  7h iMi77hhh7hii"jcj*(9(T(5aa09(2;"bcbkk E cac+(2;*("jcj $ 7h jMj7hii+09b(&/2;hKJ(ML )jjZ(00"+0bbk8h2ksk,(88"+4cuc0cc0hkk(88c"+cc00cqc0pph +@3x@B @C2Cp kk(\  ph@3x#@pGhiih jKjH!xD+ `  r hhSRh+!BX\(1 ` 7H!xD !"x (>qh"RB(1)8( h}+ ! 8 h"!x)m"!r h}+ !k 8 pGh ` p60 G(0)I Tph ` p 60 -(0)/ DpshhYh(؛h[[B1(";hZhPX`R/#SRXhhA[!R `i11 ( v𵅰  < +(909 1(!( 0(oKJFFX@h/(4hhh75eB=( 0_IyD !( `8)8(~1(&f`h2`h2`[#h Yh#hhh62h7B.8h0`67hhBO2H!xD0h8908*'0(&18+h8*`0# 2 2 bh*Ѿ 9y+h *`0fch;c` 3*I "yDnb( Fo1ohn𵑰{L!pyK|DyIX yD3+`wKX ``!0  [h+   1 !8) 0 h8` +3  h`  8)M8(!8"8j9   /dѨh  h ` V  h ` J# u#c`7K 8{D`5K!{D`4K{D#a'3I8yD0IyD)0180 h;`+S}+i12 . 00 00OJ&D)+ zD J)+zD  (F~n`PmngXmem#mmmKJ{DX23``Y Fd @/   @/8M7K}D X23"``KJ"acaaa"bcbbb"ccccc"dcdddJK"ece#X3"p8FFF4@~aCapGAiipGaapGiipGbCbpGAjjpGbbpGjjpGii90(4="i_i+09(&/09"kck(&cgc .AkkpGjj90(4="j_j+09(&/09kk(cc kkpGdCdkk   AllpGddAkk   llpGp2msmF(4eue0pAmmpGX0xpGX3xBp T3 x)) !k(lkkl*SKRJRJSKH(PJQK09FNJNK09'=  09CJDK.:K9JT9J:K( 97J7K04J5K90  09*J*K++!J"K  ;JK#+/ѫz"CrJK"mcm  8JK"mcm  F???.@KJh{DX>(jhhFh{\ K J {DXh'(jh4X<{\7 L Kh|DX( JjXb(((7 {\7MK}D X!03#` K X3`##acaaaKX#b>FzLDJ#`zD`JC`azD`JazDaJzDBapG%Ohh5]#hh0B*ݒ)#hhh02iB+ݛ0v(01#hh0KJ{DXhej 0h+I""Z`y\KIJ{D yDzD3o Fe}gnKIJ{D yDzD3c F=}gn pG@hi+[HxDFlK{D 2`3``Q Fl @/ {  @/HxDpGFLA  +hB,(h( h" KAG(((h(<,`n`hF(F8 L%|D#h@ ( e``IJ yDzDK{DZh*Rh*Лh+ !KH!{D 2`3xD"``0 K{DXh(@h(Иh8Fr}i|F}k}}8  IyD1(+!8@hi+{HxDFkY`I"yDFkjFqI#2Z`yD"FjkI"#yDPkI#yDkF"~F:kI"#yDs kI"#yDi kI"#yD_jI#yDkF"RFjI "#yDGjI "#yD=jI "#yD3j0)Y *- &*.2?CGKO[h h !b[h xl zYhhF iF{hF0   [hhH iFhF  } y[h h !p )nh[h7IhyDBYh)`3IhyDBYh)!`/IhyDBYh)!`+IhyDBYh)!`'IhyDBYh)!`#IhyDBYh)!`IhyDBYh)!`IhyDBYh)!`IhyDBYh) !`IhyDBYh) !`IhyDB[h+ #`0+9IIQQQQYYY𵇰zhBhh %Z 1*h0C`?@#CC"@C!*r8  IyD11(+! 8F|K{D;. ((1"; . (;h"RB`<.S>h ( '135I./( ((A#K(X)KX9"0(10CvK(X)(.;h(j~p. . . . . (;h"RB` <  Fs`@hi+HxDFfI"yDxf)*%  [h h[h h | ) h[hIhyDB[h+`F8  IyD1(+!8|𵉰 J-(0)"; -(;h"RB`<5-=h((-1hF+hFFF&&BB h.`-;h(h0--- - - - -(;h"RB`<  pGU@hi+HxDFzeI"yD7heI"#yD-TeI"#yD#@eI"#yD,eI"#yDeI"#yDeI"#yDd8 , &&&& `D```aDaaa80) (4444 (`A```aAaaa0pN~D4h,I(yDKIJ{D ##3KyDzD{D(e(l4` pFt\c)Ь*  $(,04:@EKOZqu{ 4 : @ F L R X h v 2[h hH[h xJ#h [mG[h xu c[hh !R [hhhhz 1". +h+Ѡ` Z[h hD[h hhh[h h _hXhhOhhChh h h_h hNh:h{h!IB h )h**Y[hh+U[hh+PES )F*I hyDBYh)`&IhyDBXh(!`"IhyDB^h.!`IhyDBXh(!`IhyDB^h.!`IhyDBXh(!`IhyDB[h+#` ) h*#[B#` `F8  I#yD<(+!M8𵋰 ڨ, , .8!2+>,R,h (ٓ2 "&)+=BG;h(9lG#h(!`~9hF#hFȆÔȔqkP7;x#pkl'`hl9h1()#h('` cha` Tmm"`c`O9nzn!`b`J;h8mG `D,,)h(?> >"8|4 h8/ h8* h8K%8W! hKh8h hKh8e,,,, , , , (8!2+ >0 pG)( h`@hi+?HxDFv`I"yDqd`I"#yDgP` ,m$hi`pN~D4ho,I(yD7KIJ{D ##3KyDzD{D((O4` pFoOkibj`pNM~D4h}D5 !I yDKIJ{D##[KyDzDX K{D 5`(pFhojwW7) **.g+Z( )h[hIhyDBYh)`IhyDB[h+#` )h**#[B#`V `F8  IyD1(+!8𵉰 \-(0)"; -(;h"RB`h(h*+hhF)lG3hhF2`V((0pM(0`HhF)0iFIhFXB C+hh0`[hs`(@58h  `h+3Ah #h*hhh01Yh3 8hh365B Ы2X/88= hM( h phh*ٝhYh5]Q#h*hh01Y0)(0pcj'$7hhBD8cjh2Xh[hk`(D8cjhh*8cjh63h+f18r.h.vh.nh(U.3h0![kG0!? ]1$1hF3#lFh2h2bh*ѣhhBhh(@h(Xhh)[kGh3`hFN K{D 3`s!  $0< = FV  8  IyD1(+!8p!0hF(3k`R2*`0 A/@hi+HxDFU8  IyDP1(+!8lKJ{DX23`` F0] @/K{D 23`` FLU @/ }  @/ i  @/)** * h3hG r-(8)"3 -(3h"RB`< @hi+HxDF6UI"yD $U)*#   #h 3hG  t ) h[hIhyDB[h+`F8  IyD1(+! 8  H-(0)"; -(;h"RB`<3- ;h((+vii`&-;h((2hh02hGh0--- - - - -(;h"RB`< @hi+-HxDFTI"yD_TI"#yDUTI"#yDKTK{D 3`X pT = )***741. )h[hIhyDBYh)`IhyDBYh)!`IhyDB[h+#` ) :h*#[B#` `egg8  IyD11(+!8F Z-(0)"; -(;h"RB`h(z !'8)-!((0 (O(n0`](0`q`W8)8)3h82`D..89h(> !% hKh(2 hKh(, hKh(& h(3! hKh(F(Z(p... . . . .(;h"RB`< @hi+HxDFOiFY`I"yD&OI#jFZ`yD"FnOI#jFZ`yD"FJOjFqI#2Z`yD"F&OI#jFZ`yD"FOI#jFZ`yD"FNI#jFZ`yD"FNI#jFZ`yD"FN8)l *ٻ")07>BFMT[[h(h[hZ[h(h[hc[h(h[hn[h(xz[h(h[h[h(h[h[h(h[h[h(h[hz(hv(kr[h(h[h k[h(h[hdXhhCh(Yh( hKhf#h+T`Y`Q )O(I hyDBYh)`$IhyDBYh)!` IhyDBYh)!`IhyDBYh)!`IhyDBYh)!`IhyDBYh)!`IhyDBYh)!` IhyDB[h+#`8F!1AQa8  IyD11(+!8Fڑ. ((1"; . (;h"RB`<|.+>h(v"((0`q`f((((((x0pM.7;h(Hm "(.h[h(<h[h(6h[h(0h[h(*h[h($h[h( h[h(x(... . . . .(;h"RB`< @hi+HxDFKI"yDKI"#yDKI"#yDK)***)&# )h[hIhyDBYh)` IhyDBYh)!`IhyDB[h+#`K{D 3` 0 0  K  8  IyD1t(+!8 k,((!2; ,(;h"RB`>V,0?h(Pf  $ )Q8! );h:` >4 )(g(8`y`", 9h((((,,, , , , ,(;h"RB`>0@hi+HxDFJI"yDII"#yDII"#yDII"#yDII"#yDII"#yDI)*\  R N J F B > )<h[hIhyDBYh)`IhyDBYh)!`IhyDBYh)!`IhyDBYh)!`IhyDBYh)!` IhyDB[h+#`1333338  IyD!11/(+!8F|ڨ.((1";g .(;h"RB`<.5>h (ٌ #'+(/(?0`q`{(((((((6(50pZ.D;h (U #)/5;h[h(Hh[h(Bh[h(e<h[h(e6h[h(e0h[h(e*h[h(e$h[h(h[h(x(... . . . . (;h"RB` < @hi+AHxDFH ) h*#[B#` `8  IyD`1J(+!s8𵉰 q/-=h(('1hF+hFFF&&BB6.`----- - - -(0 !";<  @hi+HxDFGI"yDxGI"#yDdGI"#yDPGI"#yD[h"ihB9#a 4[h`ihB/ca * )(h[hIhyDBYh)`IhyDBYh)!` IhyDBYh)!`IhyDB[h+#`F79998  IyD1Z(+!8e.((1";p .(;h"RB`(:(B(>(F(B(J(F(N(J(R(N(V(R(Z(V(^(Z(b(^(f(`(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h(h( h(h(h(h(v((((((()))))* **,/234<4444 H5|55555?8$8L99?;;;?(==8>>?@TAA$B?C0DDE?hFF8G: ,8DĖ<D (P`nt|ޜj,6d|x|Vzv~"| ġ Lh` 4Φ̦,̨ĨxĩLLPȪ̪ĪHԪ x880D Ĭ ج$(,Į<4,@ Lıjb\\p|IJԵ \TNVXlxxҹʹĹع 0@P`p̺ܺ$Ľ Xh@X D4Tt( 4@RL`lx8\,Nh(X ,8 $0,<4pHtTx`|lxDd,25QQuickDesktopIconProviderN11QQmlPrivate11QQmlElementI12QQuickActionEEN11QQmlPrivate11QQmlElementI20QQuickExclusiveGroupEEN11QQmlPrivate11QQmlElementI10QQuickMenuEEN11QQmlPrivate11QQmlElementI13QQuickMenuBarEEN11QQmlPrivate11QQmlElementI14QQuickMenuItemEEN11QQmlPrivate11QQmlElementI19QQuickMenuSeparatorEEN11QQmlPrivate11QQmlElementI19QQuickAbstractStyleEEN11QQmlPrivate11QQmlElementI16QQuickRangeModelEEN11QQmlPrivate11QQmlElementI15QQuickWheelAreaEEN11QQmlPrivate11QQmlElementI22QQuickSpinBoxValidatorEEqrc:/int qmlRegisterType(const QUrl&, const char*, int, int, const char*)QQmlListProperty<QQuickSpinBoxValidator *QQuickMenu *QQuickRangeModel *QQuickWheelArea *QQuickStack *QQmlListPropertyQQmlListPropertyQQmlListPropertyQQmlListPropertyQQmlListProperty/ApplicationWindow.qmlQtQuick.Controls.PrivateAbstractStyleRangeModelWheelAreaSpinBoxValidatorTooltipSettingsdesktopthemeqrc:/QtQuick/ControlsActionExclusiveGroupMenuPrivateMenuBarPrivateMenuItemDo not create objects of type MenuItemTypeMenuItemTypeMenuSeparatorDo not create objects of type MenuBaseMenuBaseDo not create objects of type StackStackDo not create objects of type SelectionModeSelectionMode/.qml/work/build/qt5_workdir/w/s/qtdeclarative/include/QtQml/../../src/qml/qml/qqml.hdefaultqmlRegisterType requires absolute URLs.ApplicationWindowButtonCheckBoxComboBoxGroupBoxLabelMenuBarMenuStackViewProgressBarRadioButtonScrollViewSliderSpinBoxSplitViewStackViewDelegateStackViewTransitionStatusBarSwitchTabTabViewTableViewTableViewColumnTextAreaTextFieldToolBarToolButtonBusyIndicatorqquickaction.cppQQuickAction::event: Ambiguous shortcut overload: %scheckedupdateCurrent()2destroyed(QObject*)1unbindCheckable(QObject*)qquickexclusivegroup.cppQQuickExclusiveGroup::bindCheckable(): Cannot bind tocheckedChanged()toggled(bool)toggled()2__textChanged()2titleChanged()2aboutToHide()1__closeMenu()2visibleChanged(bool)1windowVisibleChanged(bool)2triggered()1updateSelectedIndex()2enabledChanged()1updateEnabled()2textChanged()1updateText()2iconNameChanged()1updateIcon()2iconSourceChanged()2shortcutChanged(QVariant)1updateShortcut()2toggled(bool)1updateChecked()2activated()1trigger()1unbindFromAction(QObject*)2exclusiveGroupChanged()2checkableChanged()2xChanged()1updatePosition()2yChanged()2destroyed()1dismissPopup()2popupDismissed()2widthChanged()1updateSize()2heightChanged()2valueChanged()2minimumValueChanged()2maximumValueChanged()2decimalsChanged()2prefixChanged()2suffixChanged()Baseqrc:QT_QUICK_CONTROLS_STYLEqrc:/QtQuick/Controls/Styles/QtQuick/Controls/StylesPrivate/qquickcontrolsettings.cppWARNING: Cannot find style- fallback:2styleNameChanged()2styleChanged()2stylePathChanged()QQmlListPropertyQQuickItem *QQmlParserStatusorg.qt-project.Qt.QQmlParserStatusvirtual bool QQuickAction::event(QEvent*)void QQuickExclusiveGroup::bindCheckable(QObject*)23QQuickRangeModelPrivateQQuickControlSettings::QQuickControlSettings(QQmlEngine*) &7d\*&"J5x!KYp"D .jDZ^ndX7>'H~ jJc#xL1 q42{/'ۉHB.VXnN"ޤ2-L 6l1CkfmbjOB8C{$  rd*!yT/ Z{O!@<c? ,kXs  HЬ (9M: Tʸ= Vd/*T\ ZB pe< ,T{= / Ha (rO Kk  ~ 7 4? ( xͶ 85(  ( M  FV 8 ~*   z6% n. 4zr r  _@. $T ڭ;QtQuick[sControls PTextField.qmlStylesStackViewDelegate.qml gRadioButton.qml ߸|SpinBox.qml "MenuBar.qml %ScrollView.qml ~TabView.qmlUProgressBar.qml 1StatusBar.qml uXTab.qml X^\Menu.qmlrTableViewColumn.qml אBusyIndicator.qml <TableView.qml '&\ComboBox.qml GroupBox.qml <Switch.qml Slider.qmlPrivate V'CheckBox.qml{ToolButton.qml StackView.qml <TextArea.qml Label.qml 3<ToolBar.qml hq\Button.qml 0FSplitView.qmlApplicationWindow.qml@StackViewTransition.qml 7ModalPopupBehavior.qmlO|BasicButton.qmlq\ColumnMenuContent.qmlp|FocusFrame.qmlrSourceProxy.qml ScrollViewHelper.qml+qmldir ˟\Control.qmlD<AbstractCheckable.qml (Style.qml ד\ScrollBar.qml Sstyle.js FastGlow.qmlzTableViewSelection.qml MenuContentScroller.qml ïTextSingleton.qml TabBar.qml StackView.js<MenuContentItem.qml |StackViewSlideDelegate.qmlBase +DesktopSliderStyle.qmlCTableViewStyle.qml3\GroupBoxStyle.qml|OScrollViewStyle.qmlv<SwitchStyle.qml]\TextAreaStyle.qml M|ButtonStyle.qml |StatusBarStyle.qml\TextFieldStyle.qmlNProgressBarStyle.qml \FocusFrameStyle.qml"}<ToolBarStyle.qml \SpinBoxStyle.qml ~\BusyIndicatorStyle.qml \RadioButtonStyle.qmlToolButtonStyle.qmlj!RowItemSingleton.qml `TabViewStyle.qml$T<MenuBarStyle.qml.O<CheckBoxStyle.qml MenuStyle.qml $oComboBoxStyle.qml}imagesFBspinner_small.png groupbox.png zarrow-up.png"darrow-right.png(5'spinner_medium.png +scrollbar-handle-horizontal.pngk!gslider-handle.png;'slider-groove.png*gscrollbar-handle-vertical.png 6editbox.pngqwfocusframe.pngOarrow-down@2x.png ȁheader.png arrow-down.png $check@2x.pngIarrow-left@2x.png{button_down.pngNmarrow-up@2x.pnggscrollbar-handle-transient.png uWtab.pngspinner_large.png check.png5'arrow-left.pngarrow-right@2x.pngtab_selected.png#'progress-indeterminate.png ln'button.pngNx [[)9nKbUZe"9La2\v&o<*l̑V䬔"d&r -,Ԓ(HbbqpJD 2VA <E+č1 Frڔ\ŀ,g 5rTNqְ],+^[L&.l`W 2٬8*t@Ġe$5BzC.h=igVP&5CnKqrȢ$q0R22+8,u≧5J9WϨbFX j]5, y>o6L?uA?0xvnGwhF)v"ѧa4FBruv"܎QodO=`" yB@7? I w׹B={X2yLiޏF}b$79ݍ&ĸID.mPq0>_?NpǏhx2LO f;hA#?H-6cd/qzpl $d`ԇ׻5o M4P~~j-!~P:k=jvXx7/;CLmלM7u#x"hR64 ܬrfuoG3XEBpP 8#@}FK>X' _+cp;_?g4` O+vojQx2K{ƞLPwD׋6p0T,=WDvY? (. -klR|Ef`$%G1K xsx\( Ãmi%1%DmNǭ/k "z. ҢO3TV}J;$#"C/g  8zLݪ1W" SpVMTd[ 5W a y_ɕI:"0, 9@&d0+imF q0qCփ'H42 ^_tL1x)pq(s2 Sg[O;Clc6Į C0'kLr?,CzCZSM)) 7$&khaS*;? RWML1#k3fU]8XI&3ܘEaGUcǢJ)C5@FYJBB汮2qcIFL}7.;3B_W'3M(9|{`m}WݓOKDS*NMbwVB5"BbF%sBgz9h]#zhq)C.k8KZf:VF&/eIu0"֥ N$_'":g}V1#`(U~&[A8ғ U0d+'$w7~!{0Ɲ(F'{k]?t+oAoҩfצ6@rBjz3 EĸZ:&<4X(ABx_cq">;*Dy(5TZR eC[ !Đޤ5w)I)h=u͊iͱM =E_bc XRP=L/ZF2 ^h {kh1( {06 >u9}}{s1z\6ݮj:X^~L%/] {m T2'Ln'RGZPgB)XmVw5wL`36^;阛Kp?{*Ffd&V`ߣBGȔO(^ ϋ1J]FCysn +("(S`2Z#i6\3C aک?B@ӈ$@j'F^sg.J# 6:u + ِo" sdt>Jet;L~8 +xMS-!Vx>0tK@ RH TnG!tp.uCZXCJkaCumhBWbtPҭY[ĩZl#Q`<.EИƂ܈+ѾϱHbQrBd_ Ǣ<ݮx񐥡vY}G Ѵ;\i΀>([aKNްj=Mq'סۮ hG,; Z.AyŠ+'0<,Wsk./Q4&D, 5"` KS)7Tt:>VCɭPXGR…StrXH 歉aK,!B(; J:nRm ߋBnp* u҂4 "*381 tY֎foƾtrRx LS2OiC|w0$?d4@32nZZr_`4'޾%\󱵳/\5gz|77폣B3:;o/v(r J>4soOk80WEͭ&G&ۊ6[8C|Gssv{=Hf9`s}D- ] n>65`y̍E^w?,^P+2-+]b}.p?8+"ue{|8cEcnThhK~jwE(Ks ;-*%tW-E w!mZ3 ?pxN0 A=/ojʽП<ȿ`s 7-E\_Rq0ܸ\ qIGw ^7gYQ}ک5?T J Ajk.=h5 Asg% j/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 /*! \qmltype StackViewDelegate \inqmlmodule QtQuick.Controls \since 5.1 \brief A delegate used by StackView for loading transitions. See the documentation for the \l {QtQuick.Controls1::StackView} {StackView} component. */ QtObject { id: root function getTransition(properties) { return root[properties.name] } function transitionFinished(properties) { } property Component pushTransition: StackViewTransition {} property Component popTransition: root["pushTransition"] property Component replaceTransition: root["pushTransition"] } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype RadioButton \inqmlmodule QtQuick.Controls \since 5.1 \ingroup controls \brief A radio button with a text label. A RadioButton is an option button that can be switched on (checked) or off (unchecked). Radio buttons typically present the user with a "one of many" choice. In a group of radio buttons, only one radio button at a time can be checked; if the user selects another button, the previously selected button is switched off. \qml GroupBox { title: qsTr("Search") Column { ExclusiveGroup { id: group } RadioButton { text: qsTr("From top") exclusiveGroup: group checked: true } RadioButton { text: qsTr("From cursor") exclusiveGroup: group } } } \endqml You can create a custom appearance for a RadioButton by assigning a \l {QtQuick.Controls.Styles::RadioButtonStyle}{RadioButtonStyle}. */ AbstractCheckable { id: radioButton activeFocusOnTab: true Accessible.role: Accessible.RadioButton /*! The style that should be applied to the radio button. Custom style components can be created with: \codeline Qt.createComponent("path/to/style.qml", radioButtonId); */ style: Qt.createComponent(Settings.style + "/RadioButtonStyle.qml", radioButton) __cycleStatesHandler: function() { checked = !checked; } } */**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.2 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype SpinBox \inqmlmodule QtQuick.Controls \since 5.1 \ingroup controls \brief Provides a spin box control. SpinBox allows the user to choose a value by clicking the up or down buttons, or by pressing up or down on the keyboard. The user can also type the value in manually. By default the SpinBox provides discrete values in the range [0-99] with a \l stepSize of 1 and 0 \l decimals. \code SpinBox { id: spinbox } \endcode Note that if you require decimal values you will need to set the \l decimals to a non 0 value. \code SpinBox { id: spinbox decimals: 2 } \endcode */ Control { id: spinbox /*! \qmlproperty real SpinBox::value The value of this SpinBox, clamped to \l minimumValue and \l maximumValue. The default value is \c{0.0}. */ property alias value: validator.value /*! \qmlproperty real SpinBox::minimumValue The minimum value of the SpinBox range. The \l value is clamped to this value. The default value is \c{0.0}. */ property alias minimumValue: validator.minimumValue /*! \qmlproperty real SpinBox::maximumValue The maximum value of the SpinBox range. The \l value is clamped to this value. If maximumValue is smaller than \l minimumValue, \l minimumValue will be enforced. The default value is \c{99}. */ property alias maximumValue: validator.maximumValue /*! \qmlproperty real SpinBox::stepSize The amount by which the \l value is incremented/decremented when a spin button is pressed. The default value is \c{1.0}. */ property alias stepSize: validator.stepSize /*! \qmlproperty string SpinBox::suffix The suffix for the value. I.e "cm" */ property alias suffix: validator.suffix /*! \qmlproperty string SpinBox::prefix The prefix for the value. I.e "$" */ property alias prefix: validator.prefix /*! \qmlproperty int SpinBox::decimals This property indicates the amount of decimals. Note that if you enter more decimals than specified, they will be truncated to the specified amount of decimal places. The default value is \c{0}. */ property alias decimals: validator.decimals /*! \qmlproperty font SpinBox::font This property indicates the current font used by the SpinBox. */ property alias font: input.font /*! This property indicates whether the Spinbox should get active focus when pressed. The default value is \c true. */ property bool activeFocusOnPress: true /*! \qmlproperty enumeration horizontalAlignment \since 5.2 This property indicates how the content is horizontally aligned within the text field. The supported values are: \list \li Qt.AlignLeft \li Qt.AlignHCenter \li Qt.AlignRight \endlist The default value is style dependent. */ property int horizontalAlignment: __panel ? __panel.horizontalAlignment : Qt.AlignLeft /*! \qmlproperty bool SpinBox::hovered This property indicates whether the control is being hovered. */ readonly property alias hovered: mouseArea.containsMouse /*! \qmlsignal SpinBox::editingFinished() \since 5.2 This signal is emitted when the Return or Enter key is pressed or the control loses focus. Note that if there is a validator set on the control and enter/return is pressed, this signal will only be emitted if the validator returns an acceptable state. */ signal editingFinished() style: Qt.createComponent(Settings.style + "/SpinBoxStyle.qml", spinbox) /*! \internal */ function __increment() { validator.increment() if (activeFocus) input.selectValue() } /*! \internal */ function __decrement() { validator.decrement() if (activeFocus) input.selectValue() } /*! \internal */ property alias __text: input.text __styleData: QtObject { readonly property bool upEnabled: value != maximumValue; readonly property alias upHovered: mouseUp.containsMouse readonly property alias upPressed: mouseUp.pressed readonly property bool downEnabled: value != minimumValue; readonly property alias downPressed: mouseDown.pressed readonly property alias downHovered: mouseDown.containsMouse readonly property int contentHeight: Math.max(input.implicitHeight, 16) readonly property int contentWidth: Math.max(maxSizeHint.implicitWidth, minSizeHint.implicitWidth) } Text { id: maxSizeHint text: prefix + maximumValue.toFixed(decimals) + suffix font: input.font visible: false } Text { id: minSizeHint text: prefix + minimumValue.toFixed(decimals) + suffix font: input.font visible: false } activeFocusOnTab: true onActiveFocusChanged: if (activeFocus) input.selectValue() Accessible.name: input.text Accessible.role: Accessible.SpinBox MouseArea { id: mouseArea anchors.fill: parent hoverEnabled: true onPressed: if (activeFocusOnPress) input.forceActiveFocus() onWheel: { if (wheel.angleDelta.y > 0) __increment(); else __decrement(); } } TextInput { id: input clip: contentWidth > width anchors.fill: parent anchors.leftMargin: __style ? __style.padding.left : 0 anchors.topMargin: __style ? __style.padding.top : 0 anchors.rightMargin: __style ? __style.padding.right: 0 anchors.bottomMargin: __style ? __style.padding.bottom: 0 focus: true activeFocusOnPress: spinbox.activeFocusOnPress horizontalAlignment: spinbox.horizontalAlignment verticalAlignment: __panel ? __panel.verticalAlignment : Qt.AlignVCenter selectByMouse: activeFocus || activeFocusOnPress validator: SpinBoxValidator { id: validator property bool ready: false // Delay validation until all properties are ready onTextChanged: if (ready) input.text = validator.text Component.onCompleted: {input.text = validator.text ; ready = true} } onAccepted: { input.text = validator.text selectValue() } onEditingFinished: spinbox.editingFinished() color: __panel ? __panel.foregroundColor : "black" selectionColor: __panel ? __panel.selectionColor : "black" selectedTextColor: __panel ? __panel.selectedTextColor : "black" opacity: parent.enabled ? 1 : 0.5 renderType: __style ? __style.renderType : Text.NativeRendering function selectValue() { select(prefix.length, text.length - suffix.length) } } // Spinbox increment button MouseArea { id: mouseUp objectName: "mouseUp" hoverEnabled: true property var upRect: __panel ? __panel.upRect : null anchors.left: parent.left anchors.top: parent.top anchors.leftMargin: upRect ? upRect.x : 0 anchors.topMargin: upRect ? upRect.y : 0 width: upRect ? upRect.width : 0 height: upRect ? upRect.height : 0 onClicked: __increment() onPressed: if (activeFocusOnPress) input.forceActiveFocus() property bool autoincrement: false; onReleased: autoincrement = false Timer { running: mouseUp.pressed; interval: 350 ; onTriggered: mouseUp.autoincrement = true } Timer { running: mouseUp.autoincrement; interval: 60 ; repeat: true ; onTriggered: __increment() } } // Spinbox decrement button MouseArea { id: mouseDown objectName: "mouseDown" hoverEnabled: true onClicked: __decrement() onPressed: if (activeFocusOnPress) input.forceActiveFocus() property var downRect: __panel ? __panel.downRect : null anchors.left: parent.left anchors.top: parent.top anchors.leftMargin: downRect ? downRect.x : 0 anchors.topMargin: downRect ? downRect.y : 0 width: downRect ? downRect.width : 0 height: downRect ? downRect.height : 0 property bool autoincrement: false; onReleased: autoincrement = false Timer { running: mouseDown.pressed; interval: 350 ; onTriggered: mouseDown.autoincrement = true } Timer { running: mouseDown.autoincrement; interval: 60 ; repeat: true ; onTriggered: __decrement() } } Keys.onUpPressed: __increment() Keys.onDownPressed: __decrement() } !'xYsbdȘtہHH”"iI28W88f=<'n1<{8_ 3DZBoԇ߼ wa/ K1c=Fk⾖nCXK//ۭ|Fl)5=]3YΚǰ>f^/?)c/AwGZÕqcN&ȘG_EwIpo.0 <)^E8gK 6fB.,XF1\bE-Zy{\1"m+t܈A:p)3E]TJu,Eq&ʼnI ~nʢLlXBĤ[Q<ӧ)@H4"#CSx5PwEZ*(J %Kld0 f̼ b%bYA%E]F`gִ];u|[=~4`4[ͭذlЧc\:ypfn Mރe6,0K:a&9!&tҙ N]Ýan~eNL^6)YHn9h1-/6hwXCP.>T%>S"•W)kǦe2k6BQɀscd;bQu?Gw ;:i;!Wc: ǀl` I'l62cѕx!_-lSAhNòsǜMjz6%1f=&<7uU荜2D0a{{ajLc:2`F>G6J8F](iru5ʻ`^>`=ƃmffkbcLy.]v߄{%(oi03&@ysvv%_~r2cArF"p9u>)EEqنH$!ag'LjӤ"Sci xtT[|QO._T)`,dirp䋘^NjuLQ"O8܍eM"傾wGp0C;B !B\0fXCnELXR;8 /C m1dV|LJ XS$ ..3*~5? ၪ'#<0.x{RzH.Cd_b9=OEPR3/Rigwi(e:۩ j t_;"|x{rjV6}¤mڭ4) {YF<4)!b:rco3]&4NXk"uKv$ZO* R3p¦TW%.}"kOimMNZARɟ!(5 ZS7"kV۴gSV@aW]u>A0ۯs7v=2jůypLyz:d|M7}EX`ډG}XlvշMJvPͷD# \-0S*}I}K^:nWQv[:JY|u%N8Ip4TEFbc+4Xݛ-\z4%Q%ކdҨ׷ CֲCOi=76OrE1Oo n/JM6>cg+lUK)EQ>l U";vۂ-u@/pCG(bPvh]vl@F +Eö)dPOQqA˻ U|^_{UW$ Ұ} ٫zvJ>睥(4I(H Ķ-Smc}=~5h&N$ӴdXa|E7:WT-ҝT}.MCVӵ%J"2Tc}]XLM4=Q giԱz*au"$ĂM("L5 e#aygж\ק am܊TYT.+K^]as l[4EO"U=rOw:Kԟz@ᝦAMt')+7o NGmOtLc٬U}}֧c O<#ϩ'd7-ZApD#:^a5B Qks,Ls g-= ,mV\ jf]|q8vLyե[T*\ Z,[z4cX7՗1` [..xZoFb+Qh'mDd);+re"Uof,|DQSyvd޿u A~ 2A>^0`{ <`G61sbq֏ۭWqNȲ"85 c/9|F8%0"Xu;"V?Nss|722Sk3XGD7C+*J&}$fHx^DHg]šobd+|Mpd.|D"lEČؠ-b!F1%©OGͩ1ɬn 1Fe|!.°?G_Fi0;BbN-۴gPnkLֿa4$p3ː v_G.R2%6ٕmN]<D5z2&-&2ύ 11-gZD`J(v&mCCqݹ'O3M?G}$|}S(6x㷻j`=:YTyeSviX(|kŏk4޵[\*'E :aYHH R8DR oJPVٌJ;[a~TPablɬr' KffuZ$`טjyJ%p0EnuaBY$G&8V'4$՚aM )g)<7? ֥Mc*C%E̘,+h"D)B1n` yj]AГ|@bA{.jkϒT$_fUD[)V>Tl/+r HdT 5S"8aK*m.Vkke皀 kd𕆑;-Ģ GSGti~EJ,X\&K[BcI3lzY(t*EG0)XZR[l:0aY=A4M[Ͽ_oNJ>MftQ%sG=L0E%ׄl;SNl.9E%S6r[K?"sbk <]Qd&!}DoY'L앥!%,)56 :-ԕU 4/ĊcRq\2&2'tVਔe[eMuʔT˶Oh180pNZ!_PQ2`Vkn$uD7ir/u&TycX--NMβ)Gyb`Q]HUJ eJK\=U6oeU,%x$ +=DIQ=g`[9˺7X(.jG',Ș#el2f[tbItXոVf*AyTs/РvNUs3NUsW>jP֜cȞjQx)tB;X_b?#|Mʍ1ء{VBְ  i#Zηۃܪr`G2D<}5wwɀh)X (픯qU*Q.:噻eRU8T-KiM͏1%%boB@""I'''ASNFs`Dr9cSoN=ܚ:&,;>~mi$ߔݞ ʠlFL3_I-QQG/o3Ԡ72j֍]u>&`s*NM4+s/p.$tYU"ZkUZSU4-6O pV5t56vnX6tV/0%=7 IY [NBO?s/|l1*&y|Y~!o҄_xUV%\fL3~=nːGC?"}nާW'v7@f1<^st!?kb?$BdquCSlBPva7eygJs!86kʝПHM8|-e 7>4ǫL1kq ٷ_om͐׫͸m3C٢IEPꦵ(+t5:/ّRr՘=]F趸|NEho%1VBTW|{%7Ӵ2r/fG%! ,D$EKm%4Jޗwd 0) currentIndex-- __setOpacities() } /*! Moves a tab \a from index \a to another. */ function moveTab(from, to) { __tabs.move(from, to, 1) if (currentIndex == from) { currentIndex = to } else { var start = Math.min(from, to) var end = Math.max(from, to) if (currentIndex >= start && currentIndex <= end) { if (from < to) --currentIndex else ++currentIndex } } } /*! Returns the \l Tab item at \a index. */ function getTab(index) { return __tabs.get(index).tab } /*! \internal */ property ListModel __tabs: ListModel { } /*! \internal */ property Component style: Qt.createComponent(Settings.style + "/TabViewStyle.qml", root) /*! \internal */ property var __styleItem: loader.item onCurrentIndexChanged: __setOpacities() /*! \internal */ function __setOpacities() { for (var i = 0; i < __tabs.count; ++i) { var child = __tabs.get(i).tab child.visible = (i == currentIndex ? true : false) } count = __tabs.count } activeFocusOnTab: false Component { id: tabcomp Tab {} } TabBar { id: tabbarItem objectName: "tabbar" tabView: root style: loader.item anchors.top: parent.top anchors.left: root.left anchors.right: root.right } Loader { id: loader z: tabbarItem.z - 1 sourceComponent: style property var __control: root } Loader { id: frameLoader z: tabbarItem.z - 1 anchors.fill: parent anchors.topMargin: tabPosition === Qt.TopEdge && tabbarItem && tabsVisible ? Math.max(0, tabbarItem.height - baseOverlap) : 0 anchors.bottomMargin: tabPosition === Qt.BottomEdge && tabbarItem && tabsVisible ? Math.max(0, tabbarItem.height -baseOverlap) : 0 sourceComponent: frameVisible && loader.item ? loader.item.frame : null property int baseOverlap: __styleItem ? __styleItem.frameOverlap : 0 Item { id: stack anchors.fill: parent anchors.margins: (frameVisible ? frameWidth : 0) anchors.topMargin: anchors.margins + (style =="mac" ? 6 : 0) anchors.bottomMargin: anchors.margins property int frameWidth property string style property bool completed: false Component.onCompleted: { addTabs(stack.children) completed = true } onChildrenChanged: { if (completed) stack.addTabs(stack.children) } function addTabs(tabs) { var tabAdded = false for (var i = 0 ; i < tabs.length ; ++i) { var tab = tabs[i] if (!tab.__inserted && tab.Accessible.role === Accessible.LayeredPane) { tab.__inserted = true // reparent tabs created dynamically by createObject(tabView) tab.parent = stack // a dynamically added tab should also get automatically removed when destructed if (completed) tab.Component.onDestruction.connect(stack.onDynamicTabDestroyed.bind(tab)) __tabs.append({tab: tab}) tabAdded = true } } if (tabAdded) __setOpacities() } function onDynamicTabDestroyed() { for (var i = 0; i < __tabs.count; ++i) { if (__tabs.get(i).tab === this) { __tabs.remove(i, 1) __setOpacities() break } } } } onLoaded: { item.z = -1 } } onChildrenChanged: stack.addTabs(root.children) states: [ State { name: "Bottom" when: tabPosition === Qt.BottomEdge && tabbarItem != undefined PropertyChanges { target: tabbarItem anchors.topMargin: -frameLoader.baseOverlap } AnchorChanges { target: tabbarItem anchors.top: frameLoader.bottom } } ] } =/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype ProgressBar \inqmlmodule QtQuick.Controls \since 5.1 \ingroup controls \brief A progress indicator. The ProgressBar is used to give an indication of the progress of an operation. \l value is updated regularly and must be between \l minimumValue and \l maximumValue. You can create a custom appearance for a ProgressBar by assigning a \l {QtQuick.Controls.Styles::ProgressBarStyle}{ProgressBarStyle}. */ Control { id: progressbar /*! This property holds the progress bar's current value. Attempting to change the current value to one outside the minimum-maximum range has no effect on the current value. The default value is \c{0}. */ property real value: 0 /*! This property is the progress bar's minimum value. The \l value is clamped to this value. The default value is \c{0}. */ property real minimumValue: 0 /*! This property is the progress bar's maximum value. The \l value is clamped to this value. If maximumValue is smaller than \l minimumValue, \l minimumValue will be enforced. The default value is \c{1}. */ property real maximumValue: 1 /*! This property toggles indeterminate mode. When the actual progress is unknown, use this option. The progress bar will be animated as a busy indicator instead. The default value is \c false. */ property bool indeterminate: false /*! \qmlproperty enumeration orientation This property holds the orientation of the progress bar. \list \li Qt.Horizontal - Horizontal orientation. (Default) \li Qt.Vertical - Vertical orientation. \endlist */ property int orientation: Qt.Horizontal /*! \qmlproperty bool ProgressBar::hovered This property indicates whether the control is being hovered. */ readonly property alias hovered: hoverArea.containsMouse /*! \internal */ style: Qt.createComponent(Settings.style + "/ProgressBarStyle.qml", progressbar) /*! \internal */ property bool __initialized: false /*! \internal */ onMaximumValueChanged: setValue(value) /*! \internal */ onMinimumValueChanged: setValue(value) /*! \internal */ onValueChanged: if (__initialized) setValue(value) /*! \internal */ Component.onCompleted: { __initialized = true; setValue(value) } activeFocusOnTab: false Accessible.role: Accessible.ProgressBar Accessible.name: value implicitWidth:(__panel ? __panel.implicitWidth : 0) implicitHeight: (__panel ? __panel.implicitHeight: 0) MouseArea { id: hoverArea anchors.fill: parent hoverEnabled: true } /*! \internal */ function setValue(v) { var newval = parseFloat(v) if (!isNaN(newval)) { // we give minimumValue priority over maximum if they are inconsistent if (newval > maximumValue) { if (maximumValue >= minimumValue) newval = maximumValue; else newval = minimumValue } else if (v < minimumValue) { newval = minimumValue } if (value !== newval) value = newval } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype StatusBar \inqmlmodule QtQuick.Controls \since 5.1 \ingroup applicationwindow \brief Contains status information in your app. The common way of using StatusBar is in relation to \l ApplicationWindow. Note that the StatusBar does not provide a layout of its own, but requires you to position its contents, for instance by creating a \l RowLayout. If only a single item is used within the StatusBar, it will resize to fit the implicitHeight of its contained item. This makes it particularly suitable for use together with layouts. Otherwise the height is platform dependent. \code import QtQuick.Controls 1.1 import QtQuick.Layouts 1.0 ApplicationWindow { statusBar: StatusBar { RowLayout { Label { text: "Read Only" } } } } \endcode */ FocusScope { id: statusbar activeFocusOnTab: false Accessible.role: Accessible.StatusBar width: parent ? parent.width : implicitWidth implicitWidth: container.leftMargin + container.rightMargin + container.calcWidth() implicitHeight: Math.max(container.topMargin + container.bottomMargin + container.calcHeight(), loader.item ? loader.item.implicitHeight : 19) /*! \internal */ property Component style: Qt.createComponent(Settings.style + "/StatusBarStyle.qml", statusbar) /*! \internal */ property alias __style: styleLoader.item /*! \internal */ default property alias __content: container.data /*! \qmlproperty Item StatusBar::contentItem This property holds the content Item of the status bar. Items declared as children of a StatusBar are automatically parented to the StatusBar's contentItem. Items created dynamically need to be explicitly parented to the contentItem: \note The implicit size of the StatusBar is calculated based on the size of its content. If you want to anchor items inside the status bar, you must specify an explicit width and height on the StatusBar itself. */ readonly property alias contentItem: container data: [ Loader { id: loader anchors.fill: parent sourceComponent: styleLoader.item ? styleLoader.item.panel : null onLoaded: item.z = -1 Loader { id: styleLoader property alias __control: statusbar sourceComponent: style } }, Item { id: container z: 1 focus: true anchors.fill: parent anchors.topMargin: topMargin anchors.leftMargin: leftMargin anchors.rightMargin: rightMargin anchors.bottomMargin: bottomMargin property int topMargin: __style ? __style.padding.top : 0 property int bottomMargin: __style ? __style.padding.bottom : 0 property int leftMargin: __style ? __style.padding.left : 0 property int rightMargin: __style ? __style.padding.right : 0 property Item layoutItem: container.children.length === 1 ? container.children[0] : null function calcWidth() { return (layoutItem ? (layoutItem.implicitWidth || layoutItem.width) + (layoutItem.anchors.fill ? layoutItem.anchors.leftMargin + layoutItem.anchors.rightMargin : 0) : loader.item ? loader.item.implicitWidth: 0) } function calcHeight () { return (layoutItem ? (layoutItem.implicitHeight || layoutItem.height) + (layoutItem.anchors.fill ? layoutItem.anchors.topMargin + layoutItem.anchors.bottomMargin : 0) : loader.item ? loader.item.implicitHeight : 0) } }] } ~/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 /*! \qmltype Tab \inqmlmodule QtQuick.Controls \since 5.1 \ingroup viewaddons \brief Tab represents the content of a tab in a TabView. A Tab item inherits from Loader and provides a similar api. */ Loader { id: tab anchors.fill: parent /*! This property holds the title of the tab. */ property string title /*! \internal */ property bool __inserted: false Accessible.role: Accessible.LayeredPane active: false visible: false activeFocusOnTab: false onVisibleChanged: if (visible) active = true /*! \internal */ default property alias component: tab.sourceComponent } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype Menu \inqmlmodule QtQuick.Controls \since 5.1 \ingroup menus \brief Provides a menu component for use in menu bars, as context menu, and other popup menus. \code Menu { title: "Edit" MenuItem { text: "Cut" shortcut: "Ctrl+X" onTriggered: ... } MenuItem { text: "Copy" shortcut: "Ctrl+C" onTriggered: ... } MenuItem { text: "Paste" shortcut: "Ctrl+V" onTriggered: ... } MenuSeparator { } Menu { title: "More Stuff" MenuItem { text: "Do Nothing" } } } \endcode The main uses for menus: \list \li as a \e top-level menu in a \l MenuBar \li as a \e submenu inside another menu \li as a standalone or \e context menu \endlist Note that some properties, such as \c enabled, \c text, or \c iconSource, only make sense in a particular use case of the menu. \sa MenuBar, MenuItem, MenuSeparator */ MenuPrivate { id: root /*! \internal \omit Documented in qqquickmenu.cpp. \endomit */ function addMenu(title) { return root.insertMenu(items.length, title) } /*! \internal \omit Documented in qquickmenu.cpp. \endomit */ function insertMenu(index, title) { if (!__selfComponent) __selfComponent = Qt.createComponent("Menu.qml", root) var submenu = __selfComponent.createObject(__selfComponent, { "title": title }) root.insertItem(index, submenu) return submenu } /*! \internal */ property Component __selfComponent: null /*! \internal */ property Component style: Qt.createComponent(Settings.style + "/MenuStyle.qml", root) /*! \internal */ property var __parentContentItem: __parentMenu.__contentItem /*! \internal */ property int __currentIndex: -1 /*! \internal */ on__MenuClosed: __currentIndex = -1 /*! \internal */ __contentItem: Loader { sourceComponent: MenuContentItem { menu: root } active: !root.__isNative && root.__popupVisible focus: true Keys.forwardTo: item ? [item, root.__parentContentItem] : [] property bool altPressed: root.__parentContentItem ? root.__parentContentItem.altPressed : false } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 /*! \qmltype TableViewColumn \inqmlmodule QtQuick.Controls \since 5.1 \ingroup viewitems \brief Used to define columns in a \l TableView. */ QtObject { /*! \internal */ property Item __view: null /*! The title text of the column. */ property string title /*! The model \c role of the column. */ property string role /*! The current width of the column The default value depends on platform. If only one column is defined, the width expands to the viewport. */ property int width: (__view && __view.columnCount === 1) ? __view.viewport.width : 160 /*! The visible status of the column. */ property bool visible: true /*! Determines if the column should be resizable. \since QtQuick.Controls 1.1 */ property bool resizable: true /*! Determines if the column should be movable. The default value is \c true. \note A non-movable column may get indirectly moved if adjacent columns are movable. \since QtQuick.Controls 1.1 */ property bool movable: true /*! \qmlproperty enumeration TableViewColumn::elideMode The text elide mode of the column. Allowed values are: \list \li Text.ElideNone \li Text.ElideLeft \li Text.ElideMiddle \li Text.ElideRight - the default \endlist \sa {QtQuick2::}{Text::elide} */ property int elideMode: Text.ElideRight /*! \qmlproperty enumeration TableViewColumn::horizontalAlignment The horizontal text alignment of the column. Allowed values are: \list \li Text.AlignLeft - the default \li Text.AlignRight \li Text.AlignHCenter \li Text.AlignJustify \endlist \sa {QtQuick2::}{Text::horizontalAlignment} */ property int horizontalAlignment: Text.AlignLeft /*! The delegate of the column. This can be used to set the \l TableView::itemDelegate for a specific column. In the delegate you have access to the following special properties: \list \li styleData.selected - if the item is currently selected \li styleData.value - the value or text for this item \li styleData.textColor - the default text color for an item \li styleData.row - the index of the row \li styleData.column - the index of the column \li styleData.elideMode - the elide mode of the column \li styleData.textAlignment - the horizontal text alignment of the column \endlist */ property Component delegate Accessible.role: Accessible.ColumnHeader } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype BusyIndicator \inqmlmodule QtQuick.Controls \since 5.2 \ingroup controls \brief A busy indicator. The busy indicator should be used to indicate activity while content is being loaded or the UI is blocked waiting for a resource to become available. You can create a custom appearance for a Busy Indicator by assigning a \l {QtQuick.Controls.Styles::BusyIndicatorStyle}{BusyIndicatorStyle}. */ Control { id: indicator /*! \qmlproperty bool BusyIndicator::running This property holds whether the busy indicator is currently indicating activity. \note The indicator is only visible when this property is set to \c true. The default value is \c true. */ property bool running: true Accessible.role: Accessible.Indicator Accessible.name: "busy" style: Qt.createComponent(Settings.style + "/BusyIndicatorStyle.qml", indicator) } $A x=ksF+&DZS:rhwz㸒 $G" @ɊW{%gooR1tkW,[;NYt3/.{~p=;n]S&4cQ|5ɣYf;{w8)ieXv{,A&e_y( ]YkV9{WwhfiE:[A=~$?__~OcbrmUd3Ul+Јє'P9iwyWv=(/h*4Av(ayʦLmnEŜtU %!0l 8DEg XuG1 BI%7l&؈ qcEi:l "dl8Iom$-T q2+aN0Z,CPRg)^2KT#› d A4iू`ӣ<GI t MQiQI:XyYNR;(a@ex2 \g93 uq"&K>E郶er sIo#6x=^48韰We_\~޼'Ox8x~|1Ѵ鍠6d/ш] ta|<:lp~|dp;#` 5ڒ]fg[jp:._!p<8~ˋQ!}'iop? ꟏m%\|8\^;d0,Hv<>~HP^Y и;0H3X2zj4ߏ }jr^qG}B7Q5pp>/ǃ]!OH#F~ht؇}x>DzȎpxlW.DߜϏX}0xVP { pzsF ^O_y Jۖ韟(S'hL+|4ֿ .A-v:uF}?׿/~8(P W3x&D졾,(L)/bUp jm:h>QsW`D&CLDF ƫE"9 &8X$9=ǢbFpRd!:RAeIl'"pF:cwG m FO?@k BJ\x^>rnxBB mƯ8%}!?%>qWD; !A$we0`LeJ /C= 6/]#8M?!reYD$Q'wh#wz@HC=UHhfsR6^A &^ ^TvB~G.U~ATm){DU2]euv fA (=aεb#q Ig OV EB 8@gp/şH>(oԍ㰆RlX\0CE5fZ$ZC|tݮnI,1Pgi*KIfR!'T LW1#ZB(xQRk[ۂ 9R}AA@Eorb8 ?p'-xwv =m:ElL b !*l3?DhyPM0j.17OH2Ʋbl8Kϕu[{_T֦?/ #{88{uGJ]i܂b%͕ i`џ",k=, H`|HYDIBX (AtH( (.5Cr1%hvҀA[&YgfRukbN'LleLij)k0 `^vDj&ʏPis c^_LJN>\*u 1wkk7_Y\DZ`hbuSa-iR[Fle)8_PPT_{=1K7Y!@_SE/!XaZ8E[rc_2%n1hY)MJd}[D'ۃXp[RٶOeh(,=.̟d˓)(0>9iI#S8Щe95|2)S˄+~T=dךywD'8(=h0DP3",fѩ_zޯzJv} }f' hI4c436H6e,ŗz@fg5c;"% ;laOJnYk^֗UI6frLr-a[.qQ<'sw}oWP9#<KEX |GPN!1&jIَWRZ&Ѭ <5V{(!+`j|KՕ\D]n&58[|r9/ҙ&M]Hcm9kkz!vR]aJ EPJ|"PpJ 2 9V mR՘WC3ˢ yʤ-BO$ъ@Za7M 甚\C{GP?#Đ>+ `wo .#)Xq.|aQsXPaFX j?Ae= "end@3\ɶwP e7X-[)-Ŕ u4`f>zTaq/-AL;rA=@D;N-kIwjPb| |,$fտ'6UهJccfd/ czA TߙIAPN4KG8;QpufrPS0}wal[!uvLC<~Rvɷ]R[={p!;`~+#;I%=% p-W$ˤ:| 1"^̀%Su(ё3JBSdyzDDQjnmWtk"8LS`ֲL!#}8Q%Gp9yk8LMR`ZL?,Wcԇ *L(ڢC\f6.1 +GNE#4m0VQ3U& )b{=y SRZu$Pk6^Sr2 b9/r޴X|i9Cκ_'l0مY̱Cjm *mĚd*D+nt4=;6 lsX2?h*)~8s`F,ZPu=B#DbleV<8 hX] 9Wvve}5f` ~dOoEUA3lD[zzZXd:u0' &EU]h>Oiҹ#ΜBC\?j;]8*ȭ[=vO %gZu7WKi;+OuPXDwYuce*hJ} 3tX1E{E0WÄ[y Fzb,h*G0uƔA32KKjC>z,rM+]-p9˙MaPԚ^>|v޻Yc+y=,tƷHon(#Iɣ[cq< fPZA#z\<8;u~l. פuז_Ab,ώBNg9A ˌ2$};73- 9]喞Bʋ7 ky0jWaݔb-cɔZׅq5eIޗR1j- |.-W|sPė!8,dghћR8N7xeHW<@NwD9n<Ү*\FK/ޙR ث(sI'\7ˊal==4bڪ:l "ryr>Ӿ5]:(*Rm dcutX3>FP66ԓ4U+ɩ'uTs(ˋb)h怑vf=&6ߔ쪭E4(/?z-A KAh&XۯqQMZ۔JBR,T}j O3[^^UMN_J;QwӈnwOʤ-Dz/0XUx:6eaq7[BhwP:ձ:M~݆1FTƱޭ6L̯YMPV.j/S¦E#LK83MS][ݫOPRoz+x`j(%u͆zhpe9]Fh ?qL9.?Ѭ S۩Ϛm hDpT]v siXQu&}!]h.)yȓLC?ܥZvDtz9l}ɽ{ƁzQ|#mxDچ@΍vMMڐmF:0Ҽ5]}rLWf]X߳]JZ!̚i+Kmݲ&۱.DTT^;gT@i{M/}ʊ MbLA+YI?"nW~`fV*H6ÿV{2\]KO |fX~j (]Nv}CH[ (̽Pd+(İO84mַ/6F?IO(0ƙj) 3*v᨝Yrx|w[SddkL٤(5%VzK2X\vd鼈"Sg%um*jjod僟XZ( ~B {-Tla벪׮#/~|8j,~!Ǫz+g{O[e6rKKfqX_][~4AP|~3|כ$㻴~@)C4l61o:5?;p9Dc& qQ߅4gŮ{ pSF{f~:y ./\o;Wn4kmgprpXzǖvUgjIRK|v۽nNy2Fp{| px{Le 67Ǥ)ʢj7=a^$ool'By=ٚ+ԷOlxqT]^{[h2?l 8,V=~ɖ~F(ID`8 .JqAٸE YpڤKx֟Ə8-0ߔ  17V,Ŋ'^* lf U)A<۬8*r # hAr`PC0pA|H;-[!C *zXgOSTƌGL*8,u%xmQŔtg}VZ&w4Ui|=1v4# Xgxqn ј]x;WwhLf#k>ގz1X`Q{0Mt&l0 M3'&m]]ɆoMoyGM2 GnۣIswۻpcH_?\787M.z#$]u#jQ3A:D@򺉀ƷN~cS<dM-x; ݨwKwWIr7鱷a>>_w72M`̀߯}ba0Fwpp2mX%^HԝpA#?HMvG^Z1u&4IAumo!{' 'ishGn$7:7I0+!u){GF :$_}Xc3.J<4^ԏy󃃳_;|*vku5'VD^2 9#ԂEoi哦sv+=)h$4M4C7"yϡo)tq856yX@-rB[d>[b+?5!_:1`z7l܏G%'ؖS BY@`) U#_M3$ D>;O@bk!>"hٴ)^1C=Aҧ9s xq/>rG-,VM8^XX~Ε{^q1xYт#@HqȽO7⊷YdW ~#,O 3?, 7E )(F3RPo [J!ՀxSsȓ JIyعG0( Tb^UX Pur_ѠTx}d A0ޏj8(h XlD-Y!zaΣ=jVױN^nKB?xrXnE p[(PeZc`) G疡(@7Ǖl*LM" %cJt'&B<)l ̣j=$e6$;87@.yA ,rf!٢ DN!)ynd؏H8bQfty=*`y%C&أnA g9RiF(&P/\aCMΐ8v! }+4-P&LN86|e ffO 4a2Zw[:n~ТB" nWo2<$YW~QM $ӆYz~x(p+7_} Rr|i4 2-N>EyY7яȢ&ۺi!:V椌xI4q*ZVe-tBX@E(:Mh "|)7-A3֠m̴a%koNF%Ax+LF~CVpЅAb-O Yp-͖Ș9`,Y(\H 7RN|L52Y $%8 `Ĵ)ܝxP`a?)LQ{6QA2Më"@ClO(]0%[dk0sxdxHaf_)Rm5%f^x,i9I@eQ&3< uDmЄsFСTGY.o9x)#=)4Ɂ&El YbcxTLH9G@'-p%9i)JP +hx^#ۤ zKOu g*CP* f63 gk!+ ZFĘCUtQb[X8 pW)% 95jőUXBPkÖ*pR@2: s\]9u.and!(d`;!$vmtE{{SpMCs`E'ݚi=Έ^'Jڑ -Bk.]guN%]{ gWiO@ AbO<°jf<Al \+D0EXi.4~R$RY۩QՒaN1]?)CU]V5'ߺCxs6| JU+>ZDzڒg|zK+-Bck.J 5B_»+Mw-**d`Sq,TmXZz+9iE1r+?a϶1Wr{|*6S"MuskHMBAcP ϿBEVA U/̖eG&'yQXTyWЗ.?{AFۖ3r-lMe|W $3-rpb8 A߲GRAvA oQK*[`-M(3^ Kq mM6lflVךj8'ςXD;c-]uhcGG4nz&C^WYX[%y {?!~ƺOv-ft;SV+e;qد9kU'Jfu/?}W1Q?d1EDinR(҇|*Jv/i;Iu~f~ y#ֲh }Xuo"Ћy39>qDC5NIM"@ە}!h rkC G/pGsަ_óݭ/?Ȓe[̓&i>]/ؤ$n^!.+ VGn,A j̸at&ug=Y~P?~fz|\ [}e Z#ډJٗ{ipmړ PA)(WC'eB~&"3 wryX1hSkx]CeETnoWDi!NeX.qZ*G;)J]}*]Jx9@So;h!@en§pY$ ,vtj/!: byw>;d2.K7*K(`9;Fhuv[tC,&[XUyXȻ"9aQMn9"Wޭ$y_`L~d"o{f<'L&/0ᔐ~ KP~tjի\(/0R |g}D#\K%m?8r|/2WcÊ#JzJmW 7*#GgGuPC5MkgؗxuEU]#,&5;r_hص[v3J[#9'5KS*w˻R ͪa.03 Iu%F)2wm`#t*[f\ľ >? stepSize ? verticalDelta*step : verticalDelta/Math.abs(verticalDelta)*stepSize value += delta } } onHorizontalWheelMoved: { if (horizontalDelta !== 0) { var delta = Math.abs(horizontalDelta)*step > stepSize ? horizontalDelta*step : horizontalDelta/Math.abs(horizontalDelta)*stepSize value += delta } } } } [/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype CheckBox \inqmlmodule QtQuick.Controls \since 5.1 \ingroup controls \brief A checkbox with a text label. A CheckBox is an option button that can be toggled on (checked) or off (unchecked). Checkboxes are typically used to represent features in an application that can be enabled or disabled without affecting others. The state of the checkbox can be set with the \l {AbstractCheckable::checked}{checked} property. In addition to the checked and unchecked states, there is a third state: partially checked. This state indicates that the regular checked/unchecked state can not be determined; generally because of other states that affect the checkbox. This state is useful when several child nodes are selected in a treeview, for example. The partially checked state can be made available to the user by setting \l partiallyCheckedEnabled to \c true, or set directly by setting \l checkedState to \c Qt.PartiallyChecked. \l checkedState behaves identically to \l {AbstractCheckable::checked}{checked} when \l partiallyCheckedEnabled is \c false; setting one will appropriately set the other. The label is shown next to the checkbox, and you can set the label text using its \l {AbstractCheckable::text}{text} property. \qml Column { CheckBox { text: qsTr("Breakfast") } CheckBox { text: qsTr("Lunch") } CheckBox { text: qsTr("Dinner") } } \endqml Whenever a CheckBox is clicked, it emits the \l {AbstractCheckable::clicked}{clicked()} signal. You can create a custom appearance for a CheckBox by assigning a \l {QtQuick.Controls.Styles::CheckBoxStyle}{CheckBoxStyle}. */ AbstractCheckable { id: checkBox /*! \qmlproperty enumeration CheckBox::checkedState This property indicates the current checked state of the checkbox. Possible values: \c Qt.UnChecked - The checkbox is not checked (default). \c Qt.Checked - The checkbox is checked. \c Qt.PartiallyChecked - The checkbox is in a partially checked (or "mixed") state. The \l {AbstractCheckable::checked}{checked} property also determines whether this property is \c Qt.Checked or \c Qt.UnChecked, and vice versa. */ property int checkedState: checked ? Qt.Checked : Qt.Unchecked /*! This property determines whether the \c Qt.PartiallyChecked state is available. A checkbox may be in a partially checked state when the regular checked state can not be determined. Setting \l checkedState to \c Qt.PartiallyChecked will implicitly set this property to \c true. If this property is \c true, \l {AbstractCheckable::checked}{checked} will be \c false. By default, this property is \c false. */ property bool partiallyCheckedEnabled: false /*! \internal True if onCheckedChanged should be ignored because we were reacting to onCheckedStateChanged. */ property bool __ignoreChecked: false style: Qt.createComponent(Settings.style + "/CheckBoxStyle.qml", checkBox) activeFocusOnTab: true Accessible.role: Accessible.CheckBox Accessible.name: text __cycleStatesHandler: __cycleCheckBoxStates onCheckedChanged: { if (!__ignoreChecked) checkedState = checked ? Qt.Checked : Qt.Unchecked; } onCheckedStateChanged: { __ignoreChecked = true; if (checkedState === Qt.PartiallyChecked) { partiallyCheckedEnabled = true; checked = false; } else { checked = checkedState === Qt.Checked; } __ignoreChecked = false; } onPartiallyCheckedEnabledChanged: { if (exclusiveGroup && partiallyCheckedEnabled) { console.warn("Cannot have partially checked boxes in an ExclusiveGroup."); } } onExclusiveGroupChanged: { if (exclusiveGroup && partiallyCheckedEnabled) { console.warn("Cannot have partially checked boxes in an ExclusiveGroup."); } } /*! \internal */ function __cycleCheckBoxStates() { if (!partiallyCheckedEnabled) { checked = !checked; } else { switch (checkedState) { case Qt.Unchecked: checkedState = Qt.Checked; break; case Qt.Checked: checkedState = Qt.PartiallyChecked; break; case Qt.PartiallyChecked: checkedState = Qt.Unchecked; break; } } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype ToolButton \inqmlmodule QtQuick.Controls \since 5.1 \ingroup controls \brief Provides a button type that is typically used within a ToolBar. ToolButton is functionally similar to \l Button, but can provide a look that is more suitable within a \l ToolBar. \code ToolButton { iconSource: "edit-cut.png" } \endcode You can create a custom appearance for a ToolButton by assigning a \l {QtQuick.Controls.Styles::ButtonStyle}{ButtonStyle}. */ Button { id: button style: Qt.createComponent(Settings.style + "/ToolButtonStyle.qml", button) } +>x}ms8 DK+lGYb+rlL$$&$eEI$=W5K$ NHnn+=>:MnX]3g'yTjZ&$.6ݣD>?U۪ZH:BeR()Hi+G ɋvQ j&h]^i,@{=pVj"fOK=Cg.c ,K=;?OH˫_ǧS79R']_|~8;]M___дNF}y5Lŕ<=jx~=M"5>?9{s:>)/J^_DTuIuR] ?/gߨʗsJ]t<99_NW~_óH ^g#z{:\c`"4,BB_FЩo!;Mu:|=|} ɛkl;dz|z^]\'_AMN 1dD9^zśɘX8>]]_`Cxx}q}f]\4z_!{kCdwr-AL::z;z0x S P;e(T_~Sa26C;pft~jM))n '&; ef\f@ߠ~R+`)6@{㤯k_(ލl>w5=&VZZ?ı-qx-v!j&Ee0vu[@{6o6MϢ䑐ꆾqLyc g3d i/vbTgi ) ܍] eUfMuVTgwD^#(CU  [3g 1ՠ̈́ FX]7 lp=2Nos@l0q0soJP=ͬ6-Ύ'pIm@+)F^/(Y;@:y?0]i'O%uE:ӓ4Kb|`0 ͜SGh1yyUA;nҊ* -f4LF)9ClJ# [Vh~ /œY,#-i\>@|UX])4VK0C3HyfM9 [ SM~fdXC_*UdէA#0EUzi글h#'@+`V[R?AACtOAqGMJcnizyݭj`ThqyD"N3n|"~y%Tgؑ?ӵ=0$Ch~wUxl2[!|Fd& \hy%Yu D$mf N7Knƪ$YeoazTi>b"LLXs49Vkf`njذ:! "l0 F14Swcҁ-F x;X& \iz*H I *ln<>0Z /dBVoPN FtVQO(LoVzo'j;9KfAdۢB#ҧuaXc1 @c;_-jl5T3] cVZ`NMK=tՖEe | -0HӓQITf͑Wg1bg)yZaYMKpiJX~mƧ ,QVyjgʻge%i-]Udk'Fzz/>/׳0 !},o8;kCj~|x6 e#σ(IŸe^EBNnn0>lR\: ±MhY3DQh4DjFUHΪ[o WAVr-Xhǫ*G|ɑHc)!)?$0=W| ;NFXSU_(]Nb\Rr@\/mzdt}Qh9~Az 5hcr>K uyFoHZ5!Ĩn- I~=fpxM9 q$vi^ t; 5,$wgݝY I&@Z*u5x=B\-EfSRg b:ZB(MV bk?b"Ȋ{*%܂ʐ*WŲHq{"WF`, ?Y:?*X:xt_ K=sx]|jb’x~Lwɗ2 :cm=J\$K䂿$$4FR[xgʴ9v(t^nFeg1?}KPiO"8aT>iz1ؕ?S0AvA>uRj&q,1@l7imw7vڀJ^2eDC`*|L22bU ^0x>rm Q.Jb"'\%JJi.YT՘s3\,y ml7nDF1,کi} ,ML$[e})NL ]L2dP֘ CAkn^ل8z~ t++sJc Rړ|BR_4+"qyLy⽝ hVہaA{rX o캊 ʱSU\%̟vZ3\",oP6vevUg&2A" "&/2$dv |smyrm!fbijiեukjKI![-V +JH)@(Y$nK2d_;W^ :TfTӋm2G7kF|t)(dI4}H۵̥Ƹ$$4-˝>9= >ZlnL-/fAU-LV5,ycYi*QE3tt-Qwpwyqd!%No{S^pb:|f,Uh{_6΂P>ph=ev;nUaAeGDL:) B'D/Hm(U6pիk“# $Ikq=.EkѕzRP#5`^:]D@7qF>׸Eb$|jDE10jw, lR&0 9꫟ yi5Vs߻V?h4sņ}yCVKM=w `0 #)!$_F5X+m|%V0|~QDҳZn(@9 5˟"x/Ո`C^ yB.x+ @dξө|1JBJ.lZ|ɕZ T"mμU.~Ik6`> )%NwK@d%8<$uN3l%h;u"h.{+oP ߕ`ܡ>)?Ǟ zS$@HɋC4[y60Ϣ&(%bv:x3qۏewC=yLe k Y1wO~Wwbd=&bw>ڦ[%  ,Q#zfPgZ6@$vot hTwc$֓HaVb*~X[s}_7?d'kc.~~tY{u߲gWޞJ&i{oi7 ^ ~݀M_o7 BHnͻC7h B<]0ll͝ہA Ә_67zҍ gvۭ=orٸ=m6'fGn43%iǧУ6] kl~ c*0s8p92i c1kR=c蔶K,P6qbz siǔS$/2CDlcF6 R qަMڧ6jd''|6*GѥwJ"\OI53WX h$#ÍgY 3P@0?.6[%Hf(sƯo}Ʒ;r4÷|{uuy AhM=j5j%c|U[Bχ&9@nD1am0(+8L|Y50 #_-DߑdtƽG8cpE5J^S?19{Ev/JPQsEcsz OVZw0<+@9|Cuh{˱zֆA9-*^c+@0sz&}[?i3 q3-fA _To>zRmא(whHZTQC(-RbY=҆U&H΁w H>t.Ocš#yv' ,xqÆ3xmdoE7Q `PP H~wӰ9h1>$RZ֖В]^$Ο3W6es:kfgg&R"ঁf%_ ۨoa]kTya_(2Enw2TkK$l߭݃ůÃ~=D&ZR?|I`*%Y}hýh}h+1&+1vc%8u+TyȺ1mɉuBd6>CLwzDKm5I[B`=@>l5!#\x1ď xBP]#$ԯ'Dw٨(lk)|6JGdP~|{9ZFgxwoL?MhNz}վmOC"W{3ͭ!^@ (Ӵ:->`y^nDi=(xR22.ҢsR(Hܼdm+K[1b.:QmwT|z)e˽v5k[whp\z')]G_)jmzQ<1wO|63mԿ7aޤn25Wq;y|("D {2[h8cÚZe|v,0QlwVaJ{3? A_(%pCћ[iND{$G2tjf.),/L酙x&zlt -Iס[t./^[_ hQxx~= MxfvSs5KGPm*3+ue,6L>GbamZrP 0qY’_42%ڬj+!w6'z=S^^+%!f"|*$e۞5bABz=1u\| N Cwnko{` _Xi# (wԱ~>|(u/&0öjv?.7 Y" ?ۼ@bmvYz_fxJK[Aa,9P Nf`ịHuS *@l3.l`UtFrޤ-'Kǒ9G _v{6ʨQ(7%3 T?qvp2L0K JwzAhwW=x>DȎp3L"׽Anлwp@evFzsXVb_Jss6A׸_$Z%7?4(Tp4JvE8jD%`E*7keI 4:;a82AN |C' _Hs6 [&`)gFӥ^ `N,]􋡋I6G^2Jb+%L_~~}ACl0z"y: hM|<1ّunӳ4_,glIցe" E/m x\y=+ N).1~}Jk%N`c9xE ) ,z-wPSxnujW.\񟥍7wZ-3~3S#!S_E"= ځo#Zq5is82HZV^.Yvb[ ƘYBi"5whCoRؓ(9 e67 LCԚH_61DZa|@+=I+m0TA6d*󩆰C1IDOēre(CS3AUa8::Gy|2a?FM9S:ńCCuZ2qpc5ۓ6DPl,$xW'F77_%4ߗ;RKyNmv*MpcA6Dr.,ϐ4@FkZR6L?c8F"Wvw=R `&L8֠nY-D:C*oXs68Cp(sV ⠂w͔hSV3-w`I3ӮbٞCԿ" vG$HyΧKUSjqwrDi T%VK$h'+z\klnLӲ4CQ)-q& 5ٕ܊G*GH5 V*VJADƒ|.TU's ]/uL,ī2Jgz#w>̜6x?k>wo!8XUd5Ze^sH1\ \y{)sH xLO3F~gPab5X4 Y;UY&S>Rd '"气[U;QJ^ KmaŠJ1_dXx7? ,qs ~E?7KkR=ڣ]EHu\A3vkhSI) t5+VéG9ƻoYtԅJ`;,g@%a(:E 2CK~ Ц@KIaʊ5IA0 ᔐ&q=*TF% tYMP.x:zP*~DO۽E<2;+=]ItH4j'_KYa6Tdi j0%(Z癘F+IFv%-cjIZeUu P݈J;+*a1gs"=c l%@4#cIhIiox=}0M7Gs# #:}W2 㙐&aT _jB>eP?[A8\R(GCP}Aq j@jՕRp<:AU). +RAŁX6R2uF՞q DXm mTzOV^y=1r P+6Np!+k197%9JL0s>h(P Gs1XgU;TZJQ,Ebbu\ ;mԜ/)7 F `"(>ͣUtD@l+ q :-%N[m|jbөXԡ ]ɴcb-5Xl6Mvi*K0)T}N܈3]#-TWȩ"_C<7pTBיЕ7yªߥ4Dl+ȝ̟U2r[s$:XZ5֨9^׆{r\-Cn](*]AJꩆ/#dy #Q ]`0G~pfPڱ[R7,є%bK6GB;Ǫ)*=QyAceGϓ-V wAR)L, nDeqBtuP0dSQ 0RX&Ɨݖ*p0GB-JȁfrxU4 =z",a]\CĵN~VT)7> f2V,yX?sf<[AH6;!~sqQLC=ownuAb˷+3*6WSC ^NkR  cQԿ ;RC o8e6UT8 i(f WD;`MC2Vg \TAZptAMiW#*PT 8ln;}03kO66j*TѭcFfgPEMSlGMsľ+0 Up$?5efKłkxSJ&W[yjܰMUBE;U%Xy\;h{L8gNXnL,=CѦ XPcN^3L-J a}h(T%Op|⟢fc8;XL_#lAZ:WT?)^ @_O^B%(*MyŊޡW Bǁ)X-Dnv)qj+ҪO02}!ǴLsvBmb/{rȉ Ltz$S#wUſD$A1vߔetNCg)b-GgovX^c_&*J'04@ ӫhⶫu$]%ޕHnQ]N=q{1.U&+Y Yqs8;ӢNK,IcJBmXo<`վJahJSs~,d|e@uHӏA?lO*Մh4HKB{s 1|մ;+c46:m>wP!*c.Eux?b,UB&BTdkثbii4ڴ&8{I|sx;Δڮ-{{LgJrӟGԄTMZ{S*<9gʼn`:J 瓮ㄦkL{9)$,*Ҏk tXUx{ IXcmz[1r xSWrLZi/p8~A );M N7 _iz*]oE{Gh_*wj+ )GU} Gz9ȩNJ5s^Pj\<`5qd |{>)D` $KM=U a*EՌR$Y `§d6T}kQ=6+4=kojl>(6f,@K +FMU:nx}OyhU_Ri8L5}Y!sFc>ߵg4=ZZxH}#WHg& a߲&TX:ʟ;y]ɭ :uX)oH@x4/sEk]8ÝJ 9c?}>|=e#G L}o3a;-R"X#C3b,9;PETMۓʱic/X|l+^m*A_59/ ϗxNn8i}>!ߋ=U>U* "Y iggՂV+AX~ep+cP@>oB:T5i2!* \lDxEABez;E"ckC62-k]0/9  >բZ_zOq](lLީ0R1 q_TcÇ3"Db7т&};ah*\L1ȤSlǥdEab p$\=g}bMIАrdq;*8E{"X秀ڐcth{ |ɿΉb f&~3",~ĠܷoYEd~f/5(=Ofú셪(T+|*~v[|)*>WTD`˗WXXĭ IdYm֛cڔ Cַ%pcaْ:\(A,/ PƋQ޿| KOvm}rTpɯ= ΚR}69Mx"o>F q_{s_*)p:[Jف|[^(|:m9 Y/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 /*! \qmltype Label \inqmlmodule QtQuick.Controls \since 5.1 \ingroup controls \brief A text label. In addition to the normal \l Text element, Label follows the font and color scheme of the system. Use the \c text property to assign a text to the label. For other properties check \l Text. A simple label looks like this: \qml Label { text: "Hello world" } \endqml You can use the properties of \l Text to change the appearance of the text as desired: \qml Label { text: "Hello world" font.pixelSize: 22 font.italic: true color: "steelblue" } \endqml \sa Text, TextField, TextEdit */ Text { /*! \qmlproperty string Label::text The text to display. Use this property to get and set it. */ id: label color: pal.text activeFocusOnTab: false renderType: Text.NativeRendering SystemPalette { id: pal colorGroup: enabled ? SystemPalette.Active : SystemPalette.Disabled } Accessible.name: text Accessible.role: Accessible.StaticText } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype ToolBar \inqmlmodule QtQuick.Controls \since 5.1 \ingroup applicationwindow \brief Contains ToolButton and related controls. The common way of using ToolBar is in relation to \l ApplicationWindow. It provides styling and is generally designed to work well with ToolButton as well as other controls. Note that the ToolBar does not provide a layout of its own, but requires you to position its contents, for instance by creating a \l RowLayout. If only a single item is used within the ToolBar, it will resize to fit the implicitHeight of its contained item. This makes it particularly suitable for use together with layouts. Otherwise the height is platform dependent. \code import QtQuick.Controls 1.1 import QtQuick.Layouts 1.0 ApplicationWindow { toolBar: ToolBar { RowLayout { ToolButton { ... } ToolButton { ... } ToolButton { ... } } } } \endcode */ FocusScope { id: toolbar activeFocusOnTab: false Accessible.role: Accessible.ToolBar LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft LayoutMirroring.childrenInherit: true width: parent ? parent.width : implicitWidth implicitWidth: container.leftMargin + container.rightMargin + container.calcWidth() implicitHeight: container.topMargin + container.bottomMargin + container.calcHeight() /*! \internal */ property Component style: Qt.createComponent(Settings.style + "/ToolBarStyle.qml", toolbar) /*! \internal */ property alias __style: styleLoader.item /*! \internal */ default property alias __content: container.data /*! \qmlproperty Item ToolBar::contentItem This property holds the content Item of the tool bar. Items declared as children of a ToolBar are automatically parented to the ToolBar's contentItem. Items created dynamically need to be explicitly parented to the contentItem: \note The implicit size of the ToolBar is calculated based on the size of its content. If you want to anchor items inside the tool bar, you must specify an explicit width and height on the ToolBar itself. */ readonly property alias contentItem: container data: [ Loader { id: loader anchors.fill: parent sourceComponent: styleLoader.item ? styleLoader.item.panel : null onLoaded: item.z = -1 Loader { id: styleLoader property alias __control: toolbar sourceComponent: style } }, Item { id: container z: 1 focus: true anchors.fill: parent anchors.topMargin: topMargin anchors.leftMargin: leftMargin anchors.rightMargin: rightMargin anchors.bottomMargin: bottomMargin property int topMargin: __style ? __style.padding.top : 0 property int bottomMargin: __style ? __style.padding.bottom : 0 property int leftMargin: __style ? __style.padding.left : 0 property int rightMargin: __style ? __style.padding.right : 0 property Item layoutItem: container.children.length === 1 ? container.children[0] : null function calcWidth() { return (layoutItem ? (layoutItem.implicitWidth || layoutItem.width) + (layoutItem.anchors.fill ? layoutItem.anchors.leftMargin + layoutItem.anchors.rightMargin : 0) : loader.item ? loader.item.implicitWidth : 0) } function calcHeight () { return (layoutItem ? (layoutItem.implicitHeight || layoutItem.height) + (layoutItem.anchors.fill ? layoutItem.anchors.topMargin + layoutItem.anchors.bottomMargin : 0) : loader.item ? loader.item.implicitHeight : 0) } }] } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype Button \inqmlmodule QtQuick.Controls \since 5.1 \ingroup controls \brief A push button with a text label. The push button is perhaps the most commonly used widget in any graphical user interface. Pushing (or clicking) a button commands the computer to perform some action or answer a question. Common examples of buttons are OK, Apply, Cancel, Close, Yes, No, and Help buttons. Button is similar to the QPushButton widget. You can create a custom appearance for a Button by assigning a \l {QtQuick.Controls.Styles::ButtonStyle}{ButtonStyle}. */ BasicButton { id: button /*! This property holds whether the push button is the default button. Default buttons decide what happens when the user presses enter in a dialog without giving a button explicit focus. \note This property only changes the appearance of the button. The expected behavior needs to be implemented by the user. The default value is \c false. */ property bool isDefault: false /*! Assign a \l Menu to this property to get a pull-down menu button. The default value is \c null. */ property Menu menu: null __effectivePressed: __behavior.effectivePressed || menu && menu.__popupVisible activeFocusOnTab: true Accessible.name: text style: Qt.createComponent(Settings.style + "/ButtonStyle.qml", button) Binding { target: menu property: "__minimumWidth" value: button.__panel.width } Binding { target: menu property: "__visualItem" value: button } Connections { target: __behavior onEffectivePressedChanged: { if (__behavior.effectivePressed && menu) popupMenuTimer.start() } } Timer { id: popupMenuTimer interval: 10 onTriggered: { __behavior.keyPressed = false if (Qt.application.layoutDirection === Qt.RightToLeft) menu.__popup(button.width, button.height, 0) else menu.__popup(0, button.height, 0) } } } 5Q-x\s6tF/LRbؒ#I3MCWԑe5.@ AIv9Ng*b/<^q7Xr|?#Ϯ (NR.oS?Y7OZ9IY-jwvH㓬'wG!Cx&R6!gd,lnj}\ɟ$0Ô` tqDqYCeuQ'|%^f˔o2 xB2\00PLx>aROu?HD.3Gh+"d©VD`Mٌ2C101e4pD񀁩E?JRݱIRd"I |2m}5xK0ǣQ|;B eTZ(0%;V$c?qr0ex@+Gg=qƙ4!3{Ҧ^- ]LK|2A^>/z#6n ~_zn}]v>2}e;vwv3 Gl#`ާwz`zWח= q;j^h21 ]@94*'gW>]_q{?6nǽ] .uzvi/~ltѾr!.;낦.vG1uF%/(ht=oK~i*Ӿj16[&fؽB$Ѹ7wهCfu&Go`DuIN{ܦA (ͨG&z`?@6pwփ>YNw04M C4/Y&t Ƥeއn7FHУ#;NFv&.gΧF=>d e־lNj~/"x1qICIݥZ׀|HNw=Đzh+,"xqYHE+x` BQ&Oh a 0IdB0aςĿoAz4f+ Ɍ[{$Gk/3e m8avk@Pb jyzc@~D0d~㈳a7? bn/8 F-W-غK0)3#)zS?c6 s"^xV,<=-DM%!>treUkdcR+A.N\mTZ2*|ps,;NaX@ֻ*7p Yf̽ғ1{,fyV;vQt$+%oarA%f'jjS;L{=vxRNM@!&.(ODpLa@fر[؇rKm%46Jɾтa!;yIC;S0%J{xȎTc\Cț|<.zg]Q'،\^wnEWFk)A ;B qfF:v?$fƍg Rusج̓h/dCArd"}rXOmb ^` ³jg^eƹ4NJ=i9 oApJ48Nl]jT€[@?la`bün,W[?]1ku9Aov5;;Z ;RI8;&x4erRe]k{MRyiHQo9˦prEO-k8pj|]8z.w`2cs@'2/.+lYA2Dd Xu/UMh8t] rS-rÎSJ=̈#wuٰۢeb|'?땪,ڝ g ] h 4!^Jǯ}qYTW2to*o)[D]ĕ܉fOҪ#ⷧ`m0/H CxQWg; E8Y> ]!a^,[耴wfғE=.I/s6] 0 ? implicitHeight: 0 } Item { id: statusBarArea anchors.bottom: parent.bottom anchors.left: parent.left anchors.right: parent.right implicitHeight: childrenRect.height height: visibleChildren.length > 0 ? implicitHeight: 0 } onVisibleChanged: if (visible && menuBar) menuBar.__parentWindow = root states: State { name: "hasMenuBar" when: menuBar && !menuBar.__isNative ParentChange { target: menuBar.__contentItem parent: backgroundItem } PropertyChanges { target: menuBar.__contentItem x: 0 y: 0 width: backgroundItem.width } AnchorChanges { target: toolBarArea anchors.top: menuBar.__contentItem.bottom } } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 ParallelAnimation { id: root /*! The name of the animation that is running. Can be one of the following: \list \li 'PushTransition' \li 'PopTransition' \li 'ReplaceTransition' \endlist */ property string name /*! The page that is transitioning in. */ property Item enterItem /*! The page that is transitioning out */ property Item exitItem /*! Set to \c true if the transition is told to fast-forward directly to its end-state */ property bool immediate } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 // KNOWN ISSUES // none /*! \qmltype ModalPopupBehavior \internal \inqmlmodule QtQuick.Controls.Private */ Item { id: popupBehavior property bool showing: false property bool whenAlso: true // modifier to the "showing" property property bool consumeCancelClick: true property int delay: 0 // delay before popout becomes visible property int deallocationDelay: 3000 // 3 seconds property Component popupComponent property alias popup: popupLoader.item // read-only property alias window: popupBehavior.root // read-only signal prepareToShow signal prepareToHide signal cancelledByClick // implementation anchors.fill: parent onShowingChanged: notifyChange() onWhenAlsoChanged: notifyChange() function notifyChange() { if(showing && whenAlso) { if(popupLoader.sourceComponent == undefined) { popupLoader.sourceComponent = popupComponent; } } else { mouseArea.enabled = false; // disable before opacity is changed in case it has fading behavior if(Qt.isQtObject(popupLoader.item)) { popupBehavior.prepareToHide(); popupLoader.item.opacity = 0; } } } property Item root: findRoot() function findRoot() { var p = parent; while(p.parent != undefined) p = p.parent; return p; } MouseArea { id: mouseArea anchors.fill: parent enabled: false // enabled only when popout is showing onPressed: { popupBehavior.showing = false; mouse.accepted = consumeCancelClick; cancelledByClick(); } } Loader { id: popupLoader } Timer { // visibility timer running: Qt.isQtObject(popupLoader.item) && showing && whenAlso interval: delay onTriggered: { popupBehavior.prepareToShow(); mouseArea.enabled = true; popup.opacity = 1; } } Timer { // deallocation timer running: Qt.isQtObject(popupLoader.item) && popupLoader.item.opacity == 0 interval: deallocationDelay onTriggered: popupLoader.sourceComponent = undefined } states: State { name: "active" when: Qt.isQtObject(popupLoader.item) && popupLoader.item.opacity > 0 ParentChange { target: popupBehavior; parent: root } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 import QtQuick.Controls.Styles 1.1 /*! \qmltype BasicButton \internal \qmlabstract \inqmlmodule QtQuick.Controls.Private */ Control { id: button /*! This signal is emitted when the button is clicked. */ signal clicked /*! \qmlproperty bool BasicButton::pressed This property holds whether the button is being pressed. */ readonly property alias pressed: button.__effectivePressed /*! \qmlproperty bool BasicButton::hovered This property indicates whether the control is being hovered. */ readonly property alias hovered: behavior.containsMouse /*! This property holds whether the button is checkable. The default value is \c false. */ property bool checkable: false /*! This property holds whether the button is checked. Only checkable buttons can be checked. The default value is \c false. */ property bool checked: false /*! This property holds the ExclusiveGroup that the button belongs to. The default value is \c null. */ property ExclusiveGroup exclusiveGroup: null /*! This property holds the associated button action. If a button has an action associated, the action defines the button's properties like checked, text, tooltip etc. When an action is set, it's still possible to override the \l text, \l tooltip, \l iconSource, and \l iconName properties. The default value is \c null. */ property Action action: null /*! This property specifies whether the button should gain active focus when pressed. The default value is \c false. */ property bool activeFocusOnPress: false /*! This property holds the text shown on the button. If the button has no text, the \l text property will be an empty string. The default value is the empty string. */ property string text: action ? action.text : "" /*! This property holds the button tooltip. */ property string tooltip: action ? (action.tooltip || StyleHelpers.removeMnemonics(action.text)) : "" /*! This property holds the icon shown on the button. If the button has no icon, the iconSource property will be an empty string. The default value is the empty string. */ property url iconSource: action ? action.iconSource : "" /*! The image label source as theme name. When an icon from the platform icon theme is found, this takes precedence over iconSource. */ property string iconName: action ? action.iconName : "" /*! \internal */ property color __textColor: syspal.text /*! \internal */ property string __position: "only" /*! \internal */ readonly property bool __iconOverriden: button.action && (button.action.iconSource !== button.iconSource || button.action.iconName !== button.iconName) /*! \internal */ property Action __action: action || ownAction /*! \internal */ readonly property Action __iconAction: __iconOverriden ? ownAction : __action /*! \internal */ onExclusiveGroupChanged: { if (exclusiveGroup) exclusiveGroup.bindCheckable(button) } Accessible.role: Accessible.Button Accessible.description: tooltip /*! \internal */ function accessiblePressAction() { __action.trigger(button) } Action { id: ownAction iconSource: !button.action || __iconOverriden ? button.iconSource : "" iconName: !button.action || __iconOverriden ? button.iconName : "" } Connections { target: __action onTriggered: button.clicked() } activeFocusOnTab: true Keys.onPressed: { if (event.key === Qt.Key_Space && !event.isAutoRepeat && !behavior.pressed) behavior.keyPressed = true; } onFocusChanged: if (!focus) behavior.keyPressed = false Keys.onReleased: { if (event.key === Qt.Key_Space && !event.isAutoRepeat && behavior.keyPressed) { behavior.keyPressed = false; __action.trigger(button) behavior.toggle() } } MouseArea { id: behavior property bool keyPressed: false property bool effectivePressed: pressed && containsMouse || keyPressed anchors.fill: parent hoverEnabled: true enabled: !keyPressed function toggle() { if (button.checkable && !button.action && !(button.checked && button.exclusiveGroup)) button.checked = !button.checked } onReleased: { if (containsMouse) { toggle() __action.trigger(button) } } onExited: Tooltip.hideText() onCanceled: Tooltip.hideText() onPressed: { if (activeFocusOnPress) button.forceActiveFocus() } Timer { interval: 1000 running: behavior.containsMouse && !pressed && tooltip.length onTriggered: Tooltip.showText(behavior, Qt.point(behavior.mouseX, behavior.mouseY), tooltip) } } /*! \internal */ property var __behavior: behavior /*! \internal */ property bool __effectivePressed: behavior.effectivePressed SystemPalette { id: syspal } states: [ State { name: "boundAction" when: action !== null PropertyChanges { target: button enabled: action.enabled checkable: action.checkable checked: action.checked } } ] } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 Item { id: content property Component menuItemDelegate property Component scrollerStyle property var itemsModel property int minWidth: 100 property real maxHeight: 800 property int margin: 1 signal triggered(var item) function menuItemAt(index) { list.currentIndex = index return list.currentItem } width: Math.max(list.contentWidth, minWidth) height: Math.min(list.contentHeight, fittedMaxHeight) + 2 * margin readonly property int currentIndex: menu.__currentIndex property Item currentItem: null readonly property int itemHeight: (list.count > 0 && list.contentItem.children[0]) ? list.contentItem.children[0].height : 23 readonly property int fittingItems: Math.floor((maxHeight - downScroller.height) / itemHeight) readonly property real fittedMaxHeight: itemHeight * fittingItems + downScroller.height readonly property bool shouldUseScrollers: scrollView.__style.useScrollers && itemsModel.length > fittingItems readonly property real upScrollerHeight: upScroller.visible ? upScroller.height : 0 readonly property real downScrollerHeight: downScroller.visible ? downScroller.height : 0 function updateCurrentItem(mouse) { var pos = mapToItem(list.contentItem, mouse.x, mouse.y) if (!currentItem || !currentItem.contains(Qt.point(pos.x - currentItem.x, pos.y - currentItem.y))) { if (currentItem && !hoverArea.pressed && currentItem.isSubmenu) currentItem.closeSubMenu() currentItem = list.itemAt(pos.x, pos.y) if (currentItem) { menu.__currentIndex = currentItem.menuItemIndex if (currentItem.isSubmenu && !currentItem.menuItem.__popupVisible) currentItem.showSubMenu(false) } else { menu.__currentIndex = -1 } } } ScrollView { id: scrollView anchors { fill: parent topMargin: content.margin + upScrollerHeight bottomMargin: downScrollerHeight - content.margin - 1 rightMargin: -1 } style: scrollerStyle __wheelAreaScrollSpeed: itemHeight ListView { id: list model: itemsModel delegate: menuItemDelegate snapMode: ListView.SnapToItem boundsBehavior: Flickable.StopAtBounds highlightFollowsCurrentItem: true highlightMoveDuration: 0 } } MouseArea { id: hoverArea anchors.left: scrollView.left width: scrollView.width - scrollView.__verticalScrollBar.width height: parent.height hoverEnabled: true acceptedButtons: Qt.AllButtons onPositionChanged: updateCurrentItem(mouse) onReleased: content.triggered(currentItem) onExited: { if (currentItem && !currentItem.menuItem.__popupVisible) { currentItem = null menu.__currentIndex = -1 } } MenuContentScroller { id: upScroller direction: "up" visible: shouldUseScrollers && !list.atYBeginning x: margin function scrollABit() { list.contentY -= itemHeight } } MenuContentScroller { id: downScroller direction: "down" visible: shouldUseScrollers && !list.atYEnd x: margin function scrollABit() { list.contentY += itemHeight } } } Timer { interval: 1 running: true repeat: false onTriggered: list.positionViewAtIndex(currentIndex, scrollView.__style.useScrollers ? ListView.Center : ListView.Beginning) } Binding { target: scrollView.__verticalScrollBar property: "singleStep" value: itemHeight } } f/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype FocusFrame \internal \inqmlmodule QtQuick.Controls.Private */ Item { id: root activeFocusOnTab: false Accessible.role: Accessible.StatusBar anchors.topMargin: focusMargin anchors.leftMargin: focusMargin anchors.rightMargin: focusMargin anchors.bottomMargin: focusMargin property int focusMargin: loader.item ? loader.item.margin : -3 Loader { id: loader z: 2 anchors.fill: parent sourceComponent: Qt.createComponent(Settings.style + "/FocusFrameStyle.qml", root) } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Graphical Effects module. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.0 Item { id: rootItem property variant input property variant output property variant sourceRect visible: false Component.onCompleted: evaluateInput() onInputChanged: evaluateInput() onSourceRectChanged: evaluateInput() function evaluateInput() { if (input == undefined) { output = input } else if (sourceRect != undefined && sourceRect != Qt.rect(0, 0, 0, 0) && !isQQuickShaderEffectSource(input)) { proxySource.sourceItem = input output = proxySource proxySource.sourceRect = sourceRect } else if (isQQuickItemLayerEnabled(input)) { output = input } else if ((isQQuickImage(input) && !hasTileMode(input) && !hasChildren(input))) { output = input } else if (isQQuickShaderEffectSource(input)) { output = input } else { proxySource.sourceItem = input output = proxySource proxySource.sourceRect = Qt.rect(0, 0, 0, 0) } } function isQQuickItemLayerEnabled(item) { if (item.hasOwnProperty("layer")) { var l = item["layer"] if (l.hasOwnProperty("enabled") && l["enabled"].toString() == "true") return true } return false } function isQQuickImage(item) { var imageProperties = [ "fillMode", "progress", "asynchronous", "sourceSize", "status", "smooth" ] return hasProperties(item, imageProperties) } function isQQuickShaderEffectSource(item) { var shaderEffectSourceProperties = [ "hideSource", "format", "sourceItem", "mipmap", "wrapMode", "live", "recursive", "sourceRect" ] return hasProperties(item, shaderEffectSourceProperties) } function hasProperties(item, properties) { var counter = 0 for (var j = 0; j < properties.length; j++) { if (item.hasOwnProperty(properties [j])) counter++ } return properties.length == counter } function hasChildren(item) { if (item.hasOwnProperty("childrenRect")) { if (item["childrenRect"].toString() != "QRectF(0, 0, 0, 0)") return true else return false } return false } function hasTileMode(item) { if (item.hasOwnProperty("fillMode")) { if (item["fillMode"].toString() != "0") return true else return false } return false } ShaderEffectSource { id: proxySource live: rootItem.input != rootItem.output hideSource: false smooth: true visible: false } } V xXmo_qUuI+IpRK+Eb ٻ6ؐQ墪缿ox?01kg9`D(?/Xf˔O>Rk9s`vpq?mC""~T4O857 IE)lX!]}1}\+xCʚO,Ü`މ`?B-fqHIIK`d$FbIY}:(:$)O2Ɛ, |1zy{׀>,m+~B`:PI }.Uu,`JD"\P*`!MrHQY/NQb~*8BA I.UPR45A% Ymg9 OcUޗQA2sJ𱿑٨Y(AQ5KZ @VA|rXʬ]ah%dB=7]|tGmR{bEA%>"-wqiZWr/;1g}k xhau5`lOF>۩Xùg;,ESyO`~9u=X}YkjL#kzĀ umyH})K6cКXBwi;Hx1vM,טֵ9P 9I\cMMGؠ C5ՇS֎,4܍M|J.zT2ΔԼXW0-,I.1~1ߧ1"C|:Ƒ@؊8H܎dˁrz%8tK5\81 &$1 2? ˔, *.}g'MnX\SmBM9iZMʏ  #FuMT->;gBkzP&ݘ =YiRzx'h?ū66P-S֏aVO_ޞO) /${LYLٽLYr1SZ))ϔ.g5module QtQuick.Controls.Private AbstractCheckable 1.0 AbstractCheckable.qml Control 1.0 Control.qml FocusFrame 1.0 FocusFrame.qml Margins 1.0 Margins.qml BasicButton 1.0 BasicButton.qml ScrollBar 1.0 ScrollBar.qml ScrollViewHelper 1.0 ScrollViewHelper.qml Style 1.0 Style.qml TabBar 1.0 TabBar.qml StackViewSlideDelegate 1.0 StackViewSlideDelegate.qml StyleHelpers 1.0 style.js JSArray 1.0 StackView.js TableViewSelection 1.0 TableViewSelection.qml FastGlow 1.0 FastGlow.qml SourceProxy 1.0 SourceProxy.qml GroupBoxStyle 1.0 ../Styles/Base/GroupBoxStyle.qml ToolButtonStyle 1.0 ../Styles/Base/ToolButtonStyle.qml MenuContentItem 1.0 MenuContentItem.qml MenuContentScroller 1.0 MenuContentScroller.qml ColumnMenuContent 1.0 ColumnMenuContent.qml singleton TextSingleton 1.0 TextSingleton.qml V/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls.Styles 1.1 /*! \qmltype Control \internal \qmlabstract \inqmlmodule QtQuick.Controls.Private */ FocusScope { id: root /*! \qmlproperty Component Control::style The style Component for this control. \sa {Qt Quick Controls Styles QML Types} */ property Component style /*! \internal */ property QtObject __style: styleLoader.item /*! \internal */ property Item __panel: panelLoader.item /*! \internal */ property var styleHints implicitWidth: __panel ? __panel.implicitWidth: 0 implicitHeight: __panel ? __panel.implicitHeight: 0 baselineOffset: __panel ? __panel.baselineOffset: 0 activeFocusOnTab: false /*! \internal */ property alias __styleData: styleLoader.styleData Loader { id: panelLoader anchors.fill: parent sourceComponent: __style ? __style.panel : null onStatusChanged: if (status === Loader.Error) console.error("Failed to load Style for", root) Loader { id: styleLoader sourceComponent: style property Item __control: root property QtObject styleData: null onStatusChanged: { if (status === Loader.Error) console.error("Failed to load Style for", root) } } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 /*! \qmltype AbstractCheckable \inqmlmodule QtQuick.Controls \ingroup controls \brief An abstract representation of a checkable control with a label \qmlabstract \internal A checkable control is one that has two states: checked (on) and unchecked (off). AbstractCheckable encapsulates the basic behavior and states that are required by checkable controls. Examples of checkable controls are RadioButton and CheckBox. CheckBox extends AbstractCheckable's behavior by adding a third state: partially checked. */ Control { id: abstractCheckable /*! Emitted whenever the control is clicked. */ signal clicked /*! \qmlproperty bool AbstractCheckable::pressed This property is \c true if the control is being pressed. Set this property to manually invoke a mouse click. */ property alias pressed: mouseArea.effectivePressed /*! \qmlproperty bool AbstractCheckcable::hovered This property indicates whether the control is being hovered. */ readonly property alias hovered: mouseArea.containsMouse /*! This property is \c true if the control is checked. */ property bool checked: false /*! This property is \c true if the control takes the focus when it is pressed; \l{QQuickItem::forceActiveFocus()}{forceActiveFocus()} will be called on the control. */ property bool activeFocusOnPress: false /*! This property stores the ExclusiveGroup that the control belongs to. */ property ExclusiveGroup exclusiveGroup: null /*! This property holds the text that the label should display. */ property string text /*! \internal */ property var __cycleStatesHandler: cycleRadioButtonStates activeFocusOnTab: true MouseArea { id: mouseArea focus: true anchors.fill: parent hoverEnabled: true enabled: !keyPressed property bool keyPressed: false property bool effectivePressed: pressed && containsMouse || keyPressed onClicked: abstractCheckable.clicked(); onPressed: if (activeFocusOnPress) forceActiveFocus(); onReleased: { if (containsMouse && (!exclusiveGroup || !checked)) __cycleStatesHandler(); } } /*! \internal */ onExclusiveGroupChanged: { if (exclusiveGroup) exclusiveGroup.bindCheckable(abstractCheckable) } Keys.onPressed: { if (event.key === Qt.Key_Space && !event.isAutoRepeat && !mouseArea.pressed) mouseArea.keyPressed = true; } Keys.onReleased: { if (event.key === Qt.Key_Space && !event.isAutoRepeat && mouseArea.keyPressed) { mouseArea.keyPressed = false; if (!exclusiveGroup || !checked) __cycleStatesHandler(); clicked(); } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype Style \internal \inqmlmodule QtQuick.Controls.Private */ AbstractStyle { /*! The control attached to this style */ readonly property Item control: __control /*! \internal */ property var __syspal: SystemPalette { colorGroup: control.enabled ? SystemPalette.Active : SystemPalette.Disabled } } "xYmo_qUup+lɱM,as Cn=gvmڙ9s9?9`mcu_a 7Q \$܍;'%]-[ X OOOdGaТ7m9k=֍D \"Q&S+( p^;wCœM̑1e}4a0>.MR(Ep(hS2ȍ[版*< )R-!crdC E=xb 3RAj0~=tl.S}"֮.e>(9-JhAMF;E>MpYR뮢Gw;Fe P!Wh \a4YIJ _yV 5$G^abĈwe]BC5]SzRNVdصB%IaGx';QHԮ! >2,_h,iIt/b9 2Їk92&܅$K{v}n>cc %N0͗yql26,Ge̲e6.>st 2lfWЀOӰ{`NG؜^ut搒ye:(zts%ʰF>4'&MgJg)a[9ZLt k> Ʀ=1 gc}O&jgv35,. TN 2'1r(NNzȞ#c^ J\m\/P'a_c&qEcJvLgp1em4i̖[؆tf;4Z0q(߇ ۔)4aYcΦ]zlJ1g1f֒TS>nq+S:lȩIL ļ0#fƴ.ni)#"BN:Wܓ 9&#l3L2Ͼv\i6t\{GG|^~>Ԇ]kN#- Q#ȟyP0q9Ctem : W[![!$5 <{d_" y>@ǴK *|n>A*>֪ܯ-*mǦ9` -v,EYثY踫"r9{C^LüʀN",Q38t>Hp5Fv]i\xٚ^6B]V_bS3^D,A,6Rw1=vk.ΆuVEK{"WK*󼓙0Bu8m۶G^xۃ IEϊuGB(. Cك→B*]]Ӧ?ReSe& |~!Qԙ^̳X+o׶ǯNkeBMwJ'6}zFLq M~ʫ$nu Vyg9tv0D1)G'}hy}zt-T=+YS[zm^z(m#/zdɎnZ>ɞZLLꪟohsY,`k]S8"UiVEz 2fzHMߙGQ*c=<҅ݘվҫssp|B>|T%Oa;ce Y;b|Qzh^RG4'v.VRŭ`-(}Ǝ)?V8kN6 <0AI{4?7~#Q=U}uywrŚ.;+nO?lXLCVl]$EWX~,aSM 'u{SY,0zdΠrWRh4 /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ .pragma library function underlineAmpersands(match, p1, p2, p3) { if (p2 === "&") return p1.concat(p2, p3) return p1.concat("", p2, "", p3) } function removeAmpersands(match, p1, p2, p3) { return p1.concat(p2, p3) } function replaceAmpersands(text, replaceFunction) { return text.replace(/([^&]*)&(.)([^&]*)/g, replaceFunction) } function stylizeMnemonics(text) { return replaceAmpersands(text, underlineAmpersands) } function removeMnemonics(text) { return replaceAmpersands(text, removeAmpersands) } /xZkoH_ql`g8% V1E?BЪ*GD-sunQs\uCmPْ`h:L-t{q`xg.L.MՅPu7v+_n\Ob^YU"[ҴFw}p|7+-K`,짯N?<ލ6D{B`/˔]{%4`e9[9W|| |ӱiLiAXˋicP6`k+$O'\b,TGt}0},sf._>s)_pI<*4!(rpցK|jvEjoP!Փ4l/2^U5q"Wd")+"0GyVc5p`MQ:";nyQXC2}cb2yׄ:lfhADR0q\Pa{ \;>0(d6"ֶ0ibeMJKyQxW4&Ǿ*O7e( ;eLOrw?h(ClTf>6} Y_򿦪i0QAyԇxZ`4*OfTHyPfMt^& {3yD03e0UD7Th4^veOӡa$ Mb2Y`xa,ߍ;y<)`B=*\S4 Pqd頡olntno ?#4%K>ʾp(6xOa\덃50(4gt&ր+Nao:.e>`6MT}g8.gη+'iċX໺auqqQU"4uwQqޡno!HJGB;O!}tX"+BLA fzEv@o" Ff¹J-\3+,CϽf2}.iY²lXlݺ]= _Wx#FCuNy88>MVC4SAG-EgdSyOC;q3SVUX(]I)C $`TKLڒUu_ zp?qO&Y~dI֡l6ؿz3"gNXc8O2u{b1ЌOæv1;2̧Y̒9LើyF=SY%ӕ"c8a30F2F<c"c8aLg`Lcj~,c}c:?c:\ƴ1]1˘NEpp˜.1cTcLC8cZ.qUfjSl%sHҭY) 8o6e..%Tc.m%Z"fDsR*Γ[4P*ᤁ–v׳4%r=!,{c ^X-w˻;"㋌ЄK.X;;z^XL݋2e`p0=2P{߾лz>.NߩHPyvi c|e 2K#scGo)H%ң(4vx5d i f^ϋ%"_D*E%"tJD~t EZQ9/XS? u:?hb"WTr*J,[~Nq?C7O (,HRΥr1l9gR6 M8C3k>5axZ[d+E ӨEJŊꆥJ +nW4ܩnr w*V7ܭd[jxXp 4د~.~\\um/+X_7H $mtHXa$V@ t6M:@b\zt">a-9J_!7S.[c & 3X=1hAdrSi˴z>ԒͤHH+;oMv͆_ѿ _A 5ޠVg!>,#Kq+{1$5]UEēUIEUTOV)R)W{F/{#I*6!IIAOGg3WI/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 QtObject { property int count: 0 signal selectionChanged property bool __dirty: false property var __ranges: new Array() function forEach (callback) { if (!(callback instanceof Function)) { console.warn("TableViewSelection.forEach: argument is not a function") return; } __forEach(callback, -1) } function contains(index) { for (var i = 0 ; i < __ranges.length ; ++i) { if (__ranges[i][0] <= index && index <= __ranges[i][1]) return true; else if (__ranges[i][0] > index) return false; } return false; } function clear() { __ranges = new Array() __dirty = true count = 0 selectionChanged() } function selectAll() { select(0, rowCount - 1) } function select(first, last) { __select(true, first, last) } function deselect(first, last) { __select(false, first, last) } // --- private section --- function __printRanges() { var out = "" for (var i = 0 ; i < __ranges.length ; ++ i) out += ("{" + __ranges[i][0] + "," + __ranges[i][1] + "} ") print(out) } function __count() { var sum = 0 for (var i = 0 ; i < __ranges.length ; ++i) { sum += (1 + __ranges[i][1] - __ranges[i][0]) } return sum } function __forEach (callback, startIndex) { __dirty = false var i, j for (i = 0 ; i < __ranges.length && !__dirty ; ++i) { for (j = __ranges[i][0] ; !__dirty && j <= __ranges[i][1] ; ++j) { if (j >= startIndex) callback.call(this, j) } } // Restart iteration at last index if selection changed if (__dirty) return __forEach(callback, j) } function __selectOne(index) { __ranges = [[index, index]] __dirty = true count = 1 selectionChanged(); } function __select(select, first, last) { var i, range var start = first var stop = first var startRangeIndex = -1 var stopRangeIndex = -1 var newRangePos = 0 if (first < 0 || last < 0 || first >= rowCount || last >=rowCount) { console.warn("TableViewSelection: index out of range") return } if (last !== undefined) { start = first <= last ? first : last stop = first <= last ? last : first } if (select) { // Find beginning and end ranges for (i = 0 ; i < __ranges.length; ++ i) { range = __ranges[i] if (range[0] > stop + 1) continue; // above range if (range[1] < start - 1) { // below range newRangePos = i + 1 continue; } if (startRangeIndex == -1) startRangeIndex = i stopRangeIndex = i } if (startRangeIndex !== -1) start = Math.min(__ranges[startRangeIndex][0], start) if (stopRangeIndex !== -1) stop = Math.max(__ranges[stopRangeIndex][1], stop) if (startRangeIndex == -1) startRangeIndex = newRangePos __ranges.splice(Math.max(0, startRangeIndex), 1 + stopRangeIndex - startRangeIndex, [start, stop]) } else { // Find beginning and end ranges for (i = 0 ; i < __ranges.length; ++ i) { range = __ranges[i] if (range[1] < start) continue; // below range if (range[0] > stop) continue; // above range if (startRangeIndex == -1) startRangeIndex = i stopRangeIndex = i } // Slice ranges accordingly if (startRangeIndex >= 0 && stopRangeIndex >= 0) { var startRange = __ranges[startRangeIndex] var stopRange = __ranges[stopRangeIndex] var length = 1 + stopRangeIndex - startRangeIndex if (start <= startRange[0] && stop >= stopRange[1]) { //remove __ranges.splice(startRangeIndex, length) } else if (start - 1 < startRange[0] && stop <= stopRange[1]) { //cut front __ranges.splice(startRangeIndex, length, [stop + 1, stopRange[1]]) } else if (start - 1 < startRange[1] && stop >= stopRange[1]) { // cut back __ranges.splice(startRangeIndex, length, [startRange[0], start - 1]) } else { //split __ranges.splice(startRangeIndex, length, [startRange[0], start - 1], [stop + 1, stopRange[1]]) } } } __dirty = true count = __count() // forces a re-evaluation of indexes in the delegates selectionChanged() } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 MouseArea { property string direction anchors { top: direction === "up" ? parent.top : undefined bottom: direction === "down" ? parent.bottom : undefined } hoverEnabled: visible height: scrollerLoader.item.height width: parent.width Loader { id: scrollerLoader sourceComponent: menuItemDelegate property int index: -1 property var modelData: { "visible": true, "scrollerDirection": direction, "enabled": true } } Timer { interval: 100 repeat: true triggeredOnStart: true running: parent.containsMouse onTriggered: scrollABit() } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and Digia. For licensing terms and ** conditions see http://qt.digia.com/licensing. For further information ** use the contact form at http://qt.digia.com/contact-us. ** ** 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, Digia gives you certain additional ** rights. These rights are described in the Digia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3.0 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU General Public License version 3.0 requirements will be ** met: http://www.gnu.org/copyleft/gpl.html. ** ** ** $QT_END_LICENSE$ ** ****************************************************************************/ pragma Singleton import QtQuick 2.1 Text {} ,0/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 /*! \qmltype TabBar \internal \inqmlmodule QtQuick.Controls.Private */ FocusScope { id: tabbar height: Math.max(tabrow.height, Math.max(leftCorner.height, rightCorner.height)) width: tabView.width activeFocusOnTab: true Keys.onRightPressed: { if (tabView && tabView.currentIndex < tabView.count - 1) tabView.currentIndex = tabView.currentIndex + 1 } Keys.onLeftPressed: { if (tabView && tabView.currentIndex > 0) tabView.currentIndex = tabView.currentIndex - 1 } onTabViewChanged: parent = tabView visible: tabView ? tabView.tabsVisible : true property var tabView property var style property var styleItem: tabView.__styleItem ? tabView.__styleItem : null property bool tabsMovable: styleItem ? styleItem.tabsMovable : false property int tabsAlignment: styleItem ? styleItem.tabsAlignment : Qt.AlignLeft property int tabOverlap: styleItem ? styleItem.tabOverlap : 0 property int elide: Text.ElideRight property real availableWidth: tabbar.width - leftCorner.width - rightCorner.width property var __selectedTabRect function tab(index) { for (var i = 0; i < tabrow.children.length; ++i) { if (tabrow.children[i].tabindex == index) { return tabrow.children[i] } } return null; } /*! \internal */ function __isAncestorOf(item, child) { //TODO: maybe removed from 5.2 if the function was merged in qtdeclarative if (child === item) return false; while (child) { child = child.parent; if (child === item) return true; } return false; } Loader { id: background anchors.fill: parent sourceComponent: styleItem ? styleItem.tabBar : undefined } ListView { id: tabrow objectName: "tabrow" Accessible.role: Accessible.PageTabList LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft spacing: -tabOverlap orientation: Qt.Horizontal interactive: false focus: true // Note this will silence the binding loop warnings caused by QTBUG-35038 // and should be removed when this issue is resolved. property int contentWidthWorkaround: contentWidth > 0 ? contentWidth: 0 width: Math.min(availableWidth, count ? contentWidthWorkaround : availableWidth) height: currentItem ? currentItem.height : 0 highlightMoveDuration: 0 currentIndex: tabView.currentIndex onCurrentIndexChanged: tabrow.positionViewAtIndex(currentIndex, ListView.Contain) moveDisplaced: Transition { NumberAnimation { property: "x" duration: 125 easing.type: Easing.OutQuad } } states: [ State { name: "left" when: tabsAlignment === Qt.AlignLeft AnchorChanges { target:tabrow ; anchors.left: parent.left } PropertyChanges { target:tabrow ; anchors.leftMargin: leftCorner.width } }, State { name: "center" when: tabsAlignment === Qt.AlignHCenter AnchorChanges { target:tabrow ; anchors.horizontalCenter: tabbar.horizontalCenter } }, State { name: "right" when: tabsAlignment === Qt.AlignRight AnchorChanges { target:tabrow ; anchors.right: parent.right } PropertyChanges { target:tabrow ; anchors.rightMargin: rightCorner.width } } ] model: tabView.__tabs delegate: MouseArea { id: tabitem objectName: "mousearea" hoverEnabled: true focus: true Binding { target: tabbar when: selected property: "__selectedTabRect" value: Qt.rect(x, y, width, height) } drag.target: tabsMovable ? tabloader : null drag.axis: Drag.XAxis drag.minimumX: drag.active ? 0 : -Number.MAX_VALUE drag.maximumX: tabrow.width - tabitem.width property int tabindex: index property bool selected : tabView.currentIndex === index property string title: modelData.title property bool nextSelected: tabView.currentIndex === index + 1 property bool previousSelected: tabView.currentIndex === index - 1 z: selected ? 1 : -index implicitWidth: tabloader.implicitWidth implicitHeight: tabloader.implicitHeight function changeTab() { tabView.currentIndex = index; var next = tabbar.nextItemInFocusChain(true); if (__isAncestorOf(tabView.getTab(currentIndex), next)) next.forceActiveFocus(); } onClicked: { if (tabrow.interactive) { changeTab() } } onPressed: { if (!tabrow.interactive) { changeTab() } } Loader { id: tabloader property Item control: tabView property int index: tabindex property QtObject styleData: QtObject { readonly property alias index: tabitem.tabindex readonly property alias selected: tabitem.selected readonly property alias title: tabitem.title readonly property alias nextSelected: tabitem.nextSelected readonly property alias previsousSelected: tabitem.previousSelected readonly property alias hovered: tabitem.containsMouse readonly property bool activeFocus: tabbar.activeFocus readonly property real availableWidth: tabbar.availableWidth } sourceComponent: loader.item ? loader.item.tab : null Drag.keys: "application/x-tabbartab" Drag.active: tabitem.drag.active Drag.source: tabitem property real __prevX: 0 property real __dragX: 0 onXChanged: { if (Drag.active) { // keep track for the snap back animation __dragX = tabitem.mapFromItem(tabrow, tabloader.x, 0).x // when moving to the left, the hot spot is the left edge and vice versa Drag.hotSpot.x = x < __prevX ? 0 : width __prevX = x } } width: tabitem.width state: Drag.active ? "drag" : "" transitions: [ Transition { to: "drag" PropertyAction { target: tabloader; property: "parent"; value: tabrow } }, Transition { from: "drag" SequentialAnimation { PropertyAction { target: tabloader; property: "parent"; value: tabitem } NumberAnimation { target: tabloader duration: 50 easing.type: Easing.OutQuad property: "x" from: tabloader.__dragX to: 0 } } } ] } Accessible.role: Accessible.PageTab Accessible.name: modelData.title } } Loader { id: leftCorner anchors.verticalCenter: parent.verticalCenter anchors.left: parent.left sourceComponent: styleItem ? styleItem.leftCorner : undefined width: item ? item.implicitWidth : 0 height: item ? item.implicitHeight : 0 } Loader { id: rightCorner anchors.verticalCenter: parent.verticalCenter anchors.right: parent.right sourceComponent: styleItem ? styleItem.rightCorner : undefined width: item ? item.implicitWidth : 0 height: item ? item.implicitHeight : 0 } DropArea { anchors.fill: tabrow keys: "application/x-tabbartab" onPositionChanged: { var source = drag.source var target = tabrow.itemAt(drag.x, drag.y) if (source && target && source !== target) { source = source.drag.target target = target.drag.target var center = target.parent.x + target.width / 2 if ((source.index > target.index && source.x < center) || (source.index < target.index && source.x + source.width > center)) tabView.moveTab(source.index, target.index) } } } } '/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and Digia. For licensing terms and ** conditions see http://qt.digia.com/licensing. For further information ** use the contact form at http://qt.digia.com/contact-us. ** ** 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, Digia gives you certain additional ** rights. These rights are described in the Digia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3.0 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU General Public License version 3.0 requirements will be ** met: http://www.gnu.org/copyleft/gpl.html. ** ** ** $QT_END_LICENSE$ ** ****************************************************************************/ var stackView = []; function push(p) { if (!p) return stackView.push(p) __depth++ return p } function pop() { if (stackView.length === 0) return null var p = stackView.pop() __depth-- return p } function current() { if (stackView.length === 0) return null return stackView[stackView.length-1] } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.1 Loader { id: menuFrameLoader readonly property Style __style: styleLoader.item readonly property Component menuItemStyle: __style ? __style.menuItem : null property var menu: root property alias contentWidth: content.width property alias contentHeight: content.height readonly property int subMenuXPos: width + (item && item["subMenuOverlap"] || 0) visible: status === Loader.Ready sourceComponent: __style ? __style.frame : undefined Loader { id: styleLoader active: !menu.isNative sourceComponent: menu.style property alias __control: menuFrameLoader onStatusChanged: { if (status === Loader.Error) console.error("Failed to load Style for", menu) } } focus: true property var mnemonicsMap: ({}) Keys.onPressed: { var item = null if (!(event.modifiers & Qt.AltModifier) && (item = mnemonicsMap[event.text.toUpperCase()])) { if (item.isSubmenu) { menu.__currentIndex = item.menuItemIndex item.showSubMenu(true) item.menuItem.__currentIndex = 0 } else { triggerAndDismiss(item) } event.accepted = true } else { event.accepted = false } } Keys.onEscapePressed: menu.__dismissMenu() Keys.onDownPressed: { if (menu.__currentIndex < 0) menu.__currentIndex = -1 for (var i = menu.__currentIndex + 1; i < menu.items.length && !canBeHovered(i); i++) ; event.accepted = true } Keys.onUpPressed: { for (var i = menu.__currentIndex - 1; i >= 0 && !canBeHovered(i); i--) ; event.accepted = true } function canBeHovered(index) { var item = content.menuItemAt(index) if (item && !item["isSeparator"] && item.enabled) { menu.__currentIndex = index return true } return false } Keys.onLeftPressed: { if ((event.accepted = menu.__parentMenu.hasOwnProperty("title"))) __closeMenu() } Keys.onRightPressed: { var item = content.menuItemAt(menu.__currentIndex) if ((event.accepted = (item && item.isSubmenu))) { item.showSubMenu(true) item.menuItem.__currentIndex = 0 } } Keys.onSpacePressed: triggerCurrent() Keys.onReturnPressed: triggerCurrent() Keys.onEnterPressed: triggerCurrent() function triggerCurrent() { var item = content.menuItemAt(menu.__currentIndex) if (item) content.triggered(item) } function triggerAndDismiss(item) { if (item && !item.isSeparator) { menu.__dismissMenu() if (!item.isSubmenu) item.menuItem.trigger() } } Binding { // Make sure the styled frame is in the background target: item property: "z" value: content.z - 1 } ColumnMenuContent { id: content menuItemDelegate: menuItemComponent scrollerStyle: __style ? __style.scrollerStyle : undefined itemsModel: menu.items margin: menuFrameLoader.item ? menuFrameLoader.item.margin : 0 minWidth: menu.__minimumWidth maxHeight: menuFrameLoader.item ? menuFrameLoader.item.maxHeight : 0 onTriggered: triggerAndDismiss(item) } Component { id: menuItemComponent Loader { id: menuItemLoader property var menuItem: modelData readonly property bool isSeparator: !!menuItem && menuItem.type === MenuItemType.Separator readonly property bool isSubmenu: !!menuItem && menuItem.type === MenuItemType.Menu property bool selected: !(isSeparator || !!scrollerDirection) && menu.__currentIndex === index property string text: isSubmenu ? menuItem.title : !(isSeparator || !!scrollerDirection) ? menuItem.text : "" property bool showUnderlined: menu.__contentItem.altPressed readonly property var scrollerDirection: menuItem["scrollerDirection"] property int menuItemIndex: index sourceComponent: menuFrameLoader.menuItemStyle enabled: visible && !isSeparator && !!menuItem && menuItem.enabled visible: !!menuItem && menuItem.visible active: visible function showSubMenu(immediately) { if (immediately) { if (menu.__currentIndex === menuItemIndex) menuItem.__popup(menuFrameLoader.subMenuXPos, 0, -1) } else { openMenuTimer.start() } } Timer { id: openMenuTimer interval: 50 onTriggered: menuItemLoader.showSubMenu(true) } function closeSubMenu() { closeMenuTimer.start() } Timer { id: closeMenuTimer interval: 1 onTriggered: { if (menu.__currentIndex !== menuItemIndex) menuItem.__closeMenu() } } onLoaded: { menuItem.__visualItem = menuItemLoader if (content.width < item.implicitWidth) content.width = item.implicitWidth var title = text var ampersandPos = title.indexOf("&") if (ampersandPos !== -1) menuFrameLoader.mnemonicsMap[title[ampersandPos + 1].toUpperCase()] = menuItemLoader } Binding { target: menuItemLoader.item property: "width" property alias menuItem: menuItemLoader.item value: menuItem ? Math.max(menu.__minimumWidth, content.width) - 2 * menuItem.x : 0 } } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 /*! \qmltype StackViewSlideTransition \internal \inqmlmodule QtQuick.Controls.Private */ StackViewDelegate { id: root property bool horizontal: true function getTransition(properties) { return root[horizontal ? "horizontalSlide" : "verticalSlide"][properties.name] } function transitionFinished(properties) { properties.exitItem.x = 0 properties.exitItem.y = 0 } property QtObject horizontalSlide: QtObject { property Component pushTransition: StackViewTransition { PropertyAnimation { target: enterItem property: "x" from: target.width to: 0 duration: 300 } PropertyAnimation { target: exitItem property: "x" from: 0 to: -target.width duration: 300 } } property Component popTransition: StackViewTransition { PropertyAnimation { target: enterItem property: "x" from: -target.width to: 0 duration: 300 } PropertyAnimation { target: exitItem property: "x" from: 0 to: target.width duration: 300 } } property Component replaceTransition: pushTransition } property QtObject verticalSlide: QtObject { property Component pushTransition: StackViewTransition { PropertyAnimation { target: enterItem property: "y" from: target.height to: 0 duration: 300 } PropertyAnimation { target: exitItem property: "y" from: 0 to: -target.height duration: 300 } } property Component popTransition: StackViewTransition { PropertyAnimation { target: enterItem property: "y" from: -target.height to: 0 duration: 300 } PropertyAnimation { target: exitItem property: "y" from: 0 to: target.height duration: 300 } property Component replaceTransition: pushTransition } } } module QtQuick.Controls.Styles ButtonStyle 1.0 Base/ButtonStyle.qml BusyIndicatorStyle 1.1 Base/BusyIndicatorStyle.qml CheckBoxStyle 1.0 Base/CheckBoxStyle.qml ComboBoxStyle 1.0 Base/ComboBoxStyle.qml ProgressBarStyle 1.0 Base/ProgressBarStyle.qml RadioButtonStyle 1.0 Base/RadioButtonStyle.qml ScrollViewStyle 1.0 Base/ScrollViewStyle.qml SliderStyle 1.0 Base/SliderStyle.qml SpinBoxStyle 1.1 Base/SpinBoxStyle.qml SwitchStyle 1.1 Base/SwitchStyle.qml TabViewStyle 1.0 Base/TabViewStyle.qml TableViewStyle 1.0 Base/TableViewStyle.qml TextAreaStyle 1.1 Base/TextAreaStyle.qml TextFieldStyle 1.0 Base/TextFieldStyle.qml ToolBarStyle 1.0 Base/ToolBarStyle.qml StatusBarStyle 1.0 Base/StatusBarStyle.qml k/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 Style { readonly property Item control: __control property Component panel: StyleItem { elementType: "slider" sunken: control.pressed implicitWidth: 200 contentHeight: horizontal ? 22 : 200 contentWidth: horizontal ? 200 : 22 maximum: control.maximumValue*100 minimum: control.minimumValue*100 step: control.stepSize*100 value: control.__handlePos*100 horizontal: control.orientation === Qt.Horizontal enabled: control.enabled hasFocus: control.activeFocus hover: control.hovered hints: control.styleHints activeControl: control.tickmarksEnabled ? "ticks" : "" property int handleWidth: 15 property int handleHeight: 15 } padding { top: 0 ; left: 0 ; right: 0 ; bottom: 0 } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 import "." ScrollViewStyle { id: root property var __syspal: SystemPalette { colorGroup: control.enabled ? SystemPalette.Active : SystemPalette.Disabled } readonly property TableView control: __control property bool activateItemOnSingleClick: __styleitem.styleHint("activateItemOnSingleClick") property color textColor: __styleitem.textColor property color backgroundColor: __syspal.base property color highlightedTextColor: __styleitem.highlightedTextColor property StyleItem __styleitem: StyleItem{ property color textColor: styleHint("textColor") property color highlightedTextColor: styleHint("highlightedTextColor") elementType: "item" visible: false active: control.activeFocus onActiveChanged: { highlightedTextColor = styleHint("highlightedTextColor") textColor = styleHint("textColor") } } property Component headerDelegate: StyleItem { elementType: "header" activeControl: itemSort raised: true sunken: styleData.pressed text: styleData.value hover: styleData.containsMouse hints: control.styleHints properties: {"headerpos": headerPosition} property string itemSort: (control.sortIndicatorVisible && styleData.column === control.sortIndicatorColumn) ? (control.sortIndicatorOrder == Qt.AscendingOrder ? "up" : "down") : ""; property string headerPosition: control.columnCount === 1 ? "only" : styleData.column === control.columnCount-1 ? "end" : styleData.column === 0 ? "beginning" : "" } property Component rowDelegate: BorderImage { visible: styleData.selected || styleData.alternate source: "image://__tablerow/" + (styleData.alternate ? "alternate_" : "") + (styleData.selected ? "selected_" : "") + (styleData.hasActiveFocus ? "active" : "") height: Math.max(16, RowItemSingleton.implicitHeight) border.left: 4 ; border.right: 4 } property Component itemDelegate: Item { height: Math.max(16, label.implicitHeight) property int implicitWidth: label.implicitWidth + 16 Text { id: label objectName: "label" width: parent.width anchors.leftMargin: 8 font: __styleitem.font anchors.left: parent.left anchors.right: parent.right horizontalAlignment: styleData.textAlignment anchors.verticalCenter: parent.verticalCenter elide: styleData.elideMode text: styleData.value !== undefined ? styleData.value : "" color: styleData.textColor renderType: Text.NativeRendering } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 Style { readonly property GroupBox control: __control property var __style: StyleItem { id: style } property int titleHeight: 18 Component.onCompleted: { var stylename = __style.style if (stylename.indexOf("windows") > -1) titleHeight = 9 } padding { top: Math.round(Settings.dpiScaleFactor * (control.title.length > 0 || control.checkable ? titleHeight : 0) + (style.style == "mac" ? 9 : 6)) left: Math.round(Settings.dpiScaleFactor * 8) right: Math.round(Settings.dpiScaleFactor * 8) bottom: Math.round(Settings.dpiScaleFactor * 7 + (style.style.indexOf("windows") > -1 ? 2 : 0)) } property Component panel: StyleItem { anchors.fill: parent id: styleitem elementType: "groupbox" text: control.title on: control.checked hasFocus: control.__checkbox.activeFocus activeControl: control.checkable ? "checkbox" : "" properties: { "checkable" : control.checkable , "sunken" : !control.flat} textureHeight: 128 border {top: 32 ; bottom: 8} } } o/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 Style { id: root padding { property int frameWidth: __styleitem.pixelMetric("defaultframewidth") left: frameWidth top: frameWidth bottom: frameWidth right: frameWidth } property StyleItem __styleitem: StyleItem { elementType: "frame" } property Component frame: StyleItem { id: styleitem elementType: "frame" sunken: true visible: control.frameVisible textureHeight: 64 textureWidth: 64 border { top: 16 left: 16 right: 16 bottom: 16 } } property Component corner: StyleItem { elementType: "scrollareacorner" } readonly property bool __externalScrollBars: __styleitem.styleHint("externalScrollBars") readonly property int __scrollBarSpacing: __styleitem.pixelMetric("scrollbarspacing") readonly property bool scrollToClickedPosition: __styleitem.styleHint("scrollToClickPosition") !== 0 property Component __scrollbar: StyleItem { anchors.fill:parent elementType: "scrollbar" hover: activeControl != "none" activeControl: "none" sunken: __styleData.upPressed | __styleData.downPressed | __styleData.handlePressed minimum: __control.minimumValue maximum: __control.maximumValue value: __control.value horizontal: __styleData.horizontal enabled: __control.enabled implicitWidth: horizontal ? 200 : pixelMetric("scrollbarExtent") implicitHeight: horizontal ? pixelMetric("scrollbarExtent") : 200 } } a/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 import QtQuick.Controls.Styles 1.1 SwitchStyle { } */**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 ScrollViewStyle { property font font: __styleitem.font property color textColor: __syspal.text property color selectionColor: __syspal.highlight property color selectedTextColor: __syspal.highlightedText property color backgroundColor: control.backgroundVisible ? __syspal.base : "transparent" property StyleItem __styleitem: StyleItem{ elementType: "edit" visible: false active: control.activeFocus } property int renderType: Text.NativeRendering } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 Style { property Component panel: StyleItem { id: styleitem elementType: "button" sunken: control.pressed || (control.checkable && control.checked) raised: !(control.pressed || (control.checkable && control.checked)) hover: control.hovered text: control.iconSource === "" ? "" : control.text hasFocus: control.activeFocus hints: control.styleHints // If no icon, let the style do the drawing activeControl: control.isDefault ? "default" : "f" properties: { "icon": control.__iconAction.__icon, "menu": control.menu } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype StatusBarStyle \internal \inqmlmodule QtQuick.Controls.Styles */ Style { padding.left: 4 padding.right: 4 padding.top: 3 padding.bottom: 2 property Component panel: StyleItem { implicitHeight: 16 implicitWidth: 200 anchors.fill: parent elementType: "statusbar" textureWidth: 64 border {left: 16 ; right: 16} } } 5singleton RowItemSingleton 1.0 RowItemSingleton.qml /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 Style { property int renderType: Text.NativeRendering property Component panel: StyleItem { id: textfieldstyle elementType: "edit" anchors.fill: parent sunken: true hasFocus: control.activeFocus hover: hovered hints: control.styleHints SystemPalette { id: syspal colorGroup: control.enabled ? SystemPalette.Active : SystemPalette.Disabled } property color textColor: syspal.text property color placeholderTextColor: "darkGray" property color selectionColor: syspal.highlight property color selectedTextColor: syspal.highlightedText property bool rounded: !!hints["rounded"] property int topMargin: style === "mac" ? 3 : 2 property int leftMargin: rounded ? 12 : 4 property int rightMargin: leftMargin property int bottomMargin: 2 contentWidth: 100 // Form QLineEdit::sizeHint contentHeight: Math.max(control.__contentHeight, 16) FocusFrame { anchors.fill: parent visible: textfield.activeFocus && textfieldstyle.styleHint("focuswidget") && !rounded } textureHeight: implicitHeight textureWidth: 32 border {top: 8 ; bottom: 8 ; left: 8 ; right: 8} } } u/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 Style { property Component panel: StyleItem { anchors.fill: parent elementType: "progressbar" // XXX: since desktop uses int instead of real, the progressbar // range [0..1] must be stretched to a good precision property int factor : 1000 property int decimals: 3 value: indeterminate ? 0 : control.value.toFixed(decimals) * factor // does indeterminate value need to be 1 on windows? minimum: indeterminate ? 0 : control.minimumValue.toFixed(decimals) * factor maximum: indeterminate ? 0 : control.maximumValue.toFixed(decimals) * factor enabled: control.enabled horizontal: control.orientation === Qt.Horizontal hints: control.styleHints contentWidth: horizontal ? 200 : 23 contentHeight: horizontal ? 23 : 200 } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype FocusFrameStyle \internal \inqmlmodule QtQuick.Controls.Styles */ StyleItem { property int margin: -3 anchors.fill: parent elementType: "focusframe" } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype StatusBarStyle \internal \inqmlmodule QtQuick.Controls.Styles */ Style { padding.left: 6 padding.right: 6 padding.top: 1 padding.bottom: style.style === "mac" ? 1 : style.style === "fusion" ? 3 : 2 StyleItem { id: style ; visible: false} property Component panel: StyleItem { id: toolbar anchors.fill: parent elementType: "toolbar" textureWidth: 64 border {left: 16 ; right: 16} } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 Style { readonly property SpinBox control: __control property var __syspal: SystemPalette { colorGroup: control.enabled ? SystemPalette.Active : SystemPalette.Disabled } padding { top: control.__panel ? control.__panel.topPadding + (styleitem.style === "mac" ? 2 : 0) : 0 left: control.__panel ? control.__panel.leftPadding : 0 right: control.__panel ? control.__panel.rightPadding : 0 bottom: control.__panel ? control.__panel.bottomPadding : 0 } StyleItem {id: styleitem ; visible: false} property int renderType: Text.NativeRendering property Component panel: Item { id: style property rect upRect property rect downRect property int horizontalAlignment: Qt.platform.os === "osx" ? Qt.AlignRight : Qt.AlignLeft property int verticalAlignment: Qt.AlignVCenter property color foregroundColor: __syspal.text property color backgroundColor: __syspal.base property color selectionColor: __syspal.highlight property color selectedTextColor: __syspal.highlightedText property int topPadding: edit.anchors.topMargin property int leftPadding: 3 + edit.anchors.leftMargin property int rightPadding: 3 + edit.anchors.rightMargin property int bottomPadding: edit.anchors.bottomMargin width: 100 height: styleitem.implicitHeight implicitWidth: 2 + styleitem.implicitWidth implicitHeight: styleitem.implicitHeight baselineOffset: styleitem.baselineOffset Item { id: edit anchors.fill: parent Rectangle { color: "white" anchors.fill: parent anchors.margins: -1 } FocusFrame { anchors.fill: parent focusMargin:-6 visible: spinbox.activeFocus && styleitem.styleHint("focuswidget") } } function updateRect() { style.upRect = styleitem.subControlRect("up"); style.downRect = styleitem.subControlRect("down"); var inputRect = styleitem.subControlRect("edit"); edit.anchors.topMargin = inputRect.y edit.anchors.leftMargin = inputRect.x edit.anchors.rightMargin = style.width - inputRect.width - edit.anchors.leftMargin edit.anchors.bottomMargin = style.height - inputRect.height - edit.anchors.topMargin } Component.onCompleted: updateRect() onWidthChanged: updateRect() onHeightChanged: updateRect() StyleItem { id: styleitem elementType: "spinbox" anchors.fill: parent sunken: (styleData.downEnabled && styleData.downPressed) || (styleData.upEnabled && styleData.upPressed) hover: control.hovered hints: control.styleHints hasFocus: control.activeFocus enabled: control.enabled value: (styleData.upPressed ? 1 : 0) | (styleData.downPressed ? 1<<1 : 0) | (styleData.upEnabled ? (1<<2) : 0) | (styleData.downEnabled ? (1<<3) : 0) contentWidth: styleData.contentWidth contentHeight: styleData.contentHeight textureHeight: implicitHeight border {top: 6 ; bottom: 6} } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick.Controls.Styles 1.1 BusyIndicatorStyle { } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 Style { readonly property RadioButton control: __control property Component panel: Item { anchors.fill: parent implicitWidth: styleitem.implicitWidth implicitHeight: styleitem.implicitHeight baselineOffset: styleitem.baselineOffset StyleItem { id: styleitem elementType: "radiobutton" anchors.verticalCenter: parent.verticalCenter anchors.verticalCenterOffset: macStyle ? -1 : 0 sunken: control.pressed on: control.checked || control.pressed hover: control.hovered enabled: control.enabled hasFocus: control.activeFocus && styleitem.style == "mac" hints: control.styleHints contentHeight: textitem.implicitHeight contentWidth: textitem.implicitWidth + indicatorWidth property int indicatorWidth: pixelMetric("indicatorwidth") + (macStyle ? 2 : 4) property bool macStyle: (style === "mac") Text { id: textitem text: control.text anchors.left: parent.left anchors.leftMargin: parent.indicatorWidth anchors.verticalCenter: parent.verticalCenter anchors.verticalCenterOffset: parent.macStyle ? 2 : 0 anchors.right: parent.right renderType: Text.NativeRendering elide: Text.ElideRight enabled: control.enabled color: __syspal.windowText StyleItem { elementType: "focusrect" anchors.margins: -1 anchors.leftMargin: -2 anchors.top: parent.top anchors.left: parent.left anchors.bottom: parent.bottom width: textitem.implicitWidth + 3 visible: control.activeFocus } } } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 Style { property Component panel: StyleItem { id: styleitem anchors.fill: parent elementType: "toolbutton" on: control.checkable && control.checked sunken: control.pressed raised: !(control.checkable && control.checked) && control.hovered hover: control.hovered hasFocus: control.activeFocus hints: control.styleHints text: control.text properties: { "icon": control.__iconAction.__icon, "position": control.__position, "menu" : control.menu !== null } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and Digia. For licensing terms and ** conditions see http://qt.digia.com/licensing. For further information ** use the contact form at http://qt.digia.com/contact-us. ** ** 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, Digia gives you certain additional ** rights. These rights are described in the Digia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3.0 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU General Public License version 3.0 requirements will be ** met: http://www.gnu.org/copyleft/gpl.html. ** ** ** $QT_END_LICENSE$ ** ****************************************************************************/ pragma Singleton import QtQuick.Controls.Private 1.0 StyleItem { elementType: "itemrow" } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 import QtQuick.Controls.Styles 1.1 Style { id: root property bool tabsMovable: false property int tabsAlignment: __barstyle.styleHint("tabbaralignment") === "center" ? Qt.AlignHCenter : Qt.AlignLeft; property int tabOverlap: __barstyle.pixelMetric("taboverlap"); property int frameOverlap: __barstyle.pixelMetric("tabbaseoverlap"); property StyleItem __barstyle: StyleItem { elementType: "tab" properties: { "tabposition" : (control.tabPosition === Qt.TopEdge ? "Top" : "Bottom") } visible: false } property Component frame: StyleItem { id: styleitem anchors.fill: parent anchors.topMargin: 1//stack.baseOverlap z: style == "oxygen" ? 1 : 0 elementType: "tabframe" value: tabbarItem && tabsVisible && tabbarItem.tab(currentIndex) ? tabbarItem.tab(currentIndex).x : 0 minimum: tabbarItem && tabsVisible && tabbarItem.tab(currentIndex) ? tabbarItem.tab(currentIndex).width : 0 maximum: tabbarItem && tabsVisible ? tabbarItem.width : width properties: { "selectedTabRect" : tabbarItem.__selectedTabRect, "orientation" : control.tabPosition } hints: control.styleHints Component.onCompleted: { stack.frameWidth = styleitem.pixelMetric("defaultframewidth"); stack.style = style; } border{ top: 16 bottom: 16 } textureHeight: 64 } property Component tab: Item { id: item property string tabpos: control.count === 1 ? "only" : index === 0 ? "beginning" : index === control.count - 1 ? "end" : "middle" property string selectedpos: styleData.nextSelected ? "next" : styleData.previousSelected ? "previous" : "" property string orientation: control.tabPosition === Qt.TopEdge ? "Top" : "Bottom" property int tabHSpace: __barstyle.pixelMetric("tabhspace"); property int tabVSpace: __barstyle.pixelMetric("tabvspace"); property int totalOverlap: tabOverlap * (control.count - 1) property real maxTabWidth: (control.width + totalOverlap) / control.count implicitWidth: Math.min(maxTabWidth, Math.max(50, styleitem.textWidth(styleData.title)) + tabHSpace + 2) implicitHeight: Math.max(styleitem.font.pixelSize + tabVSpace + 6, 0) StyleItem { id: styleitem elementType: "tab" paintMargins: style === "mac" ? 0 : 2 anchors.fill: parent anchors.topMargin: style === "mac" ? 2 : 0 anchors.rightMargin: -paintMargins anchors.bottomMargin: -1 anchors.leftMargin: -paintMargins + (style === "mac" && selected ? -1 : 0) properties: { "hasFrame" : true, "orientation": orientation, "tabpos": tabpos, "selectedpos": selectedpos } hints: control.styleHints selected: styleData.selected text: elidedText(styleData.title, tabbarItem.elide, item.width - item.tabHSpace) hover: styleData.hovered hasFocus: tabbarItem.activeFocus && selected } } property Component leftCorner: null property Component rightCorner: null } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 Style { property Component frame: StyleItem { elementType: "menubar" contentWidth: control.__contentItem.width contentHeight: parent ? parent.contentHeight : 0 width: implicitWidth + 2 * (pixelMetric("menubarhmargin") + pixelMetric("menubarpanelwidth")) height: implicitHeight + 2 * (pixelMetric("menubarvmargin") + pixelMetric("menubarpanelwidth")) + pixelMetric("spacebelowmenubar") Accessible.role: Accessible.MenuBar } property Component menuItem: StyleItem { elementType: "menubaritem" x: pixelMetric("menubarhmargin") + pixelMetric("menubarpanelwidth") y: pixelMetric("menubarvmargin") + pixelMetric("menubarpanelwidth") text: menuItem.title contentWidth: textWidth(text) contentHeight: textHeight(text) width: implicitWidth + pixelMetric("menubaritemspacing") enabled: menuItem.enabled selected: (parent && parent.selected) || sunken sunken: parent && parent.sunken hints: { "showUnderlined": showUnderlined } Accessible.role: Accessible.MenuItem Accessible.name: StyleHelpers.removeMnemonics(text) } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 Style { property Component panel: Item { anchors.fill: parent implicitWidth: styleitem.implicitWidth implicitHeight: styleitem.implicitHeight baselineOffset: styleitem.baselineOffset StyleItem { id: styleitem elementType: "checkbox" sunken: control.pressed on: control.checked || control.pressed hover: control.hovered enabled: control.enabled hasFocus: control.activeFocus && styleitem.style == "mac" hints: control.styleHints properties: {"partiallyChecked": (control.checkedState === Qt.PartiallyChecked) } contentHeight: textitem.implicitHeight contentWidth: textitem.implicitWidth + indicatorWidth property int indicatorWidth: pixelMetric("indicatorwidth") + (macStyle ? 2 : 4) property bool macStyle: (style === "mac") Text { id: textitem text: control.text anchors.left: parent.left anchors.leftMargin: parent.indicatorWidth anchors.verticalCenter: parent.verticalCenter anchors.verticalCenterOffset: parent.macStyle ? 1 : 0 anchors.right: parent.right renderType: Text.NativeRendering elide: Text.ElideRight enabled: control.enabled color: __syspal.windowText StyleItem { elementType: "focusrect" anchors.margins: -1 anchors.leftMargin: -2 anchors.top: parent.top anchors.left: parent.left anchors.bottom: parent.bottom width: textitem.implicitWidth + 3 visible: control.activeFocus } } } } } o/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Window 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 Style { id: styleRoot property string __menuItemType: "menuitem" property Component frame: StyleItem { elementType: "menu" contentWidth: parent ? parent.contentWidth : 0 contentHeight: parent ? parent.contentHeight : 0 width: implicitWidth height: implicitHeight property int subMenuOverlap: -2 * pixelMetric("menupanelwidth") property real maxHeight: Screen.desktopAvailableHeight * 0.99 property int margin: pixelMetric("menuvmargin") + pixelMetric("menupanelwidth") Rectangle { visible: anchors.margins > 0 anchors { fill: parent margins: pixelMetric("menupanelwidth") } color: __syspal.window } Accessible.role: Accessible.PopupMenu } property Component menuItem: StyleItem { elementType: __menuItemType x: pixelMetric("menuhmargin") + pixelMetric("menupanelwidth") y: pixelMetric("menuvmargin") text: !!parent && parent.text property string textAndShorcut: text + (properties.shortcut ? "\t" + properties.shortcut : "") contentWidth: textWidth(textAndShorcut) contentHeight: textHeight(textAndShorcut) enabled: !!parent && parent.enabled selected: !!parent && parent.selected on: !!menuItem && !!menuItem["checkable"] && menuItem.checked hints: { "showUnderlined": showUnderlined } properties: { "checkable": !!menuItem && !!menuItem["checkable"], "exclusive": !!menuItem && !!menuItem["exclusiveGroup"], "shortcut": !!menuItem && menuItem["shortcut"] || "", "isSubmenu": isSubmenu, "scrollerDirection": scrollerDirection, "icon": !!menuItem && menuItem.__icon } Accessible.role: Accessible.MenuItem Accessible.name: StyleHelpers.removeMnemonics(text) } property Component scrollerStyle: Style { padding { left: 0; right: 0; top: 0; bottom: 0 } property bool scrollToClickedPosition: false property Component frame: Item { visible: false } property Component corner: Item { visible: false } property Component __scrollbar: Item { visible: false } property bool useScrollers: true } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Window 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.1 import QtQuick.Controls.Private 1.0 import "." as Desktop Style { readonly property ComboBox control: __control property int drowDownButtonWidth: 24 property Component panel: Item { property bool popup: !!styleItem.styleHint("comboboxpopup") implicitWidth: 125 implicitHeight: styleItem.implicitHeight baselineOffset: styleItem.baselineOffset anchors.fill: parent StyleItem { id: styleItem height: parent.height width: parent.width elementType: "combobox" sunken: control.pressed raised: !sunken hover: control.hovered enabled: control.enabled // The style makes sure the text rendering won't overlap the decoration. // In that case, 35 pixels margin in this case looks good enough. Worst // case, the ellipsis will be truncated (2nd worst, not visible at all). text: elidedText(control.currentText, Text.ElideRight, parent.width - 35) hasFocus: control.activeFocus // contentHeight as in QComboBox contentHeight: Math.max(Math.ceil(textHeight("")), 14) + 2 hints: control.styleHints properties: { "popup": control.__popup, "editable" : control.editable } } } property Component __popupStyle: MenuStyle { __menuItemType: "comboboxitem" } property Component __dropDownStyle: Style { property Component frame: StyleItem { elementType: "frame" width: (parent ? parent.contentWidth : 0) height: (parent ? parent.contentHeight : 0) + 2 * pixelMetric("defaultframewidth") property real maxHeight: 600 property int margin: pixelMetric("menuvmargin") + pixelMetric("menupanelwidth") } property Component menuItem: StyleItem { elementType: "itemrow" selected: parent ? parent.selected : false x: pixelMetric("defaultframewidth") y: pixelMetric("defaultframewidth") implicitWidth: textItem.contentWidth implicitHeight: textItem.contentHeight StyleItem { id: textItem elementType: "item" contentWidth: textWidth(text) contentHeight: textHeight(text) text: parent && parent.parent ? parent.parent.text : "" selected: parent ? parent.selected : false } } property Component scrollerStyle: Desktop.ScrollViewStyle { property bool useScrollers: false } } } E/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype TableViewStyle \inqmlmodule QtQuick.Controls.Styles \since 5.1 \ingroup viewsstyling \brief Provides custom styling for TableView Note that this class derives from \l ScrollViewStyle and supports all of the properties defined there. */ ScrollViewStyle { id: root /*! The \l TableView attached to this style. */ readonly property TableView control: __control /*! The text color. */ property color textColor: __syspal.text /*! The background color. */ property color backgroundColor: control.backgroundVisible ? __syspal.base : "transparent" /*! The alternate background color. */ property color alternateBackgroundColor: "#f5f5f5" /*! The text highlight color, used within selections. */ property color highlightedTextColor: "white" /*! Activates items on single click. */ property bool activateItemOnSingleClick: false padding.top: control.headerVisible ? 0 : 1 /*! \qmlproperty Component TableViewStyle::headerDelegate Delegate for header. This delegate is described in \l {TableView::headerDelegate} */ property Component headerDelegate: BorderImage { height: textItem.implicitHeight * 1.2 source: "images/header.png" border.left: 4 border.bottom: 2 border.top: 2 Text { id: textItem anchors.fill: parent verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignLeft anchors.leftMargin: 12 text: styleData.value elide: Text.ElideRight color: textColor renderType: Text.NativeRendering } Rectangle { anchors.right: parent.right anchors.top: parent.top anchors.bottom: parent.bottom anchors.bottomMargin: 1 anchors.topMargin: 1 width: 1 color: "#ccc" } } /*! \qmlproperty Component TableViewStyle::rowDelegate Delegate for header. This delegate is described in \l {TableView::rowDelegate} */ property Component rowDelegate: Rectangle { height: Math.round(TextSingleton.implicitHeight * 1.2) property color selectedColor: styleData.hasActiveFocus ? "#07c" : "#999" color: styleData.selected ? selectedColor : !styleData.alternate ? alternateBackgroundColor : backgroundColor } /*! \qmlproperty Component TableViewStyle::itemDelegate Delegate for item. This delegate is described in \l {TableView::itemDelegate} */ property Component itemDelegate: Item { height: Math.max(16, label.implicitHeight) property int implicitWidth: label.implicitWidth + 20 Text { id: label objectName: "label" width: parent.width anchors.leftMargin: 12 anchors.left: parent.left anchors.right: parent.right horizontalAlignment: styleData.textAlignment anchors.verticalCenter: parent.verticalCenter anchors.verticalCenterOffset: 1 elide: styleData.elideMode text: styleData.value !== undefined ? styleData.value : "" color: styleData.textColor renderType: Text.NativeRendering } } } "/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype SliderStyle \inqmlmodule QtQuick.Controls.Styles \since 5.1 \ingroup controlsstyling \brief Provides custom styling for Slider The slider style allows you to create a custom appearance for a \l Slider control. The implicit size of the slider is calculated based on the maximum implicit size of the \c background and \c handle delegates combined. Example: \qml Slider { anchors.centerIn: parent style: SliderStyle { groove: Rectangle { implicitWidth: 200 implicitHeight: 8 color: "gray" radius: 8 } handle: Rectangle { anchors.centerIn: parent color: control.pressed ? "white" : "lightgray" border.color: "gray" border.width: 2 width: 34 height: 34 radius: 12 } } } \endqml */ Style { id: styleitem /*! \internal */ property var __syspal: SystemPalette { colorGroup: control.enabled ? SystemPalette.Active : SystemPalette.Disabled } /*! The \l Slider attached to this style. */ readonly property Slider control: __control padding { top: 0 ; left: 0 ; right: 0 ; bottom: 0 } /*! This property holds the item for the slider handle. You can access the slider through the \c control property */ property Component handle: Item{ implicitWidth: implicitHeight implicitHeight: TextSingleton.implicitHeight * 1.2 FastGlow { source: handle anchors.fill: parent anchors.bottomMargin: -1 anchors.topMargin: 1 smooth: true color: "#11000000" spread: 0.8 transparentBorder: true blur: 0.1 } Rectangle { id: handle anchors.fill: parent radius: width/2 gradient: Gradient { GradientStop { color: control.pressed ? "#e0e0e0" : "#fff" ; position: 1 } GradientStop { color: "#eee" ; position: 0 } } Rectangle { anchors.fill: parent anchors.margins: 1 radius: width/2 border.color: "#99ffffff" color: control.activeFocus ? "#224f7fbf" : "transparent" } border.color: control.activeFocus ? "#47b" : "#777" } } /*! This property holds the background groove of the slider. You can access the handle position through the \c styleData.handlePosition property. */ property Component groove: Item { property color fillColor: "#49d" anchors.verticalCenter: parent.verticalCenter implicitWidth: Math.round(TextSingleton.implicitHeight * 4.5) implicitHeight: Math.max(6, Math.round(TextSingleton.implicitHeight * 0.3)) Rectangle { radius: height/2 anchors.fill: parent border.width: 1 border.color: "#888" gradient: Gradient { GradientStop { color: "#bbb" ; position: 0 } GradientStop { color: "#ccc" ; position: 0.6 } GradientStop { color: "#ccc" ; position: 1 } } } Item { clip: true width: styleData.handlePosition height: parent.height Rectangle { anchors.fill: parent border.color: Qt.darker(fillColor, 1.2) radius: height/2 gradient: Gradient { GradientStop {color: Qt.lighter(fillColor, 1.3) ; position: 0} GradientStop {color: fillColor ; position: 1.4} } } } } /*! This property holds the tick mark labels \since QtQuick.Controls.Styles 1.1 You can access the handle width through the \c styleData.handleWidth property. */ property Component tickmarks: Repeater { id: repeater model: control.stepSize > 0 ? 1 + (control.maximumValue - control.minimumValue) / control.stepSize : 0 Rectangle { color: "#777" width: 1 ; height: 3 y: repeater.height x: styleData.handleWidth / 2 + index * ((repeater.width - styleData.handleWidth) / (repeater.count-1)) } } /*! This property holds the slider style panel. Note that it is generally not recommended to override this. */ property Component panel: Item { id: root property int handleWidth: handleLoader.width property int handleHeight: handleLoader.height property bool horizontal : control.orientation === Qt.Horizontal property int horizontalSize: grooveLoader.implicitWidth + padding.left + padding.right property int verticalSize: Math.max(handleLoader.implicitHeight, grooveLoader.implicitHeight) + padding.top + padding.bottom implicitWidth: horizontal ? horizontalSize : verticalSize implicitHeight: horizontal ? verticalSize : horizontalSize y: horizontal ? 0 : height rotation: horizontal ? 0 : -90 transformOrigin: Item.TopLeft Item { anchors.fill: parent Loader { id: grooveLoader property QtObject styleData: QtObject { readonly property int handlePosition: handleLoader.x + handleLoader.width/2 } x: padding.left sourceComponent: groove width: (horizontal ? parent.width : parent.height) - padding.left - padding.right y: Math.round(padding.top + (Math.round(horizontal ? parent.height : parent.width - padding.top - padding.bottom) - grooveLoader.item.height)/2) } Loader { id: tickMarkLoader anchors.fill: parent sourceComponent: control.tickmarksEnabled ? tickmarks : null property QtObject styleData: QtObject { readonly property int handleWidth: control.__panel.handleWidth } } Loader { id: handleLoader sourceComponent: handle anchors.verticalCenter: grooveLoader.verticalCenter x: Math.round((control.__handlePos - control.minimumValue) / (control.maximumValue - control.minimumValue) * ((horizontal ? root.width : root.height) - item.width)) } } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype GroupBoxStyle \internal \inqmlmodule QtQuick.Controls.Styles \ingroup controlsstyling \since 5.1 */ Style { /*! \internal */ property var __syspal: SystemPalette { colorGroup: control.enabled ? SystemPalette.Active : SystemPalette.Disabled } /*! The \l GroupBox attached to this style. */ readonly property GroupBox control: __control /*! The margin from the content item to the groupbox. */ padding { top: (control.title.length > 0 || control.checkable ? TextSingleton.implicitHeight : 0) + 10 left: 8 right: 8 bottom: 6 } /*! The title text color. */ property color textColor: __syspal.text /*! The check box. */ property Component checkbox: Item { implicitWidth: 18 implicitHeight: 18 BorderImage { anchors.fill: parent source: "images/editbox.png" border.top: 6 border.bottom: 6 border.left: 6 border.right: 6 } Rectangle { height: 16 width: 16 antialiasing: true visible: control.checked color: "#666" radius: 1 anchors.margins: 4 anchors.fill: parent anchors.topMargin: 3 anchors.bottomMargin: 5 border.color: "#222" opacity: control.enabled ? 1 : 0.5 Rectangle { anchors.fill: parent anchors.margins: 1 color: "transparent" border.color: "#33ffffff" } } BorderImage { anchors.fill: parent anchors.margins: -1 source: "images/focusframe.png" visible: control.activeFocus border.left: 4 border.right: 4 border.top: 4 border.bottom: 4 } } /*! The groupbox frame. */ property Component panel: Item { anchors.fill: parent Loader { id: checkboxloader anchors.left: parent.left sourceComponent: control.checkable ? checkbox : null anchors.verticalCenter: label.verticalCenter width: item ? item.implicitWidth : 0 } Text { id: label anchors.top: parent.top anchors.left: checkboxloader.right anchors.margins: 4 text: control.title color: textColor renderType: Text.NativeRendering } BorderImage { anchors.fill: parent anchors.topMargin: padding.top - 7 source: "images/groupbox.png" border.left: 4 border.right: 4 border.top: 4 border.bottom: 4 visible: !control.flat } } } AxkoFDWvbӲrsYmrRr0(r%B*Iѥ7|/eq[[w;2/C'XCw6aͣugCw8h5\ǵˢ=M e-uxxww,̎ zlfyxF0u=wi1S ~ڟ90"X qxX~x?9ύM}Soh:XZ*b0\ 9(!H6B󂻨%4Fq8t' |2'f*t΍6*&2;umh2X n3T7܊HBןKH!qJ,&%eIaXE1,PX"kM[Z-A KyHNI*j{`V' %UuV6A q{`Α#wzYj}kP듪g.'Y(f)PP %J *'#FZ|2r&s ٽeNBmhQ0ŤAd6y!/<0zI|^&Hޅk\ԡ3^1\ z]}dBŧ8F& _p& F`\{Cvl>Nki@0&"=#xYW1aps?ۧF_sgƸO#"Ԇa{46:WWԁf6.2 _?1^.|#!.(i;m1uЈ(doCc=EGڣ}I_!.B}>GwnRj_h㫱AG0M'pW΅mOLj86=h!]nAtFDwc>^|DVk9L^gChLX/q;: Gp =^qiP6]gEw  _£?tn΅MJ];b`9|2xiie<_ӆ0!LsgJ~]xz;3^{L,>.j[">&]`[$E$t"bIPE s&#N w/Ԁa-b &ZGKkbZ&e^-mOc50+*_jZێ1Bu#NSO%c+.i.Ҥh2 |oÕ2PUyFx!IR۳l/(@|۹u&A% :n  5" Z|ǰ0ؕw3#"0[Uر7.7۶PNqF߹B)wi z9Ԉ'3o $w^ 56Q`Vy-itPnAXVωzOMC;-?rQ% m(\kd\Raw%/vԚ`GS]sF~3g [!m'%M착b 6o%vϊyW%v(\BaR 3@8g6q縈C 0Q%3tSb^HS¿lEQŖhI><'2O{( 4kŖ6'+j8LL1>M kd.JOx-HMZuisc0.E;]0c{| *,eOK -U\b AY%_0~M+W19q#mz($UH8J9YP}\t<8RSc zSMb}DC̏m/u0-ؕ'ޕ|黀Bx+"htpzδuscW-ˬdy޿vN>x7QhdL7u%36渦y/4%Ou"n%f(-1GrJS'7S~!Lѕt)u=l^7*-9_m9Zی_k';npF(ۂsyP7Y2*-XQqtEk ,ӹh٨~9ר{IVD/}[yЉVUKg|'@)=4b'Y6 Xz+ג/q&T*Z^nLPzmY<5Ch8:n%ơH8mϡQ||"^jJ~*xQ>-̴BmSK'GAW?hK .FSdڍ1CBv7 6O{>;Qh _`TI-ILE/Ze #p]29BVk)F#)N%:%ղq崣eJ|Ӟ̊M5ig(VBW_lD -5Įg|3D5My`pDLmQ'GeY}Dd}x,}\0CRWA+4)ł߈+)VP{)^A)ԢK8{$gp۩[Mطd'2\[-+7v{7|R_iXlH`<.`A $p`R;Ш3~ '+:W񱜊¾ŭyr#k'8MgVeUN`B);gYm -y9Xl/L-:͜kKB6NoE盽fYPvߏ4e6;כ@))B=do?Qva-oؿ)Ufd*_P}s\Ťgr࿰*>ޯmyA)L~Ϗ4=X0j()v``- fAا끹]JmP@ojb N_Z]tHr@F!VÃ"~xɑ"vbrSWRj2)Ǽ[ Ĵiy?\m&Oya% ʦI i՟ʜ/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.2 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype SwitchStyle \inqmlmodule QtQuick.Controls.Styles \since 5.2 \ingroup controlsstyling \brief Provides custom styling for Switch Example: \qml Switch { style: SwitchStyle { groove: Rectangle { implicitWidth: 100 implicitHeight: 20 radius: 9 border.color: control.activeFocus ? "darkblue" : "gray" border.width: 1 } } } \endqml */ Style { id: switchstyle /*! The content padding. */ padding { top: 0 left: 0 right: 0 bottom: 0 } /*! This defines the switch handle. */ property Component handle: Rectangle { opacity: control.enabled ? 1.0 : 0.5 implicitWidth: Math.round((parent.parent.width - padding.left - padding.right)/2) implicitHeight: control.height - padding.top - padding.bottom border.color: control.activeFocus ? Qt.darker(__syspal.highlight, 2) : Qt.darker(__syspal.button, 2) property color bg: control.activeFocus ? Qt.darker(__syspal.highlight, 1.2) : __syspal.button gradient: Gradient { GradientStop {color: Qt.lighter(bg, 1.4) ; position: 0} GradientStop {color: bg ; position: 1} } radius: 2 } /*! This property holds the background groove of the switch. */ property Component groove: Rectangle { property color shadow: control.checked ? Qt.darker(__syspal.highlight, 1.2): "#999" property color bg: control.checked ? __syspal.highlight:"#bbb" implicitWidth: Math.round(implicitHeight * 3) implicitHeight: Math.max(16, Math.round(TextSingleton.implicitHeight)) border.color: "gray" color: "red" radius: 2 Behavior on shadow {ColorAnimation{ duration: 80 }} Behavior on bg {ColorAnimation{ duration: 80 }} gradient: Gradient { GradientStop {color: shadow; position: 0} GradientStop {color: bg ; position: 0.2} GradientStop {color: bg ; position: 1} } Rectangle { color: "#44ffffff" height: 1 anchors.bottom: parent.bottom anchors.bottomMargin: -1 width: parent.width - 2 x: 1 } } /*! \internal */ property Component panel: Item { implicitWidth: Math.round(grooveLoader.width + padding.left + padding.right) implicitHeight: grooveLoader.implicitHeight + padding.top + padding.bottom property var __groove: grooveLoader property var __handle: handleLoader property bool enableAnimation: false Loader { id: grooveLoader y: padding.top x: padding.left sourceComponent: groove anchors.verticalCenter: parent.verticalCenter Loader { id: handleLoader z:1 anchors.top: grooveLoader.top anchors.bottom: grooveLoader.bottom anchors.topMargin: padding.top anchors.bottomMargin: padding.bottom Behavior on x { id: behavior enabled: enableAnimation NumberAnimation { duration: 150 easing.type: Easing.OutCubic } } sourceComponent: handle } } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype TextAreaStyle \inqmlmodule QtQuick.Controls.Styles \since 5.2 \ingroup controlsstyling \brief Provides custom styling for TextArea. Example: \qml TextArea { style: TextAreaStyle { textColor: "#333" selectionColor: "steelblue" selectedTextColor: "#eee" backgroundColor: "#eee" } } \endqml */ ScrollViewStyle { id: style /*! The \l TextArea attached to this style. */ readonly property TextArea control: __control /*! The current font. */ property font font /*! The text color. */ property color textColor: __syspal.text /*! The text highlight color, used behind selections. */ property color selectionColor: __syspal.highlight /*! The highlighted text color, used in selections. */ property color selectedTextColor: __syspal.highlightedText /*! The background color. */ property color backgroundColor: control.backgroundVisible ? __syspal.base : "transparent" /*! \qmlproperty enumeration renderType Override the default rendering type for the control. Supported render types are: \list \li Text.QtRendering \li Text.NativeRendering - the default \endlist \sa Text::renderType */ property int renderType: Text.NativeRendering } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype ButtonStyle \inqmlmodule QtQuick.Controls.Styles \since 5.1 \ingroup controlsstyling \brief Provides custom styling for Button You can create a custom button by replacing the "background" delegate of the ButtonStyle with a custom design. Example: \qml Button { text: "A button" style: ButtonStyle { background: Rectangle { implicitWidth: 100 implicitHeight: 25 border.width: control.activeFocus ? 2 : 1 border.color: "#888" radius: 4 gradient: Gradient { GradientStop { position: 0 ; color: control.pressed ? "#ccc" : "#eee" } GradientStop { position: 1 ; color: control.pressed ? "#aaa" : "#ccc" } } } } } \endqml If you need a custom label, you can replace the label item. */ Style { id: buttonstyle /*! The \l Button attached to this style. */ readonly property Button control: __control /*! \internal */ property var __syspal: SystemPalette { colorGroup: control.enabled ? SystemPalette.Active : SystemPalette.Disabled } /*! The padding between the background and the label components. */ padding { top: 4 left: 4 right: control.menu !== null ? Math.round(TextSingleton.implicitHeight * 0.5) : 4 bottom: 4 } /*! This defines the background of the button. */ property Component background: Item { implicitWidth: Math.round(TextSingleton.implicitHeight * 4.5) implicitHeight: Math.max(25, Math.round(TextSingleton.implicitHeight * 1.2)) Rectangle { anchors.fill: parent anchors.bottomMargin: control.pressed ? 0 : -1 color: "#10000000" radius: baserect.radius } Rectangle { id: baserect gradient: Gradient { GradientStop {color: control.pressed ? "#aaa" : "#fefefe" ; position: 0} GradientStop {color: control.pressed ? "#ccc" : "#e3e3e3" ; position: control.pressed ? 0.1: 1} } radius: TextSingleton.implicitHeight * 0.16 anchors.fill: parent border.color: control.activeFocus ? "#47b" : "#999" Rectangle { anchors.fill: parent radius: parent.radius color: control.activeFocus ? "#47b" : "white" opacity: control.hovered || control.activeFocus ? 0.1 : 0 Behavior on opacity {NumberAnimation{ duration: 100 }} } } Image { id: imageItem visible: control.menu !== null source: "images/arrow-down.png" anchors.verticalCenter: parent.verticalCenter anchors.right: parent.right anchors.rightMargin: padding.right opacity: control.enabled ? 0.6 : 0.5 } } /*! This defines the label of the button. */ property Component label: Item { implicitWidth: row.implicitWidth implicitHeight: row.implicitHeight Row { id: row anchors.centerIn: parent spacing: 2 Image { source: control.iconSource anchors.verticalCenter: parent.verticalCenter } Text { renderType: Text.NativeRendering anchors.verticalCenter: parent.verticalCenter text: control.text color: __syspal.text } } } /*! \internal */ property Component panel: Item { anchors.fill: parent implicitWidth: Math.max(labelLoader.implicitWidth + padding.left + padding.right, backgroundLoader.implicitWidth) implicitHeight: Math.max(labelLoader.implicitHeight + padding.top + padding.bottom, backgroundLoader.implicitHeight) Loader { id: backgroundLoader anchors.fill: parent sourceComponent: background } Loader { id: labelLoader sourceComponent: label anchors.fill: parent anchors.leftMargin: padding.left anchors.topMargin: padding.top anchors.rightMargin: padding.right anchors.bottomMargin: padding.bottom } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype StatusBarStyle \inqmlmodule QtQuick.Controls.Styles \ingroup controlsstyling \since 5.2 \brief Provides custom styling for StatusBar The status bar can be defined by overriding the background component and setting the content padding. Example: \qml StatusBar { style: StatusBarStyle { padding { left: 8 right: 8 top: 3 bottom: 3 } background: Rectangle { implicitHeight: 16 implicitWidth: 200 gradient: Gradient{ GradientStop{color: "#eee" ; position: 0} GradientStop{color: "#ccc" ; position: 1} } Rectangle { anchors.top: parent.top width: parent.width height: 1 color: "#999" } } } } \endqml */ Style { /*! The content padding inside the status bar. */ padding { left: 3 right: 3 top: 3 bottom: 2 } /*! This defines the background of the tool bar. */ property Component background: Rectangle { implicitHeight: 16 implicitWidth: 200 gradient: Gradient{ GradientStop{color: "#eee" ; position: 0} GradientStop{color: "#ccc" ; position: 1} } Rectangle { anchors.top: parent.top width: parent.width height: 1 color: "#999" } } property Component panel: Loader { sourceComponent: background } } H/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype TextFieldStyle \inqmlmodule QtQuick.Controls.Styles \since 5.1 \ingroup controlsstyling \brief Provides custom styling for TextField. Example: \qml TextField { style: TextFieldStyle { textColor: "black" background: Rectangle { radius: 2 implicitWidth: 100 implicitHeight: 24 border.color: "#333" border.width: 1 } } } \endqml */ Style { id: style /*! \internal */ property var __syspal: SystemPalette { colorGroup: control.enabled ? SystemPalette.Active : SystemPalette.Disabled } /*! The \l TextField attached to this style. */ readonly property TextField control: __control /*! The content margins of the text field. */ padding { top: 4 ; left: Math.round(control.__contentHeight/3) ; right: control.__contentHeight/3 ; bottom: 4 } /*! The current font. */ property font font /*! The text color. */ property color textColor: __syspal.text /*! The text highlight color, used behind selections. */ property color selectionColor: __syspal.highlight /*! The highlighted text color, used in selections. */ property color selectedTextColor: __syspal.highlightedText /*! \qmlproperty enumeration renderType \since 5.2 Override the default rendering type for the control. Supported render types are: \list \li Text.QtRendering \li Text.NativeRendering - the default \endlist \sa Text::renderType */ property int renderType: Text.NativeRendering /*! The placeholder text color, used when the text field is empty. \since 5.2 */ property color placeholderTextColor: Qt.rgba(0, 0, 0, 0.5) /*! The background of the text field. */ property Component background: Item { implicitWidth: Math.round(control.__contentHeight * 8) implicitHeight: Math.max(25, Math.round(control.__contentHeight * 1.2)) Rectangle { anchors.fill: parent anchors.bottomMargin: -1 color: "#44ffffff" radius: baserect.radius } Rectangle { id: baserect gradient: Gradient { GradientStop {color: "#e0e0e0" ; position: 0} GradientStop {color: "#fff" ; position: 0.1} GradientStop {color: "#fff" ; position: 1} } radius: control.__contentHeight * 0.16 anchors.fill: parent border.color: control.activeFocus ? "#47b" : "#999" } } /*! \internal */ property Component panel: Item { anchors.fill: parent property int topMargin: padding.top property int leftMargin: padding.left property int rightMargin: padding.right property int bottomMargin: padding.bottom property color textColor: style.textColor property color selectionColor: style.selectionColor property color selectedTextColor: style.selectedTextColor implicitWidth: backgroundLoader.implicitWidth ? backgroundLoader.implicitWidth : 100 implicitHeight: backgroundLoader.implicitHeight ? backgroundLoader.implicitHeight : 20 property color placeholderTextColor: style.placeholderTextColor property font font: style.font Loader { id: backgroundLoader sourceComponent: background anchors.fill: parent } } } !/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype ProgressBarStyle \inqmlmodule QtQuick.Controls.Styles \since 5.1 \ingroup controlsstyling \brief Provides custom styling for ProgressBar Example: \qml ProgressBar { value: slider.value style: ProgressBarStyle { background: Rectangle { radius: 2 color: "lightgray" border.color: "gray" border.width: 1 implicitWidth: 200 implicitHeight: 24 } progress: Rectangle { color: "lightsteelblue" border.color: "steelblue" } } } \endqml */ Style { id: progressBarStyle /*! \internal */ property var __syspal: SystemPalette { colorGroup: control.enabled ? SystemPalette.Active : SystemPalette.Disabled } /*! The \l ProgressBar attached to this style. */ readonly property ProgressBar control: __control /*! A value in the range [0-1] indicating the current progress. */ readonly property real currentProgress: control.indeterminate ? 1.0 : control.value / control.maximumValue /*! This property holds the visible contents of the progress bar You can access the Slider through the \c control property. For convenience, you can also access the readonly property \c styleData.progress which provides the current progress as a \c real in the range [0-1] */ padding { top: 0 ; left: 0 ; right: 0 ; bottom: 0 } /*! \qmlproperty Component ProgressBarStyle::progress The progress component for this style. */ property Component progress: Item { property color progressColor: "#49d" anchors.fill: parent clip: true Rectangle { id: base width: control.width height: control.height radius: TextSingleton.implicitHeight * 0.16 antialiasing: true gradient: Gradient { GradientStop {color: Qt.lighter(progressColor, 1.3) ; position: 0} GradientStop {color: progressColor ; position: 1.4} } border.width: 1 border.color: Qt.darker(progressColor, 1.2) Rectangle { color: "transparent" radius: 1.5 clip: true antialiasing: true anchors.fill: parent anchors.margins: 1 border.color: Qt.rgba(1,1,1,0.1) Image { visible: control.indeterminate height: parent.height NumberAnimation on x { from: -39 to: 0 running: control.indeterminate duration: 800 loops: Animation.Infinite } fillMode: Image.Tile width: parent.width + 25 source: "images/progress-indeterminate.png" } } } Rectangle { height: parent.height - 2 width: 1 y: 1 anchors.right: parent.right anchors.rightMargin: 1 color: Qt.rgba(1,1,1,0.1) visible: splitter.visible } Rectangle { id: splitter height: parent.height - 2 width: 1 y: 1 anchors.right: parent.right color: Qt.darker(progressColor, 1.2) property int offset: currentProgress * control.width visible: offset > base.radius && offset < control.width - base.radius + 1 } } /*! \qmlproperty Component ProgressBarStyle::background The background component for this style. \note The implicitWidth and implicitHeight of the background component must be set. */ property Component background: Item { implicitWidth: 200 implicitHeight: Math.max(17, Math.round(TextSingleton.implicitHeight * 0.7)) Rectangle { anchors.fill: parent anchors.bottomMargin: control.pressed ? 0 : -1 color: "#44ffffff" radius: baserect.radius } Rectangle { id: baserect gradient: Gradient { GradientStop {color: "#eee" ; position: 0} GradientStop {color: "#fff" ; position: 0.1} GradientStop {color: "#fff" ; position: 1} } radius: TextSingleton.implicitHeight * 0.16 anchors.fill: parent border.color: control.activeFocus ? "#47b" : "#999" Rectangle { anchors.fill: parent radius: parent.radius color: control.activeFocus ? "#47b" : "white" opacity: control.hovered || control.activeFocus ? 0.1 : 0 Behavior on opacity {NumberAnimation{ duration: 100 }} } } } /*! \qmlproperty Component ProgressBarStyle::panel The panel component for this style. */ property Component panel: Item{ property bool horizontal: control.orientation == Qt.Horizontal implicitWidth: horizontal ? backgroundLoader.implicitWidth : backgroundLoader.implicitHeight implicitHeight: horizontal ? backgroundLoader.implicitHeight : backgroundLoader.implicitWidth Item { width: horizontal ? parent.width : parent.height height: !horizontal ? parent.width : parent.height y: horizontal ? 0 : width rotation: horizontal ? 0 : -90 transformOrigin: Item.TopLeft Loader { id: backgroundLoader anchors.fill: parent sourceComponent: background } Loader { sourceComponent: progressBarStyle.progress anchors.topMargin: padding.top anchors.leftMargin: padding.left anchors.rightMargin: padding.right anchors.bottomMargin: padding.bottom anchors.top: parent.top anchors.left: parent.left anchors.bottom: parent.bottom width: currentProgress * (parent.width - padding.left - padding.right) } } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype FocusFrameStyle \internal \inqmlmodule QtQuick.Controls.Styles */ Item { property int margin: -3 } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype ToolBarStyle \inqmlmodule QtQuick.Controls.Styles \ingroup controlsstyling \since 5.2 \brief Provides custom styling for ToolBar The tool bar can be defined by overriding the background component and setting the content padding. Example: \qml ToolBar { style: ToolBarStyle { padding { left: 8 right: 8 top: 3 bottom: 3 } background: Rectangle { implicitWidth: 100 implicitHeight: 40 border.color: "#999" gradient: Gradient { GradientStop { position: 0 ; color: "#fff" } GradientStop { position: 1 ; color: "#eee" } } } } } \endqml */ Style { /*! The content padding inside the tool bar. */ padding { left: 6 right: 6 top: 3 bottom: 3 } /*! This defines the background of the tool bar. */ property Component background: Item { implicitHeight: 40 implicitWidth: 200 Rectangle { anchors.fill: parent gradient: Gradient{ GradientStop{color: "#eee" ; position: 0} GradientStop{color: "#ccc" ; position: 1} } Rectangle { anchors.bottom: parent.bottom width: parent.width height: 1 color: "#999" } } } property Component panel: Loader { sourceComponent: background } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype SpinBoxStyle \inqmlmodule QtQuick.Controls.Styles \since 5.2 \ingroup controlsstyling \brief Provides custom styling for SpinBox Example: \qml SpinBox { style: SpinBoxStyle{ background: Rectangle { implicitWidth: 100 implicitHeight: 20 border.color: "gray" radius: 2 } } } \endqml */ Style { id: spinboxStyle /*! The \l SpinBox attached to this style. */ readonly property SpinBox control: __control /*! \internal */ property var __syspal: SystemPalette { colorGroup: control.enabled ? SystemPalette.Active : SystemPalette.Disabled } /*! The content margins of the text field. */ padding { top: 1 ; left: Math.round(styleData.contentHeight/2) ; right: Math.max(22, Math.round(styleData.contentHeight)) ; bottom: 0 } /*! \qmlproperty enumeration horizontalAlignment This property defines the default text aligment. The supported values are: \list \li Qt.AlignLeft \li Qt.AlignHCenter \li Qt.AlignRight \endlist The default value is Qt.AlignRight */ property int horizontalAlignment: Qt.AlignRight /*! The text color. */ property color textColor: __syspal.text /*! The text highlight color, used behind selections. */ property color selectionColor: __syspal.highlight /*! The highlighted text color, used in selections. */ property color selectedTextColor: __syspal.highlightedText /*! \qmlproperty enumeration renderType Override the default rendering type for the control. Supported render types are: \list \li Text.QtRendering \li Text.NativeRendering - the default \endlist \sa Text::renderType */ property int renderType: Text.NativeRendering /*! The button used to increment the value. */ property Component incrementControl: Item { implicitWidth: padding.right Image { source: "images/arrow-up.png" anchors.centerIn: parent anchors.verticalCenterOffset: 1 opacity: control.enabled ? (styleData.upPressed ? 1 : 0.6) : 0.5 } } /*! The button used to decrement the value. */ property Component decrementControl: Item { implicitWidth: padding.right Image { source: "images/arrow-down.png" anchors.centerIn: parent anchors.verticalCenterOffset: -2 opacity: control.enabled ? (styleData.downPressed ? 1 : 0.6) : 0.5 } } /*! The background of the SpinBox. */ property Component background: Item { implicitHeight: Math.max(25, Math.round(styleData.contentHeight * 1.2)) implicitWidth: styleData.contentWidth + padding.left + padding.right Rectangle { anchors.fill: parent anchors.bottomMargin: -1 color: "#44ffffff" radius: baserect.radius } Rectangle { id: baserect gradient: Gradient { GradientStop {color: "#eee" ; position: 0} GradientStop {color: "#fff" ; position: 0.1} GradientStop {color: "#fff" ; position: 1} } radius: control.font.pixelSize * 0.16 anchors.fill: parent border.color: control.activeFocus ? "#47b" : "#999" } } /*! \internal */ property Component panel: Item { id: styleitem implicitWidth: backgroundLoader.implicitWidth implicitHeight: backgroundLoader.implicitHeight property color foregroundColor: spinboxStyle.textColor property color selectionColor: spinboxStyle.selectionColor property color selectedTextColor: spinboxStyle.selectedTextColor property var margins: spinboxStyle.padding property rect upRect: Qt.rect(width - incrementControlLoader.implicitWidth, 0, incrementControlLoader.implicitWidth, height / 2 + 1) property rect downRect: Qt.rect(width - decrementControlLoader.implicitWidth, height / 2, decrementControlLoader.implicitWidth, height / 2) property int horizontalAlignment: spinboxStyle.horizontalAlignment property int verticalAlignment: Qt.AlignVCenter Loader { id: backgroundLoader anchors.fill: parent sourceComponent: background } Loader { id: incrementControlLoader x: upRect.x y: upRect.y width: upRect.width height: upRect.height sourceComponent: incrementControl } Loader { id: decrementControlLoader x: downRect.x y: downRect.y width: downRect.width height: downRect.height sourceComponent: decrementControl } } } 6/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.2 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype BusyIndicatorStyle \inqmlmodule QtQuick.Controls.Styles \since 5.2 \ingroup controlsstyling \brief Provides custom styling for BusyIndicatorStyle You can create a busy indicator by replacing the "indicator" delegate of the BusyIndicatorStyle with a custom design. Example: \qml BusyIndicator { style: BusyIndicatorStyle indicator: Image { visible: control.running source: "spinner.png" NumberAnimation on rotation { running: control.running loops: Animation.Infinite duration: 2000 from: 0 ; to: 360 } } } } \endqml */ Style { id: indicatorstyle /*! The \l BusyIndicator attached to this style. */ readonly property BusyIndicator control: __control /*! This defines the appearance of the busy indicator. */ property Component indicator: Item { id: indicatorItem implicitWidth: 48 implicitHeight: 48 opacity: control.running ? 1 : 0 Behavior on opacity { OpacityAnimator { duration: 250 } } Image { anchors.centerIn: parent anchors.alignWhenCentered: true width: Math.min(parent.width, parent.height) height: width source: width <= 32 ? "images/spinner_small.png" : width >= 48 ? "images/spinner_large.png" : "images/spinner_medium.png" RotationAnimator on rotation { duration: 800 loops: Animation.Infinite from: 0 to: 360 running: indicatorItem.visible && (control.running || indicatorItem.opacity > 0); } } } /*! \internal */ property Component panel: Item { anchors.fill: parent implicitWidth: indicatorLoader.implicitWidth implicitHeight: indicatorLoader.implicitHeight Loader { id: indicatorLoader sourceComponent: indicator anchors.centerIn: parent width: Math.min(parent.width, parent.height) height: width } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype RadioButtonStyle \inqmlmodule QtQuick.Controls.Styles \since 5.1 \ingroup controlsstyling \brief Provides custom styling for RadioButton Example: \qml RadioButton { text: "Radio Button" style: RadioButtonStyle { indicator: Rectangle { implicitWidth: 16 implicitHeight: 16 radius: 9 border.color: control.activeFocus ? "darkblue" : "gray" border.width: 1 Rectangle { anchors.fill: parent visible: control.checked color: "#555" radius: 9 anchors.margins: 4 } } } } \endqml */ Style { id: radiobuttonStyle /*! \internal */ property var __syspal: SystemPalette { colorGroup: control.enabled ? SystemPalette.Active : SystemPalette.Disabled } /*! The \l RadioButton attached to this style. */ readonly property RadioButton control: __control /*! This defines the text label. */ property Component label: Item { implicitWidth: text.implicitWidth + 2 implicitHeight: text.implicitHeight Rectangle { anchors.fill: text anchors.margins: -1 anchors.leftMargin: -3 anchors.rightMargin: -3 visible: control.activeFocus height: 6 radius: 3 color: "#224f9fef" border.color: "#47b" opacity: 0.6 } Text { id: text text: control.text anchors.centerIn: parent color: __syspal.text renderType: Text.NativeRendering } } /*! The background under indicator and label. */ property Component background /*! The spacing between indicator and label. */ property int spacing: Math.round(TextSingleton.implicitHeight/4) /*! This defines the indicator button. */ property Component indicator: Rectangle { width: Math.round(TextSingleton.implicitHeight) height: width gradient: Gradient { GradientStop {color: "#eee" ; position: 0} GradientStop {color: control.pressed ? "#eee" : "#fff" ; position: 0.4} GradientStop {color: "#fff" ; position: 1} } border.color: control.activeFocus ? "#16c" : "gray" antialiasing: true radius: height/2 Rectangle { anchors.centerIn: parent width: Math.round(parent.width * 0.5) height: width gradient: Gradient { GradientStop {color: "#999" ; position: 0} GradientStop {color: "#555" ; position: 1} } border.color: "#222" antialiasing: true radius: height/2 Behavior on opacity {NumberAnimation {duration: 80}} opacity: control.checked ? control.enabled ? 1 : 0.5 : 0 } } /*! \internal */ property Component panel: Item { implicitWidth: Math.max(backgroundLoader.implicitWidth, row.implicitWidth + padding.left + padding.right) implicitHeight: Math.max(backgroundLoader.implicitHeight, labelLoader.implicitHeight + padding.top + padding.bottom,indicatorLoader.implicitHeight + padding.top + padding.bottom) Loader { id:backgroundLoader sourceComponent: background anchors.fill: parent } Row { id: row anchors.fill: parent anchors.leftMargin: padding.left anchors.rightMargin: padding.right anchors.topMargin: padding.top anchors.bottomMargin: padding.bottom spacing: radiobuttonStyle.spacing Loader { id: indicatorLoader sourceComponent: indicator anchors.verticalCenter: parent.verticalCenter } Loader { id: labelLoader sourceComponent: label anchors.verticalCenter: parent.verticalCenter } } } } E/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype ToolButtonStyle \internal \ingroup controlsstyling \inqmlmodule QtQuick.Controls.Styles */ Style { readonly property ToolButton control: __control property Component panel: Item { id: styleitem implicitWidth: (hasIcon ? 36 : Math.max(label.implicitWidth + frame.border.left + frame.border.right, 36)) + (arrow.visible ? 10 : 0) implicitHeight: hasIcon ? 36 : Math.max(label.implicitHeight, 36) readonly property bool hasIcon: icon.status === Image.Ready || icon.status === Image.Loading Rectangle { anchors.fill: parent visible: control.pressed || (control.checkable && control.checked) color: "lightgray" radius:4 border.color: "#aaa" } Item { anchors.left: parent.left anchors.right: arrow.left anchors.top: parent.top anchors.bottom: parent.bottom clip: true Text { id: label visible: !hasIcon anchors.centerIn: parent text: control.text } Image { id: icon anchors.centerIn: parent source: control.iconSource } } BorderImage { id: frame anchors.fill: parent anchors.margins: -1 anchors.topMargin: -2 anchors.rightMargin: 0 source: "images/focusframe.png" visible: control.activeFocus border.left: 4 border.right: 4 border.top: 4 border.bottom: 4 } Image { id: arrow visible: control.menu !== null source: visible ? "images/arrow-down.png" : "" anchors.verticalCenter: parent.verticalCenter anchors.right: parent.right anchors.rightMargin: visible ? 3 : 0 opacity: control.enabled ? 0.7 : 0.5 } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype TabViewStyle \inqmlmodule QtQuick.Controls.Styles \since 5.1 \ingroup viewsstyling \brief Provides custom styling for TabView \qml TabView { id: frame anchors.fill: parent anchors.margins: 4 Tab { title: "Tab 1" } Tab { title: "Tab 2" } Tab { title: "Tab 3" } style: TabViewStyle { frameOverlap: 1 tab: Rectangle { color: styleData.selected ? "steelblue" :"lightsteelblue" border.color: "steelblue" implicitWidth: Math.max(text.width + 4, 80) implicitHeight: 20 radius: 2 Text { id: text anchors.centerIn: parent text: styleData.title color: styleData.selected ? "white" : "black" } } frame: Rectangle { color: "steelblue" } } } \endqml */ Style { /*! The \l ScrollView attached to this style. */ readonly property TabView control: __control /*! This property holds whether the user can move the tabs. Tabs are not movable by default. */ property bool tabsMovable: false /*! This property holds the horizontal alignment of the tab buttons. Supported values are: \list \li Qt.AlignLeft (default) \li Qt.AlignHCenter \li Qt.AlignRight \endlist */ property int tabsAlignment: Qt.AlignLeft /*! This property holds the amount of overlap there are between individual tab buttons. */ property int tabOverlap: 1 /*! This property holds the amount of overlap there are between individual tab buttons and the frame. */ property int frameOverlap: 2 /*! This defines the tab frame. */ property Component frame: Rectangle { color: "#dcdcdc" border.color: "#aaa" Rectangle { anchors.fill: parent color: "transparent" border.color: "#66ffffff" anchors.margins: 1 } } /*! This defines the tab. You can access the tab state through the \c styleData property, with the following properties: \table \row \li readonly property int \b styleData.index \li This is the current tab index. \row \li readonly property bool \b styleData.selected \li This is the active tab. \row \li readonly property string \b styleData.title \li Tab title text. \row \li readonly property bool \b styleData.nextSelected \li The next tab is selected. \row \li readonly property bool \b styleData.previousSelected \li The previous tab is selected. \row \li readonly property bool \b styleData.hovered \li The tab is being hovered. \row \li readonly property bool \b styleData.activeFocus \li The tab button has keyboard focus. \row \li readonly property bool \b styleData.availableWidth \li The available width for the tabs. \endtable */ property Component tab: Item { scale: control.tabPosition === Qt.TopEdge ? 1 : -1 property int totalOverlap: tabOverlap * (control.count - 1) property real maxTabWidth: (styleData.availableWidth + totalOverlap) / control.count implicitWidth: Math.round(Math.min(maxTabWidth, textitem.implicitWidth + 20)) implicitHeight: Math.round(textitem.implicitHeight + 10) Item { anchors.fill: parent anchors.bottomMargin: styleData.selected ? 0 : 2 BorderImage { anchors.fill: parent source: styleData.selected ? "images/tab_selected.png" : "images/tab.png" border.top: 6 border.bottom: 6 border.left: 6 border.right: 6 anchors.topMargin: styleData.selected ? 0 : 1 } } Text { id: textitem anchors.fill: parent anchors.leftMargin: 4 anchors.rightMargin: 4 verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter text: styleData.title elide: Text.ElideMiddle renderType: Text.NativeRendering scale: control.tabPosition === Qt.TopEdge ? 1 : -1 color: __syspal.text Rectangle { anchors.centerIn: parent width: textitem.paintedWidth + 6 height: textitem.paintedHeight + 4 visible: (styleData.activeFocus && styleData.selected) radius: 3 color: "#224f9fef" border.color: "#47b" } } } /*! This defines the left corner. */ property Component leftCorner: null /*! This defines the right corner. */ property Component rightCorner: null /*! This defines the tab bar background. */ property Component tabBar: null } P/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype MenuBarStyle \internal \ingroup applicationwindowstyling \inqmlmodule QtQuick.Controls.Styles */ Style { readonly property color __backgroundColor: "#dcdcdc" property Component frame: Rectangle { width: control.__contentItem.width height: contentHeight color: __backgroundColor } property Component menuItem: Rectangle { width: text.width + 12 height: text.height + 4 color: sunken ? "#49d" :__backgroundColor SystemPalette { id: syspal } Text { id: text text: StyleHelpers.stylizeMnemonics(menuItem.title) anchors.centerIn: parent renderType: Text.NativeRendering color: sunken ? "white" : syspal.windowText } } } /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Controls 1.1 import QtQuick.Window 2.1 import QtQuick.Controls.Private 1.0 /*! \qmltype CheckBoxStyle \inqmlmodule QtQuick.Controls.Styles \since 5.1 \ingroup controlsstyling \brief Provides custom styling for CheckBox Example: \qml CheckBox { text: "Check Box" style: CheckBoxStyle { indicator: Rectangle { implicitWidth: 16 implicitHeight: 16 radius: 3 border.color: control.activeFocus ? "darkblue" : "gray" border.width: 1 Rectangle { visible: control.checked color: "#555" border.color: "#333" radius: 1 anchors.margins: 4 anchors.fill: parent } } } } \endqml */ Style { id: checkboxStyle /*! The \l CheckBox attached to this style. */ readonly property CheckBox control: __control /*! \internal */ property var __syspal: SystemPalette { colorGroup: control.enabled ? SystemPalette.Active : SystemPalette.Disabled } /*! This defines the text label. */ property Component label: Item { implicitWidth: text.implicitWidth + 2 implicitHeight: text.implicitHeight Rectangle { anchors.fill: text anchors.margins: -1 anchors.leftMargin: -3 anchors.rightMargin: -3 visible: control.activeFocus height: 6 radius: 3 color: "#224f9fef" border.color: "#47b" opacity: 0.6 } Text { id: text text: control.text anchors.centerIn: parent color: __syspal.text renderType: Text.NativeRendering } } /*! The background under indicator and label. */ property Component background /*! The spacing between indicator and label. */ property int spacing: Math.round(TextSingleton.implicitHeight/4) /*! This defines the indicator button. */ property Component indicator: Item { implicitWidth: Math.round(TextSingleton.implicitHeight) height: width Rectangle { anchors.fill: parent anchors.bottomMargin: -1 color: "#44ffffff" radius: baserect.radius } Rectangle { id: baserect gradient: Gradient { GradientStop {color: "#eee" ; position: 0} GradientStop {color: control.pressed ? "#eee" : "#fff" ; position: 0.1} GradientStop {color: "#fff" ; position: 1} } radius: TextSingleton.implicitHeight * 0.16 anchors.fill: parent border.color: control.activeFocus ? "#47b" : "#999" } Image { source: "images/check.png" opacity: control.checkedState === Qt.Checked ? control.enabled ? 1 : 0.5 : 0 anchors.centerIn: parent anchors.verticalCenterOffset: 1 Behavior on opacity {NumberAnimation {duration: 80}} } Rectangle { anchors.fill: parent anchors.margins: Math.round(baserect.radius) antialiasing: true gradient: Gradient { GradientStop {color: control.pressed ? "#555" : "#999" ; position: 0} GradientStop {color: "#555" ; position: 1} } radius: baserect.radius - 1 anchors.centerIn: parent anchors.alignWhenCentered: true border.color: "#222" Behavior on opacity {NumberAnimation {duration: 80}} opacity: control.checkedState === Qt.PartiallyChecked ? control.enabled ? 1 : 0.5 : 0 } } /*! \internal */ property Component panel: Item { implicitWidth: Math.max(backgroundLoader.implicitWidth, row.implicitWidth + padding.left + padding.right) implicitHeight: Math.max(backgroundLoader.implicitHeight, labelLoader.implicitHeight + padding.top + padding.bottom,indicatorLoader.implicitHeight + padding.top + padding.bottom) Loader { id: backgroundLoader sourceComponent: background anchors.fill: parent } Row { id: row anchors.fill: parent anchors.leftMargin: padding.left anchors.rightMargin: padding.right anchors.topMargin: padding.top anchors.bottomMargin: padding.bottom spacing: checkboxStyle.spacing Loader { id: indicatorLoader sourceComponent: indicator anchors.verticalCenter: parent.verticalCenter } Loader { id: labelLoader sourceComponent: label anchors.verticalCenter: parent.verticalCenter } } } } !W/**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt Quick Controls module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names ** of its contributors may be used to endorse or promote products derived ** from this software without specific prior written permission. ** ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** ** $QT_END_LICENSE$ ** ****************************************************************************/ import QtQuick 2.1 import QtQuick.Window 2.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Private 1.0 /*! \qmltype MenuStyle \internal \ingroup menusstyling \inqmlmodule QtQuick.Controls.Styles */ Style { id: styleRoot property string __menuItemType: "menuitem" property real maxPopupHeight: 600 // ### FIXME Screen.desktopAvailableHeight * 0.99 property Component frame: Rectangle { width: (parent ? parent.contentWidth : 0) + 2 height: (parent ? parent.contentHeight : 0) + 2 color: "lightgray" border { width: 1; color: "darkgray" } property int subMenuOverlap: -1 property real maxHeight: maxPopupHeight property int margin: 1 } property Component menuItem: Rectangle { x: 1 y: 1 implicitWidth: Math.max((parent ? parent.width : 0), 18 + text.paintedWidth + (rightDecoration.visible ? rightDecoration.width + 40 : 12)) implicitHeight: isSeparator ? text.font.pixelSize / 2 : !!scrollerDirection ? text.font.pixelSize * 0.75 : text.paintedHeight + 4 color: selected && enabled ? "" : backgroundColor gradient: selected && enabled ? selectedGradient : undefined border.width: 1 border.color: selected && enabled ? Qt.darker(selectedColor, 1) : color readonly property int leftMargin: __menuItemType === "menuitem" ? 18 : 0 readonly property color backgroundColor: "#dcdcdc" readonly property color selectedColor: "#49d" Gradient { id: selectedGradient GradientStop {color: Qt.lighter(selectedColor, 1.3) ; position: -0.2} GradientStop {color: selectedColor; position: 1.4} } antialiasing: true SystemPalette { id: syspal colorGroup: enabled ? SystemPalette.Active : SystemPalette.Disabled } readonly property string itemText: parent ? parent.text : "" readonly property bool mirrored: Qt.application.layoutDirection === Qt.RightToLeft Loader { id: checkMark x: mirrored ? parent.width - width - 4 : 4 y: 6 active: __menuItemType === "menuitem" && !!menuItem && !!menuItem["checkable"] sourceComponent: exclusive ? exclusiveCheckMark : nonExclusiveCheckMark readonly property bool checked: !!menuItem && !!menuItem.checked readonly property bool exclusive: !!menuItem && !!menuItem["exclusiveGroup"] Component { id: nonExclusiveCheckMark BorderImage { width: 12 height: 12 source: "images/editbox.png" border.top: 6 border.bottom: 6 border.left: 6 border.right: 6 Rectangle { antialiasing: true visible: checkMark.checked color: "#666" radius: 1 anchors.margins: 4 anchors.fill: parent anchors.topMargin: 3 anchors.bottomMargin: 5 border.color: "#222" Rectangle { anchors.fill: parent anchors.margins: 1 color: "transparent" border.color: "#33ffffff" } } } } Component { id: exclusiveCheckMark Rectangle { x: 1 width: 10 height: 10 color: "white" border.color: "gray" antialiasing: true radius: height/2 Rectangle { anchors.centerIn: parent visible: checkMark.checked width: 4 height: 4 color: "#666" border.color: "#222" antialiasing: true radius: height/2 } } } } Text { id: text visible: !isSeparator text: StyleHelpers.stylizeMnemonics(itemText) readonly property real offset: __menuItemType === "menuitem" ? 24 : 6 x: mirrored ? parent.width - width - offset : offset anchors.verticalCenter: parent.verticalCenter renderType: Text.NativeRendering color: selected && enabled ? "white" : syspal.text } Text { id: rightDecoration readonly property string shortcut: !!menuItem && menuItem["shortcut"] || "" visible: isSubmenu || shortcut !== "" text: isSubmenu ? mirrored ? "\u25c2" : "\u25b8" // BLACK LEFT/RIGHT-POINTING SMALL TRIANGLE : shortcut LayoutMirroring.enabled: mirrored anchors { right: parent.right rightMargin: 6 baseline: isSubmenu ? undefined : text.baseline } font.pixelSize: isSubmenu ? text.font.pixelSize : text.font.pixelSize * 0.9 color: text.color renderType: Text.NativeRendering style: selected || !isSubmenu ? Text.Normal : Text.Raised; styleColor: Qt.lighter(color, 4) } Image { id: scrollerDecoration visible: !!scrollerDirection anchors.centerIn: parent source: scrollerDirection === "up" ? "images/arrow-up.png" : "images/arrow-down.png" } Rectangle { visible: isSeparator width: parent.width - 2 height: 1 x: 1 anchors.verticalCenter: parent.verticalCenter color: "darkgray" } } property Component scrollerStyle: Style { padding { left: 0; right: 0; top: 0; bottom: 0 } property bool scrollToClickedPosition: false property Component frame: Item { visible: false } property Component corner: Item { visible: false } property Component __scrollbar: Item { visible: false } property bool useScrollers: true } } xYmo_1eRij"$P47J>skl6n} &o50>3ϼ9ԎfwOGQ7J HAJJDJwo)s /m$Mg̓baQ|s܉JhI8hLD>ϕUQ4[Q|UC^gVk͞c6Ok^4w4O$x ЗJen҉HJ*!/ }L 3i$nDʺirȗ4')2Pa(< Q0y*  إ D9PsO(m a?S,"lja%Fv @-aݞ=4?ÇbWFq66 Z$2r8Y;a2"x*94J%e.YJ@c=sZX̤^isޅY&In^?-{ٲM:fNhR?sݎi;uێ6-5]m:m.] x`ze:uzc ]Z J_ע9J>։յ+-r{,o3P-۵n˦ؾ崻-rb\r[n\_LmX7NLh:,N[۱lY6%urf=b¨}UatXNu<= .q'kCפ~Icje:-O]h\ӶKxѾ,w̾}:]xn{Zkd gjVR8V>}Fm٘Nj^g`OMg4kG#R,V=pw|dW{\Y~cw3<E'7 -y!0#LTs8ϲx-b%4 3 $zj[Nd= =afإwt+bN%D Q@EA~BACb(ڼJhFKQiCQ(K]߃Y$RTd5m4 {b)( V-9s}03+I g/d2 F@*k F2$DM P 9_(cqyv;Ry #Kr=!-&F390E>303ƢptҤ N mW~K( !1\)c"6|k鸭EpO,}- SDZa %[aۛg`G+Pc`5u7a`vF:aTY/D|Ն2)7j`;,֤O쪕cy҄C)"{Ty寸K 7 KtmpU,9q+mXOؔO ?=6qrl2`?e2}IqyE1NcCiK)D+~QOq' _,[Lz~Jem; xn?9%FPk$ ҉[QrTޛOG2nj%ɟ"jA*?SZUB\ќ^+ (fgGxF#%"Fq}ژ7\kp^A[r]F3oE(p']Q]*=Qq+ލH}H7zaU误)q=\[@ \r^e>>V+]E6~^PyYGʬ˙VQ]rʑ=C꣧ܜ ($~(y=]vlG)R=ojt.`t@v P"pبy~cbWcf`w.2z֏#lq\9tM8@&%;DX KQ!3>ݎEZG:O va#Vn$^o:7Xsq +xݢK>Tx^eDb٘<=ܷ{G+Ynؕ 4u>k\MX=e\Lv(gl ~B~@p(ǵ)\z Y+pXC0R󋒋MY%=u'ɹBu1,TYc)HwM0y%?o=ζ&$.17&ҊX`F5!\nP:}jkw?r?+NY rFo2pԟ( QfӬLҪ\ F(X ƀ^LѩJ)C<%{wš_̎F+?Ũѥp~APNG  IHDR!!Wo AiCCPICC ProfileH wTSϽ7" %z ;HQIP&vDF)VdTG"cE b PQDE݌k 5ޚYg}׺PtX4X\XffGD=HƳ.d,P&s"7C$ E6<~&S2)212 "įl+ɘ&Y4Pޚ%ᣌ\%g|eTI(L0_&l2E9r9hxgIbטifSb1+MxL 0oE%YmhYh~S=zU&ϞAYl/$ZUm@O ޜl^ ' lsk.+7oʿ9V;?#I3eE妧KD d9i,UQ h A1vjpԁzN6p\W p G@ K0ށiABZyCAP8C@&*CP=#t] 4}a ٰ;GDxJ>,_“@FXDBX$!k"EHqaYbVabJ0՘cVL6f3bձX'?v 6-V``[a;p~\2n5׌ &x*sb|! ߏƿ' Zk! $l$T4QOt"y\b)AI&NI$R$)TIj"]&=&!:dGrY@^O$ _%?P(&OJEBN9J@y@yCR nXZOD}J}/G3ɭk{%Oחw_.'_!JQ@SVF=IEbbbb5Q%O@%!BӥyҸM:e0G7ӓ e%e[(R0`3R46i^)*n*|"fLUo՝mO0j&jajj.ϧwϝ_4갺zj=U45nɚ4ǴhZ ZZ^0Tf%9->ݫ=cXgN].[7A\SwBOK/X/_Q>QG[ `Aaac#*Z;8cq>[&IIMST`ϴ kh&45ǢYYF֠9<|y+ =X_,,S-,Y)YXmĚk]c}džjcΦ浭-v};]N"&1=xtv(}'{'IߝY) Σ -rqr.d._xpUەZM׍vm=+KGǔ ^WWbj>:>>>v}/avO8 FV> 2 u/_$\BCv< 5 ]s.,4&yUx~xw-bEDCĻHGKwFGEGME{EEKX,YFZ ={$vrK .3\rϮ_Yq*©L_wד+]eD]cIIIOAu_䩔)3ѩiB%a+]3='/40CiU@ёL(sYfLH$%Y jgGeQn~5f5wugv5k֮\۹Nw]m mHFˍenQQ`hBBQ-[lllfjۗ"^bO%ܒY}WwvwXbY^Ю]WVa[q`id2JjGէ{׿m>PkAma꺿g_DHGGu;776ƱqoC{P38!9 ҝˁ^r۽Ug9];}}_~imp㭎}]/}.{^=}^?z8hc' O*?f`ϳgC/Oϩ+FFGGόzˌㅿ)ѫ~wgbk?Jި9mdwi獵ޫ?cǑOO?w| x&mf2:Y~ pHYs  KIDATX W]hGwscnZjZm(h5h `*Zi$ A,-,,Ν;TS@Y (4C66V1Bpl 5ߤ׽:;;ŋ߃ :Y`F~~5r@~ e"]]~RH@+%feU(aBu& h @`Sq> *#c!nO64{,aFTOR> *R; (zL/% ۠!eHeu. Ѵ69w]11N4Υ]G19" V rAphEИՈ2>?~5%0*ʪHv(`B ҄$xy.K.]zuHUTTtlXe@_c PQ ma)<|plA2i48O`+.}Yž 6yx"D|˗g b͚5yyQ 05VYY9jh% KG. ЏRC233G&#'DFFF8J"PT2?u;wN.@Kuyw31o.]:Jv-8ݒ+E{& #M__@W.^h4Аp]J亮y֍҂-lXRzVTWW\oۻwL`\2A& J#"j{#eD"1Jc=v,']2)A=+ؽ7#{*vP\qn,F +$IkEv{k Ot4ɳqlX xMD?eY~jX|8b߆#M}KD௛$ I"C% I"C% I"C% I"C% I"C% I"C% I"C% I"C% I"C% I"C% I"C% I"C% I"C% խEpܝb%/6z[Ti3+;4m16<}V8~̲-Y;t NBuGQ>Q?IENDB`PNG  IHDRB%}sBIT|d pHYs Bc%QtEXtSoftwarewww.inkscape.org<7IDAT]ʱ !ט[]\&_ DhXhUb/o A1vjpԁzN6p\W p G@ K0ށiABZyCAP8C@&*CP=#t] 4}a ٰ;GDxJ>,_“@FXDBX$!k"EHqaYbVabJ0՘cVL6f3bձX'?v 6-V``[a;p~\2n5׌ &x*sb|! ߏƿ' Zk! $l$T4QOt"y\b)AI&NI$R$)TIj"]&=&!:dGrY@^O$ _%?P(&OJEBN9J@y@yCR nXZOD}J}/G3ɭk{%Oחw_.'_!JQ@SVF=IEbbbb5Q%O@%!BӥyҸM:e0G7ӓ e%e[(R0`3R46i^)*n*|"fLUo՝mO0j&jajj.ϧwϝ_4갺zj=U45nɚ4ǴhZ ZZ^0Tf%9->ݫ=cXgN].[7A\SwBOK/X/_Q>QG[ `Aaac#*Z;8cq>[&IIMST`ϴ kh&45ǢYYF֠9<|y+ =X_,,S-,Y)YXmĚk]c}džjcΦ浭-v};]N"&1=xtv(}'{'IߝY) Σ -rqr.d._xpUەZM׍vm=+KGǔ ^WWbj>:>>>v}/avO8 FV> 2 u/_$\BCv< 5 ]s.,4&yUx~xw-bEDCĻHGKwFGEGME{EEKX,YFZ ={$vrK .3\rϮ_Yq*©L_wד+]eD]cIIIOAu_䩔)3ѩiB%a+]3='/40CiU@ёL(sYfLH$%Y jgGeQn~5f5wugv5k֮\۹Nw]m mHFˍenQQ`hBBQ-[lllfjۗ"^bO%ܒY}WwvwXbY^Ю]WVa[q`id2JjGէ{׿m>PkAma꺿g_DHGGu;776ƱqoC{P38!9 ҝˁ^r۽Ug9];}}_~imp㭎}]/}.{^=}^?z8hc' O*?f`ϳgC/Oϩ+FFGGόzˌㅿ)ѫ~wgbk?Jި9mdwi獵ޫ?cǑOO?w| x&mf2:Y~ pHYs fm IDATh{}/-(Ȯ[*TcU$@TBjBڐHF 6@MZ1MM*P Gk݂+}wޙ{ffzeOr9358~xMQhY kة؍'ὃAsΡ/"VZU300p7GQx=@C˄Q!gY9{:/ѳ>}hgKyY}ֱt |-X c]9O Ax|l3C߾ .'|˗עPJxDyfcA"?ʅ֮]{5Wl*iZ7i")yŽYVxƤw-̙Gxj2Z<{ɡ֓'N>9JyC5 SkIyv`޽63{=rH vuvv7W Le֐7f͚O1JA9o-c-A; \r]w-[x5?fx<M~"$qlCow5l{<㆞+$u(+A/3\PVEk]9]v. 䊞;2kƌoi*z.D0ۍj4>3sNdakX3VD_AS  J؍_ΞǾRT:[ԧry? %S{+r#zWĕyPME%ŀ#mVũl[.‰Pd]=τY7M<|ǹ{ߢo1eV`*1EMu KŦh>Mvҥf?4iv*0TUU+W|lݺ58y'IJbA/( {n塇)q_$^a… nn[[a>- ?91N|v#yWsWIG Nj9w0QXs^I#ىV%X4b)O1|̪1j>Ƙ86FJ@ dNJEžE5WRN䇆ܙ3gj|÷!3k$G„akmyoxp>).h {^z%ǽٳE5`ڴNOI>R/ną2e{8zK:Y^:_nuձco!>78ha^OOwMc &4=]]ޅ 3QS6" ^`ul^O?\yqлv꺚܎}A2~A~39t>pٖlҁ$A$W1> Zne]к_kN>@L:aEkt? B1~7h c4JMnڴi Dksfy ,=SmoƠW_ͣf@NBq>{&!+(XCCQTCvͅ%KJ1MsMx`cCd:br/b0p3^mb5r(w01[+jciKh: %+bX>`ѢEUPE$ēO>y;xH@q$d3pb4{\I_6p_ՔǜqQڵ_A(کjTb )p=8|;ӐeF+µR/ìIw 1n}"ƿS(t3r!|L%?(NUa8E0Rb$wE!cg#HF;6`+L88Y'Ϯ^(&<]* 4wr|2b CqA F x݉2?c"g#ZR+xd3c {!Mt2V`ڸ|+HX>+c37躗"xCd3]h{wRlv(xCڹ*`ҸzMEvy2_N)ɍJZJزe\ xQd 嬩q>h[*iVTڕ%Nk>fcrv 4%QDY@xŊRe|.=7y^4| ]X%;R^lrP!U.˝6&zy/%XVే;d6=* .'*-9ϗ\/cWo*Χ)~IENDB`PNG  IHDRBiNzbKGD3 pHYs  tIME *8IDATXVuA N`TB&G 8wg=z8Xv(Ȼ ӓofv =$! 6x|||mI[:ٍB &g7A6Jtj ~{}Pf6w Nw 6#A8vЗp BYȑuT@, $wrԜt֜~-["ks}# ZU!LVDž,J򛨨Nl ƹe6iim<5nCrn@Xh+HViJHqn$5‰WoYSGd+xg :52Vr15 N@HYȲIYGf#S665 `Š,-HVӃhQEPZQL^+R>k"2%jY",:c^5+hE35CP5]u0GJW*bWlk;tmv]궕p+ВPT,ZOS4wbFP|;]sThKLjh㮄٢eMfJŸ!E JI ae.["N= J7}mיgڱnf H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_FIDATxY;N1}cDA(VmR@BTHP$f]K4 ;ͮ~2;& @XE_'"9_-Muu9g9?N S[wI"Kfr4gHŧ6!i/H@o&Ƽ54)%3RJ?ƴ,G‹0C?T1ƁqYϦL-AJi$b𓄴 ҌjO2ޭf[Jr˻%|¹8ʑsn(1F%I2fT4Dx4ޔkGe fQmSvKIBZzjURqYWSF*>JqR-g +d/YTkwQ㛪 FEx_+C[SmYKc+QHtSE盜'ZKͨYִ[I%dJ\;VVjX/=p8!cќsiZ$oh=Rg+IENDB` 2PNG  IHDRB pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_F]IDATx10Cؖ- K -8b,4v+jB932y[<(6ĦvJ)!?̌ж-8Nߓjg>sQ4F#̌p<9Dk(hX`2n0wӸ(TySw^^|>/4Me)Rwv}q1YA)% n{Yo86AJ !-6D=LXyE_UxR߾`dҎsOpb MHTݐ^#*c,x憦۱"4|a˱+6v zo`gkbIJ*W>r:ai<[KWcP %%Caۋ]Xy&!}Pl?_^flgQ7|Ɇ4$F`z ٘y~> ʐ@{4 WUEu](z̨UUm[$J,͆,fT|s\.(˒D~FJG~MӰR}"fZH);K5%5vֶDBJClIENDB`-PNG  IHDRBw= pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_FXIDATxڜ=v1 gj\}.Cj.9Dn2їbUVKh^Oz>=??Ն^__^lC@$t7{>??ld`[en$N,6I2E)yۧ/>81yjdjQH,wyFV/wrtǤ/c\4DYC$[q<;CXp$c]䫢gkx8T?J4`i$LBvhwn=֓${2Dd+ٰ"٫P¥ڽ:RΌ4£P N-uZJ#:cdHwJnHH@kAm]3-|\$⨠Ou'1 z5rWp O̡5vBZ|&JJ/ ,^M<<+hiO,KU;Y\yUΘR/h;_˹XC%t鬔 S̗A2P 0MSxp)1 H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_FgIDATx1OA݃3˜XN7C11*Z9챵 V&,F0hޛndwf^6kD0nl0YH: H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_F)IDATx!NCAbp5W* HD='A*=\ 8hCowA ޛOM2%1Ȑc {dG7€u!JɅ$jؿnQW7s/ DJ9dѤ?CxAZUJPu|7֛X0C0C0C0C0C0C0C0C0C0COnҊޑM!%:<v$'G{y>JMݶnPFPPYW>AYg6瀈IENDB`ԉPNG  IHDRsBIT|d pHYsrtEXtSoftwarewww.inkscape.org<QIDATͱ @ ,93Q|?p8Ɩ0`ox+%ic'|C /xVCI`Eb2IENDB` PNG  IHDRNF pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_FFIDATxڴK0 C 9JVD%v DmҤ$i~~mu8m0 ` +H`E"'].xygdV" !L0%!TyK4Džua)\Be@JiVDgMJ~BIR,`5 k7"8|jז@C~1.ʚi{DNMG,hh5 >v)P$YQ/w{,wii+Rj)̖ݞ6l*_沨 J*7r&<-S9籌(q7-EcIENDB`PNG  IHDRB%}sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<5IDATmʱ @MpGX XIV< lweN"]V2IENDB` PNG  IHDR o AiCCPICC ProfileH wTSϽ7" %z ;HQIP&vDF)VdTG"cE b PQDE݌k 5ޚYg}׺PtX4X\XffGD=HƳ.d,P&s"7C$ E6<~&S2)212 "įl+ɘ&Y4Pޚ%ᣌ\%g|eTI(L0_&l2E9r9hxgIbטifSb1+MxL 0oE%YmhYh~S=zU&ϞAYl/$ZUm@O ޜl^ ' lsk.+7oʿ9V;?#I3eE妧KD d9i,UQ h A1vjpԁzN6p\W p G@ K0ށiABZyCAP8C@&*CP=#t] 4}a ٰ;GDxJ>,_“@FXDBX$!k"EHqaYbVabJ0՘cVL6f3bձX'?v 6-V``[a;p~\2n5׌ &x*sb|! ߏƿ' Zk! $l$T4QOt"y\b)AI&NI$R$)TIj"]&=&!:dGrY@^O$ _%?P(&OJEBN9J@y@yCR nXZOD}J}/G3ɭk{%Oחw_.'_!JQ@SVF=IEbbbb5Q%O@%!BӥyҸM:e0G7ӓ e%e[(R0`3R46i^)*n*|"fLUo՝mO0j&jajj.ϧwϝ_4갺zj=U45nɚ4ǴhZ ZZ^0Tf%9->ݫ=cXgN].[7A\SwBOK/X/_Q>QG[ `Aaac#*Z;8cq>[&IIMST`ϴ kh&45ǢYYF֠9<|y+ =X_,,S-,Y)YXmĚk]c}džjcΦ浭-v};]N"&1=xtv(}'{'IߝY) Σ -rqr.d._xpUەZM׍vm=+KGǔ ^WWbj>:>>>v}/avO8 FV> 2 u/_$\BCv< 5 ]s.,4&yUx~xw-bEDCĻHGKwFGEGME{EEKX,YFZ ={$vrK .3\rϮ_Yq*©L_wד+]eD]cIIIOAu_䩔)3ѩiB%a+]3='/40CiU@ёL(sYfLH$%Y jgGeQn~5f5wugv5k֮\۹Nw]m mHFˍenQQ`hBBQ-[lllfjۗ"^bO%ܒY}WwvwXbY^Ю]WVa[q`id2JjGէ{׿m>PkAma꺿g_DHGGu;776ƱqoC{P38!9 ҝˁ^r۽Ug9];}}_~imp㭎}]/}.{^=}^?z8hc' O*?f`ϳgC/Oϩ+FFGGόzˌㅿ)ѫ~wgbk?Jި9mdwi獵ޫ?cǑOO?w| x&mf2:Y~ pHYs a a[y+hIDAT8K+EQ %dx&.@HH2_m9EQFF2R𼵾Zn}ڻPW3>"Ԇk /B]di5`AZ&Bp|>ς+ %X7YVpY05X}7´w\ӷ[8AZdXz#VwFOeX'(+X<}]*\T ):&&*ԞtpA[<3g:Ide?QB ɚju)9)yګ@w!\7`ۧw%Ez;u=S?r.c ~K[]i"IENDB`PNG  IHDRV]RIDATϱ @ Cw @-TlAT\bՏbׂkFQ=1aL"SwjI <#IENDB` PNG  IHDRD# pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_FIDATx10 gDЅ z=@ 302OUufiP"8i٭ij" 3\uX5BE,i/!PB !AB !ABFIRz⓸;D8 KDPڭWUsia{o,֓IENDB`PNG  IHDRsBIT|d pHYsrtEXtSoftwarewww.inkscape.org<bIDAT @ECzPSո22%I$>wRSk~ǂR[_B X?PbhB$2ĈEj< 8/4[IENDB`PNG  IHDR;mGbKGD pHYs  tIME   +IDAT8c?> ?X= DX %.$dP s̐42# 2 qTQCl2@6dB6d9C/BI C^;UW-\T?DIENDB`̉PNG  IHDRBNA+ybKGD pHYs  tIME;߾bYIDATX1τ _8~7-ARP-6ا$mQ8>8hp2] ୵J",ymZ`45(gW)X[)|&c&=^O7ǧN{4s6=}%aC9[%=ȳ\0~Osj|uHbIr*{e.? "8X0M;}{; siss߾F2A IENDB`:PNG  IHDRƽ AiCCPICC ProfileH wTSϽ7" %z ;HQIP&vDF)VdTG"cE b PQDE݌k 5ޚYg}׺PtX4X\XffGD=HƳ.d,P&s"7C$ E6<~&S2)212 "įl+ɘ&Y4Pޚ%ᣌ\%g|eTI(L0_&l2E9r9hxgIbטifSb1+MxL 0oE%YmhYh~S=zU&ϞAYl/$ZUm@O ޜl^ ' lsk.+7oʿ9V;?#I3eE妧KD d9i,UQ h A1vjpԁzN6p\W p G@ K0ށiABZyCAP8C@&*CP=#t] 4}a ٰ;GDxJ>,_“@FXDBX$!k"EHqaYbVabJ0՘cVL6f3bձX'?v 6-V``[a;p~\2n5׌ &x*sb|! ߏƿ' Zk! $l$T4QOt"y\b)AI&NI$R$)TIj"]&=&!:dGrY@^O$ _%?P(&OJEBN9J@y@yCR nXZOD}J}/G3ɭk{%Oחw_.'_!JQ@SVF=IEbbbb5Q%O@%!BӥyҸM:e0G7ӓ e%e[(R0`3R46i^)*n*|"fLUo՝mO0j&jajj.ϧwϝ_4갺zj=U45nɚ4ǴhZ ZZ^0Tf%9->ݫ=cXgN].[7A\SwBOK/X/_Q>QG[ `Aaac#*Z;8cq>[&IIMST`ϴ kh&45ǢYYF֠9<|y+ =X_,,S-,Y)YXmĚk]c}džjcΦ浭-v};]N"&1=xtv(}'{'IߝY) Σ -rqr.d._xpUەZM׍vm=+KGǔ ^WWbj>:>>>v}/avO8 FV> 2 u/_$\BCv< 5 ]s.,4&yUx~xw-bEDCĻHGKwFGEGME{EEKX,YFZ ={$vrK .3\rϮ_Yq*©L_wד+]eD]cIIIOAu_䩔)3ѩiB%a+]3='/40CiU@ёL(sYfLH$%Y jgGeQn~5f5wugv5k֮\۹Nw]m mHFˍenQQ`hBBQ-[lllfjۗ"^bO%ܒY}WwvwXbY^Ю]WVa[q`id2JjGէ{׿m>PkAma꺿g_DHGGu;776ƱqoC{P38!9 ҝˁ^r۽Ug9];}}_~imp㭎}]/}.{^=}^?z8hc' O*?f`ϳgC/Oϩ+FFGGόzˌㅿ)ѫ~wgbk?Jި9mdwi獵ޫ?cǑOO?w| x&mf2:Y~ pHYs&&%0RIDATx fU%ʬ5YAAJq@mD%vP!\ƀ Z[qmn1}-(jνˬ$*[=wsZyu~/ٹs砺:lVz6Y5v___ Wxғ4/~q<<'JַQu=V>0 AqC^z7^{ Z۶T6^"~ p;hJrA  c*|:OcU7ZOlR;]qP]Bk^jOյ7XAnT`6Wiv1(R#0,1ujl/KA~-$.mN+ʟiHp4f╦ 㜦ul&#G _r^z%l'}oԑՈf E &pR[E'еM#ߵ3 2.߀3.i~ގ]i Dn.]-M͐#{ju}Zg JˁUy0IJGS@ u`a{.!5N{W?si4k5x9L$Mq/羱L8 켝ִ>JV(Q*[0ZJmZ[:3ܞ^Qٶp>=>fkskց2$=énc3E O)_䧲t$V7HJVg0'*z;q='iHPq |Kf_ B* ?h.΃u;-ł,S-+uvQ']~gtt#y(4f8pa5v5ٔBC錇͏.maJϊ4KL],ApZ~|p[<XEY@@0$L* ͙tQ 4A y4.X"`H [9EW6Ѕ~<stDͱ;sV?R҄5LYikG.-Ӵ<7X6;1//9U8#.⧢rev~jG=M%H#V37 aZ2=X) rVW322j=ՏLqٕt<1-Eq\(-xM*Z~׿[gb5 (ș[ocDO?qKk4ޚDSocDɷ&ӿu-g2"24 8 m/ 3`a!VVe^/"L^s/իS] l[5S}g keľx$QQk'?B$fz4~$믵[S{CSh^'/W7u+ ߩK,=_#/3*6/{M$YfNy/g?nt3_xoU|:W,zOA `V@6kA:묕Y:4T·)I2PiCyR+UW )kT~H/9}e$^~,dX=QJK YӀ!G?Bm[A(g{Z0>i`aH;%zoWT[)V}tY^Dzژ*obnv]]eqN(ٖO'ѣVRq(9WM+L D q9 e_^Ðĺ:`te=r8"vx B!!yi)/-mKݔ\ߪ19@^P-Ai_c´žm50ؘVgkA@B"z={!,N+=ӟM6=Sڼ*x^LeZ8iҰV_|=-X3f0 +D dDk_zܟ| ϩ™mn2쉄/ L#i>DNSwre/NEzDŽ4". &<Pկt=?W'.B<ۋ @yEoՊbM1~tm|2n;p k|\qC>!baajO|mK#˸*$2(V Ve蒖BH_ x_:Y y ?,lty Agp τ0w]K s* D P @~.PyK/u20bf{y`ha7 50`0-!Tܻ߲eqgV@҂kd.[`e"eU&7=ѱ}Lv4=(t˼i_s)^_ m%H9QV XNi끤davt?S~ӟ^ߘ5ؓJx6B+ NhN+^?e*0U:4@%n}{/2OÌ #z8Dx&)9ѿ&O(I>8T5d A -ѤJ,WH 7pYaLHp"N'c^`CPHrZN__X84 &T|swwn@+}m NM8x~ ^A j~[ f<pf  Xt倛OSCkw> ;_s-mlL\:Ar޾bŊYtӎ߇mZTmR]sXܕªe !M $3?OEڢo@a4|Bs}ϙt<x吼4$А~Ԑʔj~M[O{)cCL@W>2A -FM* :f C`)ĉ!#.&}/IYp1_h.aK~]|(p]X w{a mPB4+p_b-$Љ !XҧuQ xPy%j@β&u٬Ux/% #K{pAz 4r&tB>ח#3:p+Vxa):餓x~yta E#_QOhq xե:1⡧ˁKXktBn3__bf_~ xxXπ]QԳb.G@yJBe>8@2ީe 0H[|ikf1ot)JOMOx4^g Q>hSS[5_͝yG@yf^bf\lٳ | ,e'$R(C3gD̈vD ffuI<;N@̶+'}C`.f?4M'0 W;vWkw_/7bpv,`lyۍ̾vTt9Sx~v]Y]Nbn9zw׻Sqcz`3}O:l-0:&.vzO|ƒ%K>?^opPqv=m4K|),âT.[_2&ymn4rέjGQ[s0;09O%_eKmK7d1<5ii裏 o\f͟h?翯ޭzu[f|V嗚ꪞ-`/=>eJ#>YUOƥoxs{ۻ,A@=i'\}>oڊBM#e 6O4@i(_hd1d16}2}}N]o׾v>LĩxhK}/8∶"Wغ~`غug3ġit)ǁ 2yG@N;j0@ }q#hL?2q0|aYtAWs9]v'd#lH ~t+ yvjE=Ȓ ?-ϤӏAj;ɯH{K{}gTΉO9 %-*/7o.8V@D@ס+2c@p6/WݰaCEZ\њ|rR p7lxŒ%( I+ Jk_[ߘ7j 0.J+''㔽a:>Ɩ%F ?5ґ큇 A Á--a|1xD৓$.|.]_qUōBq;'k ZJ#ԧ>jUkլ[I)NA];ﺫ&~LAnܸ1]i t:hAsR&B=Cf|@Ztm%X-;F]w5j۶mr9 BeAC!AnDk^h@9h !6Wd`6W^yޭ2@rʊg%p9[wL]-`կ͛7WK[{iNs>y "ICR@_kA(C8h<2a+ <} _߀<-4!YtC-Cwf 2kukC.a6R*o:W<2~ A0]\ses:,ZeHFLc׭|h?vz|;ax GٴUn *8ZYmqXtQG ާ,i> eH[nCrA6 izX{[ۼ׷E"ބ}gxXWZg[ p@ 6X#+WZ\_G3MdrrY{˖,lh4$]IIP~I :3Iu0AHtmagPOG+ҮKƪ7m9?۷c)Vi.)Ţi˜ MP3w̴ǰ m?)_&* >x]qÚ G9$PY`P6-)B)A`hL-Ru}ro*F)Й 1`w+A؄N L X?S~˔ѓ!If~?)#\W4ipG4f#6 x ?7xL[YU\9!* - —ED+۶IvFP[nefvٝ16T9fE=1 MReɀ F"{]?G8 ߇{WƖL;3y#yi6wh%|A*]\]aw tICeV2, gatu}հpy<1$1+H'qWHTA \_O}SbO\Wt7ondkL&}ӻZC_`Mstre{O[%<<(19/lTc>2+W ԑ :pͪ67 @fq kqn~- E]$>22wJ|);߹C -`2P-nK?;PZu= t^Q<4!}^/|!<=}=]>4> Uv]n>Av\A`aʔ?| Xͨi\`@ˠh(?E t[z VePOO{" kJU5>U2+Q|K8fzv #zu7KrӂxjD Zkٖh`D.Vʘ?@GP a7k ;*s`Sض5xuns(W,ML]E tw':q X/YsHBU-xMv :^`^/L|Pmx2h9"j;F~ w$4қ~uŲOgr})̱_~Z5piGZj y[:_#D\&SG 7mm рoBP˦^=|9XzC^X8P1܃x6%i4fK;D0-8ik_E9o綞k,Ba#T|׺v} OBEe>^p5nYLyԇ@C^8:,6Vo_=y݁rQ%+,Z-R f!-U]Z eÈ W|i3?~l1h-_|9Qbʪր6܅5P56z z] z wgn xreFOi- t@L @LPκ57 nKӾtچ jz*qPNxD G BZQuw6xMضV{>o[ 0E:hX J)^@>'Kq3VYO%Ūz?&>,(VhPy-,h{$s 4ʾWZv6+Gg 4]K[%uׇ[,qXm㌧}p7uCJHng9큎/b距gi0<1M˴i';iszIq0uC %vypXClknAV'r%!ao};EZ["eH[DK@kjfյZV]6XmhO.޺u\BЯiiaӂ| 7>||~҉ F³us>m+4sk9ĉ,"S <vQmv *J|=$GҙyjK[ *l^e8>Yfkd[oKL \0ܧx#E\|?M.NCvv-vy焽|yGk5e8Ku!qzƀ]C/Ĺ6cފ`F^>nMq!Y*a|=Vޓpȡ *Z% 83Fz \hoG@hI8ݑ\!DGIZBzߠ[x"Mh&' C_Q- o#$,a+U.M"L?ܪm5 &;b] tϠ\ qN§}Lco^6DSrYKѮ>:{>q!-?A8 L1>>-T~z n<n HDit)@ɬ\((s`V?ix.!MHkI-M8$.,@~7?xO)djzKWա 6HVM/Ƨs'(^qh ,7{֭-O#<7g8CL Bء g940?! )yaKqs9YfpmuMol۶'&6- ƕk5q/~ (׹9׵w%>+jp\+AR(?N (*͝^VHi2 gD;9fzó~B4'v65i#/;>GZZzp[1_I}4%`8.ͪڹmft=|I/8 ; j{092c#}}9<·۫{lݺ8t$xB-&- L>j*(݅JO2rp>Z͊,B0>L_sJeB0?X&׿߄Sfow^+9;׿VֈmAš@3Vko}"vfmEY9zу>$=7tǩ ~|3#ëVWI9> ^qwazWO[ ܨӼ5.mthyZXH}|`iAKBfaO/}!f>״sڦ#[ }Ow\kK/]Ǟ^U#T||v:vi6 a1x#]t26hէ(lxK,"Y5e'yIi@UPXp1mqe}ǺJ|dIENDB` @PNG  IHDR Fn AiCCPICC ProfileH wTSϽ7" %z ;HQIP&vDF)VdTG"cE b PQDE݌k 5ޚYg}׺PtX4X\XffGD=HƳ.d,P&s"7C$ E6<~&S2)212 "įl+ɘ&Y4Pޚ%ᣌ\%g|eTI(L0_&l2E9r9hxgIbטifSb1+MxL 0oE%YmhYh~S=zU&ϞAYl/$ZUm@O ޜl^ ' lsk.+7oʿ9V;?#I3eE妧KD d9i,UQ h A1vjpԁzN6p\W p G@ K0ށiABZyCAP8C@&*CP=#t] 4}a ٰ;GDxJ>,_“@FXDBX$!k"EHqaYbVabJ0՘cVL6f3bձX'?v 6-V``[a;p~\2n5׌ &x*sb|! ߏƿ' Zk! $l$T4QOt"y\b)AI&NI$R$)TIj"]&=&!:dGrY@^O$ _%?P(&OJEBN9J@y@yCR nXZOD}J}/G3ɭk{%Oחw_.'_!JQ@SVF=IEbbbb5Q%O@%!BӥyҸM:e0G7ӓ e%e[(R0`3R46i^)*n*|"fLUo՝mO0j&jajj.ϧwϝ_4갺zj=U45nɚ4ǴhZ ZZ^0Tf%9->ݫ=cXgN].[7A\SwBOK/X/_Q>QG[ `Aaac#*Z;8cq>[&IIMST`ϴ kh&45ǢYYF֠9<|y+ =X_,,S-,Y)YXmĚk]c}džjcΦ浭-v};]N"&1=xtv(}'{'IߝY) Σ -rqr.d._xpUەZM׍vm=+KGǔ ^WWbj>:>>>v}/avO8 FV> 2 u/_$\BCv< 5 ]s.,4&yUx~xw-bEDCĻHGKwFGEGME{EEKX,YFZ ={$vrK .3\rϮ_Yq*©L_wד+]eD]cIIIOAu_䩔)3ѩiB%a+]3='/40CiU@ёL(sYfLH$%Y jgGeQn~5f5wugv5k֮\۹Nw]m mHFˍenQQ`hBBQ-[lllfjۗ"^bO%ܒY}WwvwXbY^Ю]WVa[q`id2JjGէ{׿m>PkAma꺿g_DHGGu;776ƱqoC{P38!9 ҝˁ^r۽Ug9];}}_~imp㭎}]/}.{^=}^?z8hc' O*?f`ϳgC/Oϩ+FFGGόzˌㅿ)ѫ~wgbk?Jި9mdwi獵ޫ?cǑOO?w| x&mf2:Y~ pHYs a a[y+IDATuϽ `q# Plmں h\?A8q{Vx"4.lj耩q3X1O4>9+˚{أ_xAsJ Kkb: nNi!Rw2z]qIENDB`rPNG  IHDR/e9IDAT] IhZH U[My7Wŕq#  +8,8㐬IENDB`PNG  IHDRV][IDATͻ @@Q0۰hK0 lLD>X`P^BB A99J?οxc|b ;0 }8$TgIENDB`PNG  IHDRBrbKGD pHYs  tIMEIDATX嘱 \*=16Θ30Wl0H\D8fP0|u]r=uD0mƱ0ϭoq\_M`IY3S6)3ǩlM_?Dpα`vۜ~3xY>:]Ԩ%/]A%G(niD~YƂ+jARgg캫l}I|*%WiV^/F (ٳ~Xr9$gN`*>Q|KkʔHyk'.y.^KoIv fIENDB`@PNG  IHDR<&bKGDb_ pHYs  tIME &vIDAThލZ[r@K^`Í_q,G@ Ĵjq&4M%y`&@#?D$yE$"$-ij$O>"bQ@w|4Ͷ5"6Nq"9?"'="FĞ&`3?V<`=}D4 2.GDHwP"CDp N%@D3A 䳗Y9pp#~~]OWS͑G[|Y$N{-^79M}z5~x$l0agڴg9"؈pCΑ Ya%{`;7 yl&$BNNIAef^x !/s-ܡ(yOl- zv_e6"("Yh\'¢o[m@:?D_o` i{'kDzavD<Էklj)$Lʘ.fZr^LQѵ_SmxYmGᅡf_|A}`KO~Vޫ2gsy %x!^{_]¸̳zy9:@r5XrkI(m¸{ڭs37xk3Pb:d[k3ټInk6ȓ0vQ1M[E ̢a"l,&k6" cAl9)?oʍm޾VAYmU6b^cT6bvxW3K{%XTHVh/tIENDB` PNG  IHDRD# pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_F$IDATx1N1E E " *Cʜ-!=BihJEP,޵DjU~o^GDo_-pb>8'!l.Sftdo 9^uYo䜻p d86=1`圕}1}'*B蚼Vr!ar=@J 1R֧gY/.ǛFi[9fM5DRK)A̒ӐZ PۜӐ.zW#۠>Ԥrͽ%}֐i>ʎH)׶8-,;3$^Iϕ/k* ~1Vق5}d4]cCitʥ8+⒑^Il$2Ln|2.nM_ &з*J}(!-Q[؊~H!C89֪^4`:sdY0Yr(Io9 XYgTGnweowDt lZ=@bާpX,n<;" NWk ($jv<IENDB`QtQuickControlsPlugin21QtQuickControlsPlugin   {{ tpprqedekc XSLC; 3-,QQuickActiontriggeredsourcetoggledcheckedtextChangedshortcutChangedshortcuticonChangediconNameChangediconSourceChangedtooltipChangedargenabledChangedcheckableChangedexclusiveGroupChangedtriggertexticonSourceiconName__icontooltipenabledcheckableexclusiveGroupQQuickExclusiveGroup* l TW&X[\ _ ` a befgh k*+'++++)++++ ++++'+ QIQI QI)PI QIQIQIQI QI)QI  12QQuickAction   QQuickExclusiveGroupDefaultProperty__actionscurrentChangedbindCheckableounbindCheckableupdateCurrentcurrentQQmlListProperty,$% ( +++'+'+ 'QI P 20QQuickExclusiveGroup           }sk] OMCMM LJI @ :4 -QQuickMenuDefaultPropertyitemsitemsChangedtitleChanged__selectedIndexChanged__menuClosedpopupVisibleChangedmenuContentItemChangedminimumWidthChanged__closeMenu__dismissMenuupdateSelectedIndexsetMenuContentItemQQuickItem*setPopupVisibleupdateTextwindowVisibleChangedpopupaddItemQQuickMenuItem*insertItemaddSeparatorinsertSeparatorQQuickMenuBase*removeItemclear__popupxyatActionIndextitleQQmlListProperty__selectedIndex__popupVisible__contentItem__minimumWidth__font__xOffset__yOffset__actionQQuickAction*           "+++++++++++++++  +++++++ PI! PI"PI#PI$ PI%PI&@P 'P (P )* T 10QQuickMenu    QQuickMenuBarDefaultPropertymenusmenusChangedcontentItemChangedQQmlListProperty__contentItemQQuickItem*__parentWindowQQuickWindow*__isNative++ PI PI P T 13QQuickMenuBar | QQuickMenuBasevisibleChangedvisibletypeQQuickMenuItemType::MenuItemType__parentMenu__isNative__visualItemQQuickItem*QQuickMenuSeparator  QQuickMenuTextenabledChangediconSourceChangediconNameChanged__textChanged__iconChangedupdateTextupdateEnabledupdateIconenablediconSourceiconName__icon` _YJB :67= =;3 2 0 -+"# QQuickMenuItemtriggeredtoggledcheckedtextChangedcheckableChangedexclusiveGroupChangedshortcutChangedactionChangedtriggerupdateShortcutupdateCheckedbindToActionQQuickAction*actionunbindFromActiontextcheckableexclusiveGroupQQuickExclusiveGroup*shortcut \JKNOPQ R S T U V Y ++++++++++++' QIQIQI QI)QI PI>6789:; < = ++++++++ QI QI QI )PI+QI T 'T T  P P S PJ?QQuickMenuItemTypeMenuItemTypeSeparatorItemMenu14QQuickMenuBase19QQuickMenuSeparator14QQuickMenuText14QQuickMenuItemQQuickMenuItemContainer23QQuickMenuItemContainerPVK <7QQuickMenuPopupWindowshowupdateSizeupdatePosition   +++21QQuickMenuPopupWindow |QQuickPopupWindowDefaultPropertypopupContentItempopupDismissedshowdismissPopupupdateSizeQQuickItem*parentItem($% & ' ++++ Q  Q 17QQuickPopupWindow      QQuickStackstatusChangedviewChangedindexChangedindex__indexstatusStatus__statusviewQQuickItem*__viewInactiveDeactivatingActivatingActive 8+++PIPI PI  PI PI PI< 11QQuickStackp t rnnpoQQuickSelectionModeSelectionModeNoSelectionSingleSelectionExtendedSelectionMultiSelectionContiguousSelection ~w hdYMBQQuickTooltipshowTextQQuickItem*itempostexthideText+ +13QQuickTooltip@ GD59== = ; 9 5 /)  QQuickSpinBoxValidatorvalueChangedminimumValueChangedmaximumValueChangeddecimalsChangedstepSizeChangedprefixChangedsuffixChangedtextChangedincrementdecrementtextvalueminimumValuemaximumValuedecimalsstepSizeprefixsuffix J@ABCDEF G H I ++++++++++ PI QIQIQIQIQI QI QI22QQuickSpinBoxValidator ~~wwpocbV_ h b\ UQR S PMOQQuickRangeModelvalueChangedvaluepositionChangedpositionstepSizeChangedstepSizeinvertedChangedinvertedminimumChangedminmaximumChangedmaxpositionAtMinimumChangedpositionAtMaximumChangedtoMinimumtoMaximumsetValuesetPositionvalueForPositionpositionForValueminimumValuemaximumValuepositionAtMinimumpositionAtMaximumzTWZ] ` cfil m n q tw++++ + + + + ++++QYPIPIQIQIQIQI QI16QQuickRangeModel  QQuickControlSettingsstyleChangedstyleNameChangedstylePathChangedstylestyleNamestylePathdpiScaleFactorhasTouchScreen +++PI QI QIT T 21QQuickControlSettings  % % ( &$$+27< < :6QQuickWheelAreaverticalValueChangedhorizontalValueChangedverticalWheelMovedhorizontalWheelMovedscrollSpeedChangedactiveChangedverticalDeltahorizontalDeltahorizontalMinimumValuehorizontalMaximumValueverticalMinimumValueverticalMaximumValuehorizontalValueverticalValuescrollSpeedactive 2,-./01++++++QI QI Q Q Q Q Q Q QIQI15QQuickWheelArea`ddYQPQQuickAbstractStyleDefaultPropertydatapaddingQQuickPadding*QQmlListProperty T  @ 19QQuickAbstractStyle  QQuickPaddingleftChangedtopChangedrightChangedbottomChangedsetLeftargsetTopsetRightsetBottomlefttoprightbottomF6789: = @ C ++++++++ QI QI QIQI13QQuickPaddingQTMETADATA qbjs IID,org.qt-project.Qt.QQmlExtensionInterface/1.0 classNameQtQuickControlsPlugin:@versiondebugMetaData uri$ QtQuick.Controls Hp*rrrrs ssss)s5sAsLsSs[seswssssssssssssA xA I I P$m@m mm0 mX m m *n؁ ^n n n` n z Wz A5z AQqz I{ = "-"͆{ U#u')y/}uEa5m- { #!'k(=/I,{ 9@q@@͐8{ 699EeD{ 1=>>D{ 0P{ 93-55K)P{ Ѕ<~ Ay% % p !U1p @hTܹ% & ( L+  AU\+ , q0 AImx- X - l2 -6 X  I6 7 !48 = "-"]D8 @ & ( d9 @ "( 9 \? $X ; = %؁ #!'k(݄/IdB uB ́ B ́ B ́ #&'/I 9#I's()/I- U#u')=/}uEa5m-( B B *d *1-Y-,-/,C ́ P 4C C .D --..y.a-7A!D <..-@D $ XD pE 5/$ ///-Q.a-7A]y$ .d.-,F @F G 0 a0u1100I hJ $K 2 m22222K K M 3O  93-55K) <O R 8U 699$U DV m;8 ;<E<; <W 0W Y =Z ` 1=>>  `  [ [ U@ 9@q@@Y\ 0\ ] }A AQByB^ a  iMoH  ,C++ ,,),7,D,X,b,j,s,,,z  , o Ȉ h z z P Ȁ @ @ H  0 (  p  h p  H P h H ( p rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtttz GCC: (GNU) 4.6 20120106 (prerelease)GCC: (GNU) 4.8 GNUgold 1.11A,aeabi"5TE  ,P\z   Y    ā ƁY ցY ؁ ځY Y  Y Y  Y Y  Y &Y ( *Y :Y < >Z N Z P RZ bZ d f$Z v,Z x z4Z f HU $f ,f `| 4f | l >>l >? &?? ?l 0W 0W P Y l H  8@P@DY l T@l p@@l @l [ 5[  a[ \ P  A(APY l ,A4>54?i4v?4?щ4J@4@94Am4A4AՊ4RB 4B=4Cq4C4Cً4GD 0D=0Em0E0E͌0XF0F-05G]0G0 H0{H0H0SIM0I}0'J0Jݎ J K6K9iKUKqK L;LŏpLL8} 8L,L)0MY@9MY@VMsM M M͐Nߐ2NߐFN;VN;fNWnNő<N&N&N' O'AO=&bO=&OcOcOy PVP zPtP lqQ@ QupQt:RYlR< 4SŘH[S T( \TtT-lGUX UpU lV` V[W8 WatW՞lXP XAp"YY0 Z]tTZѡlZh L[=py[t[!ld\ \ ]]H ]Et:^l^L 6_%`z_:`, `!H`it aݪlad bIpGbtb-lBc c cdD  eAHNetel;fT fipfٲ{g4 guHhh$ -iYHdij\ sj=Hj`jkܹSk@k1$kTkz l$m lz Ql@m- lz lmm5 lz #mm+ Rm{ mm. m{ mm/ n { Tn*n4 n,{ n^n4 n8{ 1on1 foD{ on0 oP{  pn7 DpQ`bpQ`p|p-.p[pk q9q `q~qѾ q"qqjronCr6lr r r3rI rS:s:s%wsssUsi, t\1t\Wt){tE`tt uABuAB)u,\uuuHv1$[vU qvavava v.v w)wMw4iw%w,wi()xHMxIxYxm"x4xX y8yXby:y;y;yQT z$@z$sz9z%DziN({4{\{Gt{8|~H|q,n|&| | |8|3}uW}1xs}R})b}}8~IT~~gF~~KD~xx$ 8LP.n,3]8J]8axDD,р! 1TI$m}8ԁ9U@x5@uXׂX$Gh.у/&Um4;m4`  . Y &4̅ $<9\Qi uΆ(4[ ԇ-4aP<Mn 6EHTֈT446)N=Hf=H~Llj,p H(HGz!AxD}q]yËi ڋ  H1HLdULҌ\MXAL7( a0=a0ZŽݎD$c$ ޏpp.Sz)<QW@=j@,  ?3eC$gw$=hk;KBHܓH!Afڔ88/I }IIYH8@h@!<!<ٖ]0]0Qr.ZVS<j4ԙpqXX?!<d] iwʚAy ~ ~ $.A.^Bo;,gkݛ{$9$ml?\ 88 $G $r ( (  ۝  p pC u  מ  7 e  ß V  V@c gi "  "  $2 W x ɡ, 0L@EPEP٢4YLAm((%! D! c@Uhʤ  `0(\%  p ե X @ f$%9ЦUi}=hݧ%,HAL+    8 ިA]3q`(x-  0 $ 8? lʪ&Ee ϫ1 EGY40pG| -\ݭ,l46  EX Vh `g@ ! ٮ# ,3 y= Y m  5 pz ! !x6"(Z-"48   8ϱȀ "D#g#9#U#ղq##!#J#q###۳$$9$Q$Di$q$$$%<Q&0&(!'(I',u',4'nk(s()"!dB  6́ KuB  e؁ B  B  ӷ D DH ` `,p SX z@ ( ͸z  *K*w*F*Fչ++++F[+,f,0ۺ,0-1-(KY-C  d ʻ D a-&,-E-o-(-(-(Ѽ.. . /<.SQ.nd.y..ѽ.(".<c@D  D  p / !/45/\/(/,F  $ h .P Xa0x}0000000au1,1I  H 80 z  @m2b2y222"2(2<MK  a u 8 93U3i39}3l3333$3O38-5X5BO  - J( `g 66 7$ )7$3M7$\q7$7$7$7$8\9,9:U   8 -;W1;E;Y;m;t1;(P;(o <<(E<W  8 3 8O }1=M=a=u=(=U===>,>hRZ  h` ~p H 9@U@3q@(]@x\  h 8P A8-AZAA{UAiA}A QB(/yBh^  | Ȉ 8  @ #:@Pm@"M0HOTryGXj>Wn{W(@br;{;i@f;h*Y 4d'Z Qu'D^Pi Pj#4DX "Gbs.n=[p 6VyQb >W*;Og$3U,Qok$V!Kg :J,K{(<h1Thv*I[u!He} ~Nz\"-_wBd@m(Q}Uh 4AWx   crtbegin_so.c$a$dplugin.cpp$t_ZZZN21QtQuickControlsPlugin16initializeEngineEP10QQmlEnginePKcENKUlvE_clEvE15qstring_literal_ZZ15qmlRegisterTypeRK4QUrlPKciiS3_E19__PRETTY_FUNCTION___ZL6qmldirqquickaction.cpp_ZN12_GLOBAL__N_123qMnemonicContextMatcherEP7QObjectN2Qt15ShortcutContextE_ZN12_GLOBAL__N_123qShortcutContextMatcherEP7QObjectN2Qt15ShortcutContextE_ZZN12QQuickAction5eventEP6QEventE19__PRETTY_FUNCTION__qquickexclusivegroup.cpp_ZL9isCheckedPK7QObject_ZZN20QQuickExclusiveGroup13bindCheckableEP7QObjectE19__PRETTY_FUNCTION___ZL16checkableSignalsqquickmenu.cpp_ZN5QListIP14QQuickMenuBaseE9node_copyEPNS2_4NodeES4_S4_.isra.21_ZN5QListI8QPointerI14QQuickMenuBaseEE9node_copyEPNS3_4NodeES5_S5_.isra.18_ZN5QListI8QPointerI14QQuickMenuBaseEE7deallocEPN9QListData4DataE.isra.17qquickmenubar.cpp_ZN5QListIP10QQuickMenuE9node_copyEPNS2_4NodeES4_S4_.isra.7qquickmenuitem.cppqquickmenupopupwindow.cppqquickpopupwindow.cppqquickstack.cppqquicktooltip.cppqquickspinboxvalidator.cppqquickrangemodel.cpp_ZL13qFuzzyCompareddqquickcontrolsettings.cpp_ZL16defaultStyleNamev_ZL12fromResourceRK7QString_ZL15styleImportPathP10QQmlEngineRK7QString_ZZN21QQuickControlSettingsC1EP10QQmlEngineE19__PRETTY_FUNCTION__qquickwheelarea.cppqquickabstractstyle.cppqrc_controls.cpp_ZN12_GLOBAL__N_138qCleanupResources_controls_dtor_class_D2Ev_ZN12_GLOBAL__N_138qCleanupResources_controls_dtor_class_D1Ev_GLOBAL__sub_I_qrc_controls.cpp_ZL18qt_resource_struct_ZL16qt_resource_name_ZL16qt_resource_data_ZN12_GLOBAL__N_1L41qCleanupResources_controls_dtor_instance_Emoc_plugin.cpp_ZL40qt_meta_stringdata_QtQuickControlsPlugin_ZL34qt_meta_data_QtQuickControlsPlugin_ZL17qt_pluginMetaData_ZL26qt_section_alignment_dummy_ZGVZ18qt_plugin_instanceE9_instance_ZZ18qt_plugin_instanceE9_instancemoc_qquickaction_p.cpp_ZL31qt_meta_stringdata_QQuickAction_ZL25qt_meta_data_QQuickActionmoc_qquickexclusivegroup_p.cpp_ZL39qt_meta_stringdata_QQuickExclusiveGroup_ZL33qt_meta_data_QQuickExclusiveGroupmoc_qquickmenu_p.cpp_ZL29qt_meta_stringdata_QQuickMenu_ZL23qt_meta_data_QQuickMenumoc_qquickmenubar_p.cpp_ZL32qt_meta_stringdata_QQuickMenuBar_ZL26qt_meta_data_QQuickMenuBarmoc_qquickmenuitem_p.cpp_ZL33qt_meta_stringdata_QQuickMenuBase_ZL38qt_meta_stringdata_QQuickMenuSeparator_ZL33qt_meta_stringdata_QQuickMenuText_ZL33qt_meta_stringdata_QQuickMenuItem_ZL27qt_meta_data_QQuickMenuItem_ZL27qt_meta_data_QQuickMenuText_ZL32qt_meta_data_QQuickMenuSeparator_ZL27qt_meta_data_QQuickMenuBase_ZL31qt_meta_data_QQuickMenuItemType_ZL37qt_meta_stringdata_QQuickMenuItemType_ZL32qt_meta_extradata_QQuickMenuBasemoc_qquickmenuitemcontainer_p.cpp_ZN5QListI8QPointerI14QQuickMenuBaseEE9node_copyEPNS3_4NodeES5_S5_.isra.4_ZN5QListI8QPointerI14QQuickMenuBaseEE7deallocEPN9QListData4DataE.isra.3_ZL42qt_meta_stringdata_QQuickMenuItemContainer_ZL36qt_meta_data_QQuickMenuItemContainermoc_qquickmenupopupwindow_p.cpp_ZL40qt_meta_stringdata_QQuickMenuPopupWindow_ZL34qt_meta_data_QQuickMenuPopupWindowmoc_qquickpopupwindow_p.cpp_ZL36qt_meta_stringdata_QQuickPopupWindow_ZL30qt_meta_data_QQuickPopupWindowmoc_qquickstack_p.cpp_ZL30qt_meta_stringdata_QQuickStack_ZL24qt_meta_data_QQuickStackmoc_qquickselectionmode_p.cpp_ZL32qt_meta_data_QQuickSelectionMode_ZL38qt_meta_stringdata_QQuickSelectionModemoc_qquicktooltip_p.cpp_ZL32qt_meta_stringdata_QQuickTooltip_ZL26qt_meta_data_QQuickTooltipmoc_qquickspinboxvalidator_p.cpp_ZL41qt_meta_stringdata_QQuickSpinBoxValidator_ZL35qt_meta_data_QQuickSpinBoxValidatormoc_qquickrangemodel_p.cpp_ZL35qt_meta_stringdata_QQuickRangeModel_ZL29qt_meta_data_QQuickRangeModelmoc_qquickcontrolsettings_p.cpp_ZL40qt_meta_stringdata_QQuickControlSettings_ZL34qt_meta_data_QQuickControlSettingsmoc_qquickwheelarea_p.cpp_ZL34qt_meta_stringdata_QQuickWheelArea_ZL28qt_meta_data_QQuickWheelAreamoc_qquickabstractstyle_p.cpp_ZL38qt_meta_stringdata_QQuickAbstractStyle_ZL32qt_meta_data_QQuickAbstractStylemoc_qquickpadding_p.cpp_ZL32qt_meta_stringdata_QQuickPadding_ZL26qt_meta_data_QQuickPadding__on_dlcloseatexit__dso_handle_ZN14QQuickMenuBase8isNativeEv_ZNK14QQuickMenuText6actionEv_ZN10QQuickMenu8isNativeEv_ZN22QQuickSpinBoxValidator10classBeginEv_ZThn8_N22QQuickSpinBoxValidator10classBeginEv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP10QQuickMenuLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP10QQuickMenuLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI10QQuickMenuELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP11QQuickStackLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP11QQuickStackLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI11QQuickStackELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP16QQuickRangeModelLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP16QQuickRangeModelLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI16QQuickRangeModelELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP15QQuickWheelAreaLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP15QQuickWheelAreaLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI15QQuickWheelAreaELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP22QQuickSpinBoxValidatorLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP22QQuickSpinBoxValidatorLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI22QQuickSpinBoxValidatorELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP12QQuickActionLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP12QQuickActionLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI12QQuickActionELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP20QQuickExclusiveGroupLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP20QQuickExclusiveGroupLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI20QQuickExclusiveGroupELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP13QQuickMenuBarLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP13QQuickMenuBarLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI13QQuickMenuBarELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP14QQuickMenuItemLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP14QQuickMenuItemLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI14QQuickMenuItemELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP18QQuickMenuItemTypeLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP18QQuickMenuItemTypeLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI18QQuickMenuItemTypeELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP19QQuickMenuSeparatorLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP19QQuickMenuSeparatorLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI19QQuickMenuSeparatorELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP14QQuickMenuBaseLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP14QQuickMenuBaseLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI14QQuickMenuBaseELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP19QQuickSelectionModeLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP19QQuickSelectionModeLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI19QQuickSelectionModeELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP19QQuickAbstractStyleLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP19QQuickAbstractStyleLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI19QQuickAbstractStyleELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP13QQuickPaddingLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP13QQuickPaddingLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI13QQuickPaddingELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP13QQuickTooltipLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP13QQuickTooltipLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP21QQuickControlSettingsLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP21QQuickControlSettingsLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP12QQuickActionLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI12QQuickActionELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP20QQuickExclusiveGroupLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI20QQuickExclusiveGroupELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP10QQuickMenuLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI10QQuickMenuELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP13QQuickMenuBarLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI13QQuickMenuBarELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP14QQuickMenuItemLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI14QQuickMenuItemELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP18QQuickMenuItemTypeLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI18QQuickMenuItemTypeELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP19QQuickMenuSeparatorLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI19QQuickMenuSeparatorELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP14QQuickMenuBaseLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI14QQuickMenuBaseELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP11QQuickStackLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI11QQuickStackELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP19QQuickSelectionModeLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI19QQuickSelectionModeELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP19QQuickAbstractStyleLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI19QQuickAbstractStyleELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP13QQuickPaddingLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI13QQuickPaddingELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP16QQuickRangeModelLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI16QQuickRangeModelELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP15QQuickWheelAreaLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI15QQuickWheelAreaELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP22QQuickSpinBoxValidatorLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI22QQuickSpinBoxValidatorELb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP13QQuickTooltipLb1EE6DeleteEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP21QQuickControlSettingsLb1EE6DeleteEPv_ZN11QQmlPrivate24AttachedPropertySelectorI11QQuickStackLi1EE18attachedPropertiesEP7QObject_ZN21QQuickControlsPrivate22registerSettingsModuleEP10QQmlEngineP9QJSEngine_ZN21QQuickControlsPrivate21registerTooltipModuleEP10QQmlEngineP9QJSEngine_ZN20QQuickExclusiveGroupD2Ev_ZN20QQuickExclusiveGroupD1Ev_ZN20QQuickExclusiveGroupD0Ev_ZN13QQuickPaddingD2Ev_ZN13QQuickPaddingD1Ev_ZN13QQuickPaddingD0Ev_ZN19QQuickMenuSeparatorD2Ev_ZN19QQuickMenuSeparatorD1Ev_ZN19QQuickMenuSeparatorD0Ev_ZN25QQuickDesktopIconProviderD2Ev_ZTV25QQuickDesktopIconProvider_ZN25QQuickDesktopIconProviderD1Ev_ZN25QQuickDesktopIconProviderD0Ev_ZN11QQmlPrivate11QQmlElementI19QQuickMenuSeparatorED2Ev_ZTVN11QQmlPrivate11QQmlElementI19QQuickMenuSeparatorEE_ZN11QQmlPrivate11QQmlElementI19QQuickMenuSeparatorED1Ev_ZN11QQmlPrivate11QQmlElementI19QQuickMenuSeparatorED0Ev_ZN11QQmlPrivate11QQmlElementI20QQuickExclusiveGroupED2Ev_ZTVN11QQmlPrivate11QQmlElementI20QQuickExclusiveGroupEE_ZN11QQmlPrivate11QQmlElementI20QQuickExclusiveGroupED1Ev_ZN11QQmlPrivate11QQmlElementI20QQuickExclusiveGroupED0Ev_ZN11QQmlPrivate11QQmlElementI22QQuickSpinBoxValidatorED2Ev_ZTVN11QQmlPrivate11QQmlElementI22QQuickSpinBoxValidatorEE_ZN11QQmlPrivate11QQmlElementI22QQuickSpinBoxValidatorED1Ev_ZThn8_N11QQmlPrivate11QQmlElementI22QQuickSpinBoxValidatorED1Ev_ZN11QQmlPrivate11QQmlElementI22QQuickSpinBoxValidatorED0Ev_ZThn8_N11QQmlPrivate11QQmlElementI22QQuickSpinBoxValidatorED0Ev_ZN11QQmlPrivate11QQmlElementI15QQuickWheelAreaED2Ev_ZTVN11QQmlPrivate11QQmlElementI15QQuickWheelAreaEE_ZN11QQmlPrivate11QQmlElementI15QQuickWheelAreaED1Ev_ZThn8_N11QQmlPrivate11QQmlElementI15QQuickWheelAreaED1Ev_ZN11QQmlPrivate11QQmlElementI15QQuickWheelAreaED0Ev_ZThn8_N11QQmlPrivate11QQmlElementI15QQuickWheelAreaED0Ev_ZN11QQmlPrivate11QQmlElementI16QQuickRangeModelED2Ev_ZTVN11QQmlPrivate11QQmlElementI16QQuickRangeModelEE_ZN11QQmlPrivate11QQmlElementI16QQuickRangeModelED1Ev_ZN11QQmlPrivate11QQmlElementI16QQuickRangeModelED0Ev_ZN11QQmlPrivate11QQmlElementI14QQuickMenuItemED2Ev_ZTVN11QQmlPrivate11QQmlElementI14QQuickMenuItemEE_ZN11QQmlPrivate11QQmlElementI14QQuickMenuItemED1Ev_ZN11QQmlPrivate11QQmlElementI14QQuickMenuItemED0Ev_ZN11QQmlPrivate11QQmlElementI13QQuickMenuBarED2Ev_ZTVN11QQmlPrivate11QQmlElementI13QQuickMenuBarEE_ZN11QQmlPrivate11QQmlElementI13QQuickMenuBarED1Ev_ZN11QQmlPrivate11QQmlElementI13QQuickMenuBarED0Ev_ZN11QQmlPrivate11QQmlElementI10QQuickMenuED2Ev_ZTVN11QQmlPrivate11QQmlElementI10QQuickMenuEE_ZN11QQmlPrivate11QQmlElementI10QQuickMenuED1Ev_ZN11QQmlPrivate11QQmlElementI10QQuickMenuED0Ev_ZN11QQmlPrivate11QQmlElementI12QQuickActionED2Ev_ZTVN11QQmlPrivate11QQmlElementI12QQuickActionEE_ZN11QQmlPrivate11QQmlElementI12QQuickActionED1Ev_ZN11QQmlPrivate11QQmlElementI12QQuickActionED0Ev_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP12QQuickActionLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP20QQuickExclusiveGroupLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP10QQuickMenuLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP13QQuickMenuBarLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP14QQuickMenuItemLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP18QQuickMenuItemTypeLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP19QQuickMenuSeparatorLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP14QQuickMenuBaseLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP11QQuickStackLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP19QQuickSelectionModeLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP19QQuickAbstractStyleLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP13QQuickPaddingLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP16QQuickRangeModelLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP15QQuickWheelAreaLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP22QQuickSpinBoxValidatorLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP13QQuickTooltipLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP21QQuickControlSettingsLb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI13QQuickPaddingELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI19QQuickMenuSeparatorELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI14QQuickMenuBaseELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI19QQuickSelectionModeELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI19QQuickAbstractStyleELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI16QQuickRangeModelELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI15QQuickWheelAreaELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI22QQuickSpinBoxValidatorELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI12QQuickActionELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI20QQuickExclusiveGroupELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI13QQuickMenuBarELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI14QQuickMenuItemELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI18QQuickMenuItemTypeELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI10QQuickMenuELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI11QQuickStackELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI12QQuickActionELb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI20QQuickExclusiveGroupELb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI10QQuickMenuELb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI11QQuickStackELb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI16QQuickRangeModelELb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI15QQuickWheelAreaELb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI22QQuickSpinBoxValidatorELb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI19QQuickAbstractStyleELb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI13QQuickPaddingELb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI18QQuickMenuItemTypeELb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI19QQuickMenuSeparatorELb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI13QQuickMenuBarELb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI14QQuickMenuBaseELb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI14QQuickMenuItemELb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI19QQuickSelectionModeELb1EE9ConstructEPvPKv_ZN11QQmlPrivate10createIntoI22QQuickSpinBoxValidatorEEvPv_ZN11QQmlPrivate10createIntoI15QQuickWheelAreaEEvPv_ZN11QQmlPrivate10createIntoI12QQuickActionEEvPv_ZN11QQmlPrivate10createIntoI14QQuickMenuItemEEvPv_ZN11QQmlPrivate10createIntoI19QQuickMenuSeparatorEEvPv_ZN11QQmlPrivate10createIntoI13QQuickMenuBarEEvPv_ZN11QQmlPrivate10createIntoI20QQuickExclusiveGroupEEvPv_ZN11QQmlPrivate10createIntoI10QQuickMenuEEvPv_ZN11QQmlPrivate10createIntoI16QQuickRangeModelEEvPv_ZN11QQmlPrivate10createIntoI19QQuickAbstractStyleEEvPv_ZTVN11QQmlPrivate11QQmlElementI19QQuickAbstractStyleEE_ZN9QtPrivate8RefCount3refEv_ZN9QtPrivate8RefCount5derefEv_ZN19QQuickAbstractStyleD2Ev_ZN19QQuickAbstractStyleD1Ev_ZN19QQuickAbstractStyleD0Ev_ZN11QQmlPrivate11QQmlElementI19QQuickAbstractStyleED2Ev_ZN11QQmlPrivate11QQmlElementI19QQuickAbstractStyleED1Ev_ZN11QQmlPrivate11QQmlElementI19QQuickAbstractStyleED0Ev_ZN10QByteArrayD2Ev_ZN10QByteArrayD1Ev_ZN7QStringD2Ev_ZN7QStringD1Ev_ZN25QQuickDesktopIconProvider13requestPixmapERK7QStringP5QSizeRKS3__ZplRK7QStringPKc_ZN15QVarLengthArrayIcLi48EEC2Ei_ZN15QVarLengthArrayIcLi48EEC1Ei_ZN15QVarLengthArrayIcLi48EED2Ev_ZN15QVarLengthArrayIcLi48EED1Ev_ZN15QVarLengthArrayIcLi64EEC2Ei_ZN15QVarLengthArrayIcLi64EEC1Ei_ZN15QVarLengthArrayIcLi64EED2Ev_ZN15QVarLengthArrayIcLi64EED1Ev_Z26qmlRegisterUncreatableTypeI18QQuickMenuItemTypeEiPKciiS2_RK7QString_Z26qmlRegisterUncreatableTypeI19QQuickSelectionModeEiPKciiS2_RK7QString_ZN15QBasicAtomicOpsILi4EE6_q_dmbEv_ZN18QMetaTypeIdQObjectIP19QQuickAbstractStyleLb1EE14qt_metatype_idEv_Z27qRegisterNormalizedMetaTypeIP19QQuickAbstractStyleEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN18QMetaTypeIdQObjectIP19QQuickAbstractStyleLb1EE14qt_metatype_idEvE11metatype_id_Z15qmlRegisterTypeI19QQuickAbstractStyleEiPKciiS2__ZN18QMetaTypeIdQObjectIP13QQuickPaddingLb1EE14qt_metatype_idEv_Z27qRegisterNormalizedMetaTypeIP13QQuickPaddingEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN18QMetaTypeIdQObjectIP13QQuickPaddingLb1EE14qt_metatype_idEvE11metatype_id_Z15qmlRegisterTypeI13QQuickPaddingEiv_Z27qRegisterNormalizedMetaTypeIP22QQuickSpinBoxValidatorEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN11QMetaTypeIdIP22QQuickSpinBoxValidatorE14qt_metatype_idEvE11metatype_id_ZN18QMetaTypeIdQObjectIP13QQuickMenuBarLb1EE14qt_metatype_idEv_Z27qRegisterNormalizedMetaTypeIP13QQuickMenuBarEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN18QMetaTypeIdQObjectIP13QQuickMenuBarLb1EE14qt_metatype_idEvE11metatype_id_Z15qmlRegisterTypeI13QQuickMenuBarEiPKciiS2__Z27qRegisterNormalizedMetaTypeIP10QQuickMenuEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN11QMetaTypeIdIP10QQuickMenuE14qt_metatype_idEvE11metatype_id_Z27qRegisterNormalizedMetaTypeIP16QQuickRangeModelEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN11QMetaTypeIdIP16QQuickRangeModelE14qt_metatype_idEvE11metatype_id_ZN18QMetaTypeIdQObjectIP19QQuickMenuSeparatorLb1EE14qt_metatype_idEv_Z27qRegisterNormalizedMetaTypeIP19QQuickMenuSeparatorEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN18QMetaTypeIdQObjectIP19QQuickMenuSeparatorLb1EE14qt_metatype_idEvE11metatype_id_Z15qmlRegisterTypeI19QQuickMenuSeparatorEiPKciiS2__Z27qRegisterNormalizedMetaTypeIP15QQuickWheelAreaEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN11QMetaTypeIdIP15QQuickWheelAreaE14qt_metatype_idEvE11metatype_id_ZN18QMetaTypeIdQObjectIP12QQuickActionLb1EE14qt_metatype_idEv_Z27qRegisterNormalizedMetaTypeIP12QQuickActionEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN18QMetaTypeIdQObjectIP12QQuickActionLb1EE14qt_metatype_idEvE11metatype_id_Z15qmlRegisterTypeI12QQuickActionEiPKciiS2__ZN18QMetaTypeIdQObjectIP13QQuickTooltipLb1EE14qt_metatype_idEv_Z27qRegisterNormalizedMetaTypeIP13QQuickTooltipEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN18QMetaTypeIdQObjectIP13QQuickTooltipLb1EE14qt_metatype_idEvE11metatype_id_Z24qmlRegisterSingletonTypeI13QQuickTooltipEiPKciiS2_PFP7QObjectP10QQmlEngineP9QJSEngineE_Z27qRegisterNormalizedMetaTypeIP11QQuickStackEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN11QMetaTypeIdIP11QQuickStackE14qt_metatype_idEvE11metatype_id_ZN18QMetaTypeIdQObjectIP14QQuickMenuBaseLb1EE14qt_metatype_idEv_Z27qRegisterNormalizedMetaTypeIP14QQuickMenuBaseEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN18QMetaTypeIdQObjectIP14QQuickMenuBaseLb1EE14qt_metatype_idEvE11metatype_id_Z26qmlRegisterUncreatableTypeI14QQuickMenuBaseEiPKciiS2_RK7QString_Z27qRegisterNormalizedMetaTypeI16QQmlListPropertyI15QQuickWheelAreaEEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS6_Xaasr12QMetaTypeId2IS6_E7DefinedntsrSB_9IsBuiltInEE11DefinedTypeE_ZZN11QMetaTypeIdI16QQmlListPropertyI15QQuickWheelAreaEE14qt_metatype_idEvE11metatype_id_Z15qmlRegisterTypeI15QQuickWheelAreaEiPKciiS2__ZN18QMetaTypeIdQObjectIP20QQuickExclusiveGroupLb1EE14qt_metatype_idEv_Z27qRegisterNormalizedMetaTypeIP20QQuickExclusiveGroupEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN18QMetaTypeIdQObjectIP20QQuickExclusiveGroupLb1EE14qt_metatype_idEvE11metatype_id_Z15qmlRegisterTypeI20QQuickExclusiveGroupEiPKciiS2__ZN18QMetaTypeIdQObjectIP21QQuickControlSettingsLb1EE14qt_metatype_idEv_Z27qRegisterNormalizedMetaTypeIP21QQuickControlSettingsEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN18QMetaTypeIdQObjectIP21QQuickControlSettingsLb1EE14qt_metatype_idEvE11metatype_id_Z24qmlRegisterSingletonTypeI21QQuickControlSettingsEiPKciiS2_PFP7QObjectP10QQmlEngineP9QJSEngineE_Z27qRegisterNormalizedMetaTypeI16QQmlListPropertyI11QQuickStackEEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS6_Xaasr12QMetaTypeId2IS6_E7DefinedntsrSB_9IsBuiltInEE11DefinedTypeE_ZZN11QMetaTypeIdI16QQmlListPropertyI11QQuickStackEE14qt_metatype_idEvE11metatype_id_Z26qmlRegisterUncreatableTypeI11QQuickStackEiPKciiS2_RK7QString_ZN18QMetaTypeIdQObjectIP14QQuickMenuItemLb1EE14qt_metatype_idEv_Z27qRegisterNormalizedMetaTypeIP14QQuickMenuItemEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE_ZZN18QMetaTypeIdQObjectIP14QQuickMenuItemLb1EE14qt_metatype_idEvE11metatype_id_Z15qmlRegisterTypeI14QQuickMenuItemEiPKciiS2__Z27qRegisterNormalizedMetaTypeI16QQmlListPropertyI16QQuickRangeModelEEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS6_Xaasr12QMetaTypeId2IS6_E7DefinedntsrSB_9IsBuiltInEE11DefinedTypeE_ZZN11QMetaTypeIdI16QQmlListPropertyI16QQuickRangeModelEE14qt_metatype_idEvE11metatype_id_Z15qmlRegisterTypeI16QQuickRangeModelEiPKciiS2__Z27qRegisterNormalizedMetaTypeI16QQmlListPropertyI22QQuickSpinBoxValidatorEEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS6_Xaasr12QMetaTypeId2IS6_E7DefinedntsrSB_9IsBuiltInEE11DefinedTypeE_ZZN11QMetaTypeIdI16QQmlListPropertyI22QQuickSpinBoxValidatorEE14qt_metatype_idEvE11metatype_id_Z15qmlRegisterTypeI22QQuickSpinBoxValidatorEiPKciiS2__Z27qRegisterNormalizedMetaTypeI16QQmlListPropertyI10QQuickMenuEEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS6_Xaasr12QMetaTypeId2IS6_E7DefinedntsrSB_9IsBuiltInEE11DefinedTypeE_ZZN11QMetaTypeIdI16QQmlListPropertyI10QQuickMenuEE14qt_metatype_idEvE11metatype_id_Z15qmlRegisterTypeI10QQuickMenuEiPKciiS2__ZNK21QtQuickControlsPlugin20isLoadedFromResourceEv_ZN21QtQuickControlsPlugin16initializeEngineEP10QQmlEnginePKc_ZThn8_N21QtQuickControlsPlugin16initializeEngineEP10QQmlEnginePKc_ZNK21QtQuickControlsPlugin12fileLocationEv_ZN21QtQuickControlsPlugin13registerTypesEPKc_ZThn8_N21QtQuickControlsPlugin13registerTypesEPKc_ZTI25QQuickDesktopIconProvider_ZTS25QQuickDesktopIconProvider_ZTIN11QQmlPrivate11QQmlElementI12QQuickActionEE_ZTSN11QQmlPrivate11QQmlElementI12QQuickActionEE_ZTIN11QQmlPrivate11QQmlElementI20QQuickExclusiveGroupEE_ZTSN11QQmlPrivate11QQmlElementI20QQuickExclusiveGroupEE_ZTIN11QQmlPrivate11QQmlElementI10QQuickMenuEE_ZTSN11QQmlPrivate11QQmlElementI10QQuickMenuEE_ZTIN11QQmlPrivate11QQmlElementI13QQuickMenuBarEE_ZTSN11QQmlPrivate11QQmlElementI13QQuickMenuBarEE_ZTIN11QQmlPrivate11QQmlElementI14QQuickMenuItemEE_ZTSN11QQmlPrivate11QQmlElementI14QQuickMenuItemEE_ZTIN11QQmlPrivate11QQmlElementI19QQuickMenuSeparatorEE_ZTSN11QQmlPrivate11QQmlElementI19QQuickMenuSeparatorEE_ZTIN11QQmlPrivate11QQmlElementI19QQuickAbstractStyleEE_ZTSN11QQmlPrivate11QQmlElementI19QQuickAbstractStyleEE_ZTIN11QQmlPrivate11QQmlElementI16QQuickRangeModelEE_ZTSN11QQmlPrivate11QQmlElementI16QQuickRangeModelEE_ZTIN11QQmlPrivate11QQmlElementI15QQuickWheelAreaEE_ZTSN11QQmlPrivate11QQmlElementI15QQuickWheelAreaEE_ZTIN11QQmlPrivate11QQmlElementI22QQuickSpinBoxValidatorEE_ZTSN11QQmlPrivate11QQmlElementI22QQuickSpinBoxValidatorEE_ZN12QQuickActionC2EP7QObject_ZN12QQuickActionC1EP7QObject_ZN12QQuickAction19setMnemonicFromTextERK7QString_ZN12QQuickAction7setTextERK7QString_ZN12QQuickAction10setEnabledEb_ZN12QQuickAction12setCheckableEb_ZN12QQuickAction10setCheckedEb_ZN15QBasicAtomicOpsILi4EE3refIiEEbRT__ZNK12QQuickAction8iconNameEv_ZN15QBasicAtomicOpsILi4EE5derefIiEEbRT__ZNK12QQuickAction8shortcutEv_ZN12QQuickAction11setShortcutERK8QVariant_ZN12QQuickAction13setIconSourceERK4QUrl_ZN12QQuickAction11setIconNameERK7QString_ZN12QQuickAction10setTooltipERK7QString_ZN12QWeakPointerI7QObjectED2Ev_ZN12QWeakPointerI7QObjectED1Ev_ZNK12QWeakPointerI7QObjectE4dataEv_ZNK12QQuickAction14exclusiveGroupEv_ZN12QQuickAction7triggerEP7QObject_ZN12QQuickAction5eventEP6QEvent_ZN12QQuickAction17setExclusiveGroupEP20QQuickExclusiveGroup_ZN12QQuickActionD2Ev_ZN12QQuickActionD1Ev_ZN12QQuickActionD0Ev_ZN20QQuickExclusiveGroup14append_actionsEP16QQmlListPropertyI12QQuickActionEPS1__ZN20QQuickExclusiveGroupC2EP7QObject_ZN20QQuickExclusiveGroupC1EP7QObject_ZN20QQuickExclusiveGroup7actionsEv_ZN20QQuickExclusiveGroup10setCurrentEP7QObject_ZN20QQuickExclusiveGroup13updateCurrentEv_ZN20QQuickExclusiveGroup15unbindCheckableEP7QObject_ZN6QDebugD2Ev_ZN6QDebugD1Ev_ZN20QQuickExclusiveGroup13bindCheckableEP7QObject_ZN5QHashIP7QObjectP23QQuickMenuItemContainerE11deleteNode2EPN9QHashData4NodeE_ZN5QHashIP7QObjectP23QQuickMenuItemContainerE13duplicateNodeEPN9QHashData4NodeEPv_ZN10QQuickMenu10setVisibleEb_ZN10QQuickMenu15count_menuItemsEP16QQmlListPropertyI7QObjectE_ZNK9QListData4sizeEv_ZN10QQuickMenuC2EP7QObject_ZN10QQuickMenuC1EP7QObject_ZN10QQuickMenu15setMinimumWidthEi_ZN10QQuickMenu7setFontERK5QFont_ZN10QQuickMenu10setXOffsetEd_ZN10QQuickMenu10setYOffsetEd_ZN10QQuickMenu16setSelectedIndexEi_ZN10QQuickMenu9menuItemsEv_ZN10QQuickMenu16append_menuItemsEP16QQmlListPropertyI7QObjectEPS1__ZN10QQuickMenu12at_menuItemsEP16QQmlListPropertyI7QObjectEi_ZN10QQuickMenu15clear_menuItemsEP16QQmlListPropertyI7QObjectE_ZN10QQuickMenu16findParentWindowEv_ZN10QQuickMenu18setMenuContentItemEP10QQuickItem_ZN10QQuickMenu15setPopupVisibleEb_ZN10QQuickMenu11__closeMenuEv_ZN10QQuickMenu13__dismissMenuEv_ZN10QQuickMenu20windowVisibleChangedEb_ZNK10QQuickMenu20itemIndexToListIndexEiPiS0__ZNK10QQuickMenu21itemIndexForListIndexEi_ZN10QQuickMenu13setupMenuItemEP14QQuickMenuBasei_ZN8QPointerI14QQuickMenuBaseEC2EPS0__ZN8QPointerI14QQuickMenuBaseEC1EPS0__ZNK5QListIP14QQuickMenuBaseE7indexOfERKS1_i_ZN5QHashIP7QObjectP23QQuickMenuItemContainerED2Ev_ZN5QHashIP7QObjectP23QQuickMenuItemContainerED1Ev_ZN23QQuickMenuItemContainer10insertItemEiP14QQuickMenuBase_ZN5QHashIP7QObjectP23QQuickMenuItemContainerE6detachEv_ZNK5QHashIP7QObjectP23QQuickMenuItemContainerE8findNodeERKS1_Pj_ZN5QHashIP7QObjectP23QQuickMenuItemContainerE10createNodeEjRKS1_RKS3_PP9QHashNodeIS1_S3_E_ZN5QHashIP7QObjectP23QQuickMenuItemContainerEixERKS1__ZN5QListIP14QQuickMenuBaseE18detach_helper_growEii_ZN5QListIP14QQuickMenuBaseE6insertEiRKS1__ZN10QQuickMenu10insertItemEiP14QQuickMenuBase_ZN10QQuickMenu10insertItemEi7QString_ZN10QQuickMenu7addItemE7QString_ZN10QQuickMenu15insertSeparatorEi_ZN10QQuickMenu12addSeparatorEv_ZN5QListIP14QQuickMenuBaseE6appendERKS1__ZNK10QQuickMenu12nextMenuItemEPNS_16MenuItemIteratorE_ZNK10QQuickMenu15menuItemAtIndexEi_ZN10QQuickMenu7__popupEddi_ZN10QQuickMenu5popupEv_ZNK5QListI8QPointerI14QQuickMenuBaseEE7indexOfERKS2_i_ZNK10QQuickMenu15indexOfMenuItemEP14QQuickMenuBase_ZN10QQuickMenu19updateSelectedIndexEv_ZN5QListI8QPointerI14QQuickMenuBaseEE9removeOneERKS2__ZN10QQuickMenu8containsEP14QQuickMenuBase_ZN5QListIP14QQuickMenuBaseE6detachEv_ZN10QQuickMenu10removeItemEP14QQuickMenuBase_ZN5QListIP14QQuickMenuBaseE9takeFirstEv_ZN10QQuickMenuD2Ev_ZN10QQuickMenuD1Ev_ZN10QQuickMenuD0Ev_ZN10QQuickMenu5clearEv_ZN10QQuickMenu10updateTextEv_ZN13QQuickMenuBar10count_menuEP16QQmlListPropertyI10QQuickMenuE_ZN13QQuickMenuBar11append_menuEP16QQmlListPropertyI10QQuickMenuEPS1__ZN13QQuickMenuBar7at_menuEP16QQmlListPropertyI10QQuickMenuEi_ZN13QQuickMenuBarD2Ev_ZN13QQuickMenuBarD1Ev_ZN13QQuickMenuBarD0Ev_ZN13QQuickMenuBarC2EP7QObject_ZN13QQuickMenuBarC1EP7QObject_ZN13QQuickMenuBar5menusEv_ZN13QQuickMenuBar8isNativeEv_ZN13QQuickMenuBar14setContentItemEP10QQuickItem_ZN13QQuickMenuBar15setParentWindowEP12QQuickWindow_ZN14QQuickMenuBase13setParentMenuEP10QQuickMenu_ZNK14QQuickMenuItem6actionEv_ZN14QQuickMenuItem13setParentMenuEP10QQuickMenu_ZN14QQuickMenuText10setEnabledEb_ZNK14QQuickMenuText10iconSourceEv_ZNK14QQuickMenuText8iconNameEv_ZNK14QQuickMenuText4iconEv_ZNK14QQuickMenuItem10iconSourceEv_ZNK14QQuickMenuItem4iconEv_ZN14QQuickMenuItem10setEnabledEb_ZN14QQuickMenuBaseC2EP7QObjecti_ZN14QQuickMenuBaseC1EP7QObjecti_ZNK14QQuickMenuBase19parentMenuOrMenuBarEv_ZNK14QQuickMenuBase10parentMenuEv_ZNK14QQuickMenuBase9containerEv_ZN14QQuickMenuBase12setContainerEP23QQuickMenuItemContainer_ZN14QQuickMenuBase20syncWithPlatformMenuEv_ZN14QQuickMenuBase10setVisibleEb_ZNK14QQuickMenuBase10visualItemEv_ZN19QQuickMenuSeparatorC2EP7QObject_ZN19QQuickMenuSeparatorC1EP7QObject_ZN14QQuickMenuTextC2EP7QObjectN18QQuickMenuItemType12MenuItemTypeE_ZN14QQuickMenuTextC1EP7QObjectN18QQuickMenuItemType12MenuItemTypeE_ZNK14QQuickMenuText7enabledEv_ZN14QQuickMenuText7setTextERK7QString_ZN14QQuickMenuText13setIconSourceERK4QUrl_ZN14QQuickMenuText11setIconNameERK7QString_ZN14QQuickMenuText13updateEnabledEv_ZN14QQuickMenuText10updateIconEv_ZN14QQuickMenuItemC2EP7QObject_ZN14QQuickMenuItemC1EP7QObject_ZN14QQuickMenuItem16unbindFromActionEP7QObject_ZNK14QQuickMenuItem8shortcutEv_ZN14QQuickMenuItem11setShortcutERK8QVariant_ZNK14QQuickMenuItem9checkableEv_ZN14QQuickMenuItem12setCheckableEb_ZNK14QQuickMenuItem7checkedEv_ZN14QQuickMenuItem10setCheckedEb_ZN14QQuickMenuItem13updateCheckedEv_ZNK14QQuickMenuItem14exclusiveGroupEv_ZN14QQuickMenuItem17setExclusiveGroupEP20QQuickExclusiveGroup_ZN14QQuickMenuItem7triggerEv_ZNK14QQuickMenuText4textEv_ZN14QQuickMenuText10updateTextEv_ZNK14QQuickMenuItem8iconNameEv_ZN14QQuickMenuItem14updateShortcutEv_ZN14QQuickMenuItem12bindToActionEP12QQuickAction_ZN14QQuickMenuItem14setBoundActionEP12QQuickAction_ZNK14QQuickMenuItem4textEv_ZN14QQuickMenuBaseD2Ev_ZN14QQuickMenuBaseD1Ev_ZN14QQuickMenuBaseD0Ev_ZN14QQuickMenuTextD2Ev_ZN14QQuickMenuTextD1Ev_ZN14QQuickMenuTextD0Ev_ZN14QQuickMenuItemD2Ev_ZN14QQuickMenuItemD1Ev_ZN14QQuickMenuItemD0Ev_ZN14QQuickMenuBase13setVisualItemEP10QQuickItem_ZN21QQuickMenuPopupWindow4showEv_Z6qRoundd_ZNK7QWindow5widthEv_ZN21QQuickMenuPopupWindowC2Ev_ZN21QQuickMenuPopupWindowC1Ev_ZN21QQuickMenuPopupWindow9setItemAtEP10QQuickItem_ZN21QQuickMenuPopupWindow15setParentWindowEP12QQuickWindow_ZN21QQuickMenuPopupWindow13setParentItemEP10QQuickItem_ZN21QQuickMenuPopupWindow11setGeometryEiiii_ZN21QQuickMenuPopupWindow10updateSizeEv_ZN21QQuickMenuPopupWindow14updatePositionEv_ZN17QQuickPopupWindow13setParentItemEP10QQuickItem_ZN17QQuickPopupWindow4showEv_ZNK7QPointF7toPointEv_ZN5QRectC2ERK6QPointRK5QSize_ZN5QRectC1ERK6QPointRK5QSize_ZN17QQuickPopupWindowC2Ev_ZN17QQuickPopupWindowC1Ev_ZN17QQuickPopupWindow19setPopupContentItemEP10QQuickItem_ZN17QQuickPopupWindow10updateSizeEv_ZN17QQuickPopupWindow12dismissPopupEv_ZN17QQuickPopupWindow29forwardEventToTransientParentEP11QMouseEvent_ZN17QQuickPopupWindow14mouseMoveEventEP11QMouseEvent_ZN17QQuickPopupWindow15mousePressEventEP11QMouseEvent_ZN17QQuickPopupWindow17mouseReleaseEventEP11QMouseEvent_ZN17QQuickPopupWindow11exposeEventEP12QExposeEvent_ZN17QQuickPopupWindow9hideEventEP10QHideEvent_ZN11QQuickStackC2EP7QObject_ZN11QQuickStackC1EP7QObject_ZN11QQuickStack21qmlAttachedPropertiesEP7QObject_ZNK11QQuickStack5indexEv_ZN11QQuickStack8setIndexEi_ZNK11QQuickStack6statusEv_ZN11QQuickStack9setStatusENS_6StatusE_ZNK11QQuickStack4viewEv_ZN11QQuickStack7setViewEP10QQuickItem_ZN13QQuickTooltipC2EP7QObject_ZN13QQuickTooltipC1EP7QObject_ZN13QQuickTooltip8showTextEP10QQuickItemRK7QPointFRK7QString_ZN13QQuickTooltip8hideTextEv_ZN22QQuickSpinBoxValidatorC2EP7QObject_ZN22QQuickSpinBoxValidatorC1EP7QObject_ZNK22QQuickSpinBoxValidator5valueEv_ZN22QQuickSpinBoxValidator8setValueEd_ZN22QQuickSpinBoxValidator17componentCompleteEv_ZThn8_N22QQuickSpinBoxValidator17componentCompleteEv_ZNK22QQuickSpinBoxValidator12minimumValueEv_ZN22QQuickSpinBoxValidator15setMinimumValueEd_ZNK22QQuickSpinBoxValidator12maximumValueEv_ZN22QQuickSpinBoxValidator15setMaximumValueEd_ZNK22QQuickSpinBoxValidator8decimalsEv_ZN22QQuickSpinBoxValidator11setDecimalsEi_ZNK22QQuickSpinBoxValidator8stepSizeEv_ZN22QQuickSpinBoxValidator11setStepSizeEd_ZNK22QQuickSpinBoxValidator6prefixEv_ZN22QQuickSpinBoxValidator9setPrefixERK7QString_ZNK22QQuickSpinBoxValidator6suffixEv_ZN22QQuickSpinBoxValidator9setSuffixERK7QString_ZN22QQuickSpinBoxValidator9incrementEv_ZN22QQuickSpinBoxValidator9decrementEv_ZNK22QQuickSpinBoxValidator13textFromValueEd_ZNK22QQuickSpinBoxValidator4textEv_ZNK22QQuickSpinBoxValidator5fixupER7QString_ZN22QQuickSpinBoxValidatorD2Ev_ZN22QQuickSpinBoxValidatorD1Ev_ZThn8_N22QQuickSpinBoxValidatorD1Ev_ZN22QQuickSpinBoxValidatorD0Ev_ZThn8_N22QQuickSpinBoxValidatorD0Ev_ZNK22QQuickSpinBoxValidator8validateER7QStringRi_ZN23QQuickRangeModelPrivateD2Ev_ZN23QQuickRangeModelPrivateD1Ev_ZN23QQuickRangeModelPrivateD0Ev_ZN16QQuickRangeModelD2Ev_ZN16QQuickRangeModelD1Ev_ZN16QQuickRangeModelD0Ev_ZNK23QQuickRangeModelPrivate18equivalentPositionEd_ZNK23QQuickRangeModelPrivate15equivalentValueEd_ZN23QQuickRangeModelPrivateC2EP16QQuickRangeModel_ZN23QQuickRangeModelPrivateC1EP16QQuickRangeModel_ZN23QQuickRangeModelPrivate4initEv_ZNK23QQuickRangeModelPrivate14publicPositionEd_ZNK23QQuickRangeModelPrivate11publicValueEd_ZN16QQuickRangeModelC2EP7QObject_ZN16QQuickRangeModelC1EP7QObject_ZN16QQuickRangeModelC2ER23QQuickRangeModelPrivateP7QObject_ZN16QQuickRangeModelC1ER23QQuickRangeModelPrivateP7QObject_ZNK16QQuickRangeModel7minimumEv_ZNK16QQuickRangeModel7maximumEv_ZNK16QQuickRangeModel8stepSizeEv_ZNK16QQuickRangeModel16positionForValueEd_ZNK16QQuickRangeModel8positionEv_ZNK16QQuickRangeModel17positionAtMinimumEv_ZNK16QQuickRangeModel17positionAtMaximumEv_ZNK16QQuickRangeModel16valueForPositionEd_ZNK16QQuickRangeModel5valueEv_ZN23QQuickRangeModelPrivate29emitValueAndPositionIfChangedEdd_ZN16QQuickRangeModel16setPositionRangeEdd_ZN16QQuickRangeModel20setPositionAtMinimumEd_ZN16QQuickRangeModel20setPositionAtMaximumEd_ZN16QQuickRangeModel8setRangeEdd_ZN16QQuickRangeModel10setMinimumEd_ZN16QQuickRangeModel10setMaximumEd_ZN16QQuickRangeModel11setStepSizeEd_ZN16QQuickRangeModel11setPositionEd_ZN16QQuickRangeModel8setValueEd_ZN16QQuickRangeModel11setInvertedEb_ZNK16QQuickRangeModel8invertedEv_ZN16QQuickRangeModel9toMinimumEv_ZN16QQuickRangeModel9toMaximumEv_ZTS23QQuickRangeModelPrivate_ZTI23QQuickRangeModelPrivate_ZTV23QQuickRangeModelPrivate_ZN7QStringC2ERK10QByteArray_ZN7QStringC1ERK10QByteArray_ZN6QDebuglsEPKc_ZN6QDebuglsERK7QString_ZNK21QQuickControlSettings14hasTouchScreenEv_ZNK21QQuickControlSettings9styleNameEv_ZN21QQuickControlSettings12setStyleNameERK7QString_ZNK21QQuickControlSettings9stylePathEv_ZN21QQuickControlSettings12setStylePathERK7QString_ZNK21QQuickControlSettings13styleFilePathEv_ZNK21QQuickControlSettings5styleEv_ZNK21QQuickControlSettings14dpiScaleFactorEv_ZN5QListI7QStringED2Ev_ZN5QListI7QStringED1Ev_ZN21QQuickControlSettingsC2EP10QQmlEngine_ZN21QQuickControlSettingsC1EP10QQmlEngine_ZN15QQuickWheelAreaD2Ev_ZN15QQuickWheelAreaD1Ev_ZThn8_N15QQuickWheelAreaD1Ev_ZN15QQuickWheelAreaD0Ev_ZThn8_N15QQuickWheelAreaD0Ev_ZN15QQuickWheelAreaC2EP10QQuickItem_ZN15QQuickWheelAreaC1EP10QQuickItem_ZN15QQuickWheelArea25setHorizontalMinimumValueEd_ZNK15QQuickWheelArea22horizontalMinimumValueEv_ZN15QQuickWheelArea25setHorizontalMaximumValueEd_ZNK15QQuickWheelArea22horizontalMaximumValueEv_ZN15QQuickWheelArea23setVerticalMinimumValueEd_ZNK15QQuickWheelArea20verticalMinimumValueEv_ZN15QQuickWheelArea23setVerticalMaximumValueEd_ZNK15QQuickWheelArea20verticalMaximumValueEv_ZN15QQuickWheelArea18setHorizontalValueEd_ZNK15QQuickWheelArea15horizontalValueEv_ZN15QQuickWheelArea16setVerticalValueEd_ZNK15QQuickWheelArea13verticalValueEv_ZN15QQuickWheelArea16setVerticalDeltaEd_ZNK15QQuickWheelArea13verticalDeltaEv_ZN15QQuickWheelArea18setHorizontalDeltaEd_ZNK15QQuickWheelArea15horizontalDeltaEv_ZN15QQuickWheelArea14setScrollSpeedEd_ZNK15QQuickWheelArea11scrollSpeedEv_ZNK15QQuickWheelArea8isActiveEv_ZN15QQuickWheelArea9setActiveEb_ZN15QQuickWheelArea10wheelEventEP11QWheelEvent_ZN19QQuickAbstractStyle10data_countEP16QQmlListPropertyI7QObjectE_ZN19QQuickAbstractStyle7data_atEP16QQmlListPropertyI7QObjectEi_ZN19QQuickAbstractStyle10data_clearEP16QQmlListPropertyI7QObjectE_ZN19QQuickAbstractStyleC2EP7QObject_ZN19QQuickAbstractStyleC1EP7QObject_ZN19QQuickAbstractStyle4dataEv_ZN19QQuickAbstractStyle11data_appendEP16QQmlListPropertyI7QObjectEPS1__ZN5QListIP7QObjectE18detach_helper_growEii_Z23qInitResources_controlsv_Z26qCleanupResources_controlsv_ZN21QtQuickControlsPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZNK21QtQuickControlsPlugin10metaObjectEv_ZN21QtQuickControlsPluginD2Ev_ZN21QtQuickControlsPluginD1Ev_ZThn8_N21QtQuickControlsPluginD1Ev_ZN21QtQuickControlsPluginD0Ev_ZThn8_N21QtQuickControlsPluginD0Ev_ZN8QPointerI7QObjectED2Ev_ZN8QPointerI7QObjectED1Ev_ZN12QWeakPointerI7QObjectE6assignIS0_EERS1_PT__ZN21QtQuickControlsPlugin11qt_metacastEPKc_ZN21QtQuickControlsPlugin11qt_metacallEN11QMetaObject4CallEiPPv_ZTS21QtQuickControlsPlugin_ZTI21QtQuickControlsPlugin_ZTV21QtQuickControlsPlugin_ZN21QtQuickControlsPlugin16staticMetaObjectE_ZNK12QQuickAction10metaObjectEv_ZN12QQuickAction9triggeredEP7QObject_ZN12QQuickAction7toggledEb_ZN12QQuickAction11textChangedEv_ZN12QQuickAction15shortcutChangedE8QVariant_ZN12QQuickAction11iconChangedEv_ZN12QQuickAction15iconNameChangedEv_ZN12QQuickAction17iconSourceChangedEv_ZN12QQuickAction14tooltipChangedE7QString_ZN12QQuickAction14enabledChangedEv_ZN12QQuickAction16checkableChangedEv_ZN12QQuickAction21exclusiveGroupChangedEv_ZN12QQuickAction18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN12QQuickAction11qt_metacastEPKc_ZN12QQuickAction11qt_metacallEN11QMetaObject4CallEiPPv_ZTS12QQuickAction_ZTI12QQuickAction_ZTV12QQuickAction_ZN12QQuickAction16staticMetaObjectE_ZNK20QQuickExclusiveGroup10metaObjectEv_ZN20QQuickExclusiveGroup14currentChangedEv_ZN20QQuickExclusiveGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN20QQuickExclusiveGroup11qt_metacastEPKc_ZN20QQuickExclusiveGroup11qt_metacallEN11QMetaObject4CallEiPPv_ZTS20QQuickExclusiveGroup_ZTI20QQuickExclusiveGroup_ZTV20QQuickExclusiveGroup_ZN20QQuickExclusiveGroup16staticMetaObjectE_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI7QObjectELb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI7QObjectELb1EE6DeleteEPv_ZNK10QQuickMenu10metaObjectEv_ZN10QQuickMenu12itemsChangedEv_ZN10QQuickMenu12titleChangedEv_ZN10QQuickMenu22__selectedIndexChangedEv_ZN10QQuickMenu12__menuClosedEv_ZN10QQuickMenu19popupVisibleChangedEv_ZN10QQuickMenu22menuContentItemChangedEv_ZN10QQuickMenu19minimumWidthChangedEv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI7QObjectELb1EE6CreateEPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI16QQmlListPropertyI7QObjectELb1EE9ConstructEPvPKv_ZN11QMetaTypeIdI16QQmlListPropertyI7QObjectEE14qt_metatype_idEv_ZZN11QMetaTypeIdI16QQmlListPropertyI7QObjectEE14qt_metatype_idEvE11metatype_id_ZN10QQuickMenu18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN10QQuickMenu11qt_metacastEPKc_ZN10QQuickMenu11qt_metacallEN11QMetaObject4CallEiPPv_ZTS10QQuickMenu_ZTI10QQuickMenu_ZTV10QQuickMenu_ZN10QQuickMenu16staticMetaObjectE_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP10QQuickItemLb1EE8DestructEPv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP10QQuickItemLb1EE9ConstructEPvPKv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP10QQuickItemLb1EE6DeleteEPv_ZNK13QQuickMenuBar10metaObjectEv_ZN13QQuickMenuBar12menusChangedEv_ZN13QQuickMenuBar18contentItemChangedEv_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP10QQuickItemLb1EE6CreateEPKv_ZN11QMetaTypeIdI16QQmlListPropertyI10QQuickMenuEE14qt_metatype_idEv_ZN11QMetaTypeIdIP10QQuickItemE14qt_metatype_idEv_ZZN11QMetaTypeIdIP10QQuickItemE14qt_metatype_idEvE11metatype_id_ZN13QQuickMenuBar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN13QQuickMenuBar11qt_metacastEPKc_ZN13QQuickMenuBar11qt_metacallEN11QMetaObject4CallEiPPv_ZTS13QQuickMenuBar_ZTI13QQuickMenuBar_ZTV13QQuickMenuBar_ZN13QQuickMenuBar16staticMetaObjectE_ZN19QQuickMenuSeparator18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZNK14QQuickMenuBase10metaObjectEv_ZNK19QQuickMenuSeparator10metaObjectEv_ZNK14QQuickMenuText10metaObjectEv_ZNK14QQuickMenuItem10metaObjectEv_ZN14QQuickMenuBase14visibleChangedEv_ZN14QQuickMenuText14enabledChangedEv_ZN14QQuickMenuText17iconSourceChangedEv_ZN14QQuickMenuText15iconNameChangedEv_ZN14QQuickMenuText13__textChangedEv_ZN14QQuickMenuText13__iconChangedEv_ZN14QQuickMenuItem9triggeredEv_ZN14QQuickMenuItem7toggledEb_ZN14QQuickMenuItem11textChangedEv_ZN14QQuickMenuItem16checkableChangedEv_ZN14QQuickMenuItem21exclusiveGroupChangedEv_ZN14QQuickMenuItem15shortcutChangedEv_ZN14QQuickMenuItem13actionChangedEv_ZN14QQuickMenuText18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN14QQuickMenuItem18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN14QQuickMenuBase18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN14QQuickMenuBase11qt_metacastEPKc_ZN19QQuickMenuSeparator11qt_metacastEPKc_ZN14QQuickMenuText11qt_metacastEPKc_ZN14QQuickMenuItem11qt_metacastEPKc_ZN14QQuickMenuBase11qt_metacallEN11QMetaObject4CallEiPPv_ZN19QQuickMenuSeparator11qt_metacallEN11QMetaObject4CallEiPPv_ZN14QQuickMenuText11qt_metacallEN11QMetaObject4CallEiPPv_ZN14QQuickMenuItem11qt_metacallEN11QMetaObject4CallEiPPv_ZTS14QQuickMenuBase_ZTI14QQuickMenuBase_ZTS19QQuickMenuSeparator_ZTI19QQuickMenuSeparator_ZTS14QQuickMenuText_ZTI14QQuickMenuText_ZTS14QQuickMenuItem_ZTI14QQuickMenuItem_ZTV14QQuickMenuBase_ZTV19QQuickMenuSeparator_ZTV14QQuickMenuText_ZTV14QQuickMenuItem_ZN14QQuickMenuItem16staticMetaObjectE_ZN14QQuickMenuText16staticMetaObjectE_ZN19QQuickMenuSeparator16staticMetaObjectE_ZN14QQuickMenuBase16staticMetaObjectE_ZN18QQuickMenuItemType16staticMetaObjectE_ZN23QQuickMenuItemContainer18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZNK23QQuickMenuItemContainer10metaObjectEv_ZN5QListI8QPointerI14QQuickMenuBaseEEC2ERKS3__ZN5QListI8QPointerI14QQuickMenuBaseEEC1ERKS3__ZN5QListI8QPointerI14QQuickMenuBaseEED2Ev_ZN5QListI8QPointerI14QQuickMenuBaseEED1Ev_ZN5QListI8QPointerI14QQuickMenuBaseEE6detachEv_ZN23QQuickMenuItemContainer5clearEv_ZN23QQuickMenuItemContainer13setParentMenuEP10QQuickMenu_ZN23QQuickMenuItemContainerD2Ev_ZN23QQuickMenuItemContainerD1Ev_ZN23QQuickMenuItemContainerD0Ev_ZN23QQuickMenuItemContainer11qt_metacastEPKc_ZN23QQuickMenuItemContainer11qt_metacallEN11QMetaObject4CallEiPPv_ZTS23QQuickMenuItemContainer_ZTI23QQuickMenuItemContainer_ZTV23QQuickMenuItemContainer_ZN23QQuickMenuItemContainer16staticMetaObjectE_ZNK7QWindow4sizeEv_ZThn8_NK7QWindow4sizeEv_ZNK21QQuickMenuPopupWindow10metaObjectEv_ZN21QQuickMenuPopupWindow11qt_metacastEPKc_ZN17QQuickPopupWindowD2Ev_ZN17QQuickPopupWindowD1Ev_ZThn8_N17QQuickPopupWindowD1Ev_ZN21QQuickMenuPopupWindowD2Ev_ZN21QQuickMenuPopupWindowD1Ev_ZThn8_N21QQuickMenuPopupWindowD1Ev_ZN17QQuickPopupWindowD0Ev_ZThn8_N17QQuickPopupWindowD0Ev_ZN21QQuickMenuPopupWindowD0Ev_ZThn8_N21QQuickMenuPopupWindowD0Ev_ZN21QQuickMenuPopupWindow18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN21QQuickMenuPopupWindow11qt_metacallEN11QMetaObject4CallEiPPv_ZTS21QQuickMenuPopupWindow_ZTI21QQuickMenuPopupWindow_ZTV21QQuickMenuPopupWindow_ZN21QQuickMenuPopupWindow16staticMetaObjectE_ZNK17QQuickPopupWindow10metaObjectEv_ZN17QQuickPopupWindow14popupDismissedEv_ZN17QQuickPopupWindow18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN17QQuickPopupWindow11qt_metacastEPKc_ZN17QQuickPopupWindow11qt_metacallEN11QMetaObject4CallEiPPv_ZTS17QQuickPopupWindow_ZTI17QQuickPopupWindow_ZTV17QQuickPopupWindow_ZN17QQuickPopupWindow16staticMetaObjectE_ZNK11QQuickStack10metaObjectEv_ZN11QQuickStack13statusChangedEv_ZN11QQuickStack11viewChangedEv_ZN11QQuickStack12indexChangedEv_ZN11QQuickStackD2Ev_ZN11QQuickStackD1Ev_ZN11QQuickStackD0Ev_ZN11QQuickStack18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN11QQuickStack11qt_metacastEPKc_ZN11QQuickStack11qt_metacallEN11QMetaObject4CallEiPPv_ZTS11QQuickStack_ZTI11QQuickStack_ZTV11QQuickStack_ZN11QQuickStack16staticMetaObjectE_ZN19QQuickSelectionMode16staticMetaObjectE_ZNK13QQuickTooltip10metaObjectEv_ZN13QQuickTooltipD2Ev_ZN13QQuickTooltipD1Ev_ZN13QQuickTooltipD0Ev_ZN13QQuickTooltip18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN13QQuickTooltip11qt_metacastEPKc_ZN13QQuickTooltip11qt_metacallEN11QMetaObject4CallEiPPv_ZTS13QQuickTooltip_ZTI13QQuickTooltip_ZTV13QQuickTooltip_ZN13QQuickTooltip16staticMetaObjectE_ZNK22QQuickSpinBoxValidator10metaObjectEv_ZN22QQuickSpinBoxValidator12valueChangedEv_ZN22QQuickSpinBoxValidator19minimumValueChangedEv_ZN22QQuickSpinBoxValidator19maximumValueChangedEv_ZN22QQuickSpinBoxValidator15decimalsChangedEv_ZN22QQuickSpinBoxValidator15stepSizeChangedEv_ZN22QQuickSpinBoxValidator13prefixChangedEv_ZN22QQuickSpinBoxValidator13suffixChangedEv_ZN22QQuickSpinBoxValidator11textChangedEv_ZN22QQuickSpinBoxValidator18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN22QQuickSpinBoxValidator11qt_metacastEPKc_ZN22QQuickSpinBoxValidator11qt_metacallEN11QMetaObject4CallEiPPv_ZTS22QQuickSpinBoxValidator_ZTI22QQuickSpinBoxValidator_ZTV22QQuickSpinBoxValidator_ZN22QQuickSpinBoxValidator16staticMetaObjectE_ZNK16QQuickRangeModel10metaObjectEv_ZN16QQuickRangeModel12valueChangedEd_ZN16QQuickRangeModel15positionChangedEd_ZN16QQuickRangeModel15stepSizeChangedEd_ZN16QQuickRangeModel15invertedChangedEb_ZN16QQuickRangeModel14minimumChangedEd_ZN16QQuickRangeModel14maximumChangedEd_ZN16QQuickRangeModel24positionAtMinimumChangedEd_ZN16QQuickRangeModel24positionAtMaximumChangedEd_ZN16QQuickRangeModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN16QQuickRangeModel11qt_metacastEPKc_ZN16QQuickRangeModel11qt_metacallEN11QMetaObject4CallEiPPv_ZTS16QQuickRangeModel_ZTI16QQuickRangeModel_ZTV16QQuickRangeModel_ZN16QQuickRangeModel16staticMetaObjectE_ZNK21QQuickControlSettings10metaObjectEv_ZN21QQuickControlSettings12styleChangedEv_ZN21QQuickControlSettings16styleNameChangedEv_ZN21QQuickControlSettings16stylePathChangedEv_ZN21QQuickControlSettings18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN21QQuickControlSettingsD2Ev_ZN21QQuickControlSettingsD1Ev_ZN21QQuickControlSettingsD0Ev_ZN21QQuickControlSettings11qt_metacastEPKc_ZN21QQuickControlSettings11qt_metacallEN11QMetaObject4CallEiPPv_ZTS21QQuickControlSettings_ZTI21QQuickControlSettings_ZTV21QQuickControlSettings_ZN21QQuickControlSettings16staticMetaObjectE_ZNK15QQuickWheelArea10metaObjectEv_ZN15QQuickWheelArea20verticalValueChangedEv_ZN15QQuickWheelArea22horizontalValueChangedEv_ZN15QQuickWheelArea18verticalWheelMovedEv_ZN15QQuickWheelArea20horizontalWheelMovedEv_ZN15QQuickWheelArea18scrollSpeedChangedEv_ZN15QQuickWheelArea13activeChangedEv_ZN15QQuickWheelArea18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN15QQuickWheelArea11qt_metacastEPKc_ZN15QQuickWheelArea11qt_metacallEN11QMetaObject4CallEiPPv_ZTS15QQuickWheelArea_ZTI15QQuickWheelArea_ZTV15QQuickWheelArea_ZN15QQuickWheelArea16staticMetaObjectE_ZNK19QQuickAbstractStyle10metaObjectEv_ZN19QQuickAbstractStyle18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN19QQuickAbstractStyle11qt_metacastEPKc_ZN19QQuickAbstractStyle11qt_metacallEN11QMetaObject4CallEiPPv_ZTS19QQuickAbstractStyle_ZTI19QQuickAbstractStyle_ZTV19QQuickAbstractStyle_ZN19QQuickAbstractStyle16staticMetaObjectE_ZNK13QQuickPadding10metaObjectEv_ZN13QQuickPadding11leftChangedEv_ZN13QQuickPadding10topChangedEv_ZN13QQuickPadding12rightChangedEv_ZN13QQuickPadding13bottomChangedEv_ZN13QQuickPadding18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv_ZN13QQuickPadding11qt_metacastEPKc_ZN13QQuickPadding11qt_metacallEN11QMetaObject4CallEiPPv_ZTS13QQuickPadding_ZTI13QQuickPadding_ZTV13QQuickPadding_ZN13QQuickPadding16staticMetaObjectE_DYNAMIC_GLOBAL_OFFSET_TABLE___cxa_finalize__cxa_atexit__aeabi_unwind_cpp_pr0_ZdlPv__aeabi_unwind_cpp_pr1_Znwj_ZN7QObjectD2Ev_ZN19QQuickImageProviderD2Ev_ZN11QQmlPrivate30qdeclarativeelement_destructorEP7QObject_ZN9QListData7disposeEPNS_4DataE_ZN10QArrayData10deallocateEPS_jj_ZN10QByteArray7reserveEi_ZN10QByteArray11reallocDataEj6QFlagsIN10QArrayData16AllocationOptionEE_ZNK7QString11lastIndexOfE5QChariN2Qt15CaseSensitivityE_ZNK7QString5rightEi_ZN5QIconC1Ev_ZN5QIcon9fromThemeERK7QStringRKS__ZNK5QIcon6pixmapERK5QSizeNS_4ModeENS_5StateE_ZN5QIconD1Evstrlen_ZN7QString15fromUtf8_helperEPKci_ZN7QString6appendERKS_mallocfree_ZNK11QMetaObject9classNameEvmemcpymemset_ZN10QByteArrayC1EPKci_ZN9QMetaType22registerNormalizedTypeERK10QByteArrayPFvPvEPFS3_PKvES5_PFS3_S3_S7_Ei6QFlagsINS_8TypeFlagEEPK11QMetaObject_ZN11QQmlPrivate11qmlregisterENS_16RegistrationTypeEPv__stack_chk_fail__stack_chk_guard_ZN10QByteArray6appendEPKc_ZN10QByteArray6appendEc_ZN10QArrayData11shared_nullE_ZN9QMetaType25registerNormalizedTypedefERK10QByteArrayi_ZN11QMetaObject14normalizedTypeEPKc_ZNK19QQmlExtensionPlugin7baseUrlEv_ZNK4QUrl11toLocalFileEv_ZN5QFileC1ERK7QString_ZN4QUrlD1Ev_ZNK5QFile6existsEv_ZN5QFileD1Ev_ZN7QString16fromAscii_helperEPKci_ZN19QQuickImageProviderC2EN21QQmlImageProviderBase9ImageTypeE6QFlagsINS0_4FlagEE_ZN10QQmlEngine16addImageProviderERK7QStringP21QQmlImageProviderBase_ZN10QQmlEngine13addImportPathERK7QString_ZNK4QUrl8toStringE12QUrlTwoFlagsINS_19UrlFormattingOptionENS_25ComponentFormattingOptionEE_ZN7QString17fromLatin1_helperEPKci_ZN4QUrlC1ERK7QStringNS_11ParsingModeE_ZNK4QUrl10isRelativeEv_ZNK14QMessageLogger7warningEPKcz_ZN4QUrlC1ERKS__ZTVN10__cxxabiv120__si_class_type_infoE_ZTI19QQuickImageProvider_ZNK19QQuickImageProvider9imageTypeEv_ZNK19QQuickImageProvider5flagsEv_ZN19QQuickImageProvider12requestImageERK7QStringP5QSizeRKS3__ZN19QQuickImageProvider14requestTextureERK7QStringP5QSizeRKS3__ZN7QObject11eventFilterEPS_P6QEvent_ZN7QObject10timerEventEP11QTimerEvent_ZN7QObject10childEventEP11QChildEvent_ZN7QObject11customEventEP6QEvent_ZN7QObject13connectNotifyERK11QMetaMethod_ZN7QObject16disconnectNotifyERK11QMetaMethod_ZN7QObject5eventEP6QEvent_ZN10QQuickItem5eventEP6QEvent_ZNK10QQuickItem12boundingRectEv_ZNK10QQuickItem8clipRectEv_ZNK10QQuickItem8containsERK7QPointF_ZNK10QQuickItem16inputMethodQueryEN2Qt16InputMethodQueryE_ZNK10QQuickItem17isTextureProviderEv_ZNK10QQuickItem15textureProviderEv_ZN10QQuickItem10itemChangeENS_10ItemChangeERKNS_14ItemChangeDataE_ZN10QQuickItem10classBeginEv_ZN10QQuickItem17componentCompleteEv_ZN10QQuickItem13keyPressEventEP9QKeyEvent_ZN10QQuickItem15keyReleaseEventEP9QKeyEvent_ZN10QQuickItem16inputMethodEventEP17QInputMethodEvent_ZN10QQuickItem12focusInEventEP11QFocusEvent_ZN10QQuickItem13focusOutEventEP11QFocusEvent_ZN10QQuickItem15mousePressEventEP11QMouseEvent_ZN10QQuickItem14mouseMoveEventEP11QMouseEvent_ZN10QQuickItem17mouseReleaseEventEP11QMouseEvent_ZN10QQuickItem21mouseDoubleClickEventEP11QMouseEvent_ZN10QQuickItem16mouseUngrabEventEv_ZN10QQuickItem16touchUngrabEventEv_ZN10QQuickItem10touchEventEP11QTouchEvent_ZN10QQuickItem15hoverEnterEventEP11QHoverEvent_ZN10QQuickItem14hoverMoveEventEP11QHoverEvent_ZN10QQuickItem15hoverLeaveEventEP11QHoverEvent_ZN10QQuickItem14dragEnterEventEP15QDragEnterEvent_ZN10QQuickItem13dragMoveEventEP14QDragMoveEvent_ZN10QQuickItem14dragLeaveEventEP15QDragLeaveEvent_ZN10QQuickItem9dropEventEP10QDropEvent_ZN10QQuickItem21childMouseEventFilterEPS_P6QEvent_ZN10QQuickItem21windowDeactivateEventEv_ZN10QQuickItem15geometryChangedERK6QRectFS2__ZN10QQuickItem15updatePaintNodeEP7QSGNodePNS_19UpdatePaintNodeDataE_ZN10QQuickItem16releaseResourcesEv_ZN10QQuickItem12updatePolishEv_ZThn8_N10QQuickItem10classBeginEv_ZThn8_N10QQuickItem17componentCompleteEv_ZNK11QMetaObject4castEP7QObject_ZN15QGuiApplication11focusWindowEv_ZNK10QQuickItem9isVisibleEv_ZNK10QQuickItem6windowEv_ZN10QQuickItem16staticMetaObjectE_ZN7QObjectC2EPS__ZN4QUrlC1Ev_ZN12QKeySequenceC1Ev_ZN12QKeySequence8mnemonicERK7QString_ZNK12QKeySequenceeqERKS__ZNK12QKeySequence7isEmptyEv_ZN12QShortcutMap14removeShortcutEiP7QObjectRK12QKeySequence_ZN12QKeySequenceaSERKS__ZN12QShortcutMap11addShortcutEP7QObjectRK12QKeySequenceN2Qt15ShortcutContextEPFbS1_S6_E_ZN12QKeySequenceD1Ev_ZN22QGuiApplicationPrivate4selfE_ZeqRK7QStringS1__ZN7QStringaSERKS__ZNK12QKeySequence8toStringENS_14SequenceFormatE_ZN8QVariantC1ERK7QString_ZNK8QVariant4typeEv_ZNK8QVariant5toIntEPb_ZN12QKeySequenceC1ENS_11StandardKeyE_ZNK8QVariant8toStringEv_ZN12QKeySequence10fromStringERK7QStringNS_14SequenceFormatE_ZN8QVariantD1Ev_ZNK4QUrleqERKS__ZN4QUrlaSERKS__ZNK5QIcon6isNullEv_ZN8QQmlFile19urlToLocalFileOrQrcERK4QUrl_ZN5QIconC1ERK7QString_ZNK7QString8toLatin1Ev_ZN15QtSharedPointer20ExternalRefCountData9getAndRefEPK7QObject_ZNK7QObject8propertyEPKc_ZNK8QVariant6toBoolEv_ZNK11QMetaObject13indexOfMethodEPKc_ZNK11QMetaObject6methodEi_ZN8QVariantC1Eb_ZN7QObject11setPropertyEPKcRK8QVariant_ZNK7QObject6senderEv_ZNK11QMetaObject13indexOfSignalEPKc_ZN7QObject10disconnectEPKS_RK11QMetaMethodS1_S4__ZN7QObject10disconnectEPKS_PKcS1_S3__Z17qt_message_output9QtMsgTypeRK18QMessageLogContextRK7QString_ZN11QTextStreamD1Ev_ZN7QObject7connectEPKS_RK11QMetaMethodS1_S4_N2Qt14ConnectionTypeE_ZN11QMetaObject10ConnectionD1Ev_ZN7QObject7connectEPKS_PKcS1_S3_N2Qt14ConnectionTypeE_ZNK14QMessageLogger7warningEv_ZN11QTextStreamlsERK7QString_ZN11QTextStreamlsEc_Zls6QDebugPK7QObject_ZN5QFontC1Ev_ZN5QFontaSERKS__ZN9QListData11shared_nullE_ZN9QHashData11shared_nullE_ZN22QGuiApplicationPrivate14platform_themeE_ZNK5QFonteqERKS__ZN7QWindow10setVisibleEb_ZNK7QWindow15transientParentEv_ZN7QWindow19setMouseGrabEnabledEb_ZN7QWindow22setKeyboardGrabEnabledEb_ZN7QObject11deleteLaterEv_ZN9QHashData11free_helperEPFvPNS_4NodeEE_ZN9QListData11detach_growEPii_ZN9QListData6insertEi_ZN9QHashData13detach_helperEPFvPNS_4NodeEPvEPFvS1_Eii__aeabi_uidivmod_ZN9QHashData12allocateNodeEi_ZN9QHashData6rehashEi_ZN9QListData6appendEv_ZN9QListData6detachEi__aeabi_dadd__aeabi_i2d__aeabi_dcmplt__aeabi_dsub__aeabi_dcmpge__aeabi_d2iz_ZN15QGuiApplication15layoutDirectionEv_ZNK10QQuickItem5widthEv_ZNK10QQuickItem10mapToSceneERK7QPointF_ZN7QWindow11setPositionEii_ZN7QCursor3posEv_ZNK7QWindow13mapFromGlobalERK6QPoint_ZN9QListData6removeEi_ZN9QListData5eraseEPPv_ZN5QFontD1Ev_ZN7QObject9setParentEPS__ZN5QIconC1ERKS__ZNK4QUrl7isEmptyEv_ZNK7QWindow8geometryEv_ZNK10QQuickItem8positionEv_ZN7QWindow18setTransientParentEPS__ZNK7QWindow6screenEv_ZNK7QScreen24availableVirtualGeometryEv_ZN7QWindow11setGeometryEiiii_ZN10QQuickItem12childrenRectEv__aeabi_dcmpgt_ZNK12QQuickWindow11contentItemEv_ZNK10QQuickItem9mapToItemEPKS_RK7QPointF_ZNK7QWindow6parentEv_ZNK7QWindow11mapToGlobalERK6QPoint_ZNK10QQuickItem6heightEv_ZNK12QQuickWindow16mouseGrabberItemEv_ZN10QQuickItem11ungrabMouseEv_ZN7QWindow4showEv_ZN12QQuickWindow16staticMetaObjectE_ZN12QQuickWindowC2EP7QWindow_ZN7QWindow8setFlagsE6QFlagsIN2Qt10WindowTypeEE_ZN7QWindow11setModalityEN2Qt14WindowModalityE_ZN10QQuickItem13setParentItemEPS__ZN7QWindow5closeEv_ZN11QMouseEventC1EN6QEvent4TypeERK7QPointFN2Qt11MouseButtonE6QFlagsIS6_ES7_INS5_16KeyboardModifierEE_ZN16QCoreApplication14notifyInternalEP7QObjectP6QEvent_ZN11QMouseEventD1Ev_ZN16QCoreApplication4selfE_ZNK5QRect8containsERK6QPointb_ZN12QQuickWindow14mouseMoveEventEP11QMouseEvent_ZN12QQuickWindow15mousePressEventEP11QMouseEvent_ZN12QQuickWindow17mouseReleaseEventEP11QMouseEvent_ZNK7QWindow9isExposedEv_ZN22QWindowSystemInterface21handleWindowActivatedEP7QWindowN2Qt11FocusReasonE_ZN12QQuickWindow11exposeEventEP12QExposeEvent_ZN12QQuickWindow9hideEventEP10QHideEvent_ZN10QValidatorC2EP7QObject_ZN16QQmlParserStatusC2Ev_ZN16QDoubleValidatorC1EP7QObject_ZN16QDoubleValidator6setTopEd_ZN16QDoubleValidator9setBottomEd_ZN16QDoubleValidator11setDecimalsEi_ZN16QDoubleValidator11setNotationENS_8NotationE_ZN7QLocaleC1Ev_ZN7QLocale16setNumberOptionsE6QFlagsINS_12NumberOptionEE_ZN10QValidator9setLocaleERK7QLocale_ZN7QLocaleD1Ev__aeabi_dcmpeq_ZN7QString6numberEdci_ZNK7QString8toDoubleEPb_ZNK10QValidator6localeEv_ZNK7QLocale8toStringEdci_ZNK7QLocale14groupSeparatorEv_ZN7QString6removeE5QCharN2Qt15CaseSensitivityE_ZN16QDoubleValidatorD1Ev_ZN16QQmlParserStatusD2Ev_ZN10QValidatorD2Ev_ZNK7QString10startsWithERKS_N2Qt15CaseSensitivityE_ZNK7QString8endsWithERKS_N2Qt15CaseSensitivityE_ZNK7QString3midEii_ZNK16QDoubleValidator8validateER7QStringRi_ZNK7QLocale8toDoubleERK7QStringPb_ZNK7QLocale12decimalPointEv_ZN7QString6insertEiPK5QChari__aeabi_dmul__aeabi_dcmple__aeabi_ddiv_ZTVN10__cxxabiv117__class_type_infoE_ZN7QString11reallocDataEjb_ZN4QUrl13fromLocalFileERK7QString_Z14qt_defaultDpiXv_Z7qgetenvPKc_ZN9QFileInfoC1ERK7QString_ZNK9QFileInfo10isRelativeEv_ZNK10QQmlEngine14importPathListEv_ZN4QDirC1ERK7QString_ZNK4QDir6existsERK7QString_ZNK4QDir12absolutePathEv_ZN4QDirD1Ev_ZNK9QFileInfo12absolutePathEv_ZN9QFileInfoD1Ev_ZNK9QFileInfo8fileNameEv_ZN7QString6removeEii_ZNK4QDir6existsEv_ZN10QQuickItemD2Ev_ZN10QQuickItemC2EPS__Z21qRegisterResourceDataiPKhS0_S0__Z23qUnregisterResourceDataiPKhS0_S0___aeabi_atexit_ZNK11QObjectData17dynamicMetaObjectEv_ZN19QQmlExtensionPluginD2Evqt_plugin_query_metadataqt_plugin_instance__cxa_guard_acquire__cxa_guard_release_ZN19QQmlExtensionPluginC2EP7QObjectstrcmp_ZN19QQmlExtensionPlugin11qt_metacastEPKc_ZN19QQmlExtensionPlugin11qt_metacallEN11QMetaObject4CallEiPPv_ZN19QQmlExtensionPlugin16staticMetaObjectE_ZTI19QQmlExtensionPlugin_ZN11QMetaObject8activateEP7QObjectPKS_iPPv__gnu_thumb1_case_uqi_ZN8QVariantC1ERKS__ZSt4swapIN8QVariant7PrivateEEvRT_S3__ZN7QObject11qt_metacastEPKc_ZN7QObject11qt_metacallEN11QMetaObject4CallEiPPv_ZNK5QIconcv8QVariantEv_ZN7QObject16staticMetaObjectE_ZTI7QObject_ZN5QFontC1ERKS__ZN12QQuickWindowD2Ev_ZN12QQuickWindow5eventEP6QEvent_ZNK7QWindow11surfaceTypeEv_ZNK7QWindow6formatEv_ZNK12QQuickWindow14accessibleRootEv_ZNK12QQuickWindow11focusObjectEv_ZN12QQuickWindow11resizeEventEP12QResizeEvent_ZN7QWindow9moveEventEP10QMoveEvent_ZN12QQuickWindow12focusInEventEP11QFocusEvent_ZN12QQuickWindow13focusOutEventEP11QFocusEvent_ZN12QQuickWindow9showEventEP10QShowEvent_ZN12QQuickWindow13keyPressEventEP9QKeyEvent_ZN12QQuickWindow15keyReleaseEventEP9QKeyEvent_ZN12QQuickWindow21mouseDoubleClickEventEP11QMouseEvent_ZN12QQuickWindow10wheelEventEP11QWheelEvent_ZN7QWindow10touchEventEP11QTouchEvent_ZN7QWindow11tabletEventEP12QTabletEvent_ZN7QWindow11nativeEventERK10QByteArrayPvPl_ZNK7QWindow13surfaceHandleEv_ZThn8_NK7QWindow6formatEv_ZThn8_NK7QWindow13surfaceHandleEv_ZThn8_NK7QWindow11surfaceTypeEv_ZN12QQuickWindow11qt_metacastEPKc_ZN12QQuickWindow11qt_metacallEN11QMetaObject4CallEiPPv_ZTI12QQuickWindow_ZN10QValidator11qt_metacastEPKc_ZN10QValidator11qt_metacallEN11QMetaObject4CallEiPPv_ZN10QValidator16staticMetaObjectE_ZTVN10__cxxabiv121__vmi_class_type_infoE_ZTI10QValidator_ZTI16QQmlParserStatus__aeabi_ui2d_ZN4QUrlaSERK7QString_ZN10QQuickItem11qt_metacastEPKc_ZN10QQuickItem11qt_metacallEN11QMetaObject4CallEiPPv_ZTI10QQuickItem_edata__bss_start_end.init_array.fini_array.ARM.exidx.text.got.comment.rel.plt.bss.ARM.attributes.dynstr.interp.data.rel.ro.rel.dyn.note.gnu.gold-version.dynsym.data.rel.ro.local.hash.dynamic.ARM.extab.shstrtab.strtab.symtab.rodata.qtmetadata.data^44 HH`V,CC| s MM8 ii <rr$PPHRHRDpYY$m$m _ _ Py Pi  z j fz j 8 y  y @*\ \z  A  h/0 5|T Fpp -  `S 7P