├── .gitignore
├── LICENSE
├── README.md
├── api
├── api.js
├── app.js
├── package.json
├── schedule.json
└── tracks.json
├── app
├── QtWorldSummit.pro
├── android
│ ├── AndroidManifest.xml
│ ├── build.gradle
│ ├── google-play-services_lib
│ │ ├── .classpath
│ │ ├── AndroidManifest.xml
│ │ ├── README.txt
│ │ ├── libs
│ │ │ ├── google-play-services.jar
│ │ │ └── google-play-services.jar.properties
│ │ ├── proguard.txt
│ │ ├── project.properties
│ │ ├── res
│ │ │ ├── color
│ │ │ │ ├── common_signin_btn_text_dark.xml
│ │ │ │ ├── common_signin_btn_text_light.xml
│ │ │ │ ├── wallet_primary_text_holo_light.xml
│ │ │ │ └── wallet_secondary_text_holo_dark.xml
│ │ │ ├── drawable-hdpi
│ │ │ │ ├── common_full_open_on_phone.png
│ │ │ │ ├── common_ic_googleplayservices.png
│ │ │ │ ├── common_signin_btn_icon_disabled_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_disabled_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_disabled_focus_light.9.png
│ │ │ │ ├── common_signin_btn_icon_disabled_light.9.png
│ │ │ │ ├── common_signin_btn_icon_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_focus_light.9.png
│ │ │ │ ├── common_signin_btn_icon_normal_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_normal_light.9.png
│ │ │ │ ├── common_signin_btn_icon_pressed_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_pressed_light.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_dark.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_focus_light.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_light.9.png
│ │ │ │ ├── common_signin_btn_text_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_text_focus_light.9.png
│ │ │ │ ├── common_signin_btn_text_normal_dark.9.png
│ │ │ │ ├── common_signin_btn_text_normal_light.9.png
│ │ │ │ ├── common_signin_btn_text_pressed_dark.9.png
│ │ │ │ ├── common_signin_btn_text_pressed_light.9.png
│ │ │ │ ├── ic_plusone_medium_off_client.png
│ │ │ │ ├── ic_plusone_small_off_client.png
│ │ │ │ ├── ic_plusone_standard_off_client.png
│ │ │ │ ├── ic_plusone_tall_off_client.png
│ │ │ │ ├── powered_by_google_dark.png
│ │ │ │ └── powered_by_google_light.png
│ │ │ ├── drawable-mdpi
│ │ │ │ ├── common_signin_btn_icon_disabled_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_disabled_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_disabled_focus_light.9.png
│ │ │ │ ├── common_signin_btn_icon_disabled_light.9.png
│ │ │ │ ├── common_signin_btn_icon_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_focus_light.9.png
│ │ │ │ ├── common_signin_btn_icon_normal_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_normal_light.9.png
│ │ │ │ ├── common_signin_btn_icon_pressed_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_pressed_light.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_dark.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_focus_light.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_light.9.png
│ │ │ │ ├── common_signin_btn_text_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_text_focus_light.9.png
│ │ │ │ ├── common_signin_btn_text_normal_dark.9.png
│ │ │ │ ├── common_signin_btn_text_normal_light.9.png
│ │ │ │ ├── common_signin_btn_text_pressed_dark.9.png
│ │ │ │ ├── common_signin_btn_text_pressed_light.9.png
│ │ │ │ ├── ic_plusone_medium_off_client.png
│ │ │ │ ├── ic_plusone_small_off_client.png
│ │ │ │ ├── ic_plusone_standard_off_client.png
│ │ │ │ ├── ic_plusone_tall_off_client.png
│ │ │ │ ├── powered_by_google_dark.png
│ │ │ │ └── powered_by_google_light.png
│ │ │ ├── drawable-tvdpi
│ │ │ │ ├── ic_plusone_medium_off_client.png
│ │ │ │ ├── ic_plusone_small_off_client.png
│ │ │ │ ├── ic_plusone_standard_off_client.png
│ │ │ │ └── ic_plusone_tall_off_client.png
│ │ │ ├── drawable-xhdpi
│ │ │ │ ├── common_signin_btn_icon_disabled_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_disabled_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_disabled_focus_light.9.png
│ │ │ │ ├── common_signin_btn_icon_disabled_light.9.png
│ │ │ │ ├── common_signin_btn_icon_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_focus_light.9.png
│ │ │ │ ├── common_signin_btn_icon_normal_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_normal_light.9.png
│ │ │ │ ├── common_signin_btn_icon_pressed_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_pressed_light.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_dark.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_focus_light.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_light.9.png
│ │ │ │ ├── common_signin_btn_text_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_text_focus_light.9.png
│ │ │ │ ├── common_signin_btn_text_normal_dark.9.png
│ │ │ │ ├── common_signin_btn_text_normal_light.9.png
│ │ │ │ ├── common_signin_btn_text_pressed_dark.9.png
│ │ │ │ ├── common_signin_btn_text_pressed_light.9.png
│ │ │ │ ├── ic_plusone_medium_off_client.png
│ │ │ │ ├── ic_plusone_small_off_client.png
│ │ │ │ ├── ic_plusone_standard_off_client.png
│ │ │ │ ├── ic_plusone_tall_off_client.png
│ │ │ │ ├── powered_by_google_dark.png
│ │ │ │ └── powered_by_google_light.png
│ │ │ ├── drawable-xxhdpi
│ │ │ │ ├── common_signin_btn_icon_disabled_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_disabled_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_disabled_focus_light.9.png
│ │ │ │ ├── common_signin_btn_icon_disabled_light.9.png
│ │ │ │ ├── common_signin_btn_icon_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_focus_light.9.png
│ │ │ │ ├── common_signin_btn_icon_normal_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_normal_light.9.png
│ │ │ │ ├── common_signin_btn_icon_pressed_dark.9.png
│ │ │ │ ├── common_signin_btn_icon_pressed_light.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_dark.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_focus_light.9.png
│ │ │ │ ├── common_signin_btn_text_disabled_light.9.png
│ │ │ │ ├── common_signin_btn_text_focus_dark.9.png
│ │ │ │ ├── common_signin_btn_text_focus_light.9.png
│ │ │ │ ├── common_signin_btn_text_normal_dark.9.png
│ │ │ │ ├── common_signin_btn_text_normal_light.9.png
│ │ │ │ ├── common_signin_btn_text_pressed_dark.9.png
│ │ │ │ ├── common_signin_btn_text_pressed_light.9.png
│ │ │ │ ├── ic_plusone_medium_off_client.png
│ │ │ │ ├── ic_plusone_small_off_client.png
│ │ │ │ ├── ic_plusone_standard_off_client.png
│ │ │ │ ├── ic_plusone_tall_off_client.png
│ │ │ │ ├── powered_by_google_dark.png
│ │ │ │ └── powered_by_google_light.png
│ │ │ ├── drawable
│ │ │ │ ├── common_signin_btn_icon_dark.xml
│ │ │ │ ├── common_signin_btn_icon_light.xml
│ │ │ │ ├── common_signin_btn_text_dark.xml
│ │ │ │ └── common_signin_btn_text_light.xml
│ │ │ ├── values-af
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-am
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-ar
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-be
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-bg
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-bn-rBD
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-ca
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-cs
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-da
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-de
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-el
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-en-rGB
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-en-rIN
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-es-rUS
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-es
│ │ │ │ ├── common_strings.xml
│ │ │ │ └── wallet_strings.xml
│ │ │ ├── values-et-rEE
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-eu-rES
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-fa
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-fi
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-fr-rCA
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-fr
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-gl-rES
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-hi
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-hr
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-hu
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-hy-rAM
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-in
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-is-rIS
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-it
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-iw
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-ja
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-ka-rGE
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-kk-rKZ
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-km-rKH
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-kn-rIN
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-ko
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-ky-rKG
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-lo-rLA
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-lt
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-lv
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-mk-rMK
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-ml-rIN
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-mn-rMN
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-mr-rIN
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-ms-rMY
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-my-rMM
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-nb
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-ne-rNP
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-nl
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-pl
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-pt-rBR
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-pt-rPT
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-pt
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-ro
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-ru
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-si-rLK
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-sk
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-sl
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-sr
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-sv
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-sw
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-ta-rIN
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-te-rIN
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-th
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-tl
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-tr
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-uk
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-ur-rPK
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-uz-rUZ
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-vi
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-zh-rCN
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-zh-rHK
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-zh-rTW
│ │ │ │ └── common_strings.xml
│ │ │ ├── values-zu
│ │ │ │ └── common_strings.xml
│ │ │ └── values
│ │ │ │ ├── admob_ads_attrs.xml
│ │ │ │ ├── admob_iap_style.xml
│ │ │ │ ├── admob_strings.xml
│ │ │ │ ├── common_colors.xml
│ │ │ │ ├── common_strings.xml
│ │ │ │ ├── maps_attrs.xml
│ │ │ │ ├── version.xml
│ │ │ │ ├── wallet_attrs.xml
│ │ │ │ ├── wallet_colors.xml
│ │ │ │ ├── wallet_strings.xml
│ │ │ │ └── wallet_styles.xml
│ │ └── src
│ │ │ └── android
│ │ │ └── UnusedStub.java
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── libs
│ │ ├── android-support-v4.jar
│ │ ├── jbcrypt-0.3m.jar
│ │ ├── okhttp-2.5.0.jar
│ │ └── okio-1.6.0.jar
│ ├── project.properties
│ ├── res
│ │ ├── drawable-hdpi
│ │ │ └── ic_stat_gcm.png
│ │ ├── drawable-mdpi
│ │ │ └── ic_stat_gcm.png
│ │ ├── drawable-xhdpi
│ │ │ └── ic_stat_gcm.png
│ │ ├── drawable-xxhdpi
│ │ │ └── ic_stat_gcm.png
│ │ ├── drawable-xxxhdpi
│ │ │ └── ic_stat_gcm.png
│ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ ├── mipmap-xxxhdpi
│ │ │ └── ic_launcher.png
│ │ ├── values-v21
│ │ │ └── styles.xml
│ │ └── values
│ │ │ └── libs.xml
│ └── src
│ │ ├── com
│ │ └── iktwo
│ │ │ └── qtworldsummit
│ │ │ ├── GcmBroadcastReceiver.java
│ │ │ ├── GcmIntentService.java
│ │ │ ├── HttpAsyncRequest.java
│ │ │ ├── QtWorldSummit.java
│ │ │ ├── TokenUploaderFragment.java
│ │ │ └── URLs.java
│ │ └── org
│ │ └── qtproject
│ │ └── qt5
│ │ └── android
│ │ └── bindings
│ │ └── QtActivity.java
├── deployment.pri
├── generate-qrc.sh
├── qml
│ ├── +devel
│ │ └── main.qml
│ ├── Api.qml
│ ├── Content.qml
│ ├── Header.qml
│ ├── HttpRequest.qml
│ ├── Information.qml
│ ├── IntroView.qml
│ ├── Label.qml
│ ├── MainPage.qml
│ ├── Map.qml
│ ├── PaginationDots.qml
│ ├── Schedule.qml
│ ├── SingleDayDelegate.qml
│ ├── SingleSessionDelegate.qml
│ ├── SingleTrackDelegate.qml
│ ├── SponsorNotification.qml
│ ├── TabButtonStyle.qml
│ ├── ToolBar.qml
│ ├── TutorialPage.qml
│ ├── controls
│ │ ├── BaseTabBarPage.qml
│ │ ├── Slide.qml
│ │ ├── TabBarButton.qml
│ │ ├── TabBarController.qml
│ │ └── qmldir
│ ├── dev.qml
│ ├── home.qml
│ ├── main.qml
│ ├── main_ios.qml
│ ├── ui
│ │ ├── +android
│ │ │ ├── Theme.qml
│ │ │ └── qmldir
│ │ ├── +ios
│ │ │ ├── Theme.qml
│ │ │ └── qmldir
│ │ ├── +windows
│ │ │ ├── Theme.qml
│ │ │ └── qmldir
│ │ ├── Header.qml
│ │ ├── Location.qml
│ │ ├── RightNowIcon.qml
│ │ ├── Schedule.qml
│ │ ├── SingleDayDelegate.qml
│ │ ├── SingleSessionDelegate.qml
│ │ ├── SingleTrackDelegate.qml
│ │ ├── TabBar.qml
│ │ ├── Theme.qml
│ │ ├── TrackDetailSheet.qml
│ │ ├── Viewport.qml
│ │ └── qmldir
│ └── utils
│ │ ├── AccentBottom.qml
│ │ ├── AccentLeft.qml
│ │ ├── AccentRight.qml
│ │ ├── AccentTop.qml
│ │ ├── BaseButtonTheme.qml
│ │ ├── BaseIcon.qml
│ │ ├── BaseWindow.qml
│ │ ├── ClickGuard.qml
│ │ ├── Fill.qml
│ │ ├── GestureArea.qml
│ │ ├── HorizontalSpacer.qml
│ │ ├── SafeLoader.qml
│ │ ├── VerticalSpacer.qml
│ │ └── qmldir
├── resources.qrc
├── resources
│ └── images
│ │ ├── bg.jpg
│ │ ├── busyindicator.png
│ │ ├── card.png
│ │ ├── close.png
│ │ ├── favorite.svg
│ │ ├── floorplan-bcc.png
│ │ ├── home.svg
│ │ ├── home_active.svg
│ │ ├── icon-back.png
│ │ ├── icon-bookmark-hl.png
│ │ ├── icon-bookmark.png
│ │ ├── icon-clock-filled.png
│ │ ├── icon-home.png
│ │ ├── icon-information.png
│ │ ├── icon-location.png
│ │ ├── icon-qtloading.gif
│ │ ├── icon-star.png
│ │ ├── info.svg
│ │ ├── info_active.svg
│ │ ├── level_a.svg
│ │ ├── level_b.svg
│ │ ├── level_c.svg
│ │ ├── location.svg
│ │ ├── location_active.svg
│ │ ├── logo-qws.png
│ │ ├── qt_logo.svg
│ │ ├── qws2015-hero.jpg
│ │ ├── triangular.png
│ │ └── tutorial
│ │ ├── berlin.svg
│ │ ├── calendar.svg
│ │ ├── cloud_1.svg
│ │ ├── cloud_2.svg
│ │ ├── cloud_3.svg
│ │ ├── code.svg
│ │ └── next_white.svg
└── src
│ ├── api.cpp
│ ├── api.h
│ ├── main.cpp
│ ├── screenvalues.cpp
│ └── screenvalues.h
└── design
└── .gitkeep
/.gitignore:
--------------------------------------------------------------------------------
1 | build-*
2 | .DS_Store
3 | *.pro.user
4 | *~
5 | schedule.json
6 | tracks.json
7 | node_modules
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Qt World Summit
2 | Qt World Summit - Mobile Application - Simpler scheduling for Sessions + Tracks
3 |
4 | 
5 |
--------------------------------------------------------------------------------
/api/app.js:
--------------------------------------------------------------------------------
1 | var express = require('express');
2 | var app = exports.app = express();
3 |
4 | var api = require("./api.js");
5 |
6 | require('./api.js')(app);
7 |
8 | app.listen(6066)
9 |
--------------------------------------------------------------------------------
/api/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "qtworldsummit-api",
3 | "description": "",
4 | "version": "0.0.1",
5 | "private": true,
6 | "dependencies": {
7 | "express": "latest",
8 | "redis" : "latest",
9 | "request" : "latest",
10 | "underscore.string": "^3.1.1"
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/app/QtWorldSummit.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = app
2 |
3 | QT += qml quick widgets svg xml
4 |
5 | android {
6 | QT += androidextras
7 | }
8 |
9 | SOURCES += src/main.cpp \
10 | src/screenvalues.cpp
11 |
12 | HEADERS += \
13 | src/screenvalues.h
14 |
15 | RESOURCES += resources.qrc
16 |
17 | include(deployment.pri)
18 |
19 | QML_IMPORT_PATH = $$PWD/qml
20 |
21 | ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
22 |
23 | DISTFILES += \
24 | android/AndroidManifest.xml \
25 | android/res/values-v21/styles.xml \
26 | android/res/values/libs.xml \
27 | android/src/org/qtproject/qt5/android/bindings/QtActivity.java \
28 | android/src/com/iktwo/qtworldsummit/*.java \
29 | qml/*.qml \
30 | qml/controls/*.qml \
31 | qml/ui/*.qml \
32 | qml/utils/*.qml \
33 | qml/utils/+android/*.qml \
34 | qml/utils/+ios/*.qml \
35 | qml/utils/+windows/*.qml
36 |
--------------------------------------------------------------------------------
/app/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | jcenter()
4 | }
5 |
6 | dependencies {
7 | classpath 'com.android.tools.build:gradle:1.0.0'
8 | }
9 | }
10 |
11 | allprojects {
12 | repositories {
13 | jcenter()
14 | }
15 | }
16 |
17 | apply plugin: 'com.android.application'
18 |
19 | dependencies {
20 | compile fileTree(dir: 'libs', include: ['*.jar'])
21 | }
22 |
23 | android {
24 | /*******************************************************
25 | * The following variables:
26 | * - androidBuildToolsVersion,
27 | * - androidCompileSdkVersion
28 | * - qt5AndroidDir - holds the path to qt android files
29 | * needed to build any Qt application
30 | * on Android.
31 | *
32 | * are defined in gradle.properties file. This file is
33 | * updated by QtCreator and androiddeployqt tools.
34 | * Changing them manually might break the compilation!
35 | *******************************************************/
36 |
37 | compileSdkVersion androidCompileSdkVersion.toInteger()
38 |
39 | buildToolsVersion androidBuildToolsVersion
40 |
41 | sourceSets {
42 | main {
43 | manifest.srcFile 'AndroidManifest.xml'
44 | java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java']
45 | aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl']
46 | res.srcDirs = [qt5AndroidDir + '/res', 'res']
47 | resources.srcDirs = ['src']
48 | renderscript.srcDirs = ['src']
49 | assets.srcDirs = ['assets']
50 | jniLibs.srcDirs = ['libs']
51 | }
52 | }
53 |
54 | lintOptions {
55 | abortOnError false
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/README.txt:
--------------------------------------------------------------------------------
1 | Library Project including Google Play services client jar.
2 |
3 | This can be used by an Android project to use the API's provided
4 | by Google Play services.
5 |
6 | There is technically no source, but the src folder is necessary
7 | to ensure that the build system works. The content is actually
8 | located in the libs/ directory.
9 |
10 |
11 | USAGE:
12 |
13 | Make sure you import this Android library project into your IDE
14 | and set this project as a dependency.
15 |
16 | Note that if you use proguard, you will want to include the
17 | options from proguard.txt in your configuration.
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/libs/google-play-services.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/libs/google-play-services.jar
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/libs/google-play-services.jar.properties:
--------------------------------------------------------------------------------
1 | doc=../../../docs/reference
2 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/proguard.txt:
--------------------------------------------------------------------------------
1 | -keep class * extends java.util.ListResourceBundle {
2 | protected Object[][] getContents();
3 | }
4 |
5 | # Keep SafeParcelable value, needed for reflection. This is required to support backwards
6 | # compatibility of some classes.
7 | -keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
8 | public static final *** NULL;
9 | }
10 |
11 | # Keep the names of classes/members we need for client functionality.
12 | -keepnames @com.google.android.gms.common.annotation.KeepName class *
13 | -keepclassmembernames class * {
14 | @com.google.android.gms.common.annotation.KeepName *;
15 | }
16 |
17 | # Needed for Parcelable/SafeParcelable Creators to not get stripped
18 | -keepnames class * implements android.os.Parcelable {
19 | public static final ** CREATOR;
20 | }
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-9
15 | android.library=true
16 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/color/common_signin_btn_text_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
10 |
13 |
16 |
18 |
19 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/color/common_signin_btn_text_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
10 |
13 |
16 |
18 |
19 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/color/wallet_primary_text_holo_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/color/wallet_secondary_text_holo_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_full_open_on_phone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_full_open_on_phone.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_ic_googleplayservices.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_ic_googleplayservices.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_disabled_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_disabled_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_disabled_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_disabled_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_disabled_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_disabled_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_disabled_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_disabled_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_normal_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_normal_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_normal_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_normal_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_pressed_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_pressed_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_pressed_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_icon_pressed_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_disabled_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_disabled_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_disabled_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_disabled_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_disabled_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_disabled_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_disabled_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_disabled_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_normal_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_normal_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_normal_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_normal_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_pressed_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_pressed_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_pressed_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/common_signin_btn_text_pressed_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/ic_plusone_medium_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/ic_plusone_medium_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/ic_plusone_small_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/ic_plusone_small_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/ic_plusone_standard_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/ic_plusone_standard_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/ic_plusone_tall_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/ic_plusone_tall_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/powered_by_google_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/powered_by_google_dark.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-hdpi/powered_by_google_light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-hdpi/powered_by_google_light.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_disabled_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_disabled_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_disabled_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_disabled_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_disabled_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_disabled_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_disabled_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_disabled_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_normal_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_normal_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_normal_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_normal_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_pressed_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_pressed_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_pressed_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_icon_pressed_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_disabled_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_disabled_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_disabled_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_disabled_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_disabled_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_disabled_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_disabled_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_disabled_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_normal_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_normal_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_normal_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_normal_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_pressed_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_pressed_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_pressed_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/common_signin_btn_text_pressed_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/ic_plusone_medium_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/ic_plusone_medium_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/ic_plusone_small_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/ic_plusone_small_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/ic_plusone_standard_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/ic_plusone_standard_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/ic_plusone_tall_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/ic_plusone_tall_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/powered_by_google_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/powered_by_google_dark.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-mdpi/powered_by_google_light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-mdpi/powered_by_google_light.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-tvdpi/ic_plusone_medium_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-tvdpi/ic_plusone_medium_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-tvdpi/ic_plusone_small_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-tvdpi/ic_plusone_small_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-tvdpi/ic_plusone_standard_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-tvdpi/ic_plusone_standard_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-tvdpi/ic_plusone_tall_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-tvdpi/ic_plusone_tall_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_disabled_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_disabled_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_disabled_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_disabled_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_disabled_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_disabled_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_disabled_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_disabled_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_normal_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_normal_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_normal_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_normal_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_pressed_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_pressed_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_pressed_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_icon_pressed_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_disabled_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_disabled_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_disabled_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_disabled_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_disabled_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_disabled_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_disabled_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_disabled_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_normal_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_normal_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_normal_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_normal_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_pressed_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_pressed_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_pressed_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/common_signin_btn_text_pressed_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/ic_plusone_medium_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/ic_plusone_medium_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/ic_plusone_small_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/ic_plusone_small_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/ic_plusone_standard_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/ic_plusone_standard_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/ic_plusone_tall_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/ic_plusone_tall_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/powered_by_google_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/powered_by_google_dark.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xhdpi/powered_by_google_light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xhdpi/powered_by_google_light.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_disabled_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_disabled_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_disabled_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_disabled_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_disabled_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_disabled_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_disabled_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_disabled_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_normal_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_normal_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_normal_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_normal_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_pressed_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_pressed_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_pressed_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_icon_pressed_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_disabled_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_disabled_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_disabled_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_disabled_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_disabled_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_disabled_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_disabled_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_disabled_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_focus_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_focus_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_focus_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_focus_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_normal_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_normal_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_normal_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_normal_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_pressed_dark.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_pressed_dark.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_pressed_light.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/common_signin_btn_text_pressed_light.9.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/ic_plusone_medium_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/ic_plusone_medium_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/ic_plusone_small_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/ic_plusone_small_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/ic_plusone_standard_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/ic_plusone_standard_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/ic_plusone_tall_off_client.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/ic_plusone_tall_off_client.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/powered_by_google_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/powered_by_google_dark.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable-xxhdpi/powered_by_google_light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/google-play-services_lib/res/drawable-xxhdpi/powered_by_google_light.png
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable/common_signin_btn_icon_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
10 |
13 |
16 |
18 |
19 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable/common_signin_btn_icon_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
10 |
13 |
16 |
18 |
19 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable/common_signin_btn_text_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
10 |
13 |
16 |
18 |
19 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/drawable/common_signin_btn_text_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
10 |
13 |
16 |
18 |
19 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values-am/common_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | "የGoogle Play አገልግሎቶች ስህተት"
5 | "አንድ መተግበሪያ የGoogle Play አገልግሎቶች እንዲጫኑ ይፈልጋል።"
6 | "አንድ መተግበሪያ የGoogle Play አገልግሎቶች እንዲዘምኑ ይፈልጋል።"
7 | "አንድ መተግበሪያ የAndroid Wear መተግበሪያ ዝማኔ ያስፈልገዋል።"
8 | "አንድ መተግበሪያ የGoogle Play አገልግሎቶች እንዲነቁ ይፈልጋል።"
9 | "በ%1$s የተጠየቀ"
10 | "Google Play አገልግሎቶችን አግኝ"
11 | "ይህ መተግበሪያ ያለ Google Play አገልግሎቶች አይሰራም፣ እነሱ ደግሞ ስልክዎ ላይ የሉም።"
12 | "ይህ መተግበሪያ ያለ Google Play አገልግሎቶች አይሰራም፣ እነሱ ደግሞ ጡባዊዎ ላይ የሉም።"
13 | "Google Play አገልግሎቶችን አግኝ"
14 | "Google Play አገልግሎቶችን አንቃ"
15 | "Google Play አገልግሎቶችን እስካላነቁ ድረስ ይህ መተግበሪያ አይሰራም።"
16 | "Google Play አገልግሎቶችን አንቃ"
17 | "Google Play አገልግሎቶችን ያዘምኑ"
18 | "Android Wearን ያዘምኑ"
19 | "Google Play አገልግሎቶችን እስኪያዘምኑ ድረስ ይህ መተግበሪያ አይሰራም።"
20 | "የAndroid Wear መተግበሪያውን እስኪያዘምኑት ድረስ ይህ መተግበሪያ አያሄድም።"
21 | "የአውታረ መረብ ስህተት"
22 | "ከGoogle Play አገልግሎቶች ጋር ለመገናኘት የውሂብ ግንኙነት ያስፈልጋል።"
23 | "ልክ ያልሆነ መለያ"
24 | "የተገለጸው መለያ በዚህ መሣሪያ ላይ የለም። እባክው የተለየ መለያ ይምረጡ።"
25 | "በGoogle Play አገልግሎቶች ላይ ያልታወቀ ችግር።"
26 | "Google Play አገልግሎቶች"
27 | "የGoogle Play አገልግሎቶች፣ አንዳንድ መተግበሪያዎችዎ በእሱ ላይ ጥገኛ የሆኑት፣ በመሣሪያዎ አይደገፍም። እባክዎ ለእርዳታ አምራቹን ያግኙ።"
28 | "ያዘምኑ"
29 | "ግባ"
30 | "በGoogle ይግቡ"
31 | "ስልክ ላይ ክፈት"
32 |
33 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values-be/common_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | "Атрымаць службы Google Play"
5 | "Гэта прыкладанне не будзе працаваць без службаў Google Play, якіх няма ў вашым тэлефоне."
6 | "Гэта прыкладанне не будзе працаваць без службаў Google Play, якіх няма на вашым планшэце."
7 | "Атрымаць службы Google Play"
8 | "Уключыць службы Google Play"
9 | "Гэта прыкладанне не будзе працаваць, пакуль вы не ўключыце службы Google Play."
10 | "Уключыць службы Google Play"
11 | "Абнаўленне службаў Google Play"
12 | "Гэта прыкладанне не будзе працаваць падчас абнаўлення службаў Google Play."
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | "Невядомая праблема са службамі Google Play."
22 | "Службы Google Play"
23 | "Службы Google Play, да якiх прывязаны некаторыя прыкладаннi, не падтрымлiваюцца на вашай прыладзе. Па дапамогу звярнiцеся да вытворцы."
24 |
25 |
26 | "Абнавіць"
27 | "Увайсцi"
28 | "Увайсці ў Google"
29 |
30 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values-es/wallet_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Comprar con Google
4 |
5 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values-iw/common_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | "שגיאה בשירותי Google Play"
5 | "קיימת אפליקציה המחייבת התקנה של שירותי Google Play."
6 | "קיימת אפליקציה המחייבת עדכון עבור שירותי Google Play."
7 | "אפליקציה מסוימת דורשת עדכון לאפליקציה Android Wear."
8 | "קיימת אפליקציה המחייבת הפעלה של שירותי Google Play."
9 | "התבקשה על ידי %1$s"
10 | "קבל את שירותי Google Play"
11 | "אפליקציה זו לא תפעל ללא שירותי Google Play, החסרים בטלפון שלך."
12 | "אפליקציה זו לא תפעל ללא שירותי Google Play, החסרים בטאבלט שלך."
13 | "קבל את שירותי Google Play"
14 | "הפעלת שירותי Google Play"
15 | "אפליקציה זו לא תעבוד אם לא תפעיל את שירותי Google Play."
16 | "הפעל את שירותי Google Play"
17 | "עדכון שירותי Google Play"
18 | "עדכון Android Wear"
19 | "אפליקציה זו לא תפעל אם לא תעדכן את שירותי Google Play."
20 | "אפליקציה זו לא תפעל עד שתעדכן את האפליקציה Android Wear."
21 | "שגיאת רשת."
22 | "דרוש חיבור נתונים כדי להתחבר לשירותי Google Play."
23 | "חשבון לא חוקי"
24 | "החשבון שצוין לא קיים במכשיר זה. בחר חשבון אחר."
25 | "בעיה לא ידועה בשירותי Google Play."
26 | "שירותי Google Play"
27 | "שירותי Google Play, שחלק מהאפליקציות שלך מתבססות עליהם, אינם נתמכים על ידי המכשיר שברשותך. צור קשר עם היצרן לקבלת סיוע."
28 | "עדכן"
29 | "היכנס"
30 | "היכנס באמצעות Google"
31 | "פתח בטלפון"
32 |
33 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values-ja/common_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | "Google Play開発者サービスのエラー"
5 | "アプリではGoogle Play開発者サービスをインストールする必要があります"
6 | "アプリではGoogle Play開発者サービスを更新する必要があります"
7 | "Android Wearアプリの更新が必要です。"
8 | "アプリではGoogle Play開発者サービスを有効にする必要があります"
9 | "%1$sによるリクエスト"
10 | "Play開発者サービスの入手"
11 | "このアプリの実行にはGoogle Play開発者サービスが必要ですが、お使いの携帯端末にはインストールされていません。"
12 | "このアプリの実行にはGoogle Play開発者サービスが必要ですが、お使いのタブレットにはインストールされていません。"
13 | "Play開発者サービスの入手"
14 | "Play開発者サービスの有効化"
15 | "このアプリの実行には、Google Play開発者サービスの有効化が必要です。"
16 | "Play開発者サービスの有効化"
17 | "Play開発者サービスの更新"
18 | "Android Wearの更新"
19 | "このアプリの実行には、Google Play開発者サービスの更新が必要です。"
20 | "Android Wearアプリを使用するにはアプリの更新が必要です。"
21 | "ネットワークエラー"
22 | "Google Play開発者サービスに接続するには、データ接続が必要です。"
23 | "無効なアカウント"
24 | "指定したアカウントはこの端末上に存在しません。別のアカウントを選択してください。"
25 | "Google Play開発者サービスで原因不明の問題が発生しました。"
26 | "Google Play開発者サービス"
27 | "一部のアプリが使用しているGoogle Play開発者サービスは、お使いの端末ではサポートされていません。詳しくは、端末メーカーまでお問い合わせください。"
28 | "更新"
29 | "ログイン"
30 | "Googleでログイン"
31 | "端末で開く"
32 |
33 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values-ko/common_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | "Google Play 서비스 오류"
5 | "Google Play 서비스를 설치해야 하는 애플리케이션입니다."
6 | "Google Play 서비스를 업데이트해야 하는 애플리케이션입니다."
7 | "Android Wear 앱에 대한 업데이트가 필요한 애플리케이션이 있습니다."
8 | "Google Play 서비스를 사용 설정해야 하는 애플리케이션입니다."
9 | "%1$s에서 요청"
10 | "Google Play 서비스 설치"
11 | "휴대전화에 Google Play 서비스가 설치되어 있어야 이 앱이 실행됩니다."
12 | "태블릿에 Google Play 서비스가 설치되어 있어야 이 앱이 실행됩니다."
13 | "Google Play 서비스 설치"
14 | "Google Play 서비스 사용"
15 | "Google Play 서비스를 사용하도록 설정해야 이 앱이 작동합니다."
16 | "Google Play 서비스 사용"
17 | "Google Play 서비스 업데이트"
18 | "Android Wear 업데이트"
19 | "Google Play 서비스를 업데이트해야만 이 앱이 실행됩니다."
20 | "Android Wear 앱을 업데이트해야만 이 앱이 실행됩니다."
21 | "네트워크 오류"
22 | "Google Play 서비스에 연결하려면 데이터 연결이 필요합니다."
23 | "올바르지 않은 계정"
24 | "지정한 계정이 이 기기에 존재하지 않습니다. 다른 계정을 선택하세요."
25 | "Google Play 서비스에 알 수 없는 문제가 발생했습니다."
26 | "Google Play 서비스"
27 | "일부 사용자 애플리케이션에 필요한 Google Play 서비스가 사용자 기기에서 지원되지 않습니다. 기기 제조업체에 문의하시기 바랍니다."
28 | "업데이트"
29 | "로그인"
30 | "Google 계정으로 로그인"
31 | "휴대전화에서 열기"
32 |
33 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values-zh-rCN/common_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | "Google Play服务出错"
5 | "安装Google Play服务后才能运行应用。"
6 | "更新Google Play服务后才能运行应用。"
7 | "某个应用需要更新Android Wear应用才能正常运行。"
8 | "启用Google Play服务后才能运行应用。"
9 | "%1$s发出的请求"
10 | "获取Google Play服务"
11 | "您的手机中没有Google Play服务,您必须先安装该服务才能运行此应用。"
12 | "您的平板电脑中没有Google Play服务,您必须先安装该服务才能运行此应用。"
13 | "获取Google Play服务"
14 | "启用Google Play服务"
15 | "您必须先启用Google Play服务才能运行此应用。"
16 | "启用Google Play服务"
17 | "更新Google Play服务"
18 | "更新Android Wear"
19 | "您必须先更新Google Play服务才能运行此应用。"
20 | "只有更新Android Wear应用后,此应用才能正常运行。"
21 | "网络错误"
22 | "您必须有数据网络连接才能接入Google Play服务。"
23 | "无效帐户"
24 | "此设备上不存在指定的帐户,请选择其他帐户。"
25 | "Google Play服务出现未知问题。"
26 | "Google Play服务"
27 | "您的设备不支持部分应用所依赖的Google Play服务。请与设备制造商联系,以寻求帮助。"
28 | "更新"
29 | "登录"
30 | "使用Google帐户登录"
31 | "在手机上打开"
32 |
33 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values-zh-rHK/common_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | "Google Play 服務錯誤"
5 | "必須安裝「Google Play 服務」,才能使用應用程式。"
6 | "必須更新「Google Play 服務」,才能使用應用程式。"
7 | "有一個應用程式要求更新 Android Wear 應用程式。"
8 | "必須啟用「Google Play 服務」,才能使用應用程式。"
9 | "「%1$s」提出要求"
10 | "取得 Google Play 服務"
11 | "您的手機未安裝 Google Play 服務,安裝後才能執行這個應用程式。"
12 | "您的平板電腦未安裝 Google Play 服務,安裝後才能執行這個應用程式。"
13 | "取得 Google Play 服務"
14 | "啟用 Google Play 服務"
15 | "您必須啟用 Google Play 服務,才能執行這個應用程式。"
16 | "啟用 Google Play 服務"
17 | "更新 Google Play 服務"
18 | "更新 Android Wear"
19 | "您必須更新 Google Play 服務,才能執行這個應用程式。"
20 | "您必須更新 Android Wear 應用程式,這個應用程式才能運作。"
21 | "網絡錯誤"
22 | "要連接 Google Play 服務,必需數據連線。"
23 | "無效的帳戶"
24 | "這個裝置上沒有您指定的帳戶,請選擇其他帳戶。"
25 | "Google Play 服務出現不明問題。"
26 | "Google Play 服務"
27 | "您的裝置不支援部分應用程式所需的 Google Play 服務。如需協助,請與您的裝置製造商聯絡。"
28 | "更新"
29 | "登入"
30 | "登入 Google"
31 | "在手機中開啟"
32 |
33 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values-zh-rTW/common_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | "Google Play 服務發生錯誤"
5 | "應用程式要求安裝 Google Play 服務。"
6 | "應用程式要求更新 Google Play 服務。"
7 | "有一個應用程式要求更新 Android Wear 應用程式。"
8 | "應用程式要求啟用 Google Play 服務。"
9 | "「%1$s」提出要求"
10 | "取得 Google Play 服務"
11 | "您的手機並未安裝 Google Play 服務,所以無法執行這個應用程式。"
12 | "您的平板電腦並未安裝 Google Play 服務,所以無法執行這個應用程式。"
13 | "取得 Google Play 服務"
14 | "啟用 Google Play 服務"
15 | "您必須啟用 Google Play 服務,這個應用程式才能運作。"
16 | "啟用 Google Play 服務"
17 | "更新 Google Play 服務"
18 | "更新 Android Wear"
19 | "您必須更新 Google Play 服務,才能執行這個應用程式。"
20 | "您必須更新 Android Wear 應用程式,這個應用程式才能運作。"
21 | "網路錯誤"
22 | "需要數據連線才能連上 Google Play 服務。"
23 | "無效的帳戶"
24 | "這個裝置上沒有您所指定的帳戶,請選擇其他帳戶。"
25 | "Google Play 服務發生不明問題。"
26 | "Google Play 服務"
27 | "您的裝置不支援部分應用程式所需的 Google Play 服務。如需協助,請與您的裝置製造商聯絡。"
28 | "更新"
29 | "登入"
30 | "使用 Google 帳戶登入"
31 | "在手機上開啟"
32 |
33 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values/admob_ads_attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values/admob_iap_style.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
12 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values/admob_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Save image
4 | "Allow Ad to store image in Picture gallery?"
5 | Accept
6 | Decline
7 | Create calendar event
8 | Allow Ad to create a calendar event?
9 |
10 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values/common_colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | @android:color/white
5 | @android:color/white
6 | #FFAAAAAA
7 | @android:color/white
8 | #FF737373
9 | @android:color/white
10 | #FFAAAAAA
11 | #FF737373
12 | #FFDD4B39
13 | #d2d2d2
14 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values/maps_attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values/version.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 6171000
4 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values/wallet_colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 | #fff3f3f3
9 | #bebebe
10 | #80bebebe
11 | #323232
12 | #80323232
13 | #ffb2b2b2
14 | #ff000000
15 | #808080
16 | #808080
17 | #6633b5e5
18 | #6633b5e5
19 | #ff33b5e5
20 | #0000ee
21 |
22 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values/wallet_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
7 | Buy with Google
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/res/values/wallet_styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
13 |
14 |
17 |
18 |
26 |
27 |
31 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/app/android/google-play-services_lib/src/android/UnusedStub.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package android;
17 |
18 | // Stub java file to make inclusion into some IDE's work.
19 | public final class UnusedStub {
20 | private UnusedStub() { }
21 | }
22 |
--------------------------------------------------------------------------------
/app/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/app/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Apr 10 15:27:10 PDT 2013
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip
7 |
--------------------------------------------------------------------------------
/app/android/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/app/android/libs/android-support-v4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/libs/android-support-v4.jar
--------------------------------------------------------------------------------
/app/android/libs/jbcrypt-0.3m.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/libs/jbcrypt-0.3m.jar
--------------------------------------------------------------------------------
/app/android/libs/okhttp-2.5.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/libs/okhttp-2.5.0.jar
--------------------------------------------------------------------------------
/app/android/libs/okio-1.6.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/libs/okio-1.6.0.jar
--------------------------------------------------------------------------------
/app/android/project.properties:
--------------------------------------------------------------------------------
1 | android.library.reference.1=google-play-services_lib/
2 |
--------------------------------------------------------------------------------
/app/android/res/drawable-hdpi/ic_stat_gcm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/res/drawable-hdpi/ic_stat_gcm.png
--------------------------------------------------------------------------------
/app/android/res/drawable-mdpi/ic_stat_gcm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/res/drawable-mdpi/ic_stat_gcm.png
--------------------------------------------------------------------------------
/app/android/res/drawable-xhdpi/ic_stat_gcm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/res/drawable-xhdpi/ic_stat_gcm.png
--------------------------------------------------------------------------------
/app/android/res/drawable-xxhdpi/ic_stat_gcm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/res/drawable-xxhdpi/ic_stat_gcm.png
--------------------------------------------------------------------------------
/app/android/res/drawable-xxxhdpi/ic_stat_gcm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/res/drawable-xxxhdpi/ic_stat_gcm.png
--------------------------------------------------------------------------------
/app/android/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/android/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/android/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/android/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/android/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/android/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/android/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/app/android/res/values/libs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - https://download.qt-project.org/ministro/android/qt5/qt-5.4
5 |
6 |
7 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/android/src/com/iktwo/qtworldsummit/GcmBroadcastReceiver.java:
--------------------------------------------------------------------------------
1 | package com.iktwo.qtworldsummit;
2 |
3 | import android.app.Activity;
4 | import android.content.ComponentName;
5 | import android.content.Context;
6 | import android.content.Intent;
7 | import android.support.v4.content.WakefulBroadcastReceiver;
8 |
9 | public class GcmBroadcastReceiver extends WakefulBroadcastReceiver {
10 | @Override
11 | public void onReceive(Context context, Intent intent) {
12 | // Explicitly specify that GcmIntentService will handle the intent.
13 | ComponentName comp = new ComponentName(context.getPackageName(),
14 | GcmIntentService.class.getName());
15 | // Start the service, keeping the device awake while it is launching.
16 | startWakefulService(context, (intent.setComponent(comp)));
17 | setResultCode(Activity.RESULT_OK);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/app/android/src/com/iktwo/qtworldsummit/GcmIntentService.java:
--------------------------------------------------------------------------------
1 | package com.iktwo.qtworldsummit;
2 |
3 | import android.app.IntentService;
4 | import android.app.NotificationManager;
5 | import android.app.PendingIntent;
6 | import android.content.Context;
7 | import android.content.Intent;
8 | import android.content.SharedPreferences;
9 | import android.os.Bundle;
10 | import android.support.v4.app.NotificationCompat;
11 | import android.util.Log;
12 | import android.net.Uri;
13 |
14 | import com.google.android.gms.gcm.GoogleCloudMessaging;
15 |
16 | public class GcmIntentService extends IntentService {
17 | public static final int NOTIFICATION_ID = 1;
18 | private static final String TAG = "GcmIntentService";
19 | NotificationCompat.Builder builder;
20 | private NotificationManager mNotificationManager;
21 |
22 | public GcmIntentService() {
23 | super("GcmIntentService");
24 | }
25 |
26 | @Override
27 | protected void onHandleIntent(Intent intent) {
28 | Bundle extras = intent.getExtras();
29 | GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
30 |
31 | String messageType = gcm.getMessageType(intent);
32 |
33 | if (!extras.isEmpty()) {
34 | if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR.equals(messageType)) {
35 | // sendNotification("Send error: " + extras.toString());
36 | } else if (GoogleCloudMessaging.MESSAGE_TYPE_DELETED.equals(messageType)) {
37 | // sendNotification("Deleted messages on server: " + extras.toString());
38 | } else if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) {
39 | String action = extras.getString("action");
40 |
41 | if (action == null)
42 | action = QtWorldSummit.ACTION_MAIN;
43 |
44 |
45 | String url = extras.getString("url");
46 |
47 | if (url == null)
48 | url = "";
49 |
50 | sendNotification(extras.getString("title"), extras.getString("message"), url, action);
51 | }
52 | }
53 | // Release the wake lock provided by the WakefulBroadcastReceiver.
54 | GcmBroadcastReceiver.completeWakefulIntent(intent);
55 | }
56 |
57 | public void sendNotification(String title, String msg, String url, String action) {
58 | mNotificationManager = (NotificationManager)
59 | this.getSystemService(Context.NOTIFICATION_SERVICE);
60 |
61 | Intent intent = new Intent(action, Uri.parse("qtworldsummit://QtWorldSummit"), this, QtWorldSummit.class);
62 |
63 | intent.putExtra("TITLE", title);
64 | intent.putExtra("MESSAGE", msg);
65 | intent.putExtra("URL", url);
66 |
67 | PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
68 |
69 | NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
70 | .setSmallIcon(R.drawable.ic_stat_gcm)
71 | .setContentTitle(title)
72 | .setStyle(new NotificationCompat.BigTextStyle().bigText(msg));
73 |
74 | if (!action.equals(QtWorldSummit.ACTION_SPONSOR))
75 | mBuilder.setContentText(msg);
76 |
77 | SharedPreferences prefs = getSharedPreferences(QtWorldSummit.class.getSimpleName(), Context.MODE_PRIVATE);
78 | boolean pushNotificationsActiveState = prefs.getBoolean(QtWorldSummit.PUSH_NOTIFICATIONS_ID, true);
79 | mBuilder.setAutoCancel(true);
80 |
81 | if (pushNotificationsActiveState) {
82 | mBuilder.setContentIntent(contentIntent);
83 | mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
84 | } else {
85 | Log.d(TAG, "Skipping notification");
86 | }
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/app/android/src/com/iktwo/qtworldsummit/HttpAsyncRequest.java:
--------------------------------------------------------------------------------
1 | package com.iktwo.qtworldsummit;
2 |
3 | import android.os.AsyncTask;
4 | import android.util.Log;
5 |
6 | import com.squareup.okhttp.CacheControl;
7 | import com.squareup.okhttp.OkHttpClient;
8 | import com.squareup.okhttp.Request;
9 | import com.squareup.okhttp.Response;
10 |
11 | import java.io.IOException;
12 | import java.util.ArrayList;
13 | import java.util.concurrent.TimeUnit;
14 |
15 | public class HttpAsyncRequest extends AsyncTask> {
16 | private static final String TAG = HttpAsyncRequest.class.getSimpleName();
17 |
18 | AsyncResponse requester = null;
19 |
20 | public HttpAsyncRequest(AsyncResponse requester) {
21 | this.requester = requester;
22 | }
23 |
24 | @Override
25 | protected ArrayList doInBackground(String... params) {
26 | ArrayList reply = new ArrayList();
27 |
28 | OkHttpClient httpclient = new OkHttpClient();
29 | httpclient.setConnectTimeout(10, TimeUnit.SECONDS);
30 |
31 | Response response;
32 |
33 | try {
34 | /// Create request with cache disabled
35 | Request request = new Request.Builder()
36 | .cacheControl(new CacheControl.Builder().noCache().build())
37 | .url(params[0])
38 | .build();
39 |
40 | response = httpclient.newCall(request).execute();
41 |
42 | if (response.isSuccessful()) {
43 | /// Add Url to the reply
44 | reply.add(params[0]);
45 |
46 | /// Add response to the reply
47 | reply.add(response.body().string());
48 |
49 | response.body().close();
50 | }
51 | } catch (IOException e) {
52 | reply.add("error");
53 | reply.add(e.getMessage());
54 | Log.e(TAG, "ERROR:" + e.toString());
55 | }
56 |
57 | return reply;
58 | }
59 |
60 | @Override
61 | protected void onPostExecute(ArrayList reply) {
62 | requester.processFinish(reply);
63 | }
64 |
65 | public interface AsyncResponse {
66 | void processFinish(ArrayList reply);
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/app/android/src/com/iktwo/qtworldsummit/TokenUploaderFragment.java:
--------------------------------------------------------------------------------
1 | package com.iktwo.qtworldsummit;
2 |
3 | import android.app.Activity;
4 | import android.app.Fragment;
5 | import android.content.Context;
6 | import android.content.SharedPreferences;
7 | import android.os.AsyncTask;
8 | import android.os.Bundle;
9 | import android.util.Log;
10 |
11 | import org.mindrot.jbcrypt.BCrypt;
12 |
13 | import java.util.ArrayList;
14 |
15 | public class TokenUploaderFragment extends Fragment implements HttpAsyncRequest.AsyncResponse {
16 | private static final String TAG = TokenUploaderFragment.class.getSimpleName();
17 | private String mToken;
18 |
19 | @Override
20 | public void onCreate(Bundle savedInstanceState) {
21 | super.onCreate(savedInstanceState);
22 |
23 | setRetainInstance(true);
24 | }
25 |
26 | @Override
27 | public void onAttach(Activity activity) {
28 | super.onAttach(activity);
29 | }
30 |
31 | public void uploadToken(String token) {
32 | mToken = token;
33 | new HashTask(this).execute(token);
34 | }
35 |
36 | public void hashFinish(String output) {
37 | Log.d(TAG, "hash finish " + output);
38 | if (mToken != null) {
39 | String url = URLs.SERVER_URL + "/adduser?id=" + mToken + "&hash=" + output;
40 | new HttpAsyncRequest(this).execute(url);
41 | }
42 | }
43 |
44 | @Override
45 | public void processFinish(ArrayList output) {
46 | /// TODO: check output, if ok, set that token was uploaded properly, otherwise try again next time
47 | if (output != null && output.size() == 2) {
48 | Log.d(TAG, "1 - " + output.get(0));
49 | Log.d(TAG, "2 - " + output.get(1));
50 |
51 | if (output.get(1).equals("id registered")) {
52 | Log.d(TAG, "token uploaded :D");
53 |
54 | SharedPreferences prefs = getActivity().getSharedPreferences(QtWorldSummit.class.getSimpleName(), Context.MODE_PRIVATE);
55 | SharedPreferences.Editor editor = prefs.edit();
56 | editor.putBoolean(QtWorldSummit.UPLOADED_ID, true);
57 | editor.commit();
58 | }
59 | } else {
60 | /// Assume error in here
61 | }
62 | }
63 |
64 | private class HashTask extends AsyncTask {
65 | private static final String TAG = "HashTask";
66 | TokenUploaderFragment requester = null;
67 |
68 | public HashTask(TokenUploaderFragment requester) {
69 | this.requester = requester;
70 | }
71 |
72 | @Override
73 | protected String doInBackground(String... params) {
74 | return BCrypt.hashpw(params[0] + "xdf8", BCrypt.gensalt(10));
75 | }
76 |
77 | @Override
78 | protected void onPostExecute(String reply) {
79 | requester.hashFinish(reply);
80 | }
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/app/android/src/com/iktwo/qtworldsummit/URLs.java:
--------------------------------------------------------------------------------
1 | package com.iktwo.qtworldsummit;
2 |
3 | public class URLs {
4 | public static final String SENDER_ID = "";
5 | public static final String SERVER_URL = "";
6 | }
7 |
--------------------------------------------------------------------------------
/app/deployment.pri:
--------------------------------------------------------------------------------
1 | android-no-sdk {
2 | target.path = /data/user/qt
3 | export(target.path)
4 | INSTALLS += target
5 | } else:android {
6 | x86 {
7 | target.path = /libs/x86
8 | } else: armeabi-v7a {
9 | target.path = /libs/armeabi-v7a
10 | } else {
11 | target.path = /libs/armeabi
12 | }
13 | export(target.path)
14 | INSTALLS += target
15 | } else:unix {
16 | isEmpty(target.path) {
17 | qnx {
18 | target.path = /tmp/$${TARGET}/bin
19 | } else {
20 | target.path = /opt/$${TARGET}/bin
21 | }
22 | export(target.path)
23 | }
24 | INSTALLS += target
25 | }
26 |
27 | export(INSTALLS)
28 |
--------------------------------------------------------------------------------
/app/generate-qrc.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Generate qrc
4 |
5 | QMLBASEDIR=qml
6 | RESOURCEBASEDIR=resources
7 | TMPQRC=.resources.qrc
8 | QRC=resources.qrc
9 |
10 | #
11 | #
12 | # main_ios.qml
13 | # home.qml
14 | # dev.qml
15 | # img/triangular.png
16 | #
17 | #
18 |
19 | {
20 | echo ""
21 | echo -ne '\t'
22 | echo ""
23 | for i in `find ${QMLBASEDIR} -type f | grep -v .DS_Store`;
24 | do
25 | echo -ne '\t\t'
26 | echo "${i}"
27 | done;
28 | echo -ne '\t'
29 | echo ""
30 | echo -ne '\t'
31 | echo ""
32 | for i in `find ${RESOURCEBASEDIR} -type f | grep -v .DS_Store`;
33 | do
34 | echo -ne '\t\t'
35 | echo "${i}"
36 | done;
37 | echo -ne '\t'
38 | echo ""
39 | echo ""
40 | } >> ${TMPQRC}
41 |
42 |
43 | mv ${TMPQRC} ${QRC}
44 | cat ${QRC}
45 |
--------------------------------------------------------------------------------
/app/qml/+devel/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import QtQuick.Controls 1.4 as QC
3 | import QtQuick.Controls.Styles 1.4 as CS
4 | import QtQuick.Layouts 1.1 as LA
5 | import QtWorldSummit 1.5
6 | import ui 1.5 as UI
7 |
8 | QC.ApplicationWindow {
9 | property var resolutions: [
10 | {"height": 480, "width": 320, "name": "HVGA", "ratio": "3:2"},
11 | {"height": 640, "width": 360, "name": "nHD", "ratio": "16:9"},
12 | {"height": 640, "width": 480, "name": "VGA", "ratio": "4:3"},
13 | {"height": 800, "width": 480, "name": "WVGA", "ratio": "5:3"},
14 | {"height": 800, "width": 600, "name": "SVGA", "ratio": "4:3"},
15 | {"height": 960, "width": 540, "name": "qHD", "ratio": "16:9"},
16 | {"height": 1280, "width": 720, "name": "720p", "ratio": "16:9"},
17 | {"height": 1280, "width": 800, "name": "WXGA", "ratio": "16:10"},
18 | {"height": 1920, "width": 1080, "name": "1080p", "ratio": "16:9"}
19 | ]
20 |
21 | property int currentResolution: 5
22 |
23 | property bool isScreenPortrait: height >= width
24 |
25 | visible: true
26 | width: resolutions[currentResolution]["width"]
27 | height: resolutions[currentResolution]["height"]
28 |
29 | QC.StackView {
30 | id: stackView
31 |
32 | anchors.fill: parent
33 |
34 | initialItem: tutorial
35 | }
36 |
37 | Component {
38 | id: tutorial
39 |
40 | TutorialPage {
41 | onClosed: stackView.replace(mainPage)
42 | }
43 | }
44 |
45 | Component {
46 | id: mainPage
47 | MainPage { }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/app/qml/Content.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.4
2 | import utils 1.5
3 | import controls 1.5
4 | import ui 1.5
5 |
6 | Rectangle {
7 | Item {
8 | anchors {
9 | top: parent.top
10 | left: parent.left
11 | right: parent.right
12 | bottom: _tabBarController.top
13 | }
14 |
15 | Schedule {
16 | id: _schedule
17 |
18 | controller: _tabBarController
19 | }
20 |
21 | // TODO: ND - Location.qml
22 | Location {
23 | id: _location
24 |
25 | controller: _tabBarController
26 | }
27 |
28 | // TODO: ND - Information.qml
29 | BaseTabBarPage {
30 | id: _information
31 |
32 | controller: _tabBarController
33 |
34 | Rectangle {
35 | anchors.fill: parent
36 | color: "#3498db"
37 | }
38 | }
39 | }
40 |
41 | TabBar {
42 | id: _tabBarController
43 |
44 | onHideAllPages: {
45 | // close all sheets
46 | }
47 | }
48 | }
49 |
50 |
51 |
--------------------------------------------------------------------------------
/app/qml/Header.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.4
2 | import utils 1.5 as Utils
3 | import ui 1.5 as UI
4 |
5 | Rectangle {
6 | id: root
7 |
8 | default property alias content: itemContainer.data
9 |
10 | property alias leftContent: itemContainerLeft.data
11 | property alias rightContent: itemContainerRight.data
12 |
13 | property bool enableLeftAndRightContainers: false
14 |
15 | anchors {
16 | top: parent.top
17 | left: parent.left
18 | right: parent.right
19 | }
20 |
21 | height: UI.Theme.heightHeader
22 |
23 | color: UI.Theme.colorLightGrey
24 | clip: true
25 |
26 | Rectangle {
27 | anchors {
28 | left: parent.left
29 | right: parent.right
30 | bottom: parent.bottom
31 | }
32 |
33 | height: 2
34 | color: UI.Theme.colorLightGreyAccent
35 | }
36 |
37 | Item {
38 | id: itemContainer
39 |
40 | anchors {
41 | top: parent.top; topMargin: UI.Theme.marginTop
42 | bottom: parent.bottom
43 | left: enableLeftAndRightContainers ? itemContainerLeft.right : parent.left; leftMargin: 10
44 | right: enableLeftAndRightContainers ? itemContainerRight.left : parent.right; rightMargin: anchors.leftMargin
45 | }
46 | }
47 |
48 | Item {
49 | id: itemContainerLeft
50 |
51 | anchors {
52 | top: parent.top; topMargin: UI.Theme.marginTop
53 | left: parent.left
54 | bottom: parent.bottom
55 | }
56 |
57 | width: UI.Theme.dp(110)
58 | }
59 |
60 | Item {
61 | id: itemContainerRight
62 |
63 | anchors {
64 | top: parent.top; topMargin: UI.Theme.marginTop
65 | right: parent.right
66 | bottom: parent.bottom
67 | }
68 |
69 | width: UI.Theme.dp(110)
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/app/qml/HttpRequest.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 |
3 | QtObject {
4 | property url url
5 |
6 | property bool busy: false
7 | property bool debug: false
8 |
9 | signal requestFinished
10 |
11 | function httpRequest(parameters, operation, callback, callbackError, finishedCallback) {
12 | var doc = new XMLHttpRequest()
13 |
14 | doc.onreadystatechange = function() {
15 | if (doc.readyState === XMLHttpRequest.DONE) {
16 | if (doc.status === 200) {
17 | if (debug)
18 | console.log(operation, url + (parameters !== "" ? "?" + parameters : ""), "succeeded")
19 |
20 | callback(doc.responseText, url + (parameters !== "" ? "?" + parameters : ""))
21 | } else {
22 | if (debug)
23 | console.log(operation, url + (parameters !== "" ? "?" + parameters : ""), "failed with code", doc.status)
24 |
25 | callbackError(doc.responseText, url + (parameters !== "" ? "?" + parameters : ""))
26 | }
27 |
28 | if (finishedCallback)
29 | finishedCallback(url + (parameters !== "" ? "?" + parameters : ""))
30 |
31 | busy = false
32 | requestFinished(parameters)
33 | }
34 | }
35 |
36 | if (debug)
37 | console.log(operation, url + (parameters !== "" ? "?" + parameters : ""))
38 |
39 | doc.open(operation, url + (parameters !== "" ? "?" + parameters : ""))
40 | doc.send()
41 | }
42 |
43 | function get(parameters, callBack, errorCallback, finishedCallback) {
44 | busy = true
45 | var functionCallback = callBack
46 | if (functionCallback === undefined) {
47 | functionCallback = function(reply) {
48 | console.log("Reply finished for url:", url + (parameters !== "" ? "?" + parameters : ""), "but no callback provided")
49 | console.log("Reply:", reply)
50 | }
51 | }
52 |
53 | var functionCallbackError = errorCallback
54 | if (functionCallbackError === undefined) {
55 | functionCallbackError = function(reply) {
56 | console.log("Reply failed for url:", url + (parameters !== "" ? "?" + parameters : ""), "but no error callback provided")
57 | console.log("Reply:", reply)
58 | }
59 | }
60 |
61 | if (debug)
62 | console.log("Trying to get url:", url + (parameters !== "" ? " parameters " + parameters : ""))
63 |
64 | if (url !== "")
65 | httpRequest(parameters, "GET", functionCallback, errorCallback, finishedCallback)
66 | else
67 | console.log("Error in HttpRequest, can't call get without url")
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/app/qml/Label.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import QtQuick.Controls 1.4
3 | import ui 1.5 as UI
4 |
5 | Label {
6 | font.family: UI.Theme.fontFamily
7 | color: "#000000"
8 | }
9 |
--------------------------------------------------------------------------------
/app/qml/Map.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import QtQuick.Controls 1.4
3 | import QtQuick.Controls.Styles 1.4
4 | import ui 1.5
5 |
6 | Item {
7 | id: root
8 |
9 | property var model: [
10 | { "title" : "Level A", "source" : "qrc:/images/level_a.svg", "width" : 809, "height" : 1024 },
11 | { "title" : "Level B", "source" : "qrc:/images/level_b.svg", "width" : 838, "height" : 1024 },
12 | { "title" : "Level C", "source" : "qrc:/images/level_c.svg", "width" : 1024, "height" : 1024 }
13 | ]
14 |
15 | clip: true
16 |
17 | Rectangle {
18 | anchors.fill: parent
19 | }
20 |
21 | Row {
22 | id: rowTabs
23 |
24 | anchors {
25 | left: parent.left
26 | right: parent.right
27 | }
28 |
29 | Repeater {
30 | model: root.model
31 |
32 | delegate: Rectangle {
33 | property bool active: listView.currentIndex === index
34 |
35 | color: active ? Theme.activeTabColor : Theme.unactiveTabColor
36 |
37 | width: parent.width / 3
38 | height: text.height + (Theme.spacing * 2)
39 |
40 | Label {
41 | id: text
42 |
43 | anchors.fill: parent
44 |
45 | font {
46 | pixelSize: Theme.fontSizeLarge
47 | weight: Font.Light
48 | }
49 |
50 | horizontalAlignment: Text.AlignHCenter
51 | verticalAlignment: Text.AlignVCenter
52 | color: parent.active ? Theme.unactiveTabColor : Theme.activeTabColor
53 | text: modelData.title
54 | }
55 |
56 | MouseArea {
57 | anchors.fill: parent
58 | onClicked: listView.positionViewAtIndex(index, ListView.Contain)
59 | }
60 | }
61 | }
62 | }
63 |
64 | ListView {
65 | id: listView
66 |
67 | anchors {
68 | top: rowTabs.bottom
69 | bottom: parent.bottom
70 | left: parent.left
71 | right: parent.right
72 | }
73 |
74 | orientation: ListView.Horizontal
75 | highlightRangeMode: ListView.StrictlyEnforceRange
76 | snapMode: ListView.SnapOneItem
77 |
78 | model: root.model
79 |
80 | delegate: Item {
81 | height: ListView.view.height
82 | width: ListView.view.width
83 |
84 | Image {
85 | id: image
86 |
87 | anchors {
88 | fill: parent
89 | margins: Theme.spacing
90 | }
91 |
92 | source: modelData.source
93 | smooth: true
94 | fillMode: Image.PreserveAspectFit
95 | }
96 | }
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/app/qml/PaginationDots.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import ui 1.5 as UI
3 |
4 | Row {
5 | id: root
6 |
7 | property ListView view
8 | property color color: "#34db98"
9 | property color activeColor: "#3498db"
10 |
11 | spacing: UI.Theme.spacing
12 |
13 | Repeater {
14 | model: root.view.count
15 |
16 | delegate: Item {
17 | height: UI.Theme.paginationDotBaseSize
18 | width: UI.Theme.paginationDotBaseSize
19 |
20 | Rectangle {
21 | id: rectangleIndicator
22 |
23 | anchors.centerIn: parent
24 |
25 | height: UI.Theme.paginationDotBaseSize
26 | width: height
27 | radius: height
28 |
29 | color: index === root.view.currentIndex ? root.activeColor : root.color
30 | }
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/qml/SingleDayDelegate.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import utils 1.5 as Utils
3 |
4 | Component {
5 | Item {
6 | id: _Item_ScheduleView
7 | property alias sessionRepeater : _Repeater_Sessions
8 | width: ListView.view.width
9 | height: ListView.view.height
10 | layer.enabled: true
11 | layer.smooth: true
12 | Flickable {
13 | id: _Flickable
14 | anchors.fill: parent
15 | flickableDirection: Flickable.VerticalFlick
16 | contentWidth: width
17 | contentHeight: _Column_Sessions.height
18 | clip: true
19 |
20 | Behavior on contentY {
21 | id: _Behavior_ContentY
22 | enabled: false
23 | NumberAnimation {
24 | duration: 350
25 | easing.type: Easing.OutCubic
26 | }
27 | }
28 |
29 | Column {
30 | id: _Column_Sessions
31 | width: parent.width
32 | height: childrenRect.height
33 | Repeater {
34 | id: _Repeater_Sessions
35 | model: modelData.sessions
36 |
37 | function positionToCurrentSession()
38 | {
39 | for(var i = 0; i < count; i++)
40 | {
41 | if(itemAt(i).flagIcon.state === "visible")
42 | {
43 | _Behavior_ContentY.enabled = true
44 | console.log("setting contentY to " + itemAt(i).y)
45 | _Flickable.contentY = itemAt(i).y
46 | _Behavior_ContentY.enabled = false
47 | }
48 | }
49 | }
50 | delegate: SingleSessionDelegate { }
51 | }
52 | }
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/app/qml/SingleSessionDelegate.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import utils 1.5 as Utils
3 | import ui 1.5 as UI
4 |
5 | Item {
6 | id: _Item_ScheduleDelegate
7 | property variant dataModel : modelData
8 | property alias flagIcon : _RightNowIcon
9 | width: parent.width
10 | height: _Rectangle_SessionTime.height + _Column_Tracks.height
11 | Rectangle {
12 | id: _Rectangle_SessionTime
13 | width: parent.width - UI.Theme.dp(2)
14 | height: UI.Theme.dp(80)
15 | color: UI.Theme.colorLightGrey
16 | Label {
17 | anchors.left: parent.left
18 | anchors.leftMargin: UI.Theme.dp(30)
19 | anchors.right: _RightNowIcon.state !== "hidden" ? _RightNowIcon.left : parent.right
20 | anchors.rightMargin: _RightNowIcon.state !== "hidden" ? UI.Theme.dp(20) : UI.Theme.dp(30)
21 | anchors.top: parent.top
22 | anchors.bottom: parent.bottom
23 | verticalAlignment: Text.AlignVCenter
24 | text: _Item_ScheduleDelegate.dataModel.date.formatted['24h']
25 | color: "#222222"
26 | style: Text.Raised
27 | styleColor: "#ffffff"
28 | font.pixelSize: UI.Theme.scheduleViewPixelSize
29 | elide: Text.ElideRight
30 | }
31 | RightNowIcon {
32 | id: _RightNowIcon
33 | property bool isRightNow : false/*_Model.date_isRightNow(_Item_ScheduleDelegate.dataModel.date.plain.starting,
34 | _Item_ScheduleDelegate.dataModel.date.plain.ending)*/
35 | anchors.right: parent.right
36 | anchors.rightMargin: UI.Theme.dp(30)
37 | skeleton: true
38 | state: "hidden"
39 | states: [
40 | State {
41 | name: "hidden"
42 | when: !_RightNowIcon.isRightNow
43 | PropertyChanges {
44 | target: _RightNowIcon
45 | scale: 0
46 | opacity: 0
47 | }
48 | },
49 | State {
50 | name: "visible"
51 | when: _RightNowIcon.isRightNow
52 | PropertyChanges {
53 | target: _RightNowIcon
54 | scale: 1
55 | opacity: 1
56 | }
57 | }
58 | ]
59 | transitions: [
60 | Transition {
61 | from: "hidden"
62 | to: "visible"
63 | ParallelAnimation {
64 | NumberAnimation {
65 | target: _RightNowIcon; property: "scale";
66 | duration: 450; easing.type: Easing.OutBack
67 | easing.overshoot: 0.4
68 | }
69 | NumberAnimation {
70 | target: _RightNowIcon; property: "opacity";
71 | duration: 450; easing.type: Easing.OutBack
72 | }
73 | }
74 | }
75 | ]
76 | }
77 | Utils.AccentTop {
78 | color: UI.Theme.colorLightGrey
79 | }
80 | Utils.AccentBottom {
81 | color: UI.Theme.colorLightGreyAccent
82 | }
83 | }
84 | Column {
85 | id: _Column_Tracks
86 | anchors.top: _Rectangle_SessionTime.bottom
87 | anchors.left: parent.left
88 | anchors.right: parent.right
89 | height: childrenRect.height
90 | clip: true
91 | Repeater {
92 | id: _Repeater_Tracks
93 | model: _Item_ScheduleDelegate.dataModel.tracks
94 | delegate: SingleTrackDelegate { }
95 | }
96 | }
97 | }
98 |
--------------------------------------------------------------------------------
/app/qml/TabButtonStyle.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import QtQuick.Controls.Styles 1.4 as CS
3 | import ui 1.5 as UI
4 |
5 | CS.ButtonStyle {
6 | id: root
7 |
8 | property url imageSource
9 |
10 | background: Rectangle {
11 | color: control.checked ? UI.Theme.activeTabColor : UI.Theme.unactiveTabColor
12 |
13 | Image {
14 | anchors.centerIn: parent
15 |
16 | sourceSize.height: root.control.height / 2
17 | sourceSize.width: root.control.height / 2
18 |
19 | source: root.imageSource
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/app/qml/ToolBar.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import ui 1.5 as UI
3 |
4 | Rectangle {
5 | color: UI.Theme.toolBarColor
6 |
7 | height: UI.Theme.toolBarHeight
8 |
9 | Row {
10 | anchors {
11 | top: parent.top
12 | bottom: parent.bottom
13 | left: parent.left; leftMargin: UI.Theme.headerMargin
14 | }
15 |
16 | spacing: UI.Theme.spacing
17 |
18 | Image {
19 | anchors.verticalCenter: parent.verticalCenter
20 |
21 | height: parent.height * 0.8
22 |
23 | sourceSize.height: parent.height * 0.8
24 |
25 | fillMode: Image.PreserveAspectFit
26 | source: "qrc:/images/qt_logo.svg"
27 | mipmap: true
28 | }
29 |
30 | Label {
31 | anchors.verticalCenter: parent.verticalCenter
32 |
33 | color: "#000000"
34 | text: "WORLD\nSUMMIT"
35 | }
36 | }
37 |
38 | Image {
39 | anchors {
40 | right: parent.right; rightMargin: 4
41 | verticalCenter: parent.verticalCenter
42 | }
43 |
44 | height: parent.height * 0.52
45 | width: parent.height * 0.52
46 |
47 | sourceSize.height: parent.height * 0.52
48 | sourceSize.width: parent.height * 0.52
49 |
50 | source: "qrc:/images/favorite.svg"
51 | visible: false
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/app/qml/controls/BaseTabBarPage.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import utils 1.5
3 |
4 | Item {
5 | id: root
6 |
7 | signal opened
8 | signal closed
9 |
10 | property alias controller: _Connections.target
11 |
12 | function show() {
13 | root.opened()
14 | visible = true
15 | }
16 |
17 | anchors.fill: parent
18 |
19 | visible: false
20 |
21 | ClickGuard { }
22 |
23 | Connections {
24 | id: _Connections
25 |
26 | target: null
27 | ignoreUnknownSignals: true
28 |
29 | onHideAllPages: {
30 | root.closed()
31 | root.visible = false
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/app/qml/controls/TabBarButton.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import utils 1.5
3 | import ui 1.5 as UI
4 |
5 | Rectangle {
6 | id: _root
7 |
8 | property alias icon : _BaseIcon.source
9 | property alias iconWidth : _BaseIcon.width
10 | property alias iconObject : _BaseIcon
11 | readonly property bool isActive : root.activeButton === this
12 |
13 | signal clicked
14 |
15 | width: UI.Theme.dp(120)
16 | height: UI.Theme.dp(100)
17 | color: !isActive ? (!_MouseArea.pressed ?
18 | root.theme.backgroundDefaultColor :
19 | root.theme.backgroundPressedColor) : root.theme.backgroundActiveColor
20 |
21 | BaseIcon {
22 | id: _BaseIcon
23 | anchors.centerIn: parent
24 | width: UI.Theme.dp(54)
25 | color: !isActive ? (!_MouseArea.pressed ?
26 | root.theme.iconDefaultColor :
27 | root.theme.iconPressedColor) : root.theme.iconActiveColor
28 | transformOrigin: Item.Center
29 | }
30 |
31 | MouseArea {
32 | id: _MouseArea
33 | anchors.fill: parent
34 | onClicked: _root.clicked()
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/app/qml/controls/TabBarController.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.3
2 | import "../utils/" as Utils
3 | Item {
4 | id: root
5 |
6 | property bool enabled: true
7 | property variant tabBarModel: []
8 | property variant activeButton: _Repeater_TabBar.count > 0 ? _Repeater_TabBar.itemAt(0) : { }
9 |
10 | property alias theme: _BaseButtonTheme
11 |
12 | signal tabClicked(variant tabObject)
13 | signal hideAllPages
14 |
15 | function clickFirstTab() {
16 | if (_Repeater_TabBar.count > 0)
17 | _Repeater_TabBar.itemAt(0).clicked()
18 | }
19 |
20 | function showView(sourceComponent) {
21 | for (var i = 0; i < _Repeater_TabBar.count; i++) {
22 | var obj = _Repeater_TabBar.itemAt(i)
23 | if (obj.dataModel.sourceComponent === sourceComponent) {
24 | _Repeater_TabBar.itemAt(i).clicked()
25 | }
26 | }
27 | }
28 |
29 | Utils.BaseButtonTheme {
30 | id: _BaseButtonTheme
31 | backgroundDefaultColor: "#eeeeee"
32 | backgroundPressedColor: "#dddddd"
33 | backgroundActiveColor: "#80c342"
34 | iconDefaultColor: "#80c342"
35 | iconPressedColor: "#6aa336"
36 | iconActiveColor: "#ffffff"
37 | borderColor: "transparent"
38 | }
39 |
40 | Row {
41 | id: _Row_TabBar
42 |
43 | anchors.left: parent.left
44 | anchors.right: parent.right
45 | anchors.bottom: parent.bottom
46 |
47 | height: 100
48 |
49 | Repeater {
50 | id: _Repeater_TabBar
51 |
52 | property variant responder: root.activeButton
53 |
54 | model: root.tabBarModel
55 |
56 | delegate: TabBarButton {
57 | property variant dataModel: modelData
58 |
59 | width: Math.floor(root.width / root.tabBarModel.length)
60 | icon: modelData.icon
61 | onClicked: {
62 | root.tabClicked(modelData)
63 | root.activeButton = this
64 | root.hideAllPages()
65 | eval(modelData.sourceComponent).show()
66 | }
67 | }
68 |
69 | Component.onCompleted: {
70 | if (count > 0)
71 | itemAt(0).clicked()
72 | }
73 | }
74 | }
75 |
76 | Utils.ClickGuard {
77 | visible: !root.enabled
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/app/qml/controls/qmldir:
--------------------------------------------------------------------------------
1 | BaseTabBarPage 1.5 BaseTabBarPage.qml
2 | Slide 1.5 Slide.qml
3 | TabBarButton 1.5 TabBarButton.qml
4 | TabBarController 1.5 TabBarController.qml
5 |
--------------------------------------------------------------------------------
/app/qml/home.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.4
2 | import QtQuick.Window 2.2
3 | import ui 1.5 as UI
4 | import utils 1.5 as Utils
5 | import ui 1.5
6 |
7 | Viewport {
8 | id: root
9 |
10 | property Api __api: Api { }
11 |
12 | width: 1080
13 | height: 1920
14 | color: "#000000"
15 |
16 | // TODO: Platform dependent status bar height
17 | topMargin: UI.Theme.marginTop
18 |
19 | Header {
20 | id: _header
21 | z: 2
22 |
23 | Image {
24 | id: _imageLogo
25 |
26 | anchors {
27 | left: parent.left; leftMargin: UI.Theme.dp(20)
28 | verticalCenter: parent.verticalCenter; verticalCenterOffset: UI.Theme.dp(-4)
29 | }
30 |
31 | height: parent.height
32 |
33 | fillMode: Image.PreserveAspectFit
34 | mipmap: true
35 | source: "qrc:/images/logo-qws.png"
36 | }
37 |
38 | RightNowIcon {
39 | id: _RightNowIcon
40 |
41 | anchors {
42 | verticalCenter: parent.verticalCenter
43 | right: parent.right; rightMargin: UI.Theme.dp(24)
44 | }
45 |
46 | Utils.ClickGuard {
47 | anchors {
48 | fill: parent
49 | margins: UI.Theme.dp(-10)
50 | }
51 |
52 | Utils.Fill { color: "blue" }
53 | onClicked: {
54 | // TODO: ND - Show today's schedule
55 | }
56 | }
57 | }
58 | }
59 |
60 | Item {
61 | id: _itemPageContainer
62 |
63 | anchors {
64 | top: _header.bottom
65 | left: parent.left
66 | right: parent.right
67 | bottom: parent.bottom
68 | }
69 |
70 | clip: true
71 |
72 | Rectangle {
73 | anchors.fill: parent
74 | color: UI.Theme.colorPageBackground
75 |
76 | Loader {
77 | id: _loaderMainContent
78 | anchors.fill: parent
79 | active: __api.status === Loader.Ready
80 | sourceComponent: Component {
81 | Content { }
82 | }
83 | }
84 |
85 | AnimatedImage {
86 | anchors.centerIn: parent
87 | playing: visible
88 | visible: !_loaderMainContent.active
89 | source: "qrc:/images/icon-qtloading.gif"
90 | }
91 | }
92 | }
93 |
94 | Rectangle {
95 | id: _rectangleDarkener
96 | anchors.fill: parent
97 | color: "#000000"
98 | opacity: 0.65 - (_trackDetailSheet.x / width)
99 | z: _trackDetailSheet.z
100 | }
101 |
102 | TrackDetailSheet {
103 | id: _trackDetailSheet
104 | z: 3
105 | }
106 | }
107 |
--------------------------------------------------------------------------------
/app/qml/main.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import QtQuick.Controls 1.4
3 | import QtWorldSummit 1.5
4 | import Qt.labs.settings 1.0
5 |
6 | ApplicationWindow {
7 | id: applicationWindow
8 |
9 | property var resolutions: [
10 | {"height": 480, "width": 320, "name": "HVGA", "ratio": "3:2"},
11 | {"height": 640, "width": 360, "name": "nHD", "ratio": "16:9"},
12 | {"height": 640, "width": 480, "name": "VGA", "ratio": "4:3"},
13 | {"height": 800, "width": 480, "name": "WVGA", "ratio": "5:3"},
14 | {"height": 800, "width": 600, "name": "SVGA", "ratio": "4:3"},
15 | {"height": 960, "width": 540, "name": "qHD", "ratio": "16:9"},
16 | {"height": 1280, "width": 720, "name": "720p", "ratio": "16:9"},
17 | {"height": 1280, "width": 800, "name": "WXGA", "ratio": "16:10"},
18 | {"height": 1920, "width": 1080, "name": "1080p", "ratio": "16:9"}
19 | ]
20 |
21 | property int currentResolution: 5
22 |
23 | property bool isScreenPortrait: height >= width
24 |
25 | property Api __api: Api { }
26 |
27 | property bool isFirstTimeRunning: true
28 |
29 | function openNotification(title, message, url) {
30 | sponsorNotifications.title = title
31 | sponsorNotifications.message = message
32 | sponsorNotifications.imageSource = url
33 | sponsorNotifications.open()
34 | }
35 |
36 | visible: true
37 | width: resolutions[currentResolution]["width"]
38 | height: resolutions[currentResolution]["height"]
39 |
40 | Settings {
41 | id: settings
42 |
43 | property alias isFirstTimeRunning: applicationWindow.isFirstTimeRunning
44 | }
45 |
46 | StackView {
47 | id: stackView
48 |
49 | property int timesBackWasPressed: 0
50 | anchors.fill: parent
51 |
52 | initialItem: mainPage
53 | opacity: 0
54 | focus: true
55 |
56 | Keys.onBackPressed: {
57 | if (sponsorNotifications.isOpen)
58 | sponsorNotifications.close()
59 | else
60 | currentItem.handleBackKey(event)
61 | }
62 |
63 | Behavior on opacity {
64 | SequentialAnimation {
65 | PauseAnimation { duration: 450 }
66 | NumberAnimation { target: stackView; property: "opacity"; to: 1 }
67 | }
68 | }
69 | }
70 |
71 | Component {
72 | id: tutorialPage
73 |
74 | TutorialPage {
75 | clip: true
76 | // onClosed: ScreenValues.setStatusBarColor(149, 165, 166)
77 | onClosed: stackView.pop()
78 |
79 | Component.onCompleted: stackView.opacity = 1
80 | }
81 | }
82 |
83 | MainPage {
84 | id: mainPage
85 | }
86 |
87 | MouseArea {
88 | anchors.fill: parent
89 | enabled: sponsorNotifications.isOpen
90 | }
91 |
92 | SponsorNotification {
93 | id: sponsorNotifications
94 |
95 | anchors.fill: parent
96 | }
97 |
98 | Connections {
99 | target: ScreenValues
100 |
101 | onSponsorNotification: {
102 | sponsorNotifications.title = title
103 | sponsorNotifications.message = message
104 | sponsorNotifications.imageSource = url
105 | sponsorNotifications.open()
106 | }
107 | }
108 |
109 | Component.onCompleted: {
110 | if (isFirstTimeRunning)
111 | stackView.push(tutorialPage)
112 | else
113 | stackView.opacity = 1
114 |
115 | settings.isFirstTimeRunning = false
116 | }
117 |
118 | Timer {
119 | interval: 1500
120 | running: true
121 | onTriggered: ScreenValues.checkIfPendingNotification()
122 | }
123 | }
124 |
--------------------------------------------------------------------------------
/app/qml/main_ios.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.3
2 | import QtQuick.Controls 1.2
3 | import QtQuick.Window 2.0
4 | import utils 1.5 as Utils
5 |
6 | Utils.BaseWindow {
7 | id: superRoot
8 | property int screenWidth : 750
9 | property int screenHeight : 1334
10 | visible: true
11 | width: screenWidth / 2
12 | height: screenHeight / 2
13 |
14 | flags: Qt.MaximizeUsingFullscreenGeometryHint
15 |
16 | // Utils.Platform {
17 | // id: __Platform
18 | // Connections {
19 | // target: __Platform.item ?
20 | // __Platform.item
21 | // : null
22 | // ignoreUnknownSignals: true
23 | // }
24 | // Component.onCompleted: {
25 | // call('setStatusBarStyleDefault')
26 | // }
27 | // }
28 |
29 | Loader {
30 | id: _Loader
31 | width: parent.width*2
32 | height: parent.height*2
33 | anchors.left: parent.left;
34 | anchors.top: parent.top
35 | Scale {
36 | id: _Scale_iOS
37 | xScale: 0.5; yScale: 0.5
38 | origin.x: 0; origin.y: 0
39 | }
40 | state: "scaled"
41 | states: [
42 | State {
43 | name: "scaled"
44 | PropertyChanges {
45 | target: _Loader
46 | transform: _Scale_iOS
47 | }
48 | }
49 | ]
50 | source: "home.qml"
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/app/qml/ui/+android/qmldir:
--------------------------------------------------------------------------------
1 | singleton Theme 1.5 Theme.qml
2 |
--------------------------------------------------------------------------------
/app/qml/ui/+ios/qmldir:
--------------------------------------------------------------------------------
1 | singleton Theme 1.5 Theme.qml
2 |
--------------------------------------------------------------------------------
/app/qml/ui/+windows/qmldir:
--------------------------------------------------------------------------------
1 | singleton Theme 1.5 Theme.qml
2 |
--------------------------------------------------------------------------------
/app/qml/ui/Header.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import utils 1.5 as Utils
3 | import ui 1.5 as UI
4 |
5 | Rectangle {
6 | id: root
7 |
8 | default property alias __content : _itemContainer.data
9 |
10 | property alias leftContent : _itemContainerLeft.data
11 | property alias rightContent : _itemContainerRight.data
12 |
13 | property bool enableLeftAndRightContainers : false
14 |
15 | anchors {
16 | top: parent.top
17 | left: parent.left
18 | right: parent.right
19 | }
20 |
21 | height: UI.Theme.heightHeader
22 |
23 | color: UI.Theme.colorLightGrey
24 | clip: true
25 |
26 | Rectangle {
27 | anchors {
28 | left: parent.left
29 | right: parent.right
30 | bottom: parent.bottom
31 | }
32 |
33 | height: 2
34 | color: UI.Theme.colorLightGreyAccent
35 | }
36 |
37 | Item {
38 | id: _itemContainer
39 |
40 | anchors {
41 | top: parent.top; topMargin: UI.Theme.marginTop
42 | bottom: parent.bottom
43 | left: enableLeftAndRightContainers ? _itemContainerLeft.right : parent.left; leftMargin: 10
44 | right: enableLeftAndRightContainers ? _itemContainerRight.left : parent.right; rightMargin: anchors.leftMargin
45 | }
46 |
47 | Utils.Fill { }
48 | }
49 |
50 | Item {
51 | id: _itemContainerLeft
52 |
53 | anchors {
54 | top: parent.top; topMargin: 40
55 | left: parent.left
56 | bottom: parent.bottom
57 | }
58 |
59 | width: UI.Theme.dp(110)
60 |
61 | Utils.Fill { color: "yellow" }
62 | }
63 |
64 | Item {
65 | id: _itemContainerRight
66 |
67 | anchors {
68 | top: parent.top; topMargin: 40
69 | right: parent.right
70 | bottom: parent.bottom
71 | }
72 |
73 | width: UI.Theme.dp(110)
74 |
75 | Utils.Fill { color: "red" }
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/app/qml/ui/Location.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import "../controls"
3 |
4 | BaseTabBarPage {
5 | id: root
6 |
7 | Flickable {
8 | id: _Flickable
9 |
10 | anchors.fill: parent
11 |
12 | contentHeight: _Image.sourceSize.height
13 | contentWidth: _Image.sourceSize.width
14 |
15 | Image {
16 | id: _Image
17 |
18 | source: "qrc:/images/floorplan-bcc.png"
19 | smooth: true
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/app/qml/ui/RightNowIcon.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import utils 1.5 as Utils
3 | import ui 1.5 as UI
4 | import ".."
5 |
6 | Rectangle {
7 | id: root
8 |
9 | property bool skeleton : false
10 | property alias rowWidth : _row.width
11 | property color baseColor : UI.Theme.colorQtMediumGreen
12 |
13 | anchors.verticalCenter: parent.verticalCenter
14 | width: _row.width
15 | height: 52
16 | radius: 10
17 |
18 | color: !skeleton ? baseColor : "transparent"
19 | border {
20 | width: !root.skeleton ? 0 : 2
21 | color: root.baseColor
22 | }
23 |
24 | transformOrigin: Item.Center
25 | // There is a painting delay if we hide this icon
26 | // when not in use. It stutters the animation
27 | // visible: opacity>0
28 | clip: true
29 | layer.enabled: true
30 | layer.smooth: true
31 |
32 | Row {
33 | id: _row
34 | height: parent.height
35 |
36 | Utils.HorizontalSpacer {
37 | width: UI.Theme.dp(12)
38 | }
39 |
40 | Utils.BaseIcon {
41 | anchors.centerIn: undefined
42 | anchors.verticalCenter: parent.verticalCenter
43 | source: "qrc:/images/icon-clock-filled.png"
44 | color: _labelNow.color
45 | width: UI.Theme.dp(24)
46 |
47 | Utils.Fill { }
48 | }
49 |
50 | Utils.HorizontalSpacer {
51 | width: UI.Theme.dp(12)
52 | }
53 |
54 | Label {
55 | id: _labelNow
56 |
57 | anchors {
58 | verticalCenter: parent.verticalCenter
59 | verticalCenterOffset: 1
60 | }
61 |
62 | font.pixelSize: UI.Theme.dp(24)
63 | color: !skeleton ? "#ffffff" : root.baseColor
64 | text: qsTr("NOW")
65 | style: Text.Raised
66 | styleColor: !root.skeleton ? "transparent" : root.baseColor
67 |
68 | Utils.Fill { }
69 | }
70 |
71 | Utils.HorizontalSpacer {
72 | width: UI.Theme.dp(24)
73 | }
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/app/qml/ui/SingleDayDelegate.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import utils 1.5 as Utils
3 |
4 | Item {
5 | id: _Item_ScheduleView
6 |
7 | property alias sessionRepeater: _Flickable
8 |
9 | width: ListView.view.width
10 | height: ListView.view.height
11 | // layer.enabled: true
12 | // layer.smooth: true
13 |
14 | ListView {
15 | id: _Flickable
16 |
17 | function positionToCurrentSession() {
18 | for (var i = 0; i < count; i++) {
19 | if (itemAt(i).flagIcon.state === "visible") {
20 | _Behavior_ContentY.enabled = true
21 | console.log("setting contentY to " + itemAt(i).y)
22 | _Flickable.contentY = itemAt(i).y
23 | _Behavior_ContentY.enabled = false
24 | }
25 | }
26 | }
27 |
28 | anchors.fill: parent
29 |
30 | flickableDirection: Flickable.VerticalFlick
31 | contentWidth: width
32 | // contentHeight: _Column_Sessions.height
33 | clip: true
34 |
35 | maximumFlickVelocity: height * 3
36 |
37 | model: modelData.sessions
38 |
39 | delegate: SingleSessionDelegate { }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/app/qml/ui/SingleSessionDelegate.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 | import utils 1.5 as Utils
3 | import ui 1.5 as UI
4 | import ".."
5 |
6 | Item {
7 | id: _Item_ScheduleDelegate
8 |
9 | property variant dataModel: modelData
10 | property alias flagIcon: _RightNowIcon
11 |
12 | width: parent.width
13 | height: _Rectangle_SessionTime.height + _Column_Tracks.height
14 |
15 | Rectangle {
16 | id: _Rectangle_SessionTime
17 |
18 | width: parent.width - UI.Theme.dp(2)
19 | height: UI.Theme.dp(80)
20 | color: UI.Theme.colorLightGrey
21 |
22 | Label {
23 | anchors {
24 | left: parent.left; leftMargin: UI.Theme.dp(30)
25 | right: _RightNowIcon.state !== "hidden" ? _RightNowIcon.left : parent.right; rightMargin: _RightNowIcon.state !== "hidden" ? UI.Theme.dp(20) : UI.Theme.dp(30)
26 | top: parent.top
27 | bottom: parent.bottom
28 | }
29 |
30 | verticalAlignment: Text.AlignVCenter
31 | text: _Item_ScheduleDelegate.dataModel.date.formatted['24h']
32 | color: "#222222"
33 | style: Text.Raised
34 | styleColor: "#ffffff"
35 | font.pixelSize: UI.Theme.scheduleViewPixelSize
36 | elide: Text.ElideRight
37 | Utils.Fill { color: "yellow" }
38 | }
39 |
40 | RightNowIcon {
41 | id: _RightNowIcon
42 |
43 | property bool isRightNow : false/*_Model.date_isRightNow(_Item_ScheduleDelegate.dataModel.date.plain.starting,
44 | _Item_ScheduleDelegate.dataModel.date.plain.ending)*/
45 |
46 | anchors {
47 | right: parent.right; rightMargin: UI.Theme.dp(30)
48 | }
49 |
50 | skeleton: true
51 | state: "hidden"
52 | states: [
53 | State {
54 | name: "hidden"
55 | when: !_RightNowIcon.isRightNow
56 |
57 | PropertyChanges {
58 | target: _RightNowIcon
59 | scale: 0
60 | opacity: 0
61 | }
62 | },
63 | State {
64 | name: "visible"
65 | when: _RightNowIcon.isRightNow
66 |
67 | PropertyChanges {
68 | target: _RightNowIcon
69 | scale: 1
70 | opacity: 1
71 | }
72 | }
73 | ]
74 |
75 | transitions: [
76 | Transition {
77 | from: "hidden"
78 | to: "visible"
79 | ParallelAnimation {
80 | NumberAnimation {
81 | target: _RightNowIcon; property: "scale";
82 | duration: 450; easing.type: Easing.OutBack
83 | easing.overshoot: 0.4
84 | }
85 |
86 | NumberAnimation {
87 | target: _RightNowIcon; property: "opacity";
88 | duration: 450; easing.type: Easing.OutBack
89 | }
90 | }
91 | }
92 | ]
93 | }
94 |
95 | Utils.AccentTop {
96 | color: UI.Theme.colorLightGrey
97 | }
98 |
99 | Utils.AccentBottom {
100 | color: UI.Theme.colorLightGreyAccent
101 | }
102 | }
103 |
104 | Column {
105 | id: _Column_Tracks
106 |
107 | anchors {
108 | top: _Rectangle_SessionTime.bottom
109 | left: parent.left
110 | right: parent.right
111 | }
112 |
113 | height: childrenRect.height
114 | clip: true
115 |
116 | Repeater {
117 | id: _Repeater_Tracks
118 |
119 | model: _Item_ScheduleDelegate.dataModel.tracks
120 | delegate: SingleTrackDelegate { }
121 | }
122 | }
123 | }
124 |
--------------------------------------------------------------------------------
/app/qml/ui/TabBar.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.3
2 | import "../controls"
3 | import ui 1.5 as UI
4 |
5 | TabBarController {
6 | anchors.left: parent.left
7 | anchors.right: parent.right
8 | anchors.bottom: parent.bottom
9 | height: UI.Theme.dp(100)
10 |
11 | tabBarModel: [
12 | {
13 | icon : "qrc:/images/icon-home.png",
14 | sourceComponent: _schedule
15 | },
16 | {
17 | icon : "qrc:/images/icon-location.png",
18 | sourceComponent: _location
19 | },
20 | {
21 | icon : "qrc:/images/icon-information.png",
22 | sourceComponent: _information
23 | }
24 | ]
25 |
26 | Rectangle {
27 | anchors.top: parent.top
28 | anchors.left: parent.left
29 | anchors.right: parent.right
30 | height: UI.Theme.dp(1)
31 | color: "#d2d2d1"
32 | z: 2
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/app/qml/ui/Viewport.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.4
2 |
3 | Rectangle {
4 | id: root
5 |
6 | property int topMargin: 0
7 |
8 | color: "#000000"
9 | }
10 |
--------------------------------------------------------------------------------
/app/qml/ui/qmldir:
--------------------------------------------------------------------------------
1 | Header 1.5 Header.qml
2 | Location 1.5 Location.qml
3 | RightNowIcon 1.5 RightNowIcon.qml
4 | Schedule 1.5 Schedule.qml
5 | SingleDayDelegate 1.5 SingleDayDelegate.qml
6 | SingleSessionDelegate 1.5 SingleSessionDelegate.qml
7 | SingleTrackDelegate 1.5 SingleTrackDelegate.qml
8 | TabBar 1.5 TabBar.qml
9 | TrackDetailSheet 1.5 TrackDetailSheet.qml
10 | Viewport 1.5 Viewport.qml
11 |
12 | singleton Theme 1.5 Theme.qml
13 |
--------------------------------------------------------------------------------
/app/qml/utils/AccentBottom.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.3
2 |
3 | Rectangle {
4 | height: 1
5 | anchors.left: parent.left; anchors.right: parent.right
6 | anchors.bottom: parent.bottom
7 | color: "red"
8 | smooth: true
9 | }
10 |
--------------------------------------------------------------------------------
/app/qml/utils/AccentLeft.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.3
2 |
3 | Rectangle {
4 | anchors.top: parent.top
5 | anchors.bottom: parent.bottom
6 | anchors.left: parent.left
7 | width: 1
8 | color: "red"
9 | }
10 |
--------------------------------------------------------------------------------
/app/qml/utils/AccentRight.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.3
2 |
3 | Rectangle {
4 | anchors.top: parent.top
5 | anchors.bottom: parent.bottom
6 | anchors.right: parent.right
7 | width: 1
8 | color: "red"
9 | }
10 |
--------------------------------------------------------------------------------
/app/qml/utils/AccentTop.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.3
2 |
3 | Rectangle {
4 | height: 1
5 | anchors.left: parent.left; anchors.right: parent.right
6 | anchors.top: parent.top
7 | color: "red"
8 | smooth: true
9 | }
10 |
--------------------------------------------------------------------------------
/app/qml/utils/BaseButtonTheme.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.3
2 |
3 | QtObject {
4 | id: root
5 | property color backgroundDefaultColor : "#000000"
6 | property color backgroundPressedColor : backgroundDefaultColor
7 | property color backgroundActiveColor : backgroundDefaultColor
8 | property color iconDefaultColor : "#ffffff"
9 | property color iconPressedColor : iconDefaultColor
10 | property color iconActiveColor : iconDefaultColor
11 |
12 | property color borderColor : "#111111"
13 |
14 | property int colorAnimationDuration : 50
15 | }
16 |
--------------------------------------------------------------------------------
/app/qml/utils/BaseIcon.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import QtGraphicalEffects 1.0
3 | import ui 1.5 as UI
4 |
5 | Item {
6 | property alias source: _Image.source
7 | property alias color: _ColorOverlay.color
8 |
9 | width: UI.Theme.dp(44)
10 | height: _Image.height
11 | layer.smooth: true
12 | layer.enabled: true
13 |
14 | Image {
15 | id: _Image
16 |
17 | anchors {
18 | left: parent.left
19 | right: parent.right
20 | }
21 |
22 | fillMode: Image.PreserveAspectFit
23 | sourceSize.width: 2 * width
24 | sourceSize.height: 2 * height
25 | smooth: true
26 | visible: false
27 | }
28 |
29 | ColorOverlay {
30 | id: _ColorOverlay
31 |
32 | anchors.fill: parent
33 | source: _Image
34 | color: "#000000"
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/app/qml/utils/BaseWindow.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.4
2 | import QtQuick.Controls 1.3
3 |
4 | ApplicationWindow {
5 | property bool showFills : false
6 | property variant activeObject
7 |
8 | visible: true
9 | }
10 |
--------------------------------------------------------------------------------
/app/qml/utils/ClickGuard.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.3
2 |
3 | MouseArea { anchors.fill: parent }
4 |
--------------------------------------------------------------------------------
/app/qml/utils/Fill.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.5
2 | import ui 1.5 as UI
3 |
4 | Rectangle {
5 | id: root
6 |
7 | function randomColor() {
8 | /// http://www.paulirish.com/2009/random-hex-color-code-snippets/
9 | return '#' + Math.floor(Math.random() * 16777215).toString(16)
10 | }
11 |
12 | anchors.fill: parent
13 |
14 | color: "#00FEAA"
15 | opacity: 0.5
16 | visible: UI.Theme.showFills
17 |
18 | border {
19 | width: UI.Theme.activeObject === root ? 4 : 0
20 | color: "#ffffff"
21 | }
22 |
23 | Rectangle {
24 | anchors {
25 | fill: parent
26 | margins: 4
27 | }
28 |
29 | color: "transparent"
30 |
31 | border {
32 | width: root.border.width
33 | color: "#000000"
34 | }
35 | }
36 |
37 | MouseArea {
38 | anchors.fill: parent
39 | onClicked: UI.Theme = root
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/app/qml/utils/GestureArea.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 |
3 | MouseArea {
4 | id: root
5 | property int acceptableSwipeDistance : 25;
6 |
7 | signal swipeLeft;
8 | signal swipeRight;
9 | signal swipeUp;
10 | signal swipeDown;
11 | signal tap;
12 |
13 | signal press;
14 | signal release;
15 |
16 |
17 | // private
18 | property int pressPosX;
19 | property int pressPosY;
20 | property int releasePosX;
21 | property int releasePosY;
22 |
23 | onPressed: {
24 | root.press();
25 | pressPosX = mouse.x;
26 | pressPosY = mouse.y;
27 | }
28 | onReleased: {
29 | root.release();
30 | releasePosX = mouse.x
31 | releasePosY = mouse.y
32 | var deltaX = releasePosX - pressPosX;
33 | var deltaY = releasePosY - pressPosY;
34 | if(deltaX < -1*acceptableSwipeDistance)
35 | {
36 | root.swipeLeft();
37 | }
38 | else if(deltaX > acceptableSwipeDistance)
39 | {
40 | root.swipeRight();
41 | } else if(deltaY < -1*acceptableSwipeDistance)
42 | {
43 | root.swipeUp();
44 | } else if(deltaY > acceptableSwipeDistance)
45 | {
46 | root.swipeDown();
47 | }
48 | else
49 | {
50 | root.tap();
51 | }
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/app/qml/utils/HorizontalSpacer.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.3
2 | Item {
3 | height: parent.height
4 | width: 10
5 | Fill { color: "black" }
6 | }
7 |
--------------------------------------------------------------------------------
/app/qml/utils/SafeLoader.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.0
2 |
3 | Loader {
4 | signal callSuccess(string fn)
5 | signal callFailed(string fn)
6 | property bool isReady : status === Loader.Ready && item
7 | function call(fn)
8 | {
9 | if(status === Loader.Ready
10 | && item
11 | && typeof item[fn] !== "undefined")
12 | {
13 | item[fn]()
14 | callSuccess(fn)
15 | } else
16 | {
17 | callFailed(fn)
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/app/qml/utils/VerticalSpacer.qml:
--------------------------------------------------------------------------------
1 | import QtQuick 2.3
2 |
3 | Item {
4 | width: parent.width
5 | height: 10;
6 | Fill { color: "black" }
7 | }
8 |
--------------------------------------------------------------------------------
/app/qml/utils/qmldir:
--------------------------------------------------------------------------------
1 | AccentBottom 1.5 AccentBottom.qml
2 | AccentLeft 1.5 AccentLeft.qml
3 | AccentRight 1.5 AccentRight.qml
4 | AccentTop 1.5 AccentTop.qml
5 | BaseButtonTheme 1.5 BaseButtonTheme.qml
6 | BaseIcon 1.5 BaseIcon.qml
7 | BaseWindow 1.5 BaseWindow.qml
8 | ClickGuard 1.5 ClickGuard.qml
9 | Fill 1.5 Fill.qml
10 | GestureArea 1.5 GestureArea.qml
11 | HorizontalSpacer 1.5 HorizontalSpacer.qml
12 | SafeLoader 1.5 SafeLoader.qml
13 | VerticalSpacer 1.5 VerticalSpacer.qml
14 |
--------------------------------------------------------------------------------
/app/resources/images/bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/bg.jpg
--------------------------------------------------------------------------------
/app/resources/images/busyindicator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/busyindicator.png
--------------------------------------------------------------------------------
/app/resources/images/card.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/card.png
--------------------------------------------------------------------------------
/app/resources/images/close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/close.png
--------------------------------------------------------------------------------
/app/resources/images/floorplan-bcc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/floorplan-bcc.png
--------------------------------------------------------------------------------
/app/resources/images/home.svg:
--------------------------------------------------------------------------------
1 |
2 |
72 |
--------------------------------------------------------------------------------
/app/resources/images/home_active.svg:
--------------------------------------------------------------------------------
1 |
2 |
72 |
--------------------------------------------------------------------------------
/app/resources/images/icon-back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/icon-back.png
--------------------------------------------------------------------------------
/app/resources/images/icon-bookmark-hl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/icon-bookmark-hl.png
--------------------------------------------------------------------------------
/app/resources/images/icon-bookmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/icon-bookmark.png
--------------------------------------------------------------------------------
/app/resources/images/icon-clock-filled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/icon-clock-filled.png
--------------------------------------------------------------------------------
/app/resources/images/icon-home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/icon-home.png
--------------------------------------------------------------------------------
/app/resources/images/icon-information.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/icon-information.png
--------------------------------------------------------------------------------
/app/resources/images/icon-location.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/icon-location.png
--------------------------------------------------------------------------------
/app/resources/images/icon-qtloading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/icon-qtloading.gif
--------------------------------------------------------------------------------
/app/resources/images/icon-star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/icon-star.png
--------------------------------------------------------------------------------
/app/resources/images/info.svg:
--------------------------------------------------------------------------------
1 |
2 |
78 |
--------------------------------------------------------------------------------
/app/resources/images/info_active.svg:
--------------------------------------------------------------------------------
1 |
2 |
82 |
--------------------------------------------------------------------------------
/app/resources/images/location.svg:
--------------------------------------------------------------------------------
1 |
2 |
62 |
--------------------------------------------------------------------------------
/app/resources/images/location_active.svg:
--------------------------------------------------------------------------------
1 |
2 |
62 |
--------------------------------------------------------------------------------
/app/resources/images/logo-qws.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/logo-qws.png
--------------------------------------------------------------------------------
/app/resources/images/qws2015-hero.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/qws2015-hero.jpg
--------------------------------------------------------------------------------
/app/resources/images/triangular.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/app/resources/images/triangular.png
--------------------------------------------------------------------------------
/app/resources/images/tutorial/cloud_1.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
67 |
--------------------------------------------------------------------------------
/app/resources/images/tutorial/cloud_2.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
67 |
--------------------------------------------------------------------------------
/app/resources/images/tutorial/cloud_3.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
91 |
--------------------------------------------------------------------------------
/app/resources/images/tutorial/next_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
71 |
--------------------------------------------------------------------------------
/app/src/api.cpp:
--------------------------------------------------------------------------------
1 | #include "api.h"
2 | #include
3 | #include
4 |
5 | #define DEBUG if(1) qDebug() << __PRETTY_FUNCTION__
6 |
7 | QT_BEGIN_NAMESPACE
8 |
9 | Api::Api(QObject *parent) : QObject(parent),
10 | m_networkManager(0)
11 | {
12 | m_networkManager = new QNetworkAccessManager(this);
13 | connect(m_networkManager, SIGNAL(finished(QNetworkReply*)),
14 | this, SLOT(replyFinished(QNetworkReply*)));
15 | }
16 |
17 | Api::~Api()
18 | {
19 | m_future.cancel();
20 | m_networkManager->deleteLater();
21 | }
22 |
23 | void Api::post(QString url, QVariantMap parameters)
24 | {
25 | DEBUG << Q_FUNC_INFO;
26 | m_future.cancel();
27 | QUrlQuery postData;
28 | QStringList keys = parameters.keys();
29 | for(int i = 0; i < keys.count(); i++)
30 | {
31 | QString key = keys.at(i);
32 | QString value = QVariant(parameters.value(key)).toString();
33 |
34 | postData.addQueryItem(key, value);
35 | }
36 |
37 | QNetworkRequest request(url);
38 | request.setHeader(QNetworkRequest::ContentTypeHeader,
39 | "application/x-www-form-urlencoded");
40 |
41 | m_networkManager->post(request, postData.toString(QUrl::FullyEncoded).toUtf8());
42 | }
43 |
44 | void Api::get(QString url)
45 | {
46 | DEBUG << Q_FUNC_INFO;
47 | m_future.cancel();
48 | this->get(url, QVariantMap());
49 | }
50 |
51 | void Api::get(QString url, QVariantMap parameters)
52 | {
53 | DEBUG << Q_FUNC_INFO;
54 | m_future.cancel();
55 | QString urlCombined = url;
56 | QStringList keys = parameters.keys();
57 | for(int i = 0; i < keys.length(); i++)
58 | {
59 | urlCombined += (i == 0 ? "?" : "&")
60 | + keys.value(i)
61 | + "="
62 | + parameters.value(keys.value(i)).toString();
63 | }
64 |
65 | DEBUG << urlCombined;
66 | QNetworkRequest request(urlCombined);
67 |
68 | m_networkManager->get(request);
69 | }
70 |
71 | void Api::replyFinished(QNetworkReply *reply)
72 | {
73 | qDebug() << Q_FUNC_INFO;
74 | qDebug() << reply->errorString();
75 |
76 | m_future = QtConcurrent::run(parseJson, reply->readAll());
77 |
78 | QJsonObject jsonObject = m_future.result();
79 |
80 | emit Api::reply(reply->url().toString(), jsonObject);
81 | }
82 |
83 | QJsonObject Api::parseJson(QByteArray response)
84 | {
85 | QJsonDocument jsonDocument = QJsonDocument::fromJson(response);
86 | QJsonObject jsonObject;
87 | jsonObject.insert("length", response.length());
88 | if (jsonDocument.isEmpty() || jsonDocument.isNull()) {
89 | jsonObject.insert("data", QJsonObject());
90 | } else {
91 | QJsonValue value;
92 | if (jsonDocument.isObject()) {
93 | value = QJsonValue(jsonDocument.object());
94 | } else {
95 | value = QJsonValue(jsonDocument.array());
96 | }
97 | jsonObject.insert("content", value);
98 | }
99 | return jsonObject;
100 | }
101 |
102 | QT_END_NAMESPACE
103 |
--------------------------------------------------------------------------------
/app/src/api.h:
--------------------------------------------------------------------------------
1 | #ifndef API_H
2 | #define API_H
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | class Api : public QObject
9 | {
10 | Q_OBJECT
11 | public:
12 | explicit Api(QObject *parent = 0);
13 | ~Api();
14 |
15 | Q_INVOKABLE void post(QString url, QVariantMap parameters);
16 | Q_INVOKABLE void get(QString url);
17 | Q_INVOKABLE void get(QString url, QVariantMap parameters);
18 |
19 | private:
20 | QFuture m_future;
21 | static QJsonObject parseJson(QByteArray response);
22 |
23 | signals:
24 | void reply(QString url, QJsonObject data);
25 |
26 | public slots:
27 |
28 | private slots:
29 | void replyFinished(QNetworkReply *reply);
30 |
31 | private:
32 | QNetworkAccessManager *m_networkManager;
33 | };
34 |
35 | #endif // API_H
36 |
--------------------------------------------------------------------------------
/app/src/main.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 | #include
5 |
6 | #include "screenvalues.h"
7 |
8 | static QObject *screen_values_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
9 | {
10 | Q_UNUSED(engine)
11 | Q_UNUSED(scriptEngine)
12 |
13 | return new ScreenValues();
14 | }
15 |
16 | int main(int argc, char *argv[])
17 | {
18 | QApplication app(argc, argv);
19 |
20 | QQmlApplicationEngine engine;
21 |
22 | QQmlFileSelector* selector = new QQmlFileSelector(&engine);
23 |
24 | QStringList extraSelectors;
25 |
26 | bool devel = false;
27 |
28 | if (devel)
29 | extraSelectors << "devel";
30 |
31 | if (!extraSelectors.isEmpty())
32 | selector->setExtraSelectors(extraSelectors);
33 |
34 | engine.addImportPath("qrc:/qml/qml");
35 |
36 | qmlRegisterSingletonType("QtWorldSummit", 1, 5, "ScreenValues", screen_values_provider);
37 |
38 | engine.load(QUrl("qrc:/qml/qml/main.qml"));
39 |
40 | return app.exec();
41 | }
42 |
--------------------------------------------------------------------------------
/app/src/screenvalues.h:
--------------------------------------------------------------------------------
1 | #ifndef SCREENVALUES_H
2 | #define SCREENVALUES_H
3 |
4 | #include
5 |
6 | #ifdef Q_OS_ANDROID
7 | #include
8 | #include
9 | #endif
10 |
11 | class ScreenValues : public QObject
12 | {
13 | Q_OBJECT
14 | Q_PROPERTY(int dpi READ dpi WRITE setDpi NOTIFY dpiChanged)
15 | Q_PROPERTY(float dp READ dp WRITE setDp NOTIFY dpChanged)
16 | Q_PROPERTY(bool isTablet READ isTablet NOTIFY isTabletChanged)
17 | Q_PROPERTY(bool notificationsEnabled READ notificationsEnabled WRITE setNotificationsEnabled NOTIFY notificationsEnabledChanged)
18 |
19 | public:
20 | explicit ScreenValues(QObject *parent = 0);
21 |
22 | float dp() const;
23 | void setDp(float dp);
24 |
25 | int dpi() const;
26 | void setDpi(int dpi);
27 |
28 | bool isTablet() const;
29 | void setIsTablet(bool isTablet);
30 |
31 | Q_INVOKABLE void setStatusBarColor(const int r, const int g, const int b);
32 | Q_INVOKABLE void registerNative();
33 | Q_INVOKABLE void checkIfPendingNotification();
34 |
35 | bool notificationsEnabled() const;
36 |
37 | #ifdef Q_OS_ANDROID
38 | static QString jstringToQString(jstring string);
39 | #endif
40 |
41 | public slots:
42 | void setNotificationsEnabled(bool notificationsEnabled);
43 | void emitSponsorNotification(const QString &title, const QString &message, const QString &url);
44 |
45 | signals:
46 | void dpChanged();
47 | void dpiChanged();
48 | void isTabletChanged();
49 | void notificationsEnabledChanged();
50 | void sponsorNotification(QString title, QString message, QString url);
51 |
52 | private:
53 | float m_dp;
54 | int m_dpi;
55 | bool m_isTablet;
56 | bool m_notificationsEnabled;
57 |
58 | int retrieveDpi();
59 | bool retrieveIsTablet();
60 | bool getNotificationsEnabled();
61 | };
62 |
63 | #endif // SCREENVALUES_H
64 |
--------------------------------------------------------------------------------
/design/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ndesai/qtworldsummit/a6b6522e8f482612e622ee242165ef8a787a4192/design/.gitkeep
--------------------------------------------------------------------------------